summaryrefslogtreecommitdiff
path: root/xor_codes
diff options
context:
space:
mode:
Diffstat (limited to 'xor_codes')
-rw-r--r--xor_codes/Makefile.am14
-rw-r--r--xor_codes/Makefile.in580
-rw-r--r--xor_codes/test_xor_hd_code.c364
-rw-r--r--xor_codes/test_xor_hd_code.h92
-rw-r--r--xor_codes/tools/gen_failure_combs.py65
-rw-r--r--xor_codes/tools/gen_goldilocks_codes.py230
-rw-r--r--xor_codes/xor_code.c401
-rw-r--r--xor_codes/xor_hd_code.c610
8 files changed, 2356 insertions, 0 deletions
diff --git a/xor_codes/Makefile.am b/xor_codes/Makefile.am
new file mode 100644
index 0000000..eb1b72a
--- /dev/null
+++ b/xor_codes/Makefile.am
@@ -0,0 +1,14 @@
+# XOR-based erasure codes (including HD Combination Codes)
+
+INCLUDES=-I./ -I../include
+AM_CFLAGS = -O3 $(SIMD_FLAGS) -fPIC $(INCLUDES)
+
+lib_LTLIBRARIES = libXorcode.la
+libXorcode_la_SOURCES = xor_code.c xor_hd_code.c
+libXorcode_la_LDFLAGS = -version-info 0:1:0
+
+bin_PROGRAMS = test_xor_hd_code
+test_xor_hd_code_SOURCES = test_xor_hd_code.c test_xor_hd_code.h
+test_xor_hd_code_LDFLAGS = -lXorcode
+
+EXTRA_DIST = tools
diff --git a/xor_codes/Makefile.in b/xor_codes/Makefile.in
new file mode 100644
index 0000000..c30d0f2
--- /dev/null
+++ b/xor_codes/Makefile.in
@@ -0,0 +1,580 @@
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# XOR-based erasure codes (including HD Combination Codes)
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = test_xor_hd_code$(EXEEXT)
+subdir = xor_codes
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
+ $(top_srcdir)/m4/ax_ext.m4 \
+ $(top_srcdir)/m4/ax_gcc_x86_avx_xgetbv.m4 \
+ $(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libXorcode_la_LIBADD =
+am_libXorcode_la_OBJECTS = xor_code.lo xor_hd_code.lo
+libXorcode_la_OBJECTS = $(am_libXorcode_la_OBJECTS)
+libXorcode_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libXorcode_la_LDFLAGS) $(LDFLAGS) -o $@
+PROGRAMS = $(bin_PROGRAMS)
+am_test_xor_hd_code_OBJECTS = test_xor_hd_code.$(OBJEXT)
+test_xor_hd_code_OBJECTS = $(am_test_xor_hd_code_OBJECTS)
+test_xor_hd_code_LDADD = $(LDADD)
+test_xor_hd_code_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(test_xor_hd_code_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include
+depcomp =
+am__depfiles_maybe =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libXorcode_la_SOURCES) $(test_xor_hd_code_SOURCES)
+DIST_SOURCES = $(libXorcode_la_SOURCES) $(test_xor_hd_code_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SIMD_FLAGS = @SIMD_FLAGS@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+INCLUDES = -I./ -I../include
+AM_CFLAGS = -O3 $(SIMD_FLAGS) -fPIC $(INCLUDES)
+lib_LTLIBRARIES = libXorcode.la
+libXorcode_la_SOURCES = xor_code.c xor_hd_code.c
+libXorcode_la_LDFLAGS = -version-info 0:1:0
+test_xor_hd_code_SOURCES = test_xor_hd_code.c test_xor_hd_code.h
+test_xor_hd_code_LDFLAGS = -lXorcode
+EXTRA_DIST = tools
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu --ignore-deps xor_codes/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu --ignore-deps xor_codes/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libXorcode.la: $(libXorcode_la_OBJECTS) $(libXorcode_la_DEPENDENCIES) $(EXTRA_libXorcode_la_DEPENDENCIES)
+ $(libXorcode_la_LINK) -rpath $(libdir) $(libXorcode_la_OBJECTS) $(libXorcode_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p || test -f $$p1; \
+ then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+test_xor_hd_code$(EXEEXT): $(test_xor_hd_code_OBJECTS) $(test_xor_hd_code_DEPENDENCIES) $(EXTRA_test_xor_hd_code_DEPENDENCIES)
+ @rm -f test_xor_hd_code$(EXEEXT)
+ $(test_xor_hd_code_LINK) $(test_xor_hd_code_OBJECTS) $(test_xor_hd_code_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+.c.o:
+ $(COMPILE) -c $<
+
+.c.obj:
+ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+ $(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+ clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libLTLIBRARIES clean-libtool ctags \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-libLTLIBRARIES \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-binPROGRAMS uninstall-libLTLIBRARIES
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/xor_codes/test_xor_hd_code.c b/xor_codes/test_xor_hd_code.c
new file mode 100644
index 0000000..9443378
--- /dev/null
+++ b/xor_codes/test_xor_hd_code.c
@@ -0,0 +1,364 @@
+/* * Copyright (c) 2013, Kevin Greenan (kmgreen2@gmail.com)
+ * 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. 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 HOLDER 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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <xor_code.h>
+#include <test_xor_hd_code.h>
+
+void fill_buffer(unsigned char *buf, int size, int seed)
+{
+ int i;
+
+ buf[0] = seed;
+
+ for (i=1; i < size; i++) {
+ buf[i] = ((buf[i-1] + i) % 256);
+ }
+}
+
+int check_buffer(unsigned char *buf, int size, int seed)
+{
+ int i;
+
+ if (buf[0] != seed) {
+ fprintf(stderr, "Seed does not match index 0: %u\n", buf[0]);
+ return -1;
+ }
+
+ for (i=1; i < size; i++) {
+ if (buf[i] != ((buf[i-1] + i) % 256)) {
+ fprintf(stderr, "Buffer does not match index %d: %u\n", i, (buf[i] & 0xff));
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+int test_hd_code(xor_code_t *code_desc, int num_failure_combs, int failure_combs[][4])
+{
+ int i, j;
+ int num_iter = 1000;
+ int blocksize = 32768;
+ int missing_idxs[4] = { -1 };
+ int ret = 0;
+ char **data, **parity;
+ clock_t start_time, end_time;
+ int *fragments_needed;
+
+ srand(time(NULL));
+
+ data = (char**)malloc(code_desc->k * sizeof(char*));
+ parity = (char**)malloc(code_desc->m * sizeof(char*));
+ fragments_needed = (int*)malloc(code_desc->k*code_desc->m*sizeof(int));
+
+ bzero(fragments_needed, code_desc->k*code_desc->m*sizeof(int));
+
+ for (i=0; i < code_desc->k; i++) {
+ data[i] = aligned_malloc(blocksize, 16);
+ fill_buffer(data[i], blocksize, i);
+ if (!data[i]) {
+ fprintf(stderr, "Could not allocate memnory for data %d\n", i);
+ exit(2);
+ }
+ }
+
+ for (i=0; i < code_desc->m; i++) {
+ parity[i] = aligned_malloc(blocksize, 16);
+ memset(parity[i], 0, blocksize);
+ if (!parity[i]) {
+ fprintf(stderr, "Could not allocate memnory for parity %d\n", i);
+ exit(2);
+ }
+ }
+
+ start_time = clock();
+ for (i=0; i < num_iter-1; i++) {
+ code_desc->encode(code_desc, data, parity, blocksize);
+ }
+ end_time = clock();
+
+ fprintf(stderr, "Encode: %.2f MB/s\n", ((double)(num_iter * blocksize * code_desc->k) / 1000 / 1000 ) / ((double)(end_time-start_time) / CLOCKS_PER_SEC));
+
+ for (i=0; i < code_desc->m; i++) {
+ memset(parity[i], 0, blocksize);
+ }
+
+ code_desc->encode(code_desc, data, parity, blocksize);
+
+ for (i=0; i < num_failure_combs; i++) {
+ int missing_idx_0 = failure_combs[i][0];
+ int missing_idx_1 = failure_combs[i][1];
+ int missing_idx_2 = failure_combs[i][2];
+
+ missing_idxs[0] = missing_idx_0;
+ missing_idxs[1] = missing_idx_1;
+ missing_idxs[2] = missing_idx_2;
+ missing_idxs[3] = -1;
+
+ if (missing_idxs[0] > -1) {
+ if (missing_idxs[0] < code_desc->k) {
+ memset(data[missing_idxs[0]], 0, blocksize);
+ } else {
+ memset(parity[missing_idxs[0] - code_desc->k], 0, blocksize);
+ }
+ }
+ if (missing_idxs[1] > -1) {
+ if (missing_idxs[1] < code_desc->k) {
+ memset(data[missing_idxs[1]], 0, blocksize);
+ } else {
+ memset(parity[missing_idxs[1] - code_desc->k], 0, blocksize);
+ }
+ }
+ if (missing_idxs[2] > -1) {
+ if (missing_idxs[2] < code_desc->k) {
+ memset(data[missing_idxs[2]], 0, blocksize);
+ } else {
+ memset(parity[missing_idxs[2] - code_desc->k], 0, blocksize);
+ }
+ }
+
+ /*
+ * Spot check to ensure missing elements are not included in
+ * list of fragments needed and that decode is 'doable'
+ */
+ ret = code_desc->fragments_needed(code_desc, missing_idxs, fragments_needed);
+
+ if (ret < 0) {
+ fprintf(stderr, "xor_hd_fragments_needed thinks reconstruction not possible, when it is!\n");
+ exit(2);
+ }
+
+ j = 0;
+ while (fragments_needed[j] > -1) {
+ if (fragments_needed[j] == missing_idxs[0] ||
+ fragments_needed[j] == missing_idxs[1] ||
+ fragments_needed[j] == missing_idxs[2]) {
+ fprintf(stderr, "fragments_needed[%d]=%d in missing index list: (%d %d %d)!\n", j, fragments_needed[j], missing_idxs[0], missing_idxs[1], missing_idxs[2]);
+ exit(2);
+ }
+ j++;
+ }
+
+ missing_idxs[0] = missing_idx_0;
+ missing_idxs[1] = missing_idx_1;
+ missing_idxs[2] = missing_idx_2;
+ missing_idxs[3] = -1;
+
+ code_desc->decode(code_desc, data, parity, missing_idxs, blocksize, 1);
+
+ if (missing_idxs[0] > -1 && missing_idxs[0] < code_desc->k && check_buffer(data[missing_idx_0], blocksize, missing_idx_0) < 0) {
+ fprintf(stderr, "Decode did not work: %d (%d %d %d)!\n", missing_idxs[0], missing_idxs[0], missing_idxs[1], missing_idxs[2]);
+ exit(2);
+ }
+ if (missing_idxs[1] > -1 && missing_idxs[1] < code_desc->k && check_buffer(data[missing_idx_1], blocksize, missing_idx_1) < 0) {
+ fprintf(stderr, "Decode did not work: %d (%d %d %d)!\n", missing_idxs[1], missing_idxs[0], missing_idxs[1], missing_idxs[2]);
+ exit(2);
+ }
+ if (missing_idxs[2] > -1 && missing_idxs[2] < code_desc->k && check_buffer(data[missing_idx_2], blocksize, missing_idx_2) < 0) {
+ fprintf(stderr, "Decode did not work: %d (%d %d %d)!\n", missing_idxs[2], missing_idxs[0], missing_idxs[1], missing_idxs[2]);
+ exit(2);
+ }
+ }
+
+ start_time = clock();
+ for (i=0; i < num_iter; i++) {
+ int j;
+
+ missing_idxs[0] = rand() % (code_desc->k + code_desc->m);
+ for (j=1; j < code_desc->hd-1;j++) {
+ missing_idxs[j] = (missing_idxs[j-1] + 1) % (code_desc->k + code_desc->m);
+ }
+ missing_idxs[code_desc->hd-1] = -1;
+
+ if (missing_idxs[0] > -1 && missing_idxs[0] < code_desc->k) {
+ memset(data[missing_idxs[0]], 0, blocksize);
+ }
+ if (missing_idxs[1] > -1 && missing_idxs[1] < code_desc->k) {
+ memset(data[missing_idxs[1]], 0, blocksize);
+ }
+ if (missing_idxs[2] > -1 && missing_idxs[2] < code_desc->k) {
+ memset(data[missing_idxs[2]], 0, blocksize);
+ }
+
+ code_desc->decode(code_desc, data, parity, missing_idxs, blocksize, 1);
+ }
+ end_time = clock();
+
+ fprintf(stderr, "Decode: %.2f MB/s\n", ((double)(num_iter * blocksize * code_desc->k) / 1000 / 1000 ) / ((double)(end_time-start_time) / CLOCKS_PER_SEC));
+
+ return 0;
+}
+
+int run_test(int k, int m, int hd)
+{
+ int ret = -1;
+ xor_code_t * code_desc = init_xor_hd_code(k, m, hd);
+
+ fprintf(stderr, "Running (%d, %d, %d):\n", k, m, hd);
+
+ switch(k+m) {
+ case 10:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_10_3_COMBS, failure_combs_10_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_10_4_COMBS, failure_combs_10_4);
+ }
+ break;
+ case 11:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_11_3_COMBS, failure_combs_11_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_11_4_COMBS, failure_combs_11_4);
+ }
+ break;
+ case 12:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_12_3_COMBS, failure_combs_12_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_12_4_COMBS, failure_combs_12_4);
+ }
+ break;
+ case 13:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_13_3_COMBS, failure_combs_13_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_13_4_COMBS, failure_combs_13_4);
+ }
+ break;
+ case 14:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_14_3_COMBS, failure_combs_14_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_14_4_COMBS, failure_combs_14_4);
+ }
+ break;
+ case 15:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_15_3_COMBS, failure_combs_15_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_15_4_COMBS, failure_combs_15_4);
+ }
+ break;
+ case 16:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_16_3_COMBS, failure_combs_16_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_16_4_COMBS, failure_combs_16_4);
+ }
+ break;
+ case 17:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_17_3_COMBS, failure_combs_17_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_17_4_COMBS, failure_combs_17_4);
+ }
+ break;
+ case 18:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_18_3_COMBS, failure_combs_18_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_18_4_COMBS, failure_combs_18_4);
+ }
+ break;
+ case 19:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_19_3_COMBS, failure_combs_19_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_19_4_COMBS, failure_combs_19_4);
+ }
+ break;
+ case 20:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_20_3_COMBS, failure_combs_20_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_20_4_COMBS, failure_combs_20_4);
+ }
+ break;
+ case 21:
+ if (hd == 3) {
+ ret = test_hd_code(code_desc, NUM_21_3_COMBS, failure_combs_21_3);
+ } else {
+ ret = test_hd_code(code_desc, NUM_21_4_COMBS, failure_combs_21_4);
+ }
+ break;
+ case 22:
+ ret = test_hd_code(code_desc, NUM_22_4_COMBS, failure_combs_22_4);
+ break;
+ case 23:
+ ret = test_hd_code(code_desc, NUM_23_4_COMBS, failure_combs_23_4);
+ break;
+ case 24:
+ ret = test_hd_code(code_desc, NUM_24_4_COMBS, failure_combs_24_4);
+ break;
+ case 25:
+ ret = test_hd_code(code_desc, NUM_25_4_COMBS, failure_combs_25_4);
+ break;
+ case 26:
+ ret = test_hd_code(code_desc, NUM_26_4_COMBS, failure_combs_26_4);
+ break;
+ default:
+ ret = -1;
+ }
+ free(code_desc);
+ return ret;
+}
+
+int main()
+{
+ int ret = 0;
+ int i;
+
+ for (i=6; i < 16; i++) {
+ ret = run_test(i, 6, 3);
+ if (ret != 0) {
+ return ret;
+ }
+ }
+
+ for (i=5; i < 11; i++) {
+ ret = run_test(i, 5, 3);
+ if (ret != 0) {
+ return ret;
+ }
+ }
+
+ for (i=6; i < 21; i++) {
+ ret = run_test(i, 6, 4);
+ if (ret != 0) {
+ return ret;
+ }
+ }
+
+ for (i=5; i < 11; i++) {
+ ret = run_test(i, 5, 4);
+ if (ret != 0) {
+ return ret;
+ }
+ }
+}
+
diff --git a/xor_codes/test_xor_hd_code.h b/xor_codes/test_xor_hd_code.h
new file mode 100644
index 0000000..eb96d05
--- /dev/null
+++ b/xor_codes/test_xor_hd_code.h
@@ -0,0 +1,92 @@
+/* * Copyright (c) 2013, Kevin Greenan (kmgreen2@gmail.com)
+ * 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. 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 HOLDER 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.
+ */
+
+#define NUM_10_3_COMBS 55
+int failure_combs_10_3[NUM_10_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {8, 9, -1, -1}} ;
+#define NUM_10_4_COMBS 175
+int failure_combs_10_4[NUM_10_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {8, 9, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 8, 9, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 8, 9, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 8, 9, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 8, 9, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 8, 9, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 8, 9, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 8, 9, -1}, {7, 8, 9, -1}} ;
+#define NUM_11_3_COMBS 66
+int failure_combs_11_3[NUM_11_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {9, 10, -1, -1}} ;
+#define NUM_11_4_COMBS 231
+int failure_combs_11_4[NUM_11_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {9, 10, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 9, 10, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 9, 10, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 9, 10, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 9, 10, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 9, 10, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 9, 10, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 9, 10, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 9, 10, -1}, {8, 9, 10, -1}} ;
+#define NUM_12_3_COMBS 78
+int failure_combs_12_3[NUM_12_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {10, 11, -1, -1}} ;
+#define NUM_12_4_COMBS 298
+int failure_combs_12_4[NUM_12_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {10, 11, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 10, 11, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 10, 11, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 10, 11, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 10, 11, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 10, 11, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 10, 11, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 10, 11, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 10, 11, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 10, 11, -1}, {9, 10, 11, -1}} ;
+#define NUM_13_3_COMBS 91
+int failure_combs_13_3[NUM_13_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {11, 12, -1, -1}} ;
+#define NUM_13_4_COMBS 377
+int failure_combs_13_4[NUM_13_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {11, 12, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 11, 12, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 11, 12, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 11, 12, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 11, 12, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 11, 12, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 11, 12, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 11, 12, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 11, 12, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 11, 12, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 11, 12, -1}, {10, 11, 12, -1}} ;
+#define NUM_14_3_COMBS 105
+int failure_combs_14_3[NUM_14_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {12, 13, -1, -1}} ;
+#define NUM_14_4_COMBS 469
+int failure_combs_14_4[NUM_14_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {12, 13, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 12, 13, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 12, 13, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 12, 13, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 12, 13, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 12, 13, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 12, 13, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 12, 13, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 12, 13, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 12, 13, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 12, 13, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 12, 13, -1}, {11, 12, 13, -1}} ;
+#define NUM_15_3_COMBS 120
+int failure_combs_15_3[NUM_15_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {13, 14, -1, -1}} ;
+#define NUM_15_4_COMBS 575
+int failure_combs_15_4[NUM_15_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {13, 14, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 13, 14, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 13, 14, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 13, 14, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 13, 14, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 13, 14, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 13, 14, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 13, 14, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 13, 14, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 13, 14, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 13, 14, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 13, 14, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 13, 14, -1}, {12, 13, 14, -1}} ;
+#define NUM_16_3_COMBS 136
+int failure_combs_16_3[NUM_16_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {14, 15, -1, -1}} ;
+#define NUM_16_4_COMBS 696
+int failure_combs_16_4[NUM_16_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {14, 15, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 14, 15, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 14, 15, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 14, 15, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 14, 15, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 14, 15, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 14, 15, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 14, 15, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 14, 15, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 14, 15, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 14, 15, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 14, 15, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 14, 15, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 14, 15, -1}, {13, 14, 15, -1}} ;
+#define NUM_17_3_COMBS 153
+int failure_combs_17_3[NUM_17_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {15, 16, -1, -1}} ;
+#define NUM_17_4_COMBS 833
+int failure_combs_17_4[NUM_17_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {15, 16, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 15, 16, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 15, 16, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 15, 16, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 15, 16, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 15, 16, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 15, 16, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 15, 16, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 15, 16, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 15, 16, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 15, 16, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 15, 16, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 15, 16, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 15, 16, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 15, 16, -1}, {14, 15, 16, -1}} ;
+#define NUM_18_3_COMBS 171
+int failure_combs_18_3[NUM_18_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {16, 17, -1, -1}} ;
+#define NUM_18_4_COMBS 987
+int failure_combs_18_4[NUM_18_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {16, 17, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 16, 17, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 16, 17, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 16, 17, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 16, 17, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 16, 17, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 16, 17, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 16, 17, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 16, 17, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 16, 17, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 16, 17, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 16, 17, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 16, 17, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 16, 17, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 16, 17, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 16, 17, -1}, {15, 16, 17, -1}} ;
+#define NUM_19_3_COMBS 190
+int failure_combs_19_3[NUM_19_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {17, 18, -1, -1}} ;
+#define NUM_19_4_COMBS 1159
+int failure_combs_19_4[NUM_19_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {17, 18, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 17, 18, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 17, 18, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 17, 18, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 17, 18, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 17, 18, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 17, 18, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 17, 18, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 17, 18, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 17, 18, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 17, 18, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 17, 18, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 17, 18, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 17, 18, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 17, 18, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 17, 18, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 17, 18, -1}, {16, 17, 18, -1}} ;
+#define NUM_20_3_COMBS 210
+int failure_combs_20_3[NUM_20_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {18, 19, -1, -1}} ;
+#define NUM_20_4_COMBS 1350
+int failure_combs_20_4[NUM_20_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {18, 19, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 1, 19, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 2, 19, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 3, 19, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 4, 19, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 5, 19, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 6, 19, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 7, 19, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 8, 19, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 9, 19, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 10, 19, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 11, 19, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 12, 19, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 13, 19, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 14, 19, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 15, 19, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 16, 19, -1}, {0, 17, 18, -1}, {0, 17, 19, -1}, {0, 18, 19, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 2, 19, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 3, 19, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 4, 19, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 5, 19, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 6, 19, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 7, 19, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 8, 19, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 9, 19, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 10, 19, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 11, 19, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 12, 19, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 13, 19, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 14, 19, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 15, 19, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 16, 19, -1}, {1, 17, 18, -1}, {1, 17, 19, -1}, {1, 18, 19, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 3, 19, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 4, 19, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 5, 19, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 6, 19, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 7, 19, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 8, 19, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 9, 19, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 10, 19, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 11, 19, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 12, 19, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 13, 19, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 14, 19, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 15, 19, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 16, 19, -1}, {2, 17, 18, -1}, {2, 17, 19, -1}, {2, 18, 19, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 4, 19, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 5, 19, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 6, 19, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 7, 19, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 8, 19, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 9, 19, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 10, 19, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 11, 19, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 12, 19, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 13, 19, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 14, 19, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 15, 19, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 16, 19, -1}, {3, 17, 18, -1}, {3, 17, 19, -1}, {3, 18, 19, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 5, 19, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 6, 19, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 7, 19, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 8, 19, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 9, 19, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 10, 19, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 11, 19, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 12, 19, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 13, 19, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 14, 19, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 15, 19, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 16, 19, -1}, {4, 17, 18, -1}, {4, 17, 19, -1}, {4, 18, 19, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 6, 19, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 7, 19, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 8, 19, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 9, 19, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 10, 19, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 11, 19, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 12, 19, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 13, 19, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 14, 19, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 15, 19, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 16, 19, -1}, {5, 17, 18, -1}, {5, 17, 19, -1}, {5, 18, 19, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 7, 19, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 8, 19, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 9, 19, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 10, 19, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 11, 19, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 12, 19, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 13, 19, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 14, 19, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 15, 19, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 16, 19, -1}, {6, 17, 18, -1}, {6, 17, 19, -1}, {6, 18, 19, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 8, 19, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 9, 19, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 10, 19, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 11, 19, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 12, 19, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 13, 19, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 14, 19, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 15, 19, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 16, 19, -1}, {7, 17, 18, -1}, {7, 17, 19, -1}, {7, 18, 19, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 9, 19, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 10, 19, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 11, 19, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 12, 19, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 13, 19, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 14, 19, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 15, 19, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 16, 19, -1}, {8, 17, 18, -1}, {8, 17, 19, -1}, {8, 18, 19, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 10, 19, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 11, 19, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 12, 19, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 13, 19, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 14, 19, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 15, 19, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 16, 19, -1}, {9, 17, 18, -1}, {9, 17, 19, -1}, {9, 18, 19, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 11, 19, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 12, 19, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 13, 19, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 14, 19, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 15, 19, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 16, 19, -1}, {10, 17, 18, -1}, {10, 17, 19, -1}, {10, 18, 19, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 12, 19, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 13, 19, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 14, 19, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 15, 19, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 16, 19, -1}, {11, 17, 18, -1}, {11, 17, 19, -1}, {11, 18, 19, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 13, 19, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 14, 19, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 15, 19, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 16, 19, -1}, {12, 17, 18, -1}, {12, 17, 19, -1}, {12, 18, 19, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 14, 19, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 15, 19, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 16, 19, -1}, {13, 17, 18, -1}, {13, 17, 19, -1}, {13, 18, 19, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 15, 19, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 16, 19, -1}, {14, 17, 18, -1}, {14, 17, 19, -1}, {14, 18, 19, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 16, 19, -1}, {15, 17, 18, -1}, {15, 17, 19, -1}, {15, 18, 19, -1}, {16, 17, 18, -1}, {16, 17, 19, -1}, {16, 18, 19, -1}, {17, 18, 19, -1}} ;
+#define NUM_21_3_COMBS 231
+int failure_combs_21_3[NUM_21_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {19, 20, -1, -1}} ;
+#define NUM_21_4_COMBS 1561
+int failure_combs_21_4[NUM_21_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {19, 20, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 1, 19, -1}, {0, 1, 20, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 2, 19, -1}, {0, 2, 20, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 3, 19, -1}, {0, 3, 20, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 4, 19, -1}, {0, 4, 20, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 5, 19, -1}, {0, 5, 20, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 6, 19, -1}, {0, 6, 20, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 7, 19, -1}, {0, 7, 20, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 8, 19, -1}, {0, 8, 20, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 9, 19, -1}, {0, 9, 20, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 10, 19, -1}, {0, 10, 20, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 11, 19, -1}, {0, 11, 20, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 12, 19, -1}, {0, 12, 20, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 13, 19, -1}, {0, 13, 20, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 14, 19, -1}, {0, 14, 20, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 15, 19, -1}, {0, 15, 20, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 16, 19, -1}, {0, 16, 20, -1}, {0, 17, 18, -1}, {0, 17, 19, -1}, {0, 17, 20, -1}, {0, 18, 19, -1}, {0, 18, 20, -1}, {0, 19, 20, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 2, 19, -1}, {1, 2, 20, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 3, 19, -1}, {1, 3, 20, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 4, 19, -1}, {1, 4, 20, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 5, 19, -1}, {1, 5, 20, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 6, 19, -1}, {1, 6, 20, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 7, 19, -1}, {1, 7, 20, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 8, 19, -1}, {1, 8, 20, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 9, 19, -1}, {1, 9, 20, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 10, 19, -1}, {1, 10, 20, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 11, 19, -1}, {1, 11, 20, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 12, 19, -1}, {1, 12, 20, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 13, 19, -1}, {1, 13, 20, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 14, 19, -1}, {1, 14, 20, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 15, 19, -1}, {1, 15, 20, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 16, 19, -1}, {1, 16, 20, -1}, {1, 17, 18, -1}, {1, 17, 19, -1}, {1, 17, 20, -1}, {1, 18, 19, -1}, {1, 18, 20, -1}, {1, 19, 20, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 3, 19, -1}, {2, 3, 20, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 4, 19, -1}, {2, 4, 20, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 5, 19, -1}, {2, 5, 20, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 6, 19, -1}, {2, 6, 20, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 7, 19, -1}, {2, 7, 20, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 8, 19, -1}, {2, 8, 20, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 9, 19, -1}, {2, 9, 20, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 10, 19, -1}, {2, 10, 20, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 11, 19, -1}, {2, 11, 20, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 12, 19, -1}, {2, 12, 20, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 13, 19, -1}, {2, 13, 20, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 14, 19, -1}, {2, 14, 20, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 15, 19, -1}, {2, 15, 20, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 16, 19, -1}, {2, 16, 20, -1}, {2, 17, 18, -1}, {2, 17, 19, -1}, {2, 17, 20, -1}, {2, 18, 19, -1}, {2, 18, 20, -1}, {2, 19, 20, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 4, 19, -1}, {3, 4, 20, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 5, 19, -1}, {3, 5, 20, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 6, 19, -1}, {3, 6, 20, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 7, 19, -1}, {3, 7, 20, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 8, 19, -1}, {3, 8, 20, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 9, 19, -1}, {3, 9, 20, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 10, 19, -1}, {3, 10, 20, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 11, 19, -1}, {3, 11, 20, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 12, 19, -1}, {3, 12, 20, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 13, 19, -1}, {3, 13, 20, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 14, 19, -1}, {3, 14, 20, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 15, 19, -1}, {3, 15, 20, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 16, 19, -1}, {3, 16, 20, -1}, {3, 17, 18, -1}, {3, 17, 19, -1}, {3, 17, 20, -1}, {3, 18, 19, -1}, {3, 18, 20, -1}, {3, 19, 20, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 5, 19, -1}, {4, 5, 20, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 6, 19, -1}, {4, 6, 20, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 7, 19, -1}, {4, 7, 20, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 8, 19, -1}, {4, 8, 20, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 9, 19, -1}, {4, 9, 20, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 10, 19, -1}, {4, 10, 20, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 11, 19, -1}, {4, 11, 20, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 12, 19, -1}, {4, 12, 20, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 13, 19, -1}, {4, 13, 20, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 14, 19, -1}, {4, 14, 20, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 15, 19, -1}, {4, 15, 20, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 16, 19, -1}, {4, 16, 20, -1}, {4, 17, 18, -1}, {4, 17, 19, -1}, {4, 17, 20, -1}, {4, 18, 19, -1}, {4, 18, 20, -1}, {4, 19, 20, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 6, 19, -1}, {5, 6, 20, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 7, 19, -1}, {5, 7, 20, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 8, 19, -1}, {5, 8, 20, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 9, 19, -1}, {5, 9, 20, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 10, 19, -1}, {5, 10, 20, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 11, 19, -1}, {5, 11, 20, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 12, 19, -1}, {5, 12, 20, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 13, 19, -1}, {5, 13, 20, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 14, 19, -1}, {5, 14, 20, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 15, 19, -1}, {5, 15, 20, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 16, 19, -1}, {5, 16, 20, -1}, {5, 17, 18, -1}, {5, 17, 19, -1}, {5, 17, 20, -1}, {5, 18, 19, -1}, {5, 18, 20, -1}, {5, 19, 20, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 7, 19, -1}, {6, 7, 20, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 8, 19, -1}, {6, 8, 20, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 9, 19, -1}, {6, 9, 20, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 10, 19, -1}, {6, 10, 20, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 11, 19, -1}, {6, 11, 20, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 12, 19, -1}, {6, 12, 20, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 13, 19, -1}, {6, 13, 20, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 14, 19, -1}, {6, 14, 20, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 15, 19, -1}, {6, 15, 20, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 16, 19, -1}, {6, 16, 20, -1}, {6, 17, 18, -1}, {6, 17, 19, -1}, {6, 17, 20, -1}, {6, 18, 19, -1}, {6, 18, 20, -1}, {6, 19, 20, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 8, 19, -1}, {7, 8, 20, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 9, 19, -1}, {7, 9, 20, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 10, 19, -1}, {7, 10, 20, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 11, 19, -1}, {7, 11, 20, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 12, 19, -1}, {7, 12, 20, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 13, 19, -1}, {7, 13, 20, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 14, 19, -1}, {7, 14, 20, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 15, 19, -1}, {7, 15, 20, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 16, 19, -1}, {7, 16, 20, -1}, {7, 17, 18, -1}, {7, 17, 19, -1}, {7, 17, 20, -1}, {7, 18, 19, -1}, {7, 18, 20, -1}, {7, 19, 20, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 9, 19, -1}, {8, 9, 20, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 10, 19, -1}, {8, 10, 20, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 11, 19, -1}, {8, 11, 20, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 12, 19, -1}, {8, 12, 20, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 13, 19, -1}, {8, 13, 20, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 14, 19, -1}, {8, 14, 20, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 15, 19, -1}, {8, 15, 20, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 16, 19, -1}, {8, 16, 20, -1}, {8, 17, 18, -1}, {8, 17, 19, -1}, {8, 17, 20, -1}, {8, 18, 19, -1}, {8, 18, 20, -1}, {8, 19, 20, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 10, 19, -1}, {9, 10, 20, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 11, 19, -1}, {9, 11, 20, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 12, 19, -1}, {9, 12, 20, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 13, 19, -1}, {9, 13, 20, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 14, 19, -1}, {9, 14, 20, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 15, 19, -1}, {9, 15, 20, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 16, 19, -1}, {9, 16, 20, -1}, {9, 17, 18, -1}, {9, 17, 19, -1}, {9, 17, 20, -1}, {9, 18, 19, -1}, {9, 18, 20, -1}, {9, 19, 20, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 11, 19, -1}, {10, 11, 20, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 12, 19, -1}, {10, 12, 20, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 13, 19, -1}, {10, 13, 20, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 14, 19, -1}, {10, 14, 20, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 15, 19, -1}, {10, 15, 20, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 16, 19, -1}, {10, 16, 20, -1}, {10, 17, 18, -1}, {10, 17, 19, -1}, {10, 17, 20, -1}, {10, 18, 19, -1}, {10, 18, 20, -1}, {10, 19, 20, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 12, 19, -1}, {11, 12, 20, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 13, 19, -1}, {11, 13, 20, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 14, 19, -1}, {11, 14, 20, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 15, 19, -1}, {11, 15, 20, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 16, 19, -1}, {11, 16, 20, -1}, {11, 17, 18, -1}, {11, 17, 19, -1}, {11, 17, 20, -1}, {11, 18, 19, -1}, {11, 18, 20, -1}, {11, 19, 20, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 13, 19, -1}, {12, 13, 20, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 14, 19, -1}, {12, 14, 20, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 15, 19, -1}, {12, 15, 20, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 16, 19, -1}, {12, 16, 20, -1}, {12, 17, 18, -1}, {12, 17, 19, -1}, {12, 17, 20, -1}, {12, 18, 19, -1}, {12, 18, 20, -1}, {12, 19, 20, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 14, 19, -1}, {13, 14, 20, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 15, 19, -1}, {13, 15, 20, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 16, 19, -1}, {13, 16, 20, -1}, {13, 17, 18, -1}, {13, 17, 19, -1}, {13, 17, 20, -1}, {13, 18, 19, -1}, {13, 18, 20, -1}, {13, 19, 20, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 15, 19, -1}, {14, 15, 20, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 16, 19, -1}, {14, 16, 20, -1}, {14, 17, 18, -1}, {14, 17, 19, -1}, {14, 17, 20, -1}, {14, 18, 19, -1}, {14, 18, 20, -1}, {14, 19, 20, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 16, 19, -1}, {15, 16, 20, -1}, {15, 17, 18, -1}, {15, 17, 19, -1}, {15, 17, 20, -1}, {15, 18, 19, -1}, {15, 18, 20, -1}, {15, 19, 20, -1}, {16, 17, 18, -1}, {16, 17, 19, -1}, {16, 17, 20, -1}, {16, 18, 19, -1}, {16, 18, 20, -1}, {16, 19, 20, -1}, {17, 18, 19, -1}, {17, 18, 20, -1}, {17, 19, 20, -1}, {18, 19, 20, -1}} ;
+#define NUM_22_3_COMBS 253
+int failure_combs_22_3[NUM_22_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {20, 21, -1, -1}} ;
+#define NUM_22_4_COMBS 1793
+int failure_combs_22_4[NUM_22_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {20, 21, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 1, 19, -1}, {0, 1, 20, -1}, {0, 1, 21, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 2, 19, -1}, {0, 2, 20, -1}, {0, 2, 21, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 3, 19, -1}, {0, 3, 20, -1}, {0, 3, 21, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 4, 19, -1}, {0, 4, 20, -1}, {0, 4, 21, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 5, 19, -1}, {0, 5, 20, -1}, {0, 5, 21, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 6, 19, -1}, {0, 6, 20, -1}, {0, 6, 21, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 7, 19, -1}, {0, 7, 20, -1}, {0, 7, 21, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 8, 19, -1}, {0, 8, 20, -1}, {0, 8, 21, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 9, 19, -1}, {0, 9, 20, -1}, {0, 9, 21, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 10, 19, -1}, {0, 10, 20, -1}, {0, 10, 21, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 11, 19, -1}, {0, 11, 20, -1}, {0, 11, 21, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 12, 19, -1}, {0, 12, 20, -1}, {0, 12, 21, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 13, 19, -1}, {0, 13, 20, -1}, {0, 13, 21, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 14, 19, -1}, {0, 14, 20, -1}, {0, 14, 21, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 15, 19, -1}, {0, 15, 20, -1}, {0, 15, 21, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 16, 19, -1}, {0, 16, 20, -1}, {0, 16, 21, -1}, {0, 17, 18, -1}, {0, 17, 19, -1}, {0, 17, 20, -1}, {0, 17, 21, -1}, {0, 18, 19, -1}, {0, 18, 20, -1}, {0, 18, 21, -1}, {0, 19, 20, -1}, {0, 19, 21, -1}, {0, 20, 21, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 2, 19, -1}, {1, 2, 20, -1}, {1, 2, 21, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 3, 19, -1}, {1, 3, 20, -1}, {1, 3, 21, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 4, 19, -1}, {1, 4, 20, -1}, {1, 4, 21, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 5, 19, -1}, {1, 5, 20, -1}, {1, 5, 21, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 6, 19, -1}, {1, 6, 20, -1}, {1, 6, 21, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 7, 19, -1}, {1, 7, 20, -1}, {1, 7, 21, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 8, 19, -1}, {1, 8, 20, -1}, {1, 8, 21, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 9, 19, -1}, {1, 9, 20, -1}, {1, 9, 21, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 10, 19, -1}, {1, 10, 20, -1}, {1, 10, 21, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 11, 19, -1}, {1, 11, 20, -1}, {1, 11, 21, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 12, 19, -1}, {1, 12, 20, -1}, {1, 12, 21, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 13, 19, -1}, {1, 13, 20, -1}, {1, 13, 21, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 14, 19, -1}, {1, 14, 20, -1}, {1, 14, 21, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 15, 19, -1}, {1, 15, 20, -1}, {1, 15, 21, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 16, 19, -1}, {1, 16, 20, -1}, {1, 16, 21, -1}, {1, 17, 18, -1}, {1, 17, 19, -1}, {1, 17, 20, -1}, {1, 17, 21, -1}, {1, 18, 19, -1}, {1, 18, 20, -1}, {1, 18, 21, -1}, {1, 19, 20, -1}, {1, 19, 21, -1}, {1, 20, 21, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 3, 19, -1}, {2, 3, 20, -1}, {2, 3, 21, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 4, 19, -1}, {2, 4, 20, -1}, {2, 4, 21, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 5, 19, -1}, {2, 5, 20, -1}, {2, 5, 21, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 6, 19, -1}, {2, 6, 20, -1}, {2, 6, 21, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 7, 19, -1}, {2, 7, 20, -1}, {2, 7, 21, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 8, 19, -1}, {2, 8, 20, -1}, {2, 8, 21, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 9, 19, -1}, {2, 9, 20, -1}, {2, 9, 21, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 10, 19, -1}, {2, 10, 20, -1}, {2, 10, 21, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 11, 19, -1}, {2, 11, 20, -1}, {2, 11, 21, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 12, 19, -1}, {2, 12, 20, -1}, {2, 12, 21, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 13, 19, -1}, {2, 13, 20, -1}, {2, 13, 21, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 14, 19, -1}, {2, 14, 20, -1}, {2, 14, 21, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 15, 19, -1}, {2, 15, 20, -1}, {2, 15, 21, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 16, 19, -1}, {2, 16, 20, -1}, {2, 16, 21, -1}, {2, 17, 18, -1}, {2, 17, 19, -1}, {2, 17, 20, -1}, {2, 17, 21, -1}, {2, 18, 19, -1}, {2, 18, 20, -1}, {2, 18, 21, -1}, {2, 19, 20, -1}, {2, 19, 21, -1}, {2, 20, 21, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 4, 19, -1}, {3, 4, 20, -1}, {3, 4, 21, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 5, 19, -1}, {3, 5, 20, -1}, {3, 5, 21, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 6, 19, -1}, {3, 6, 20, -1}, {3, 6, 21, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 7, 19, -1}, {3, 7, 20, -1}, {3, 7, 21, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 8, 19, -1}, {3, 8, 20, -1}, {3, 8, 21, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 9, 19, -1}, {3, 9, 20, -1}, {3, 9, 21, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 10, 19, -1}, {3, 10, 20, -1}, {3, 10, 21, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 11, 19, -1}, {3, 11, 20, -1}, {3, 11, 21, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 12, 19, -1}, {3, 12, 20, -1}, {3, 12, 21, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 13, 19, -1}, {3, 13, 20, -1}, {3, 13, 21, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 14, 19, -1}, {3, 14, 20, -1}, {3, 14, 21, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 15, 19, -1}, {3, 15, 20, -1}, {3, 15, 21, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 16, 19, -1}, {3, 16, 20, -1}, {3, 16, 21, -1}, {3, 17, 18, -1}, {3, 17, 19, -1}, {3, 17, 20, -1}, {3, 17, 21, -1}, {3, 18, 19, -1}, {3, 18, 20, -1}, {3, 18, 21, -1}, {3, 19, 20, -1}, {3, 19, 21, -1}, {3, 20, 21, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 5, 19, -1}, {4, 5, 20, -1}, {4, 5, 21, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 6, 19, -1}, {4, 6, 20, -1}, {4, 6, 21, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 7, 19, -1}, {4, 7, 20, -1}, {4, 7, 21, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 8, 19, -1}, {4, 8, 20, -1}, {4, 8, 21, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 9, 19, -1}, {4, 9, 20, -1}, {4, 9, 21, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 10, 19, -1}, {4, 10, 20, -1}, {4, 10, 21, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 11, 19, -1}, {4, 11, 20, -1}, {4, 11, 21, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 12, 19, -1}, {4, 12, 20, -1}, {4, 12, 21, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 13, 19, -1}, {4, 13, 20, -1}, {4, 13, 21, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 14, 19, -1}, {4, 14, 20, -1}, {4, 14, 21, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 15, 19, -1}, {4, 15, 20, -1}, {4, 15, 21, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 16, 19, -1}, {4, 16, 20, -1}, {4, 16, 21, -1}, {4, 17, 18, -1}, {4, 17, 19, -1}, {4, 17, 20, -1}, {4, 17, 21, -1}, {4, 18, 19, -1}, {4, 18, 20, -1}, {4, 18, 21, -1}, {4, 19, 20, -1}, {4, 19, 21, -1}, {4, 20, 21, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 6, 19, -1}, {5, 6, 20, -1}, {5, 6, 21, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 7, 19, -1}, {5, 7, 20, -1}, {5, 7, 21, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 8, 19, -1}, {5, 8, 20, -1}, {5, 8, 21, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 9, 19, -1}, {5, 9, 20, -1}, {5, 9, 21, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 10, 19, -1}, {5, 10, 20, -1}, {5, 10, 21, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 11, 19, -1}, {5, 11, 20, -1}, {5, 11, 21, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 12, 19, -1}, {5, 12, 20, -1}, {5, 12, 21, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 13, 19, -1}, {5, 13, 20, -1}, {5, 13, 21, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 14, 19, -1}, {5, 14, 20, -1}, {5, 14, 21, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 15, 19, -1}, {5, 15, 20, -1}, {5, 15, 21, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 16, 19, -1}, {5, 16, 20, -1}, {5, 16, 21, -1}, {5, 17, 18, -1}, {5, 17, 19, -1}, {5, 17, 20, -1}, {5, 17, 21, -1}, {5, 18, 19, -1}, {5, 18, 20, -1}, {5, 18, 21, -1}, {5, 19, 20, -1}, {5, 19, 21, -1}, {5, 20, 21, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 7, 19, -1}, {6, 7, 20, -1}, {6, 7, 21, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 8, 19, -1}, {6, 8, 20, -1}, {6, 8, 21, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 9, 19, -1}, {6, 9, 20, -1}, {6, 9, 21, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 10, 19, -1}, {6, 10, 20, -1}, {6, 10, 21, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 11, 19, -1}, {6, 11, 20, -1}, {6, 11, 21, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 12, 19, -1}, {6, 12, 20, -1}, {6, 12, 21, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 13, 19, -1}, {6, 13, 20, -1}, {6, 13, 21, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 14, 19, -1}, {6, 14, 20, -1}, {6, 14, 21, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 15, 19, -1}, {6, 15, 20, -1}, {6, 15, 21, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 16, 19, -1}, {6, 16, 20, -1}, {6, 16, 21, -1}, {6, 17, 18, -1}, {6, 17, 19, -1}, {6, 17, 20, -1}, {6, 17, 21, -1}, {6, 18, 19, -1}, {6, 18, 20, -1}, {6, 18, 21, -1}, {6, 19, 20, -1}, {6, 19, 21, -1}, {6, 20, 21, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 8, 19, -1}, {7, 8, 20, -1}, {7, 8, 21, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 9, 19, -1}, {7, 9, 20, -1}, {7, 9, 21, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 10, 19, -1}, {7, 10, 20, -1}, {7, 10, 21, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 11, 19, -1}, {7, 11, 20, -1}, {7, 11, 21, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 12, 19, -1}, {7, 12, 20, -1}, {7, 12, 21, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 13, 19, -1}, {7, 13, 20, -1}, {7, 13, 21, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 14, 19, -1}, {7, 14, 20, -1}, {7, 14, 21, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 15, 19, -1}, {7, 15, 20, -1}, {7, 15, 21, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 16, 19, -1}, {7, 16, 20, -1}, {7, 16, 21, -1}, {7, 17, 18, -1}, {7, 17, 19, -1}, {7, 17, 20, -1}, {7, 17, 21, -1}, {7, 18, 19, -1}, {7, 18, 20, -1}, {7, 18, 21, -1}, {7, 19, 20, -1}, {7, 19, 21, -1}, {7, 20, 21, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 9, 19, -1}, {8, 9, 20, -1}, {8, 9, 21, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 10, 19, -1}, {8, 10, 20, -1}, {8, 10, 21, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 11, 19, -1}, {8, 11, 20, -1}, {8, 11, 21, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 12, 19, -1}, {8, 12, 20, -1}, {8, 12, 21, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 13, 19, -1}, {8, 13, 20, -1}, {8, 13, 21, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 14, 19, -1}, {8, 14, 20, -1}, {8, 14, 21, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 15, 19, -1}, {8, 15, 20, -1}, {8, 15, 21, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 16, 19, -1}, {8, 16, 20, -1}, {8, 16, 21, -1}, {8, 17, 18, -1}, {8, 17, 19, -1}, {8, 17, 20, -1}, {8, 17, 21, -1}, {8, 18, 19, -1}, {8, 18, 20, -1}, {8, 18, 21, -1}, {8, 19, 20, -1}, {8, 19, 21, -1}, {8, 20, 21, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 10, 19, -1}, {9, 10, 20, -1}, {9, 10, 21, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 11, 19, -1}, {9, 11, 20, -1}, {9, 11, 21, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 12, 19, -1}, {9, 12, 20, -1}, {9, 12, 21, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 13, 19, -1}, {9, 13, 20, -1}, {9, 13, 21, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 14, 19, -1}, {9, 14, 20, -1}, {9, 14, 21, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 15, 19, -1}, {9, 15, 20, -1}, {9, 15, 21, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 16, 19, -1}, {9, 16, 20, -1}, {9, 16, 21, -1}, {9, 17, 18, -1}, {9, 17, 19, -1}, {9, 17, 20, -1}, {9, 17, 21, -1}, {9, 18, 19, -1}, {9, 18, 20, -1}, {9, 18, 21, -1}, {9, 19, 20, -1}, {9, 19, 21, -1}, {9, 20, 21, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 11, 19, -1}, {10, 11, 20, -1}, {10, 11, 21, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 12, 19, -1}, {10, 12, 20, -1}, {10, 12, 21, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 13, 19, -1}, {10, 13, 20, -1}, {10, 13, 21, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 14, 19, -1}, {10, 14, 20, -1}, {10, 14, 21, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 15, 19, -1}, {10, 15, 20, -1}, {10, 15, 21, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 16, 19, -1}, {10, 16, 20, -1}, {10, 16, 21, -1}, {10, 17, 18, -1}, {10, 17, 19, -1}, {10, 17, 20, -1}, {10, 17, 21, -1}, {10, 18, 19, -1}, {10, 18, 20, -1}, {10, 18, 21, -1}, {10, 19, 20, -1}, {10, 19, 21, -1}, {10, 20, 21, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 12, 19, -1}, {11, 12, 20, -1}, {11, 12, 21, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 13, 19, -1}, {11, 13, 20, -1}, {11, 13, 21, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 14, 19, -1}, {11, 14, 20, -1}, {11, 14, 21, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 15, 19, -1}, {11, 15, 20, -1}, {11, 15, 21, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 16, 19, -1}, {11, 16, 20, -1}, {11, 16, 21, -1}, {11, 17, 18, -1}, {11, 17, 19, -1}, {11, 17, 20, -1}, {11, 17, 21, -1}, {11, 18, 19, -1}, {11, 18, 20, -1}, {11, 18, 21, -1}, {11, 19, 20, -1}, {11, 19, 21, -1}, {11, 20, 21, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 13, 19, -1}, {12, 13, 20, -1}, {12, 13, 21, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 14, 19, -1}, {12, 14, 20, -1}, {12, 14, 21, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 15, 19, -1}, {12, 15, 20, -1}, {12, 15, 21, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 16, 19, -1}, {12, 16, 20, -1}, {12, 16, 21, -1}, {12, 17, 18, -1}, {12, 17, 19, -1}, {12, 17, 20, -1}, {12, 17, 21, -1}, {12, 18, 19, -1}, {12, 18, 20, -1}, {12, 18, 21, -1}, {12, 19, 20, -1}, {12, 19, 21, -1}, {12, 20, 21, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 14, 19, -1}, {13, 14, 20, -1}, {13, 14, 21, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 15, 19, -1}, {13, 15, 20, -1}, {13, 15, 21, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 16, 19, -1}, {13, 16, 20, -1}, {13, 16, 21, -1}, {13, 17, 18, -1}, {13, 17, 19, -1}, {13, 17, 20, -1}, {13, 17, 21, -1}, {13, 18, 19, -1}, {13, 18, 20, -1}, {13, 18, 21, -1}, {13, 19, 20, -1}, {13, 19, 21, -1}, {13, 20, 21, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 15, 19, -1}, {14, 15, 20, -1}, {14, 15, 21, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 16, 19, -1}, {14, 16, 20, -1}, {14, 16, 21, -1}, {14, 17, 18, -1}, {14, 17, 19, -1}, {14, 17, 20, -1}, {14, 17, 21, -1}, {14, 18, 19, -1}, {14, 18, 20, -1}, {14, 18, 21, -1}, {14, 19, 20, -1}, {14, 19, 21, -1}, {14, 20, 21, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 16, 19, -1}, {15, 16, 20, -1}, {15, 16, 21, -1}, {15, 17, 18, -1}, {15, 17, 19, -1}, {15, 17, 20, -1}, {15, 17, 21, -1}, {15, 18, 19, -1}, {15, 18, 20, -1}, {15, 18, 21, -1}, {15, 19, 20, -1}, {15, 19, 21, -1}, {15, 20, 21, -1}, {16, 17, 18, -1}, {16, 17, 19, -1}, {16, 17, 20, -1}, {16, 17, 21, -1}, {16, 18, 19, -1}, {16, 18, 20, -1}, {16, 18, 21, -1}, {16, 19, 20, -1}, {16, 19, 21, -1}, {16, 20, 21, -1}, {17, 18, 19, -1}, {17, 18, 20, -1}, {17, 18, 21, -1}, {17, 19, 20, -1}, {17, 19, 21, -1}, {17, 20, 21, -1}, {18, 19, 20, -1}, {18, 19, 21, -1}, {18, 20, 21, -1}, {19, 20, 21, -1}} ;
+#define NUM_23_3_COMBS 276
+int failure_combs_23_3[NUM_23_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {21, 22, -1, -1}} ;
+#define NUM_23_4_COMBS 2047
+int failure_combs_23_4[NUM_23_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {21, 22, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 1, 19, -1}, {0, 1, 20, -1}, {0, 1, 21, -1}, {0, 1, 22, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 2, 19, -1}, {0, 2, 20, -1}, {0, 2, 21, -1}, {0, 2, 22, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 3, 19, -1}, {0, 3, 20, -1}, {0, 3, 21, -1}, {0, 3, 22, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 4, 19, -1}, {0, 4, 20, -1}, {0, 4, 21, -1}, {0, 4, 22, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 5, 19, -1}, {0, 5, 20, -1}, {0, 5, 21, -1}, {0, 5, 22, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 6, 19, -1}, {0, 6, 20, -1}, {0, 6, 21, -1}, {0, 6, 22, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 7, 19, -1}, {0, 7, 20, -1}, {0, 7, 21, -1}, {0, 7, 22, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 8, 19, -1}, {0, 8, 20, -1}, {0, 8, 21, -1}, {0, 8, 22, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 9, 19, -1}, {0, 9, 20, -1}, {0, 9, 21, -1}, {0, 9, 22, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 10, 19, -1}, {0, 10, 20, -1}, {0, 10, 21, -1}, {0, 10, 22, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 11, 19, -1}, {0, 11, 20, -1}, {0, 11, 21, -1}, {0, 11, 22, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 12, 19, -1}, {0, 12, 20, -1}, {0, 12, 21, -1}, {0, 12, 22, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 13, 19, -1}, {0, 13, 20, -1}, {0, 13, 21, -1}, {0, 13, 22, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 14, 19, -1}, {0, 14, 20, -1}, {0, 14, 21, -1}, {0, 14, 22, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 15, 19, -1}, {0, 15, 20, -1}, {0, 15, 21, -1}, {0, 15, 22, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 16, 19, -1}, {0, 16, 20, -1}, {0, 16, 21, -1}, {0, 16, 22, -1}, {0, 17, 18, -1}, {0, 17, 19, -1}, {0, 17, 20, -1}, {0, 17, 21, -1}, {0, 17, 22, -1}, {0, 18, 19, -1}, {0, 18, 20, -1}, {0, 18, 21, -1}, {0, 18, 22, -1}, {0, 19, 20, -1}, {0, 19, 21, -1}, {0, 19, 22, -1}, {0, 20, 21, -1}, {0, 20, 22, -1}, {0, 21, 22, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 2, 19, -1}, {1, 2, 20, -1}, {1, 2, 21, -1}, {1, 2, 22, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 3, 19, -1}, {1, 3, 20, -1}, {1, 3, 21, -1}, {1, 3, 22, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 4, 19, -1}, {1, 4, 20, -1}, {1, 4, 21, -1}, {1, 4, 22, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 5, 19, -1}, {1, 5, 20, -1}, {1, 5, 21, -1}, {1, 5, 22, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 6, 19, -1}, {1, 6, 20, -1}, {1, 6, 21, -1}, {1, 6, 22, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 7, 19, -1}, {1, 7, 20, -1}, {1, 7, 21, -1}, {1, 7, 22, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 8, 19, -1}, {1, 8, 20, -1}, {1, 8, 21, -1}, {1, 8, 22, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 9, 19, -1}, {1, 9, 20, -1}, {1, 9, 21, -1}, {1, 9, 22, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 10, 19, -1}, {1, 10, 20, -1}, {1, 10, 21, -1}, {1, 10, 22, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 11, 19, -1}, {1, 11, 20, -1}, {1, 11, 21, -1}, {1, 11, 22, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 12, 19, -1}, {1, 12, 20, -1}, {1, 12, 21, -1}, {1, 12, 22, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 13, 19, -1}, {1, 13, 20, -1}, {1, 13, 21, -1}, {1, 13, 22, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 14, 19, -1}, {1, 14, 20, -1}, {1, 14, 21, -1}, {1, 14, 22, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 15, 19, -1}, {1, 15, 20, -1}, {1, 15, 21, -1}, {1, 15, 22, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 16, 19, -1}, {1, 16, 20, -1}, {1, 16, 21, -1}, {1, 16, 22, -1}, {1, 17, 18, -1}, {1, 17, 19, -1}, {1, 17, 20, -1}, {1, 17, 21, -1}, {1, 17, 22, -1}, {1, 18, 19, -1}, {1, 18, 20, -1}, {1, 18, 21, -1}, {1, 18, 22, -1}, {1, 19, 20, -1}, {1, 19, 21, -1}, {1, 19, 22, -1}, {1, 20, 21, -1}, {1, 20, 22, -1}, {1, 21, 22, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 3, 19, -1}, {2, 3, 20, -1}, {2, 3, 21, -1}, {2, 3, 22, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 4, 19, -1}, {2, 4, 20, -1}, {2, 4, 21, -1}, {2, 4, 22, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 5, 19, -1}, {2, 5, 20, -1}, {2, 5, 21, -1}, {2, 5, 22, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 6, 19, -1}, {2, 6, 20, -1}, {2, 6, 21, -1}, {2, 6, 22, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 7, 19, -1}, {2, 7, 20, -1}, {2, 7, 21, -1}, {2, 7, 22, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 8, 19, -1}, {2, 8, 20, -1}, {2, 8, 21, -1}, {2, 8, 22, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 9, 19, -1}, {2, 9, 20, -1}, {2, 9, 21, -1}, {2, 9, 22, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 10, 19, -1}, {2, 10, 20, -1}, {2, 10, 21, -1}, {2, 10, 22, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 11, 19, -1}, {2, 11, 20, -1}, {2, 11, 21, -1}, {2, 11, 22, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 12, 19, -1}, {2, 12, 20, -1}, {2, 12, 21, -1}, {2, 12, 22, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 13, 19, -1}, {2, 13, 20, -1}, {2, 13, 21, -1}, {2, 13, 22, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 14, 19, -1}, {2, 14, 20, -1}, {2, 14, 21, -1}, {2, 14, 22, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 15, 19, -1}, {2, 15, 20, -1}, {2, 15, 21, -1}, {2, 15, 22, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 16, 19, -1}, {2, 16, 20, -1}, {2, 16, 21, -1}, {2, 16, 22, -1}, {2, 17, 18, -1}, {2, 17, 19, -1}, {2, 17, 20, -1}, {2, 17, 21, -1}, {2, 17, 22, -1}, {2, 18, 19, -1}, {2, 18, 20, -1}, {2, 18, 21, -1}, {2, 18, 22, -1}, {2, 19, 20, -1}, {2, 19, 21, -1}, {2, 19, 22, -1}, {2, 20, 21, -1}, {2, 20, 22, -1}, {2, 21, 22, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 4, 19, -1}, {3, 4, 20, -1}, {3, 4, 21, -1}, {3, 4, 22, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 5, 19, -1}, {3, 5, 20, -1}, {3, 5, 21, -1}, {3, 5, 22, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 6, 19, -1}, {3, 6, 20, -1}, {3, 6, 21, -1}, {3, 6, 22, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 7, 19, -1}, {3, 7, 20, -1}, {3, 7, 21, -1}, {3, 7, 22, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 8, 19, -1}, {3, 8, 20, -1}, {3, 8, 21, -1}, {3, 8, 22, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 9, 19, -1}, {3, 9, 20, -1}, {3, 9, 21, -1}, {3, 9, 22, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 10, 19, -1}, {3, 10, 20, -1}, {3, 10, 21, -1}, {3, 10, 22, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 11, 19, -1}, {3, 11, 20, -1}, {3, 11, 21, -1}, {3, 11, 22, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 12, 19, -1}, {3, 12, 20, -1}, {3, 12, 21, -1}, {3, 12, 22, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 13, 19, -1}, {3, 13, 20, -1}, {3, 13, 21, -1}, {3, 13, 22, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 14, 19, -1}, {3, 14, 20, -1}, {3, 14, 21, -1}, {3, 14, 22, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 15, 19, -1}, {3, 15, 20, -1}, {3, 15, 21, -1}, {3, 15, 22, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 16, 19, -1}, {3, 16, 20, -1}, {3, 16, 21, -1}, {3, 16, 22, -1}, {3, 17, 18, -1}, {3, 17, 19, -1}, {3, 17, 20, -1}, {3, 17, 21, -1}, {3, 17, 22, -1}, {3, 18, 19, -1}, {3, 18, 20, -1}, {3, 18, 21, -1}, {3, 18, 22, -1}, {3, 19, 20, -1}, {3, 19, 21, -1}, {3, 19, 22, -1}, {3, 20, 21, -1}, {3, 20, 22, -1}, {3, 21, 22, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 5, 19, -1}, {4, 5, 20, -1}, {4, 5, 21, -1}, {4, 5, 22, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 6, 19, -1}, {4, 6, 20, -1}, {4, 6, 21, -1}, {4, 6, 22, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 7, 19, -1}, {4, 7, 20, -1}, {4, 7, 21, -1}, {4, 7, 22, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 8, 19, -1}, {4, 8, 20, -1}, {4, 8, 21, -1}, {4, 8, 22, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 9, 19, -1}, {4, 9, 20, -1}, {4, 9, 21, -1}, {4, 9, 22, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 10, 19, -1}, {4, 10, 20, -1}, {4, 10, 21, -1}, {4, 10, 22, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 11, 19, -1}, {4, 11, 20, -1}, {4, 11, 21, -1}, {4, 11, 22, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 12, 19, -1}, {4, 12, 20, -1}, {4, 12, 21, -1}, {4, 12, 22, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 13, 19, -1}, {4, 13, 20, -1}, {4, 13, 21, -1}, {4, 13, 22, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 14, 19, -1}, {4, 14, 20, -1}, {4, 14, 21, -1}, {4, 14, 22, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 15, 19, -1}, {4, 15, 20, -1}, {4, 15, 21, -1}, {4, 15, 22, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 16, 19, -1}, {4, 16, 20, -1}, {4, 16, 21, -1}, {4, 16, 22, -1}, {4, 17, 18, -1}, {4, 17, 19, -1}, {4, 17, 20, -1}, {4, 17, 21, -1}, {4, 17, 22, -1}, {4, 18, 19, -1}, {4, 18, 20, -1}, {4, 18, 21, -1}, {4, 18, 22, -1}, {4, 19, 20, -1}, {4, 19, 21, -1}, {4, 19, 22, -1}, {4, 20, 21, -1}, {4, 20, 22, -1}, {4, 21, 22, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 6, 19, -1}, {5, 6, 20, -1}, {5, 6, 21, -1}, {5, 6, 22, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 7, 19, -1}, {5, 7, 20, -1}, {5, 7, 21, -1}, {5, 7, 22, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 8, 19, -1}, {5, 8, 20, -1}, {5, 8, 21, -1}, {5, 8, 22, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 9, 19, -1}, {5, 9, 20, -1}, {5, 9, 21, -1}, {5, 9, 22, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 10, 19, -1}, {5, 10, 20, -1}, {5, 10, 21, -1}, {5, 10, 22, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 11, 19, -1}, {5, 11, 20, -1}, {5, 11, 21, -1}, {5, 11, 22, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 12, 19, -1}, {5, 12, 20, -1}, {5, 12, 21, -1}, {5, 12, 22, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 13, 19, -1}, {5, 13, 20, -1}, {5, 13, 21, -1}, {5, 13, 22, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 14, 19, -1}, {5, 14, 20, -1}, {5, 14, 21, -1}, {5, 14, 22, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 15, 19, -1}, {5, 15, 20, -1}, {5, 15, 21, -1}, {5, 15, 22, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 16, 19, -1}, {5, 16, 20, -1}, {5, 16, 21, -1}, {5, 16, 22, -1}, {5, 17, 18, -1}, {5, 17, 19, -1}, {5, 17, 20, -1}, {5, 17, 21, -1}, {5, 17, 22, -1}, {5, 18, 19, -1}, {5, 18, 20, -1}, {5, 18, 21, -1}, {5, 18, 22, -1}, {5, 19, 20, -1}, {5, 19, 21, -1}, {5, 19, 22, -1}, {5, 20, 21, -1}, {5, 20, 22, -1}, {5, 21, 22, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 7, 19, -1}, {6, 7, 20, -1}, {6, 7, 21, -1}, {6, 7, 22, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 8, 19, -1}, {6, 8, 20, -1}, {6, 8, 21, -1}, {6, 8, 22, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 9, 19, -1}, {6, 9, 20, -1}, {6, 9, 21, -1}, {6, 9, 22, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 10, 19, -1}, {6, 10, 20, -1}, {6, 10, 21, -1}, {6, 10, 22, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 11, 19, -1}, {6, 11, 20, -1}, {6, 11, 21, -1}, {6, 11, 22, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 12, 19, -1}, {6, 12, 20, -1}, {6, 12, 21, -1}, {6, 12, 22, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 13, 19, -1}, {6, 13, 20, -1}, {6, 13, 21, -1}, {6, 13, 22, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 14, 19, -1}, {6, 14, 20, -1}, {6, 14, 21, -1}, {6, 14, 22, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 15, 19, -1}, {6, 15, 20, -1}, {6, 15, 21, -1}, {6, 15, 22, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 16, 19, -1}, {6, 16, 20, -1}, {6, 16, 21, -1}, {6, 16, 22, -1}, {6, 17, 18, -1}, {6, 17, 19, -1}, {6, 17, 20, -1}, {6, 17, 21, -1}, {6, 17, 22, -1}, {6, 18, 19, -1}, {6, 18, 20, -1}, {6, 18, 21, -1}, {6, 18, 22, -1}, {6, 19, 20, -1}, {6, 19, 21, -1}, {6, 19, 22, -1}, {6, 20, 21, -1}, {6, 20, 22, -1}, {6, 21, 22, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 8, 19, -1}, {7, 8, 20, -1}, {7, 8, 21, -1}, {7, 8, 22, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 9, 19, -1}, {7, 9, 20, -1}, {7, 9, 21, -1}, {7, 9, 22, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 10, 19, -1}, {7, 10, 20, -1}, {7, 10, 21, -1}, {7, 10, 22, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 11, 19, -1}, {7, 11, 20, -1}, {7, 11, 21, -1}, {7, 11, 22, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 12, 19, -1}, {7, 12, 20, -1}, {7, 12, 21, -1}, {7, 12, 22, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 13, 19, -1}, {7, 13, 20, -1}, {7, 13, 21, -1}, {7, 13, 22, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 14, 19, -1}, {7, 14, 20, -1}, {7, 14, 21, -1}, {7, 14, 22, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 15, 19, -1}, {7, 15, 20, -1}, {7, 15, 21, -1}, {7, 15, 22, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 16, 19, -1}, {7, 16, 20, -1}, {7, 16, 21, -1}, {7, 16, 22, -1}, {7, 17, 18, -1}, {7, 17, 19, -1}, {7, 17, 20, -1}, {7, 17, 21, -1}, {7, 17, 22, -1}, {7, 18, 19, -1}, {7, 18, 20, -1}, {7, 18, 21, -1}, {7, 18, 22, -1}, {7, 19, 20, -1}, {7, 19, 21, -1}, {7, 19, 22, -1}, {7, 20, 21, -1}, {7, 20, 22, -1}, {7, 21, 22, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 9, 19, -1}, {8, 9, 20, -1}, {8, 9, 21, -1}, {8, 9, 22, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 10, 19, -1}, {8, 10, 20, -1}, {8, 10, 21, -1}, {8, 10, 22, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 11, 19, -1}, {8, 11, 20, -1}, {8, 11, 21, -1}, {8, 11, 22, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 12, 19, -1}, {8, 12, 20, -1}, {8, 12, 21, -1}, {8, 12, 22, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 13, 19, -1}, {8, 13, 20, -1}, {8, 13, 21, -1}, {8, 13, 22, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 14, 19, -1}, {8, 14, 20, -1}, {8, 14, 21, -1}, {8, 14, 22, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 15, 19, -1}, {8, 15, 20, -1}, {8, 15, 21, -1}, {8, 15, 22, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 16, 19, -1}, {8, 16, 20, -1}, {8, 16, 21, -1}, {8, 16, 22, -1}, {8, 17, 18, -1}, {8, 17, 19, -1}, {8, 17, 20, -1}, {8, 17, 21, -1}, {8, 17, 22, -1}, {8, 18, 19, -1}, {8, 18, 20, -1}, {8, 18, 21, -1}, {8, 18, 22, -1}, {8, 19, 20, -1}, {8, 19, 21, -1}, {8, 19, 22, -1}, {8, 20, 21, -1}, {8, 20, 22, -1}, {8, 21, 22, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 10, 19, -1}, {9, 10, 20, -1}, {9, 10, 21, -1}, {9, 10, 22, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 11, 19, -1}, {9, 11, 20, -1}, {9, 11, 21, -1}, {9, 11, 22, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 12, 19, -1}, {9, 12, 20, -1}, {9, 12, 21, -1}, {9, 12, 22, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 13, 19, -1}, {9, 13, 20, -1}, {9, 13, 21, -1}, {9, 13, 22, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 14, 19, -1}, {9, 14, 20, -1}, {9, 14, 21, -1}, {9, 14, 22, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 15, 19, -1}, {9, 15, 20, -1}, {9, 15, 21, -1}, {9, 15, 22, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 16, 19, -1}, {9, 16, 20, -1}, {9, 16, 21, -1}, {9, 16, 22, -1}, {9, 17, 18, -1}, {9, 17, 19, -1}, {9, 17, 20, -1}, {9, 17, 21, -1}, {9, 17, 22, -1}, {9, 18, 19, -1}, {9, 18, 20, -1}, {9, 18, 21, -1}, {9, 18, 22, -1}, {9, 19, 20, -1}, {9, 19, 21, -1}, {9, 19, 22, -1}, {9, 20, 21, -1}, {9, 20, 22, -1}, {9, 21, 22, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 11, 19, -1}, {10, 11, 20, -1}, {10, 11, 21, -1}, {10, 11, 22, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 12, 19, -1}, {10, 12, 20, -1}, {10, 12, 21, -1}, {10, 12, 22, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 13, 19, -1}, {10, 13, 20, -1}, {10, 13, 21, -1}, {10, 13, 22, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 14, 19, -1}, {10, 14, 20, -1}, {10, 14, 21, -1}, {10, 14, 22, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 15, 19, -1}, {10, 15, 20, -1}, {10, 15, 21, -1}, {10, 15, 22, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 16, 19, -1}, {10, 16, 20, -1}, {10, 16, 21, -1}, {10, 16, 22, -1}, {10, 17, 18, -1}, {10, 17, 19, -1}, {10, 17, 20, -1}, {10, 17, 21, -1}, {10, 17, 22, -1}, {10, 18, 19, -1}, {10, 18, 20, -1}, {10, 18, 21, -1}, {10, 18, 22, -1}, {10, 19, 20, -1}, {10, 19, 21, -1}, {10, 19, 22, -1}, {10, 20, 21, -1}, {10, 20, 22, -1}, {10, 21, 22, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 12, 19, -1}, {11, 12, 20, -1}, {11, 12, 21, -1}, {11, 12, 22, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 13, 19, -1}, {11, 13, 20, -1}, {11, 13, 21, -1}, {11, 13, 22, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 14, 19, -1}, {11, 14, 20, -1}, {11, 14, 21, -1}, {11, 14, 22, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 15, 19, -1}, {11, 15, 20, -1}, {11, 15, 21, -1}, {11, 15, 22, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 16, 19, -1}, {11, 16, 20, -1}, {11, 16, 21, -1}, {11, 16, 22, -1}, {11, 17, 18, -1}, {11, 17, 19, -1}, {11, 17, 20, -1}, {11, 17, 21, -1}, {11, 17, 22, -1}, {11, 18, 19, -1}, {11, 18, 20, -1}, {11, 18, 21, -1}, {11, 18, 22, -1}, {11, 19, 20, -1}, {11, 19, 21, -1}, {11, 19, 22, -1}, {11, 20, 21, -1}, {11, 20, 22, -1}, {11, 21, 22, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 13, 19, -1}, {12, 13, 20, -1}, {12, 13, 21, -1}, {12, 13, 22, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 14, 19, -1}, {12, 14, 20, -1}, {12, 14, 21, -1}, {12, 14, 22, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 15, 19, -1}, {12, 15, 20, -1}, {12, 15, 21, -1}, {12, 15, 22, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 16, 19, -1}, {12, 16, 20, -1}, {12, 16, 21, -1}, {12, 16, 22, -1}, {12, 17, 18, -1}, {12, 17, 19, -1}, {12, 17, 20, -1}, {12, 17, 21, -1}, {12, 17, 22, -1}, {12, 18, 19, -1}, {12, 18, 20, -1}, {12, 18, 21, -1}, {12, 18, 22, -1}, {12, 19, 20, -1}, {12, 19, 21, -1}, {12, 19, 22, -1}, {12, 20, 21, -1}, {12, 20, 22, -1}, {12, 21, 22, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 14, 19, -1}, {13, 14, 20, -1}, {13, 14, 21, -1}, {13, 14, 22, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 15, 19, -1}, {13, 15, 20, -1}, {13, 15, 21, -1}, {13, 15, 22, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 16, 19, -1}, {13, 16, 20, -1}, {13, 16, 21, -1}, {13, 16, 22, -1}, {13, 17, 18, -1}, {13, 17, 19, -1}, {13, 17, 20, -1}, {13, 17, 21, -1}, {13, 17, 22, -1}, {13, 18, 19, -1}, {13, 18, 20, -1}, {13, 18, 21, -1}, {13, 18, 22, -1}, {13, 19, 20, -1}, {13, 19, 21, -1}, {13, 19, 22, -1}, {13, 20, 21, -1}, {13, 20, 22, -1}, {13, 21, 22, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 15, 19, -1}, {14, 15, 20, -1}, {14, 15, 21, -1}, {14, 15, 22, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 16, 19, -1}, {14, 16, 20, -1}, {14, 16, 21, -1}, {14, 16, 22, -1}, {14, 17, 18, -1}, {14, 17, 19, -1}, {14, 17, 20, -1}, {14, 17, 21, -1}, {14, 17, 22, -1}, {14, 18, 19, -1}, {14, 18, 20, -1}, {14, 18, 21, -1}, {14, 18, 22, -1}, {14, 19, 20, -1}, {14, 19, 21, -1}, {14, 19, 22, -1}, {14, 20, 21, -1}, {14, 20, 22, -1}, {14, 21, 22, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 16, 19, -1}, {15, 16, 20, -1}, {15, 16, 21, -1}, {15, 16, 22, -1}, {15, 17, 18, -1}, {15, 17, 19, -1}, {15, 17, 20, -1}, {15, 17, 21, -1}, {15, 17, 22, -1}, {15, 18, 19, -1}, {15, 18, 20, -1}, {15, 18, 21, -1}, {15, 18, 22, -1}, {15, 19, 20, -1}, {15, 19, 21, -1}, {15, 19, 22, -1}, {15, 20, 21, -1}, {15, 20, 22, -1}, {15, 21, 22, -1}, {16, 17, 18, -1}, {16, 17, 19, -1}, {16, 17, 20, -1}, {16, 17, 21, -1}, {16, 17, 22, -1}, {16, 18, 19, -1}, {16, 18, 20, -1}, {16, 18, 21, -1}, {16, 18, 22, -1}, {16, 19, 20, -1}, {16, 19, 21, -1}, {16, 19, 22, -1}, {16, 20, 21, -1}, {16, 20, 22, -1}, {16, 21, 22, -1}, {17, 18, 19, -1}, {17, 18, 20, -1}, {17, 18, 21, -1}, {17, 18, 22, -1}, {17, 19, 20, -1}, {17, 19, 21, -1}, {17, 19, 22, -1}, {17, 20, 21, -1}, {17, 20, 22, -1}, {17, 21, 22, -1}, {18, 19, 20, -1}, {18, 19, 21, -1}, {18, 19, 22, -1}, {18, 20, 21, -1}, {18, 20, 22, -1}, {18, 21, 22, -1}, {19, 20, 21, -1}, {19, 20, 22, -1}, {19, 21, 22, -1}, {20, 21, 22, -1}} ;
+#define NUM_24_3_COMBS 300
+int failure_combs_24_3[NUM_24_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {23, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {0, 23, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {1, 23, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {2, 23, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {3, 23, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {4, 23, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {5, 23, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {6, 23, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {7, 23, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {8, 23, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {9, 23, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {10, 23, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {11, 23, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {12, 23, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {13, 23, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {14, 23, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {15, 23, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {16, 23, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {17, 23, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {18, 23, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {19, 23, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {20, 23, -1, -1}, {21, 22, -1, -1}, {21, 23, -1, -1}, {22, 23, -1, -1}} ;
+#define NUM_24_4_COMBS 2324
+int failure_combs_24_4[NUM_24_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {23, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {0, 23, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {1, 23, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {2, 23, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {3, 23, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {4, 23, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {5, 23, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {6, 23, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {7, 23, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {8, 23, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {9, 23, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {10, 23, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {11, 23, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {12, 23, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {13, 23, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {14, 23, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {15, 23, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {16, 23, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {17, 23, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {18, 23, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {19, 23, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {20, 23, -1, -1}, {21, 22, -1, -1}, {21, 23, -1, -1}, {22, 23, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 1, 19, -1}, {0, 1, 20, -1}, {0, 1, 21, -1}, {0, 1, 22, -1}, {0, 1, 23, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 2, 19, -1}, {0, 2, 20, -1}, {0, 2, 21, -1}, {0, 2, 22, -1}, {0, 2, 23, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 3, 19, -1}, {0, 3, 20, -1}, {0, 3, 21, -1}, {0, 3, 22, -1}, {0, 3, 23, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 4, 19, -1}, {0, 4, 20, -1}, {0, 4, 21, -1}, {0, 4, 22, -1}, {0, 4, 23, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 5, 19, -1}, {0, 5, 20, -1}, {0, 5, 21, -1}, {0, 5, 22, -1}, {0, 5, 23, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 6, 19, -1}, {0, 6, 20, -1}, {0, 6, 21, -1}, {0, 6, 22, -1}, {0, 6, 23, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 7, 19, -1}, {0, 7, 20, -1}, {0, 7, 21, -1}, {0, 7, 22, -1}, {0, 7, 23, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 8, 19, -1}, {0, 8, 20, -1}, {0, 8, 21, -1}, {0, 8, 22, -1}, {0, 8, 23, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 9, 19, -1}, {0, 9, 20, -1}, {0, 9, 21, -1}, {0, 9, 22, -1}, {0, 9, 23, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 10, 19, -1}, {0, 10, 20, -1}, {0, 10, 21, -1}, {0, 10, 22, -1}, {0, 10, 23, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 11, 19, -1}, {0, 11, 20, -1}, {0, 11, 21, -1}, {0, 11, 22, -1}, {0, 11, 23, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 12, 19, -1}, {0, 12, 20, -1}, {0, 12, 21, -1}, {0, 12, 22, -1}, {0, 12, 23, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 13, 19, -1}, {0, 13, 20, -1}, {0, 13, 21, -1}, {0, 13, 22, -1}, {0, 13, 23, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 14, 19, -1}, {0, 14, 20, -1}, {0, 14, 21, -1}, {0, 14, 22, -1}, {0, 14, 23, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 15, 19, -1}, {0, 15, 20, -1}, {0, 15, 21, -1}, {0, 15, 22, -1}, {0, 15, 23, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 16, 19, -1}, {0, 16, 20, -1}, {0, 16, 21, -1}, {0, 16, 22, -1}, {0, 16, 23, -1}, {0, 17, 18, -1}, {0, 17, 19, -1}, {0, 17, 20, -1}, {0, 17, 21, -1}, {0, 17, 22, -1}, {0, 17, 23, -1}, {0, 18, 19, -1}, {0, 18, 20, -1}, {0, 18, 21, -1}, {0, 18, 22, -1}, {0, 18, 23, -1}, {0, 19, 20, -1}, {0, 19, 21, -1}, {0, 19, 22, -1}, {0, 19, 23, -1}, {0, 20, 21, -1}, {0, 20, 22, -1}, {0, 20, 23, -1}, {0, 21, 22, -1}, {0, 21, 23, -1}, {0, 22, 23, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 2, 19, -1}, {1, 2, 20, -1}, {1, 2, 21, -1}, {1, 2, 22, -1}, {1, 2, 23, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 3, 19, -1}, {1, 3, 20, -1}, {1, 3, 21, -1}, {1, 3, 22, -1}, {1, 3, 23, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 4, 19, -1}, {1, 4, 20, -1}, {1, 4, 21, -1}, {1, 4, 22, -1}, {1, 4, 23, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 5, 19, -1}, {1, 5, 20, -1}, {1, 5, 21, -1}, {1, 5, 22, -1}, {1, 5, 23, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 6, 19, -1}, {1, 6, 20, -1}, {1, 6, 21, -1}, {1, 6, 22, -1}, {1, 6, 23, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 7, 19, -1}, {1, 7, 20, -1}, {1, 7, 21, -1}, {1, 7, 22, -1}, {1, 7, 23, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 8, 19, -1}, {1, 8, 20, -1}, {1, 8, 21, -1}, {1, 8, 22, -1}, {1, 8, 23, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 9, 19, -1}, {1, 9, 20, -1}, {1, 9, 21, -1}, {1, 9, 22, -1}, {1, 9, 23, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 10, 19, -1}, {1, 10, 20, -1}, {1, 10, 21, -1}, {1, 10, 22, -1}, {1, 10, 23, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 11, 19, -1}, {1, 11, 20, -1}, {1, 11, 21, -1}, {1, 11, 22, -1}, {1, 11, 23, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 12, 19, -1}, {1, 12, 20, -1}, {1, 12, 21, -1}, {1, 12, 22, -1}, {1, 12, 23, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 13, 19, -1}, {1, 13, 20, -1}, {1, 13, 21, -1}, {1, 13, 22, -1}, {1, 13, 23, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 14, 19, -1}, {1, 14, 20, -1}, {1, 14, 21, -1}, {1, 14, 22, -1}, {1, 14, 23, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 15, 19, -1}, {1, 15, 20, -1}, {1, 15, 21, -1}, {1, 15, 22, -1}, {1, 15, 23, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 16, 19, -1}, {1, 16, 20, -1}, {1, 16, 21, -1}, {1, 16, 22, -1}, {1, 16, 23, -1}, {1, 17, 18, -1}, {1, 17, 19, -1}, {1, 17, 20, -1}, {1, 17, 21, -1}, {1, 17, 22, -1}, {1, 17, 23, -1}, {1, 18, 19, -1}, {1, 18, 20, -1}, {1, 18, 21, -1}, {1, 18, 22, -1}, {1, 18, 23, -1}, {1, 19, 20, -1}, {1, 19, 21, -1}, {1, 19, 22, -1}, {1, 19, 23, -1}, {1, 20, 21, -1}, {1, 20, 22, -1}, {1, 20, 23, -1}, {1, 21, 22, -1}, {1, 21, 23, -1}, {1, 22, 23, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 3, 19, -1}, {2, 3, 20, -1}, {2, 3, 21, -1}, {2, 3, 22, -1}, {2, 3, 23, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 4, 19, -1}, {2, 4, 20, -1}, {2, 4, 21, -1}, {2, 4, 22, -1}, {2, 4, 23, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 5, 19, -1}, {2, 5, 20, -1}, {2, 5, 21, -1}, {2, 5, 22, -1}, {2, 5, 23, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 6, 19, -1}, {2, 6, 20, -1}, {2, 6, 21, -1}, {2, 6, 22, -1}, {2, 6, 23, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 7, 19, -1}, {2, 7, 20, -1}, {2, 7, 21, -1}, {2, 7, 22, -1}, {2, 7, 23, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 8, 19, -1}, {2, 8, 20, -1}, {2, 8, 21, -1}, {2, 8, 22, -1}, {2, 8, 23, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 9, 19, -1}, {2, 9, 20, -1}, {2, 9, 21, -1}, {2, 9, 22, -1}, {2, 9, 23, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 10, 19, -1}, {2, 10, 20, -1}, {2, 10, 21, -1}, {2, 10, 22, -1}, {2, 10, 23, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 11, 19, -1}, {2, 11, 20, -1}, {2, 11, 21, -1}, {2, 11, 22, -1}, {2, 11, 23, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 12, 19, -1}, {2, 12, 20, -1}, {2, 12, 21, -1}, {2, 12, 22, -1}, {2, 12, 23, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 13, 19, -1}, {2, 13, 20, -1}, {2, 13, 21, -1}, {2, 13, 22, -1}, {2, 13, 23, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 14, 19, -1}, {2, 14, 20, -1}, {2, 14, 21, -1}, {2, 14, 22, -1}, {2, 14, 23, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 15, 19, -1}, {2, 15, 20, -1}, {2, 15, 21, -1}, {2, 15, 22, -1}, {2, 15, 23, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 16, 19, -1}, {2, 16, 20, -1}, {2, 16, 21, -1}, {2, 16, 22, -1}, {2, 16, 23, -1}, {2, 17, 18, -1}, {2, 17, 19, -1}, {2, 17, 20, -1}, {2, 17, 21, -1}, {2, 17, 22, -1}, {2, 17, 23, -1}, {2, 18, 19, -1}, {2, 18, 20, -1}, {2, 18, 21, -1}, {2, 18, 22, -1}, {2, 18, 23, -1}, {2, 19, 20, -1}, {2, 19, 21, -1}, {2, 19, 22, -1}, {2, 19, 23, -1}, {2, 20, 21, -1}, {2, 20, 22, -1}, {2, 20, 23, -1}, {2, 21, 22, -1}, {2, 21, 23, -1}, {2, 22, 23, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 4, 19, -1}, {3, 4, 20, -1}, {3, 4, 21, -1}, {3, 4, 22, -1}, {3, 4, 23, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 5, 19, -1}, {3, 5, 20, -1}, {3, 5, 21, -1}, {3, 5, 22, -1}, {3, 5, 23, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 6, 19, -1}, {3, 6, 20, -1}, {3, 6, 21, -1}, {3, 6, 22, -1}, {3, 6, 23, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 7, 19, -1}, {3, 7, 20, -1}, {3, 7, 21, -1}, {3, 7, 22, -1}, {3, 7, 23, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 8, 19, -1}, {3, 8, 20, -1}, {3, 8, 21, -1}, {3, 8, 22, -1}, {3, 8, 23, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 9, 19, -1}, {3, 9, 20, -1}, {3, 9, 21, -1}, {3, 9, 22, -1}, {3, 9, 23, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 10, 19, -1}, {3, 10, 20, -1}, {3, 10, 21, -1}, {3, 10, 22, -1}, {3, 10, 23, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 11, 19, -1}, {3, 11, 20, -1}, {3, 11, 21, -1}, {3, 11, 22, -1}, {3, 11, 23, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 12, 19, -1}, {3, 12, 20, -1}, {3, 12, 21, -1}, {3, 12, 22, -1}, {3, 12, 23, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 13, 19, -1}, {3, 13, 20, -1}, {3, 13, 21, -1}, {3, 13, 22, -1}, {3, 13, 23, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 14, 19, -1}, {3, 14, 20, -1}, {3, 14, 21, -1}, {3, 14, 22, -1}, {3, 14, 23, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 15, 19, -1}, {3, 15, 20, -1}, {3, 15, 21, -1}, {3, 15, 22, -1}, {3, 15, 23, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 16, 19, -1}, {3, 16, 20, -1}, {3, 16, 21, -1}, {3, 16, 22, -1}, {3, 16, 23, -1}, {3, 17, 18, -1}, {3, 17, 19, -1}, {3, 17, 20, -1}, {3, 17, 21, -1}, {3, 17, 22, -1}, {3, 17, 23, -1}, {3, 18, 19, -1}, {3, 18, 20, -1}, {3, 18, 21, -1}, {3, 18, 22, -1}, {3, 18, 23, -1}, {3, 19, 20, -1}, {3, 19, 21, -1}, {3, 19, 22, -1}, {3, 19, 23, -1}, {3, 20, 21, -1}, {3, 20, 22, -1}, {3, 20, 23, -1}, {3, 21, 22, -1}, {3, 21, 23, -1}, {3, 22, 23, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 5, 19, -1}, {4, 5, 20, -1}, {4, 5, 21, -1}, {4, 5, 22, -1}, {4, 5, 23, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 6, 19, -1}, {4, 6, 20, -1}, {4, 6, 21, -1}, {4, 6, 22, -1}, {4, 6, 23, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 7, 19, -1}, {4, 7, 20, -1}, {4, 7, 21, -1}, {4, 7, 22, -1}, {4, 7, 23, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 8, 19, -1}, {4, 8, 20, -1}, {4, 8, 21, -1}, {4, 8, 22, -1}, {4, 8, 23, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 9, 19, -1}, {4, 9, 20, -1}, {4, 9, 21, -1}, {4, 9, 22, -1}, {4, 9, 23, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 10, 19, -1}, {4, 10, 20, -1}, {4, 10, 21, -1}, {4, 10, 22, -1}, {4, 10, 23, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 11, 19, -1}, {4, 11, 20, -1}, {4, 11, 21, -1}, {4, 11, 22, -1}, {4, 11, 23, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 12, 19, -1}, {4, 12, 20, -1}, {4, 12, 21, -1}, {4, 12, 22, -1}, {4, 12, 23, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 13, 19, -1}, {4, 13, 20, -1}, {4, 13, 21, -1}, {4, 13, 22, -1}, {4, 13, 23, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 14, 19, -1}, {4, 14, 20, -1}, {4, 14, 21, -1}, {4, 14, 22, -1}, {4, 14, 23, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 15, 19, -1}, {4, 15, 20, -1}, {4, 15, 21, -1}, {4, 15, 22, -1}, {4, 15, 23, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 16, 19, -1}, {4, 16, 20, -1}, {4, 16, 21, -1}, {4, 16, 22, -1}, {4, 16, 23, -1}, {4, 17, 18, -1}, {4, 17, 19, -1}, {4, 17, 20, -1}, {4, 17, 21, -1}, {4, 17, 22, -1}, {4, 17, 23, -1}, {4, 18, 19, -1}, {4, 18, 20, -1}, {4, 18, 21, -1}, {4, 18, 22, -1}, {4, 18, 23, -1}, {4, 19, 20, -1}, {4, 19, 21, -1}, {4, 19, 22, -1}, {4, 19, 23, -1}, {4, 20, 21, -1}, {4, 20, 22, -1}, {4, 20, 23, -1}, {4, 21, 22, -1}, {4, 21, 23, -1}, {4, 22, 23, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 6, 19, -1}, {5, 6, 20, -1}, {5, 6, 21, -1}, {5, 6, 22, -1}, {5, 6, 23, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 7, 19, -1}, {5, 7, 20, -1}, {5, 7, 21, -1}, {5, 7, 22, -1}, {5, 7, 23, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 8, 19, -1}, {5, 8, 20, -1}, {5, 8, 21, -1}, {5, 8, 22, -1}, {5, 8, 23, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 9, 19, -1}, {5, 9, 20, -1}, {5, 9, 21, -1}, {5, 9, 22, -1}, {5, 9, 23, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 10, 19, -1}, {5, 10, 20, -1}, {5, 10, 21, -1}, {5, 10, 22, -1}, {5, 10, 23, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 11, 19, -1}, {5, 11, 20, -1}, {5, 11, 21, -1}, {5, 11, 22, -1}, {5, 11, 23, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 12, 19, -1}, {5, 12, 20, -1}, {5, 12, 21, -1}, {5, 12, 22, -1}, {5, 12, 23, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 13, 19, -1}, {5, 13, 20, -1}, {5, 13, 21, -1}, {5, 13, 22, -1}, {5, 13, 23, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 14, 19, -1}, {5, 14, 20, -1}, {5, 14, 21, -1}, {5, 14, 22, -1}, {5, 14, 23, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 15, 19, -1}, {5, 15, 20, -1}, {5, 15, 21, -1}, {5, 15, 22, -1}, {5, 15, 23, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 16, 19, -1}, {5, 16, 20, -1}, {5, 16, 21, -1}, {5, 16, 22, -1}, {5, 16, 23, -1}, {5, 17, 18, -1}, {5, 17, 19, -1}, {5, 17, 20, -1}, {5, 17, 21, -1}, {5, 17, 22, -1}, {5, 17, 23, -1}, {5, 18, 19, -1}, {5, 18, 20, -1}, {5, 18, 21, -1}, {5, 18, 22, -1}, {5, 18, 23, -1}, {5, 19, 20, -1}, {5, 19, 21, -1}, {5, 19, 22, -1}, {5, 19, 23, -1}, {5, 20, 21, -1}, {5, 20, 22, -1}, {5, 20, 23, -1}, {5, 21, 22, -1}, {5, 21, 23, -1}, {5, 22, 23, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 7, 19, -1}, {6, 7, 20, -1}, {6, 7, 21, -1}, {6, 7, 22, -1}, {6, 7, 23, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 8, 19, -1}, {6, 8, 20, -1}, {6, 8, 21, -1}, {6, 8, 22, -1}, {6, 8, 23, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 9, 19, -1}, {6, 9, 20, -1}, {6, 9, 21, -1}, {6, 9, 22, -1}, {6, 9, 23, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 10, 19, -1}, {6, 10, 20, -1}, {6, 10, 21, -1}, {6, 10, 22, -1}, {6, 10, 23, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 11, 19, -1}, {6, 11, 20, -1}, {6, 11, 21, -1}, {6, 11, 22, -1}, {6, 11, 23, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 12, 19, -1}, {6, 12, 20, -1}, {6, 12, 21, -1}, {6, 12, 22, -1}, {6, 12, 23, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 13, 19, -1}, {6, 13, 20, -1}, {6, 13, 21, -1}, {6, 13, 22, -1}, {6, 13, 23, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 14, 19, -1}, {6, 14, 20, -1}, {6, 14, 21, -1}, {6, 14, 22, -1}, {6, 14, 23, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 15, 19, -1}, {6, 15, 20, -1}, {6, 15, 21, -1}, {6, 15, 22, -1}, {6, 15, 23, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 16, 19, -1}, {6, 16, 20, -1}, {6, 16, 21, -1}, {6, 16, 22, -1}, {6, 16, 23, -1}, {6, 17, 18, -1}, {6, 17, 19, -1}, {6, 17, 20, -1}, {6, 17, 21, -1}, {6, 17, 22, -1}, {6, 17, 23, -1}, {6, 18, 19, -1}, {6, 18, 20, -1}, {6, 18, 21, -1}, {6, 18, 22, -1}, {6, 18, 23, -1}, {6, 19, 20, -1}, {6, 19, 21, -1}, {6, 19, 22, -1}, {6, 19, 23, -1}, {6, 20, 21, -1}, {6, 20, 22, -1}, {6, 20, 23, -1}, {6, 21, 22, -1}, {6, 21, 23, -1}, {6, 22, 23, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 8, 19, -1}, {7, 8, 20, -1}, {7, 8, 21, -1}, {7, 8, 22, -1}, {7, 8, 23, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 9, 19, -1}, {7, 9, 20, -1}, {7, 9, 21, -1}, {7, 9, 22, -1}, {7, 9, 23, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 10, 19, -1}, {7, 10, 20, -1}, {7, 10, 21, -1}, {7, 10, 22, -1}, {7, 10, 23, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 11, 19, -1}, {7, 11, 20, -1}, {7, 11, 21, -1}, {7, 11, 22, -1}, {7, 11, 23, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 12, 19, -1}, {7, 12, 20, -1}, {7, 12, 21, -1}, {7, 12, 22, -1}, {7, 12, 23, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 13, 19, -1}, {7, 13, 20, -1}, {7, 13, 21, -1}, {7, 13, 22, -1}, {7, 13, 23, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 14, 19, -1}, {7, 14, 20, -1}, {7, 14, 21, -1}, {7, 14, 22, -1}, {7, 14, 23, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 15, 19, -1}, {7, 15, 20, -1}, {7, 15, 21, -1}, {7, 15, 22, -1}, {7, 15, 23, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 16, 19, -1}, {7, 16, 20, -1}, {7, 16, 21, -1}, {7, 16, 22, -1}, {7, 16, 23, -1}, {7, 17, 18, -1}, {7, 17, 19, -1}, {7, 17, 20, -1}, {7, 17, 21, -1}, {7, 17, 22, -1}, {7, 17, 23, -1}, {7, 18, 19, -1}, {7, 18, 20, -1}, {7, 18, 21, -1}, {7, 18, 22, -1}, {7, 18, 23, -1}, {7, 19, 20, -1}, {7, 19, 21, -1}, {7, 19, 22, -1}, {7, 19, 23, -1}, {7, 20, 21, -1}, {7, 20, 22, -1}, {7, 20, 23, -1}, {7, 21, 22, -1}, {7, 21, 23, -1}, {7, 22, 23, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 9, 19, -1}, {8, 9, 20, -1}, {8, 9, 21, -1}, {8, 9, 22, -1}, {8, 9, 23, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 10, 19, -1}, {8, 10, 20, -1}, {8, 10, 21, -1}, {8, 10, 22, -1}, {8, 10, 23, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 11, 19, -1}, {8, 11, 20, -1}, {8, 11, 21, -1}, {8, 11, 22, -1}, {8, 11, 23, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 12, 19, -1}, {8, 12, 20, -1}, {8, 12, 21, -1}, {8, 12, 22, -1}, {8, 12, 23, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 13, 19, -1}, {8, 13, 20, -1}, {8, 13, 21, -1}, {8, 13, 22, -1}, {8, 13, 23, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 14, 19, -1}, {8, 14, 20, -1}, {8, 14, 21, -1}, {8, 14, 22, -1}, {8, 14, 23, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 15, 19, -1}, {8, 15, 20, -1}, {8, 15, 21, -1}, {8, 15, 22, -1}, {8, 15, 23, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 16, 19, -1}, {8, 16, 20, -1}, {8, 16, 21, -1}, {8, 16, 22, -1}, {8, 16, 23, -1}, {8, 17, 18, -1}, {8, 17, 19, -1}, {8, 17, 20, -1}, {8, 17, 21, -1}, {8, 17, 22, -1}, {8, 17, 23, -1}, {8, 18, 19, -1}, {8, 18, 20, -1}, {8, 18, 21, -1}, {8, 18, 22, -1}, {8, 18, 23, -1}, {8, 19, 20, -1}, {8, 19, 21, -1}, {8, 19, 22, -1}, {8, 19, 23, -1}, {8, 20, 21, -1}, {8, 20, 22, -1}, {8, 20, 23, -1}, {8, 21, 22, -1}, {8, 21, 23, -1}, {8, 22, 23, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 10, 19, -1}, {9, 10, 20, -1}, {9, 10, 21, -1}, {9, 10, 22, -1}, {9, 10, 23, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 11, 19, -1}, {9, 11, 20, -1}, {9, 11, 21, -1}, {9, 11, 22, -1}, {9, 11, 23, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 12, 19, -1}, {9, 12, 20, -1}, {9, 12, 21, -1}, {9, 12, 22, -1}, {9, 12, 23, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 13, 19, -1}, {9, 13, 20, -1}, {9, 13, 21, -1}, {9, 13, 22, -1}, {9, 13, 23, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 14, 19, -1}, {9, 14, 20, -1}, {9, 14, 21, -1}, {9, 14, 22, -1}, {9, 14, 23, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 15, 19, -1}, {9, 15, 20, -1}, {9, 15, 21, -1}, {9, 15, 22, -1}, {9, 15, 23, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 16, 19, -1}, {9, 16, 20, -1}, {9, 16, 21, -1}, {9, 16, 22, -1}, {9, 16, 23, -1}, {9, 17, 18, -1}, {9, 17, 19, -1}, {9, 17, 20, -1}, {9, 17, 21, -1}, {9, 17, 22, -1}, {9, 17, 23, -1}, {9, 18, 19, -1}, {9, 18, 20, -1}, {9, 18, 21, -1}, {9, 18, 22, -1}, {9, 18, 23, -1}, {9, 19, 20, -1}, {9, 19, 21, -1}, {9, 19, 22, -1}, {9, 19, 23, -1}, {9, 20, 21, -1}, {9, 20, 22, -1}, {9, 20, 23, -1}, {9, 21, 22, -1}, {9, 21, 23, -1}, {9, 22, 23, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 11, 19, -1}, {10, 11, 20, -1}, {10, 11, 21, -1}, {10, 11, 22, -1}, {10, 11, 23, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 12, 19, -1}, {10, 12, 20, -1}, {10, 12, 21, -1}, {10, 12, 22, -1}, {10, 12, 23, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 13, 19, -1}, {10, 13, 20, -1}, {10, 13, 21, -1}, {10, 13, 22, -1}, {10, 13, 23, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 14, 19, -1}, {10, 14, 20, -1}, {10, 14, 21, -1}, {10, 14, 22, -1}, {10, 14, 23, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 15, 19, -1}, {10, 15, 20, -1}, {10, 15, 21, -1}, {10, 15, 22, -1}, {10, 15, 23, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 16, 19, -1}, {10, 16, 20, -1}, {10, 16, 21, -1}, {10, 16, 22, -1}, {10, 16, 23, -1}, {10, 17, 18, -1}, {10, 17, 19, -1}, {10, 17, 20, -1}, {10, 17, 21, -1}, {10, 17, 22, -1}, {10, 17, 23, -1}, {10, 18, 19, -1}, {10, 18, 20, -1}, {10, 18, 21, -1}, {10, 18, 22, -1}, {10, 18, 23, -1}, {10, 19, 20, -1}, {10, 19, 21, -1}, {10, 19, 22, -1}, {10, 19, 23, -1}, {10, 20, 21, -1}, {10, 20, 22, -1}, {10, 20, 23, -1}, {10, 21, 22, -1}, {10, 21, 23, -1}, {10, 22, 23, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 12, 19, -1}, {11, 12, 20, -1}, {11, 12, 21, -1}, {11, 12, 22, -1}, {11, 12, 23, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 13, 19, -1}, {11, 13, 20, -1}, {11, 13, 21, -1}, {11, 13, 22, -1}, {11, 13, 23, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 14, 19, -1}, {11, 14, 20, -1}, {11, 14, 21, -1}, {11, 14, 22, -1}, {11, 14, 23, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 15, 19, -1}, {11, 15, 20, -1}, {11, 15, 21, -1}, {11, 15, 22, -1}, {11, 15, 23, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 16, 19, -1}, {11, 16, 20, -1}, {11, 16, 21, -1}, {11, 16, 22, -1}, {11, 16, 23, -1}, {11, 17, 18, -1}, {11, 17, 19, -1}, {11, 17, 20, -1}, {11, 17, 21, -1}, {11, 17, 22, -1}, {11, 17, 23, -1}, {11, 18, 19, -1}, {11, 18, 20, -1}, {11, 18, 21, -1}, {11, 18, 22, -1}, {11, 18, 23, -1}, {11, 19, 20, -1}, {11, 19, 21, -1}, {11, 19, 22, -1}, {11, 19, 23, -1}, {11, 20, 21, -1}, {11, 20, 22, -1}, {11, 20, 23, -1}, {11, 21, 22, -1}, {11, 21, 23, -1}, {11, 22, 23, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 13, 19, -1}, {12, 13, 20, -1}, {12, 13, 21, -1}, {12, 13, 22, -1}, {12, 13, 23, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 14, 19, -1}, {12, 14, 20, -1}, {12, 14, 21, -1}, {12, 14, 22, -1}, {12, 14, 23, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 15, 19, -1}, {12, 15, 20, -1}, {12, 15, 21, -1}, {12, 15, 22, -1}, {12, 15, 23, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 16, 19, -1}, {12, 16, 20, -1}, {12, 16, 21, -1}, {12, 16, 22, -1}, {12, 16, 23, -1}, {12, 17, 18, -1}, {12, 17, 19, -1}, {12, 17, 20, -1}, {12, 17, 21, -1}, {12, 17, 22, -1}, {12, 17, 23, -1}, {12, 18, 19, -1}, {12, 18, 20, -1}, {12, 18, 21, -1}, {12, 18, 22, -1}, {12, 18, 23, -1}, {12, 19, 20, -1}, {12, 19, 21, -1}, {12, 19, 22, -1}, {12, 19, 23, -1}, {12, 20, 21, -1}, {12, 20, 22, -1}, {12, 20, 23, -1}, {12, 21, 22, -1}, {12, 21, 23, -1}, {12, 22, 23, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 14, 19, -1}, {13, 14, 20, -1}, {13, 14, 21, -1}, {13, 14, 22, -1}, {13, 14, 23, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 15, 19, -1}, {13, 15, 20, -1}, {13, 15, 21, -1}, {13, 15, 22, -1}, {13, 15, 23, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 16, 19, -1}, {13, 16, 20, -1}, {13, 16, 21, -1}, {13, 16, 22, -1}, {13, 16, 23, -1}, {13, 17, 18, -1}, {13, 17, 19, -1}, {13, 17, 20, -1}, {13, 17, 21, -1}, {13, 17, 22, -1}, {13, 17, 23, -1}, {13, 18, 19, -1}, {13, 18, 20, -1}, {13, 18, 21, -1}, {13, 18, 22, -1}, {13, 18, 23, -1}, {13, 19, 20, -1}, {13, 19, 21, -1}, {13, 19, 22, -1}, {13, 19, 23, -1}, {13, 20, 21, -1}, {13, 20, 22, -1}, {13, 20, 23, -1}, {13, 21, 22, -1}, {13, 21, 23, -1}, {13, 22, 23, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 15, 19, -1}, {14, 15, 20, -1}, {14, 15, 21, -1}, {14, 15, 22, -1}, {14, 15, 23, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 16, 19, -1}, {14, 16, 20, -1}, {14, 16, 21, -1}, {14, 16, 22, -1}, {14, 16, 23, -1}, {14, 17, 18, -1}, {14, 17, 19, -1}, {14, 17, 20, -1}, {14, 17, 21, -1}, {14, 17, 22, -1}, {14, 17, 23, -1}, {14, 18, 19, -1}, {14, 18, 20, -1}, {14, 18, 21, -1}, {14, 18, 22, -1}, {14, 18, 23, -1}, {14, 19, 20, -1}, {14, 19, 21, -1}, {14, 19, 22, -1}, {14, 19, 23, -1}, {14, 20, 21, -1}, {14, 20, 22, -1}, {14, 20, 23, -1}, {14, 21, 22, -1}, {14, 21, 23, -1}, {14, 22, 23, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 16, 19, -1}, {15, 16, 20, -1}, {15, 16, 21, -1}, {15, 16, 22, -1}, {15, 16, 23, -1}, {15, 17, 18, -1}, {15, 17, 19, -1}, {15, 17, 20, -1}, {15, 17, 21, -1}, {15, 17, 22, -1}, {15, 17, 23, -1}, {15, 18, 19, -1}, {15, 18, 20, -1}, {15, 18, 21, -1}, {15, 18, 22, -1}, {15, 18, 23, -1}, {15, 19, 20, -1}, {15, 19, 21, -1}, {15, 19, 22, -1}, {15, 19, 23, -1}, {15, 20, 21, -1}, {15, 20, 22, -1}, {15, 20, 23, -1}, {15, 21, 22, -1}, {15, 21, 23, -1}, {15, 22, 23, -1}, {16, 17, 18, -1}, {16, 17, 19, -1}, {16, 17, 20, -1}, {16, 17, 21, -1}, {16, 17, 22, -1}, {16, 17, 23, -1}, {16, 18, 19, -1}, {16, 18, 20, -1}, {16, 18, 21, -1}, {16, 18, 22, -1}, {16, 18, 23, -1}, {16, 19, 20, -1}, {16, 19, 21, -1}, {16, 19, 22, -1}, {16, 19, 23, -1}, {16, 20, 21, -1}, {16, 20, 22, -1}, {16, 20, 23, -1}, {16, 21, 22, -1}, {16, 21, 23, -1}, {16, 22, 23, -1}, {17, 18, 19, -1}, {17, 18, 20, -1}, {17, 18, 21, -1}, {17, 18, 22, -1}, {17, 18, 23, -1}, {17, 19, 20, -1}, {17, 19, 21, -1}, {17, 19, 22, -1}, {17, 19, 23, -1}, {17, 20, 21, -1}, {17, 20, 22, -1}, {17, 20, 23, -1}, {17, 21, 22, -1}, {17, 21, 23, -1}, {17, 22, 23, -1}, {18, 19, 20, -1}, {18, 19, 21, -1}, {18, 19, 22, -1}, {18, 19, 23, -1}, {18, 20, 21, -1}, {18, 20, 22, -1}, {18, 20, 23, -1}, {18, 21, 22, -1}, {18, 21, 23, -1}, {18, 22, 23, -1}, {19, 20, 21, -1}, {19, 20, 22, -1}, {19, 20, 23, -1}, {19, 21, 22, -1}, {19, 21, 23, -1}, {19, 22, 23, -1}, {20, 21, 22, -1}, {20, 21, 23, -1}, {20, 22, 23, -1}, {21, 22, 23, -1}} ;
+#define NUM_25_3_COMBS 325
+int failure_combs_25_3[NUM_25_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {23, -1, -1, -1}, {24, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {0, 23, -1, -1}, {0, 24, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {1, 23, -1, -1}, {1, 24, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {2, 23, -1, -1}, {2, 24, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {3, 23, -1, -1}, {3, 24, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {4, 23, -1, -1}, {4, 24, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {5, 23, -1, -1}, {5, 24, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {6, 23, -1, -1}, {6, 24, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {7, 23, -1, -1}, {7, 24, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {8, 23, -1, -1}, {8, 24, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {9, 23, -1, -1}, {9, 24, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {10, 23, -1, -1}, {10, 24, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {11, 23, -1, -1}, {11, 24, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {12, 23, -1, -1}, {12, 24, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {13, 23, -1, -1}, {13, 24, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {14, 23, -1, -1}, {14, 24, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {15, 23, -1, -1}, {15, 24, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {16, 23, -1, -1}, {16, 24, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {17, 23, -1, -1}, {17, 24, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {18, 23, -1, -1}, {18, 24, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {19, 23, -1, -1}, {19, 24, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {20, 23, -1, -1}, {20, 24, -1, -1}, {21, 22, -1, -1}, {21, 23, -1, -1}, {21, 24, -1, -1}, {22, 23, -1, -1}, {22, 24, -1, -1}, {23, 24, -1, -1}} ;
+#define NUM_25_4_COMBS 2625
+int failure_combs_25_4[NUM_25_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {23, -1, -1, -1}, {24, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {0, 23, -1, -1}, {0, 24, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {1, 23, -1, -1}, {1, 24, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {2, 23, -1, -1}, {2, 24, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {3, 23, -1, -1}, {3, 24, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {4, 23, -1, -1}, {4, 24, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {5, 23, -1, -1}, {5, 24, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {6, 23, -1, -1}, {6, 24, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {7, 23, -1, -1}, {7, 24, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {8, 23, -1, -1}, {8, 24, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {9, 23, -1, -1}, {9, 24, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {10, 23, -1, -1}, {10, 24, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {11, 23, -1, -1}, {11, 24, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {12, 23, -1, -1}, {12, 24, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {13, 23, -1, -1}, {13, 24, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {14, 23, -1, -1}, {14, 24, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {15, 23, -1, -1}, {15, 24, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {16, 23, -1, -1}, {16, 24, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {17, 23, -1, -1}, {17, 24, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {18, 23, -1, -1}, {18, 24, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {19, 23, -1, -1}, {19, 24, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {20, 23, -1, -1}, {20, 24, -1, -1}, {21, 22, -1, -1}, {21, 23, -1, -1}, {21, 24, -1, -1}, {22, 23, -1, -1}, {22, 24, -1, -1}, {23, 24, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 1, 19, -1}, {0, 1, 20, -1}, {0, 1, 21, -1}, {0, 1, 22, -1}, {0, 1, 23, -1}, {0, 1, 24, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 2, 19, -1}, {0, 2, 20, -1}, {0, 2, 21, -1}, {0, 2, 22, -1}, {0, 2, 23, -1}, {0, 2, 24, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 3, 19, -1}, {0, 3, 20, -1}, {0, 3, 21, -1}, {0, 3, 22, -1}, {0, 3, 23, -1}, {0, 3, 24, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 4, 19, -1}, {0, 4, 20, -1}, {0, 4, 21, -1}, {0, 4, 22, -1}, {0, 4, 23, -1}, {0, 4, 24, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 5, 19, -1}, {0, 5, 20, -1}, {0, 5, 21, -1}, {0, 5, 22, -1}, {0, 5, 23, -1}, {0, 5, 24, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 6, 19, -1}, {0, 6, 20, -1}, {0, 6, 21, -1}, {0, 6, 22, -1}, {0, 6, 23, -1}, {0, 6, 24, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 7, 19, -1}, {0, 7, 20, -1}, {0, 7, 21, -1}, {0, 7, 22, -1}, {0, 7, 23, -1}, {0, 7, 24, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 8, 19, -1}, {0, 8, 20, -1}, {0, 8, 21, -1}, {0, 8, 22, -1}, {0, 8, 23, -1}, {0, 8, 24, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 9, 19, -1}, {0, 9, 20, -1}, {0, 9, 21, -1}, {0, 9, 22, -1}, {0, 9, 23, -1}, {0, 9, 24, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 10, 19, -1}, {0, 10, 20, -1}, {0, 10, 21, -1}, {0, 10, 22, -1}, {0, 10, 23, -1}, {0, 10, 24, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 11, 19, -1}, {0, 11, 20, -1}, {0, 11, 21, -1}, {0, 11, 22, -1}, {0, 11, 23, -1}, {0, 11, 24, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 12, 19, -1}, {0, 12, 20, -1}, {0, 12, 21, -1}, {0, 12, 22, -1}, {0, 12, 23, -1}, {0, 12, 24, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 13, 19, -1}, {0, 13, 20, -1}, {0, 13, 21, -1}, {0, 13, 22, -1}, {0, 13, 23, -1}, {0, 13, 24, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 14, 19, -1}, {0, 14, 20, -1}, {0, 14, 21, -1}, {0, 14, 22, -1}, {0, 14, 23, -1}, {0, 14, 24, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 15, 19, -1}, {0, 15, 20, -1}, {0, 15, 21, -1}, {0, 15, 22, -1}, {0, 15, 23, -1}, {0, 15, 24, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 16, 19, -1}, {0, 16, 20, -1}, {0, 16, 21, -1}, {0, 16, 22, -1}, {0, 16, 23, -1}, {0, 16, 24, -1}, {0, 17, 18, -1}, {0, 17, 19, -1}, {0, 17, 20, -1}, {0, 17, 21, -1}, {0, 17, 22, -1}, {0, 17, 23, -1}, {0, 17, 24, -1}, {0, 18, 19, -1}, {0, 18, 20, -1}, {0, 18, 21, -1}, {0, 18, 22, -1}, {0, 18, 23, -1}, {0, 18, 24, -1}, {0, 19, 20, -1}, {0, 19, 21, -1}, {0, 19, 22, -1}, {0, 19, 23, -1}, {0, 19, 24, -1}, {0, 20, 21, -1}, {0, 20, 22, -1}, {0, 20, 23, -1}, {0, 20, 24, -1}, {0, 21, 22, -1}, {0, 21, 23, -1}, {0, 21, 24, -1}, {0, 22, 23, -1}, {0, 22, 24, -1}, {0, 23, 24, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 2, 19, -1}, {1, 2, 20, -1}, {1, 2, 21, -1}, {1, 2, 22, -1}, {1, 2, 23, -1}, {1, 2, 24, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 3, 19, -1}, {1, 3, 20, -1}, {1, 3, 21, -1}, {1, 3, 22, -1}, {1, 3, 23, -1}, {1, 3, 24, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 4, 19, -1}, {1, 4, 20, -1}, {1, 4, 21, -1}, {1, 4, 22, -1}, {1, 4, 23, -1}, {1, 4, 24, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 5, 19, -1}, {1, 5, 20, -1}, {1, 5, 21, -1}, {1, 5, 22, -1}, {1, 5, 23, -1}, {1, 5, 24, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 6, 19, -1}, {1, 6, 20, -1}, {1, 6, 21, -1}, {1, 6, 22, -1}, {1, 6, 23, -1}, {1, 6, 24, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 7, 19, -1}, {1, 7, 20, -1}, {1, 7, 21, -1}, {1, 7, 22, -1}, {1, 7, 23, -1}, {1, 7, 24, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 8, 19, -1}, {1, 8, 20, -1}, {1, 8, 21, -1}, {1, 8, 22, -1}, {1, 8, 23, -1}, {1, 8, 24, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 9, 19, -1}, {1, 9, 20, -1}, {1, 9, 21, -1}, {1, 9, 22, -1}, {1, 9, 23, -1}, {1, 9, 24, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 10, 19, -1}, {1, 10, 20, -1}, {1, 10, 21, -1}, {1, 10, 22, -1}, {1, 10, 23, -1}, {1, 10, 24, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 11, 19, -1}, {1, 11, 20, -1}, {1, 11, 21, -1}, {1, 11, 22, -1}, {1, 11, 23, -1}, {1, 11, 24, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 12, 19, -1}, {1, 12, 20, -1}, {1, 12, 21, -1}, {1, 12, 22, -1}, {1, 12, 23, -1}, {1, 12, 24, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 13, 19, -1}, {1, 13, 20, -1}, {1, 13, 21, -1}, {1, 13, 22, -1}, {1, 13, 23, -1}, {1, 13, 24, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 14, 19, -1}, {1, 14, 20, -1}, {1, 14, 21, -1}, {1, 14, 22, -1}, {1, 14, 23, -1}, {1, 14, 24, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 15, 19, -1}, {1, 15, 20, -1}, {1, 15, 21, -1}, {1, 15, 22, -1}, {1, 15, 23, -1}, {1, 15, 24, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 16, 19, -1}, {1, 16, 20, -1}, {1, 16, 21, -1}, {1, 16, 22, -1}, {1, 16, 23, -1}, {1, 16, 24, -1}, {1, 17, 18, -1}, {1, 17, 19, -1}, {1, 17, 20, -1}, {1, 17, 21, -1}, {1, 17, 22, -1}, {1, 17, 23, -1}, {1, 17, 24, -1}, {1, 18, 19, -1}, {1, 18, 20, -1}, {1, 18, 21, -1}, {1, 18, 22, -1}, {1, 18, 23, -1}, {1, 18, 24, -1}, {1, 19, 20, -1}, {1, 19, 21, -1}, {1, 19, 22, -1}, {1, 19, 23, -1}, {1, 19, 24, -1}, {1, 20, 21, -1}, {1, 20, 22, -1}, {1, 20, 23, -1}, {1, 20, 24, -1}, {1, 21, 22, -1}, {1, 21, 23, -1}, {1, 21, 24, -1}, {1, 22, 23, -1}, {1, 22, 24, -1}, {1, 23, 24, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 3, 19, -1}, {2, 3, 20, -1}, {2, 3, 21, -1}, {2, 3, 22, -1}, {2, 3, 23, -1}, {2, 3, 24, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 4, 19, -1}, {2, 4, 20, -1}, {2, 4, 21, -1}, {2, 4, 22, -1}, {2, 4, 23, -1}, {2, 4, 24, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 5, 19, -1}, {2, 5, 20, -1}, {2, 5, 21, -1}, {2, 5, 22, -1}, {2, 5, 23, -1}, {2, 5, 24, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 6, 19, -1}, {2, 6, 20, -1}, {2, 6, 21, -1}, {2, 6, 22, -1}, {2, 6, 23, -1}, {2, 6, 24, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 7, 19, -1}, {2, 7, 20, -1}, {2, 7, 21, -1}, {2, 7, 22, -1}, {2, 7, 23, -1}, {2, 7, 24, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 8, 19, -1}, {2, 8, 20, -1}, {2, 8, 21, -1}, {2, 8, 22, -1}, {2, 8, 23, -1}, {2, 8, 24, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 9, 19, -1}, {2, 9, 20, -1}, {2, 9, 21, -1}, {2, 9, 22, -1}, {2, 9, 23, -1}, {2, 9, 24, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 10, 19, -1}, {2, 10, 20, -1}, {2, 10, 21, -1}, {2, 10, 22, -1}, {2, 10, 23, -1}, {2, 10, 24, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 11, 19, -1}, {2, 11, 20, -1}, {2, 11, 21, -1}, {2, 11, 22, -1}, {2, 11, 23, -1}, {2, 11, 24, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 12, 19, -1}, {2, 12, 20, -1}, {2, 12, 21, -1}, {2, 12, 22, -1}, {2, 12, 23, -1}, {2, 12, 24, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 13, 19, -1}, {2, 13, 20, -1}, {2, 13, 21, -1}, {2, 13, 22, -1}, {2, 13, 23, -1}, {2, 13, 24, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 14, 19, -1}, {2, 14, 20, -1}, {2, 14, 21, -1}, {2, 14, 22, -1}, {2, 14, 23, -1}, {2, 14, 24, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 15, 19, -1}, {2, 15, 20, -1}, {2, 15, 21, -1}, {2, 15, 22, -1}, {2, 15, 23, -1}, {2, 15, 24, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 16, 19, -1}, {2, 16, 20, -1}, {2, 16, 21, -1}, {2, 16, 22, -1}, {2, 16, 23, -1}, {2, 16, 24, -1}, {2, 17, 18, -1}, {2, 17, 19, -1}, {2, 17, 20, -1}, {2, 17, 21, -1}, {2, 17, 22, -1}, {2, 17, 23, -1}, {2, 17, 24, -1}, {2, 18, 19, -1}, {2, 18, 20, -1}, {2, 18, 21, -1}, {2, 18, 22, -1}, {2, 18, 23, -1}, {2, 18, 24, -1}, {2, 19, 20, -1}, {2, 19, 21, -1}, {2, 19, 22, -1}, {2, 19, 23, -1}, {2, 19, 24, -1}, {2, 20, 21, -1}, {2, 20, 22, -1}, {2, 20, 23, -1}, {2, 20, 24, -1}, {2, 21, 22, -1}, {2, 21, 23, -1}, {2, 21, 24, -1}, {2, 22, 23, -1}, {2, 22, 24, -1}, {2, 23, 24, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 4, 19, -1}, {3, 4, 20, -1}, {3, 4, 21, -1}, {3, 4, 22, -1}, {3, 4, 23, -1}, {3, 4, 24, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 5, 19, -1}, {3, 5, 20, -1}, {3, 5, 21, -1}, {3, 5, 22, -1}, {3, 5, 23, -1}, {3, 5, 24, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 6, 19, -1}, {3, 6, 20, -1}, {3, 6, 21, -1}, {3, 6, 22, -1}, {3, 6, 23, -1}, {3, 6, 24, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 7, 19, -1}, {3, 7, 20, -1}, {3, 7, 21, -1}, {3, 7, 22, -1}, {3, 7, 23, -1}, {3, 7, 24, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 8, 19, -1}, {3, 8, 20, -1}, {3, 8, 21, -1}, {3, 8, 22, -1}, {3, 8, 23, -1}, {3, 8, 24, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 9, 19, -1}, {3, 9, 20, -1}, {3, 9, 21, -1}, {3, 9, 22, -1}, {3, 9, 23, -1}, {3, 9, 24, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 10, 19, -1}, {3, 10, 20, -1}, {3, 10, 21, -1}, {3, 10, 22, -1}, {3, 10, 23, -1}, {3, 10, 24, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 11, 19, -1}, {3, 11, 20, -1}, {3, 11, 21, -1}, {3, 11, 22, -1}, {3, 11, 23, -1}, {3, 11, 24, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 12, 19, -1}, {3, 12, 20, -1}, {3, 12, 21, -1}, {3, 12, 22, -1}, {3, 12, 23, -1}, {3, 12, 24, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 13, 19, -1}, {3, 13, 20, -1}, {3, 13, 21, -1}, {3, 13, 22, -1}, {3, 13, 23, -1}, {3, 13, 24, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 14, 19, -1}, {3, 14, 20, -1}, {3, 14, 21, -1}, {3, 14, 22, -1}, {3, 14, 23, -1}, {3, 14, 24, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 15, 19, -1}, {3, 15, 20, -1}, {3, 15, 21, -1}, {3, 15, 22, -1}, {3, 15, 23, -1}, {3, 15, 24, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 16, 19, -1}, {3, 16, 20, -1}, {3, 16, 21, -1}, {3, 16, 22, -1}, {3, 16, 23, -1}, {3, 16, 24, -1}, {3, 17, 18, -1}, {3, 17, 19, -1}, {3, 17, 20, -1}, {3, 17, 21, -1}, {3, 17, 22, -1}, {3, 17, 23, -1}, {3, 17, 24, -1}, {3, 18, 19, -1}, {3, 18, 20, -1}, {3, 18, 21, -1}, {3, 18, 22, -1}, {3, 18, 23, -1}, {3, 18, 24, -1}, {3, 19, 20, -1}, {3, 19, 21, -1}, {3, 19, 22, -1}, {3, 19, 23, -1}, {3, 19, 24, -1}, {3, 20, 21, -1}, {3, 20, 22, -1}, {3, 20, 23, -1}, {3, 20, 24, -1}, {3, 21, 22, -1}, {3, 21, 23, -1}, {3, 21, 24, -1}, {3, 22, 23, -1}, {3, 22, 24, -1}, {3, 23, 24, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 5, 19, -1}, {4, 5, 20, -1}, {4, 5, 21, -1}, {4, 5, 22, -1}, {4, 5, 23, -1}, {4, 5, 24, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 6, 19, -1}, {4, 6, 20, -1}, {4, 6, 21, -1}, {4, 6, 22, -1}, {4, 6, 23, -1}, {4, 6, 24, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 7, 19, -1}, {4, 7, 20, -1}, {4, 7, 21, -1}, {4, 7, 22, -1}, {4, 7, 23, -1}, {4, 7, 24, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 8, 19, -1}, {4, 8, 20, -1}, {4, 8, 21, -1}, {4, 8, 22, -1}, {4, 8, 23, -1}, {4, 8, 24, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 9, 19, -1}, {4, 9, 20, -1}, {4, 9, 21, -1}, {4, 9, 22, -1}, {4, 9, 23, -1}, {4, 9, 24, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 10, 19, -1}, {4, 10, 20, -1}, {4, 10, 21, -1}, {4, 10, 22, -1}, {4, 10, 23, -1}, {4, 10, 24, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 11, 19, -1}, {4, 11, 20, -1}, {4, 11, 21, -1}, {4, 11, 22, -1}, {4, 11, 23, -1}, {4, 11, 24, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 12, 19, -1}, {4, 12, 20, -1}, {4, 12, 21, -1}, {4, 12, 22, -1}, {4, 12, 23, -1}, {4, 12, 24, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 13, 19, -1}, {4, 13, 20, -1}, {4, 13, 21, -1}, {4, 13, 22, -1}, {4, 13, 23, -1}, {4, 13, 24, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 14, 19, -1}, {4, 14, 20, -1}, {4, 14, 21, -1}, {4, 14, 22, -1}, {4, 14, 23, -1}, {4, 14, 24, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 15, 19, -1}, {4, 15, 20, -1}, {4, 15, 21, -1}, {4, 15, 22, -1}, {4, 15, 23, -1}, {4, 15, 24, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 16, 19, -1}, {4, 16, 20, -1}, {4, 16, 21, -1}, {4, 16, 22, -1}, {4, 16, 23, -1}, {4, 16, 24, -1}, {4, 17, 18, -1}, {4, 17, 19, -1}, {4, 17, 20, -1}, {4, 17, 21, -1}, {4, 17, 22, -1}, {4, 17, 23, -1}, {4, 17, 24, -1}, {4, 18, 19, -1}, {4, 18, 20, -1}, {4, 18, 21, -1}, {4, 18, 22, -1}, {4, 18, 23, -1}, {4, 18, 24, -1}, {4, 19, 20, -1}, {4, 19, 21, -1}, {4, 19, 22, -1}, {4, 19, 23, -1}, {4, 19, 24, -1}, {4, 20, 21, -1}, {4, 20, 22, -1}, {4, 20, 23, -1}, {4, 20, 24, -1}, {4, 21, 22, -1}, {4, 21, 23, -1}, {4, 21, 24, -1}, {4, 22, 23, -1}, {4, 22, 24, -1}, {4, 23, 24, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 6, 19, -1}, {5, 6, 20, -1}, {5, 6, 21, -1}, {5, 6, 22, -1}, {5, 6, 23, -1}, {5, 6, 24, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 7, 19, -1}, {5, 7, 20, -1}, {5, 7, 21, -1}, {5, 7, 22, -1}, {5, 7, 23, -1}, {5, 7, 24, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 8, 19, -1}, {5, 8, 20, -1}, {5, 8, 21, -1}, {5, 8, 22, -1}, {5, 8, 23, -1}, {5, 8, 24, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 9, 19, -1}, {5, 9, 20, -1}, {5, 9, 21, -1}, {5, 9, 22, -1}, {5, 9, 23, -1}, {5, 9, 24, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 10, 19, -1}, {5, 10, 20, -1}, {5, 10, 21, -1}, {5, 10, 22, -1}, {5, 10, 23, -1}, {5, 10, 24, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 11, 19, -1}, {5, 11, 20, -1}, {5, 11, 21, -1}, {5, 11, 22, -1}, {5, 11, 23, -1}, {5, 11, 24, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 12, 19, -1}, {5, 12, 20, -1}, {5, 12, 21, -1}, {5, 12, 22, -1}, {5, 12, 23, -1}, {5, 12, 24, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 13, 19, -1}, {5, 13, 20, -1}, {5, 13, 21, -1}, {5, 13, 22, -1}, {5, 13, 23, -1}, {5, 13, 24, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 14, 19, -1}, {5, 14, 20, -1}, {5, 14, 21, -1}, {5, 14, 22, -1}, {5, 14, 23, -1}, {5, 14, 24, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 15, 19, -1}, {5, 15, 20, -1}, {5, 15, 21, -1}, {5, 15, 22, -1}, {5, 15, 23, -1}, {5, 15, 24, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 16, 19, -1}, {5, 16, 20, -1}, {5, 16, 21, -1}, {5, 16, 22, -1}, {5, 16, 23, -1}, {5, 16, 24, -1}, {5, 17, 18, -1}, {5, 17, 19, -1}, {5, 17, 20, -1}, {5, 17, 21, -1}, {5, 17, 22, -1}, {5, 17, 23, -1}, {5, 17, 24, -1}, {5, 18, 19, -1}, {5, 18, 20, -1}, {5, 18, 21, -1}, {5, 18, 22, -1}, {5, 18, 23, -1}, {5, 18, 24, -1}, {5, 19, 20, -1}, {5, 19, 21, -1}, {5, 19, 22, -1}, {5, 19, 23, -1}, {5, 19, 24, -1}, {5, 20, 21, -1}, {5, 20, 22, -1}, {5, 20, 23, -1}, {5, 20, 24, -1}, {5, 21, 22, -1}, {5, 21, 23, -1}, {5, 21, 24, -1}, {5, 22, 23, -1}, {5, 22, 24, -1}, {5, 23, 24, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 7, 19, -1}, {6, 7, 20, -1}, {6, 7, 21, -1}, {6, 7, 22, -1}, {6, 7, 23, -1}, {6, 7, 24, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 8, 19, -1}, {6, 8, 20, -1}, {6, 8, 21, -1}, {6, 8, 22, -1}, {6, 8, 23, -1}, {6, 8, 24, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 9, 19, -1}, {6, 9, 20, -1}, {6, 9, 21, -1}, {6, 9, 22, -1}, {6, 9, 23, -1}, {6, 9, 24, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 10, 19, -1}, {6, 10, 20, -1}, {6, 10, 21, -1}, {6, 10, 22, -1}, {6, 10, 23, -1}, {6, 10, 24, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 11, 19, -1}, {6, 11, 20, -1}, {6, 11, 21, -1}, {6, 11, 22, -1}, {6, 11, 23, -1}, {6, 11, 24, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 12, 19, -1}, {6, 12, 20, -1}, {6, 12, 21, -1}, {6, 12, 22, -1}, {6, 12, 23, -1}, {6, 12, 24, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 13, 19, -1}, {6, 13, 20, -1}, {6, 13, 21, -1}, {6, 13, 22, -1}, {6, 13, 23, -1}, {6, 13, 24, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 14, 19, -1}, {6, 14, 20, -1}, {6, 14, 21, -1}, {6, 14, 22, -1}, {6, 14, 23, -1}, {6, 14, 24, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 15, 19, -1}, {6, 15, 20, -1}, {6, 15, 21, -1}, {6, 15, 22, -1}, {6, 15, 23, -1}, {6, 15, 24, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 16, 19, -1}, {6, 16, 20, -1}, {6, 16, 21, -1}, {6, 16, 22, -1}, {6, 16, 23, -1}, {6, 16, 24, -1}, {6, 17, 18, -1}, {6, 17, 19, -1}, {6, 17, 20, -1}, {6, 17, 21, -1}, {6, 17, 22, -1}, {6, 17, 23, -1}, {6, 17, 24, -1}, {6, 18, 19, -1}, {6, 18, 20, -1}, {6, 18, 21, -1}, {6, 18, 22, -1}, {6, 18, 23, -1}, {6, 18, 24, -1}, {6, 19, 20, -1}, {6, 19, 21, -1}, {6, 19, 22, -1}, {6, 19, 23, -1}, {6, 19, 24, -1}, {6, 20, 21, -1}, {6, 20, 22, -1}, {6, 20, 23, -1}, {6, 20, 24, -1}, {6, 21, 22, -1}, {6, 21, 23, -1}, {6, 21, 24, -1}, {6, 22, 23, -1}, {6, 22, 24, -1}, {6, 23, 24, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 8, 19, -1}, {7, 8, 20, -1}, {7, 8, 21, -1}, {7, 8, 22, -1}, {7, 8, 23, -1}, {7, 8, 24, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 9, 19, -1}, {7, 9, 20, -1}, {7, 9, 21, -1}, {7, 9, 22, -1}, {7, 9, 23, -1}, {7, 9, 24, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 10, 19, -1}, {7, 10, 20, -1}, {7, 10, 21, -1}, {7, 10, 22, -1}, {7, 10, 23, -1}, {7, 10, 24, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 11, 19, -1}, {7, 11, 20, -1}, {7, 11, 21, -1}, {7, 11, 22, -1}, {7, 11, 23, -1}, {7, 11, 24, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 12, 19, -1}, {7, 12, 20, -1}, {7, 12, 21, -1}, {7, 12, 22, -1}, {7, 12, 23, -1}, {7, 12, 24, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 13, 19, -1}, {7, 13, 20, -1}, {7, 13, 21, -1}, {7, 13, 22, -1}, {7, 13, 23, -1}, {7, 13, 24, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 14, 19, -1}, {7, 14, 20, -1}, {7, 14, 21, -1}, {7, 14, 22, -1}, {7, 14, 23, -1}, {7, 14, 24, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 15, 19, -1}, {7, 15, 20, -1}, {7, 15, 21, -1}, {7, 15, 22, -1}, {7, 15, 23, -1}, {7, 15, 24, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 16, 19, -1}, {7, 16, 20, -1}, {7, 16, 21, -1}, {7, 16, 22, -1}, {7, 16, 23, -1}, {7, 16, 24, -1}, {7, 17, 18, -1}, {7, 17, 19, -1}, {7, 17, 20, -1}, {7, 17, 21, -1}, {7, 17, 22, -1}, {7, 17, 23, -1}, {7, 17, 24, -1}, {7, 18, 19, -1}, {7, 18, 20, -1}, {7, 18, 21, -1}, {7, 18, 22, -1}, {7, 18, 23, -1}, {7, 18, 24, -1}, {7, 19, 20, -1}, {7, 19, 21, -1}, {7, 19, 22, -1}, {7, 19, 23, -1}, {7, 19, 24, -1}, {7, 20, 21, -1}, {7, 20, 22, -1}, {7, 20, 23, -1}, {7, 20, 24, -1}, {7, 21, 22, -1}, {7, 21, 23, -1}, {7, 21, 24, -1}, {7, 22, 23, -1}, {7, 22, 24, -1}, {7, 23, 24, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 9, 19, -1}, {8, 9, 20, -1}, {8, 9, 21, -1}, {8, 9, 22, -1}, {8, 9, 23, -1}, {8, 9, 24, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 10, 19, -1}, {8, 10, 20, -1}, {8, 10, 21, -1}, {8, 10, 22, -1}, {8, 10, 23, -1}, {8, 10, 24, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 11, 19, -1}, {8, 11, 20, -1}, {8, 11, 21, -1}, {8, 11, 22, -1}, {8, 11, 23, -1}, {8, 11, 24, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 12, 19, -1}, {8, 12, 20, -1}, {8, 12, 21, -1}, {8, 12, 22, -1}, {8, 12, 23, -1}, {8, 12, 24, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 13, 19, -1}, {8, 13, 20, -1}, {8, 13, 21, -1}, {8, 13, 22, -1}, {8, 13, 23, -1}, {8, 13, 24, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 14, 19, -1}, {8, 14, 20, -1}, {8, 14, 21, -1}, {8, 14, 22, -1}, {8, 14, 23, -1}, {8, 14, 24, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 15, 19, -1}, {8, 15, 20, -1}, {8, 15, 21, -1}, {8, 15, 22, -1}, {8, 15, 23, -1}, {8, 15, 24, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 16, 19, -1}, {8, 16, 20, -1}, {8, 16, 21, -1}, {8, 16, 22, -1}, {8, 16, 23, -1}, {8, 16, 24, -1}, {8, 17, 18, -1}, {8, 17, 19, -1}, {8, 17, 20, -1}, {8, 17, 21, -1}, {8, 17, 22, -1}, {8, 17, 23, -1}, {8, 17, 24, -1}, {8, 18, 19, -1}, {8, 18, 20, -1}, {8, 18, 21, -1}, {8, 18, 22, -1}, {8, 18, 23, -1}, {8, 18, 24, -1}, {8, 19, 20, -1}, {8, 19, 21, -1}, {8, 19, 22, -1}, {8, 19, 23, -1}, {8, 19, 24, -1}, {8, 20, 21, -1}, {8, 20, 22, -1}, {8, 20, 23, -1}, {8, 20, 24, -1}, {8, 21, 22, -1}, {8, 21, 23, -1}, {8, 21, 24, -1}, {8, 22, 23, -1}, {8, 22, 24, -1}, {8, 23, 24, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 10, 19, -1}, {9, 10, 20, -1}, {9, 10, 21, -1}, {9, 10, 22, -1}, {9, 10, 23, -1}, {9, 10, 24, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 11, 19, -1}, {9, 11, 20, -1}, {9, 11, 21, -1}, {9, 11, 22, -1}, {9, 11, 23, -1}, {9, 11, 24, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 12, 19, -1}, {9, 12, 20, -1}, {9, 12, 21, -1}, {9, 12, 22, -1}, {9, 12, 23, -1}, {9, 12, 24, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 13, 19, -1}, {9, 13, 20, -1}, {9, 13, 21, -1}, {9, 13, 22, -1}, {9, 13, 23, -1}, {9, 13, 24, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 14, 19, -1}, {9, 14, 20, -1}, {9, 14, 21, -1}, {9, 14, 22, -1}, {9, 14, 23, -1}, {9, 14, 24, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 15, 19, -1}, {9, 15, 20, -1}, {9, 15, 21, -1}, {9, 15, 22, -1}, {9, 15, 23, -1}, {9, 15, 24, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 16, 19, -1}, {9, 16, 20, -1}, {9, 16, 21, -1}, {9, 16, 22, -1}, {9, 16, 23, -1}, {9, 16, 24, -1}, {9, 17, 18, -1}, {9, 17, 19, -1}, {9, 17, 20, -1}, {9, 17, 21, -1}, {9, 17, 22, -1}, {9, 17, 23, -1}, {9, 17, 24, -1}, {9, 18, 19, -1}, {9, 18, 20, -1}, {9, 18, 21, -1}, {9, 18, 22, -1}, {9, 18, 23, -1}, {9, 18, 24, -1}, {9, 19, 20, -1}, {9, 19, 21, -1}, {9, 19, 22, -1}, {9, 19, 23, -1}, {9, 19, 24, -1}, {9, 20, 21, -1}, {9, 20, 22, -1}, {9, 20, 23, -1}, {9, 20, 24, -1}, {9, 21, 22, -1}, {9, 21, 23, -1}, {9, 21, 24, -1}, {9, 22, 23, -1}, {9, 22, 24, -1}, {9, 23, 24, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 11, 19, -1}, {10, 11, 20, -1}, {10, 11, 21, -1}, {10, 11, 22, -1}, {10, 11, 23, -1}, {10, 11, 24, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 12, 19, -1}, {10, 12, 20, -1}, {10, 12, 21, -1}, {10, 12, 22, -1}, {10, 12, 23, -1}, {10, 12, 24, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 13, 19, -1}, {10, 13, 20, -1}, {10, 13, 21, -1}, {10, 13, 22, -1}, {10, 13, 23, -1}, {10, 13, 24, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 14, 19, -1}, {10, 14, 20, -1}, {10, 14, 21, -1}, {10, 14, 22, -1}, {10, 14, 23, -1}, {10, 14, 24, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 15, 19, -1}, {10, 15, 20, -1}, {10, 15, 21, -1}, {10, 15, 22, -1}, {10, 15, 23, -1}, {10, 15, 24, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 16, 19, -1}, {10, 16, 20, -1}, {10, 16, 21, -1}, {10, 16, 22, -1}, {10, 16, 23, -1}, {10, 16, 24, -1}, {10, 17, 18, -1}, {10, 17, 19, -1}, {10, 17, 20, -1}, {10, 17, 21, -1}, {10, 17, 22, -1}, {10, 17, 23, -1}, {10, 17, 24, -1}, {10, 18, 19, -1}, {10, 18, 20, -1}, {10, 18, 21, -1}, {10, 18, 22, -1}, {10, 18, 23, -1}, {10, 18, 24, -1}, {10, 19, 20, -1}, {10, 19, 21, -1}, {10, 19, 22, -1}, {10, 19, 23, -1}, {10, 19, 24, -1}, {10, 20, 21, -1}, {10, 20, 22, -1}, {10, 20, 23, -1}, {10, 20, 24, -1}, {10, 21, 22, -1}, {10, 21, 23, -1}, {10, 21, 24, -1}, {10, 22, 23, -1}, {10, 22, 24, -1}, {10, 23, 24, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 12, 19, -1}, {11, 12, 20, -1}, {11, 12, 21, -1}, {11, 12, 22, -1}, {11, 12, 23, -1}, {11, 12, 24, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 13, 19, -1}, {11, 13, 20, -1}, {11, 13, 21, -1}, {11, 13, 22, -1}, {11, 13, 23, -1}, {11, 13, 24, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 14, 19, -1}, {11, 14, 20, -1}, {11, 14, 21, -1}, {11, 14, 22, -1}, {11, 14, 23, -1}, {11, 14, 24, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 15, 19, -1}, {11, 15, 20, -1}, {11, 15, 21, -1}, {11, 15, 22, -1}, {11, 15, 23, -1}, {11, 15, 24, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 16, 19, -1}, {11, 16, 20, -1}, {11, 16, 21, -1}, {11, 16, 22, -1}, {11, 16, 23, -1}, {11, 16, 24, -1}, {11, 17, 18, -1}, {11, 17, 19, -1}, {11, 17, 20, -1}, {11, 17, 21, -1}, {11, 17, 22, -1}, {11, 17, 23, -1}, {11, 17, 24, -1}, {11, 18, 19, -1}, {11, 18, 20, -1}, {11, 18, 21, -1}, {11, 18, 22, -1}, {11, 18, 23, -1}, {11, 18, 24, -1}, {11, 19, 20, -1}, {11, 19, 21, -1}, {11, 19, 22, -1}, {11, 19, 23, -1}, {11, 19, 24, -1}, {11, 20, 21, -1}, {11, 20, 22, -1}, {11, 20, 23, -1}, {11, 20, 24, -1}, {11, 21, 22, -1}, {11, 21, 23, -1}, {11, 21, 24, -1}, {11, 22, 23, -1}, {11, 22, 24, -1}, {11, 23, 24, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 13, 19, -1}, {12, 13, 20, -1}, {12, 13, 21, -1}, {12, 13, 22, -1}, {12, 13, 23, -1}, {12, 13, 24, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 14, 19, -1}, {12, 14, 20, -1}, {12, 14, 21, -1}, {12, 14, 22, -1}, {12, 14, 23, -1}, {12, 14, 24, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 15, 19, -1}, {12, 15, 20, -1}, {12, 15, 21, -1}, {12, 15, 22, -1}, {12, 15, 23, -1}, {12, 15, 24, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 16, 19, -1}, {12, 16, 20, -1}, {12, 16, 21, -1}, {12, 16, 22, -1}, {12, 16, 23, -1}, {12, 16, 24, -1}, {12, 17, 18, -1}, {12, 17, 19, -1}, {12, 17, 20, -1}, {12, 17, 21, -1}, {12, 17, 22, -1}, {12, 17, 23, -1}, {12, 17, 24, -1}, {12, 18, 19, -1}, {12, 18, 20, -1}, {12, 18, 21, -1}, {12, 18, 22, -1}, {12, 18, 23, -1}, {12, 18, 24, -1}, {12, 19, 20, -1}, {12, 19, 21, -1}, {12, 19, 22, -1}, {12, 19, 23, -1}, {12, 19, 24, -1}, {12, 20, 21, -1}, {12, 20, 22, -1}, {12, 20, 23, -1}, {12, 20, 24, -1}, {12, 21, 22, -1}, {12, 21, 23, -1}, {12, 21, 24, -1}, {12, 22, 23, -1}, {12, 22, 24, -1}, {12, 23, 24, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 14, 19, -1}, {13, 14, 20, -1}, {13, 14, 21, -1}, {13, 14, 22, -1}, {13, 14, 23, -1}, {13, 14, 24, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 15, 19, -1}, {13, 15, 20, -1}, {13, 15, 21, -1}, {13, 15, 22, -1}, {13, 15, 23, -1}, {13, 15, 24, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 16, 19, -1}, {13, 16, 20, -1}, {13, 16, 21, -1}, {13, 16, 22, -1}, {13, 16, 23, -1}, {13, 16, 24, -1}, {13, 17, 18, -1}, {13, 17, 19, -1}, {13, 17, 20, -1}, {13, 17, 21, -1}, {13, 17, 22, -1}, {13, 17, 23, -1}, {13, 17, 24, -1}, {13, 18, 19, -1}, {13, 18, 20, -1}, {13, 18, 21, -1}, {13, 18, 22, -1}, {13, 18, 23, -1}, {13, 18, 24, -1}, {13, 19, 20, -1}, {13, 19, 21, -1}, {13, 19, 22, -1}, {13, 19, 23, -1}, {13, 19, 24, -1}, {13, 20, 21, -1}, {13, 20, 22, -1}, {13, 20, 23, -1}, {13, 20, 24, -1}, {13, 21, 22, -1}, {13, 21, 23, -1}, {13, 21, 24, -1}, {13, 22, 23, -1}, {13, 22, 24, -1}, {13, 23, 24, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 15, 19, -1}, {14, 15, 20, -1}, {14, 15, 21, -1}, {14, 15, 22, -1}, {14, 15, 23, -1}, {14, 15, 24, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 16, 19, -1}, {14, 16, 20, -1}, {14, 16, 21, -1}, {14, 16, 22, -1}, {14, 16, 23, -1}, {14, 16, 24, -1}, {14, 17, 18, -1}, {14, 17, 19, -1}, {14, 17, 20, -1}, {14, 17, 21, -1}, {14, 17, 22, -1}, {14, 17, 23, -1}, {14, 17, 24, -1}, {14, 18, 19, -1}, {14, 18, 20, -1}, {14, 18, 21, -1}, {14, 18, 22, -1}, {14, 18, 23, -1}, {14, 18, 24, -1}, {14, 19, 20, -1}, {14, 19, 21, -1}, {14, 19, 22, -1}, {14, 19, 23, -1}, {14, 19, 24, -1}, {14, 20, 21, -1}, {14, 20, 22, -1}, {14, 20, 23, -1}, {14, 20, 24, -1}, {14, 21, 22, -1}, {14, 21, 23, -1}, {14, 21, 24, -1}, {14, 22, 23, -1}, {14, 22, 24, -1}, {14, 23, 24, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 16, 19, -1}, {15, 16, 20, -1}, {15, 16, 21, -1}, {15, 16, 22, -1}, {15, 16, 23, -1}, {15, 16, 24, -1}, {15, 17, 18, -1}, {15, 17, 19, -1}, {15, 17, 20, -1}, {15, 17, 21, -1}, {15, 17, 22, -1}, {15, 17, 23, -1}, {15, 17, 24, -1}, {15, 18, 19, -1}, {15, 18, 20, -1}, {15, 18, 21, -1}, {15, 18, 22, -1}, {15, 18, 23, -1}, {15, 18, 24, -1}, {15, 19, 20, -1}, {15, 19, 21, -1}, {15, 19, 22, -1}, {15, 19, 23, -1}, {15, 19, 24, -1}, {15, 20, 21, -1}, {15, 20, 22, -1}, {15, 20, 23, -1}, {15, 20, 24, -1}, {15, 21, 22, -1}, {15, 21, 23, -1}, {15, 21, 24, -1}, {15, 22, 23, -1}, {15, 22, 24, -1}, {15, 23, 24, -1}, {16, 17, 18, -1}, {16, 17, 19, -1}, {16, 17, 20, -1}, {16, 17, 21, -1}, {16, 17, 22, -1}, {16, 17, 23, -1}, {16, 17, 24, -1}, {16, 18, 19, -1}, {16, 18, 20, -1}, {16, 18, 21, -1}, {16, 18, 22, -1}, {16, 18, 23, -1}, {16, 18, 24, -1}, {16, 19, 20, -1}, {16, 19, 21, -1}, {16, 19, 22, -1}, {16, 19, 23, -1}, {16, 19, 24, -1}, {16, 20, 21, -1}, {16, 20, 22, -1}, {16, 20, 23, -1}, {16, 20, 24, -1}, {16, 21, 22, -1}, {16, 21, 23, -1}, {16, 21, 24, -1}, {16, 22, 23, -1}, {16, 22, 24, -1}, {16, 23, 24, -1}, {17, 18, 19, -1}, {17, 18, 20, -1}, {17, 18, 21, -1}, {17, 18, 22, -1}, {17, 18, 23, -1}, {17, 18, 24, -1}, {17, 19, 20, -1}, {17, 19, 21, -1}, {17, 19, 22, -1}, {17, 19, 23, -1}, {17, 19, 24, -1}, {17, 20, 21, -1}, {17, 20, 22, -1}, {17, 20, 23, -1}, {17, 20, 24, -1}, {17, 21, 22, -1}, {17, 21, 23, -1}, {17, 21, 24, -1}, {17, 22, 23, -1}, {17, 22, 24, -1}, {17, 23, 24, -1}, {18, 19, 20, -1}, {18, 19, 21, -1}, {18, 19, 22, -1}, {18, 19, 23, -1}, {18, 19, 24, -1}, {18, 20, 21, -1}, {18, 20, 22, -1}, {18, 20, 23, -1}, {18, 20, 24, -1}, {18, 21, 22, -1}, {18, 21, 23, -1}, {18, 21, 24, -1}, {18, 22, 23, -1}, {18, 22, 24, -1}, {18, 23, 24, -1}, {19, 20, 21, -1}, {19, 20, 22, -1}, {19, 20, 23, -1}, {19, 20, 24, -1}, {19, 21, 22, -1}, {19, 21, 23, -1}, {19, 21, 24, -1}, {19, 22, 23, -1}, {19, 22, 24, -1}, {19, 23, 24, -1}, {20, 21, 22, -1}, {20, 21, 23, -1}, {20, 21, 24, -1}, {20, 22, 23, -1}, {20, 22, 24, -1}, {20, 23, 24, -1}, {21, 22, 23, -1}, {21, 22, 24, -1}, {21, 23, 24, -1}, {22, 23, 24, -1}} ;
+#define NUM_26_3_COMBS 351
+int failure_combs_26_3[NUM_26_3_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {23, -1, -1, -1}, {24, -1, -1, -1}, {25, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {0, 23, -1, -1}, {0, 24, -1, -1}, {0, 25, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {1, 23, -1, -1}, {1, 24, -1, -1}, {1, 25, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {2, 23, -1, -1}, {2, 24, -1, -1}, {2, 25, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {3, 23, -1, -1}, {3, 24, -1, -1}, {3, 25, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {4, 23, -1, -1}, {4, 24, -1, -1}, {4, 25, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {5, 23, -1, -1}, {5, 24, -1, -1}, {5, 25, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {6, 23, -1, -1}, {6, 24, -1, -1}, {6, 25, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {7, 23, -1, -1}, {7, 24, -1, -1}, {7, 25, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {8, 23, -1, -1}, {8, 24, -1, -1}, {8, 25, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {9, 23, -1, -1}, {9, 24, -1, -1}, {9, 25, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {10, 23, -1, -1}, {10, 24, -1, -1}, {10, 25, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {11, 23, -1, -1}, {11, 24, -1, -1}, {11, 25, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {12, 23, -1, -1}, {12, 24, -1, -1}, {12, 25, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {13, 23, -1, -1}, {13, 24, -1, -1}, {13, 25, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {14, 23, -1, -1}, {14, 24, -1, -1}, {14, 25, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {15, 23, -1, -1}, {15, 24, -1, -1}, {15, 25, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {16, 23, -1, -1}, {16, 24, -1, -1}, {16, 25, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {17, 23, -1, -1}, {17, 24, -1, -1}, {17, 25, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {18, 23, -1, -1}, {18, 24, -1, -1}, {18, 25, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {19, 23, -1, -1}, {19, 24, -1, -1}, {19, 25, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {20, 23, -1, -1}, {20, 24, -1, -1}, {20, 25, -1, -1}, {21, 22, -1, -1}, {21, 23, -1, -1}, {21, 24, -1, -1}, {21, 25, -1, -1}, {22, 23, -1, -1}, {22, 24, -1, -1}, {22, 25, -1, -1}, {23, 24, -1, -1}, {23, 25, -1, -1}, {24, 25, -1, -1}} ;
+#define NUM_26_4_COMBS 2951
+int failure_combs_26_4[NUM_26_4_COMBS][4] = {{0, -1, -1, -1}, {1, -1, -1, -1}, {2, -1, -1, -1}, {3, -1, -1, -1}, {4, -1, -1, -1}, {5, -1, -1, -1}, {6, -1, -1, -1}, {7, -1, -1, -1}, {8, -1, -1, -1}, {9, -1, -1, -1}, {10, -1, -1, -1}, {11, -1, -1, -1}, {12, -1, -1, -1}, {13, -1, -1, -1}, {14, -1, -1, -1}, {15, -1, -1, -1}, {16, -1, -1, -1}, {17, -1, -1, -1}, {18, -1, -1, -1}, {19, -1, -1, -1}, {20, -1, -1, -1}, {21, -1, -1, -1}, {22, -1, -1, -1}, {23, -1, -1, -1}, {24, -1, -1, -1}, {25, -1, -1, -1}, {0, 1, -1, -1}, {0, 2, -1, -1}, {0, 3, -1, -1}, {0, 4, -1, -1}, {0, 5, -1, -1}, {0, 6, -1, -1}, {0, 7, -1, -1}, {0, 8, -1, -1}, {0, 9, -1, -1}, {0, 10, -1, -1}, {0, 11, -1, -1}, {0, 12, -1, -1}, {0, 13, -1, -1}, {0, 14, -1, -1}, {0, 15, -1, -1}, {0, 16, -1, -1}, {0, 17, -1, -1}, {0, 18, -1, -1}, {0, 19, -1, -1}, {0, 20, -1, -1}, {0, 21, -1, -1}, {0, 22, -1, -1}, {0, 23, -1, -1}, {0, 24, -1, -1}, {0, 25, -1, -1}, {1, 2, -1, -1}, {1, 3, -1, -1}, {1, 4, -1, -1}, {1, 5, -1, -1}, {1, 6, -1, -1}, {1, 7, -1, -1}, {1, 8, -1, -1}, {1, 9, -1, -1}, {1, 10, -1, -1}, {1, 11, -1, -1}, {1, 12, -1, -1}, {1, 13, -1, -1}, {1, 14, -1, -1}, {1, 15, -1, -1}, {1, 16, -1, -1}, {1, 17, -1, -1}, {1, 18, -1, -1}, {1, 19, -1, -1}, {1, 20, -1, -1}, {1, 21, -1, -1}, {1, 22, -1, -1}, {1, 23, -1, -1}, {1, 24, -1, -1}, {1, 25, -1, -1}, {2, 3, -1, -1}, {2, 4, -1, -1}, {2, 5, -1, -1}, {2, 6, -1, -1}, {2, 7, -1, -1}, {2, 8, -1, -1}, {2, 9, -1, -1}, {2, 10, -1, -1}, {2, 11, -1, -1}, {2, 12, -1, -1}, {2, 13, -1, -1}, {2, 14, -1, -1}, {2, 15, -1, -1}, {2, 16, -1, -1}, {2, 17, -1, -1}, {2, 18, -1, -1}, {2, 19, -1, -1}, {2, 20, -1, -1}, {2, 21, -1, -1}, {2, 22, -1, -1}, {2, 23, -1, -1}, {2, 24, -1, -1}, {2, 25, -1, -1}, {3, 4, -1, -1}, {3, 5, -1, -1}, {3, 6, -1, -1}, {3, 7, -1, -1}, {3, 8, -1, -1}, {3, 9, -1, -1}, {3, 10, -1, -1}, {3, 11, -1, -1}, {3, 12, -1, -1}, {3, 13, -1, -1}, {3, 14, -1, -1}, {3, 15, -1, -1}, {3, 16, -1, -1}, {3, 17, -1, -1}, {3, 18, -1, -1}, {3, 19, -1, -1}, {3, 20, -1, -1}, {3, 21, -1, -1}, {3, 22, -1, -1}, {3, 23, -1, -1}, {3, 24, -1, -1}, {3, 25, -1, -1}, {4, 5, -1, -1}, {4, 6, -1, -1}, {4, 7, -1, -1}, {4, 8, -1, -1}, {4, 9, -1, -1}, {4, 10, -1, -1}, {4, 11, -1, -1}, {4, 12, -1, -1}, {4, 13, -1, -1}, {4, 14, -1, -1}, {4, 15, -1, -1}, {4, 16, -1, -1}, {4, 17, -1, -1}, {4, 18, -1, -1}, {4, 19, -1, -1}, {4, 20, -1, -1}, {4, 21, -1, -1}, {4, 22, -1, -1}, {4, 23, -1, -1}, {4, 24, -1, -1}, {4, 25, -1, -1}, {5, 6, -1, -1}, {5, 7, -1, -1}, {5, 8, -1, -1}, {5, 9, -1, -1}, {5, 10, -1, -1}, {5, 11, -1, -1}, {5, 12, -1, -1}, {5, 13, -1, -1}, {5, 14, -1, -1}, {5, 15, -1, -1}, {5, 16, -1, -1}, {5, 17, -1, -1}, {5, 18, -1, -1}, {5, 19, -1, -1}, {5, 20, -1, -1}, {5, 21, -1, -1}, {5, 22, -1, -1}, {5, 23, -1, -1}, {5, 24, -1, -1}, {5, 25, -1, -1}, {6, 7, -1, -1}, {6, 8, -1, -1}, {6, 9, -1, -1}, {6, 10, -1, -1}, {6, 11, -1, -1}, {6, 12, -1, -1}, {6, 13, -1, -1}, {6, 14, -1, -1}, {6, 15, -1, -1}, {6, 16, -1, -1}, {6, 17, -1, -1}, {6, 18, -1, -1}, {6, 19, -1, -1}, {6, 20, -1, -1}, {6, 21, -1, -1}, {6, 22, -1, -1}, {6, 23, -1, -1}, {6, 24, -1, -1}, {6, 25, -1, -1}, {7, 8, -1, -1}, {7, 9, -1, -1}, {7, 10, -1, -1}, {7, 11, -1, -1}, {7, 12, -1, -1}, {7, 13, -1, -1}, {7, 14, -1, -1}, {7, 15, -1, -1}, {7, 16, -1, -1}, {7, 17, -1, -1}, {7, 18, -1, -1}, {7, 19, -1, -1}, {7, 20, -1, -1}, {7, 21, -1, -1}, {7, 22, -1, -1}, {7, 23, -1, -1}, {7, 24, -1, -1}, {7, 25, -1, -1}, {8, 9, -1, -1}, {8, 10, -1, -1}, {8, 11, -1, -1}, {8, 12, -1, -1}, {8, 13, -1, -1}, {8, 14, -1, -1}, {8, 15, -1, -1}, {8, 16, -1, -1}, {8, 17, -1, -1}, {8, 18, -1, -1}, {8, 19, -1, -1}, {8, 20, -1, -1}, {8, 21, -1, -1}, {8, 22, -1, -1}, {8, 23, -1, -1}, {8, 24, -1, -1}, {8, 25, -1, -1}, {9, 10, -1, -1}, {9, 11, -1, -1}, {9, 12, -1, -1}, {9, 13, -1, -1}, {9, 14, -1, -1}, {9, 15, -1, -1}, {9, 16, -1, -1}, {9, 17, -1, -1}, {9, 18, -1, -1}, {9, 19, -1, -1}, {9, 20, -1, -1}, {9, 21, -1, -1}, {9, 22, -1, -1}, {9, 23, -1, -1}, {9, 24, -1, -1}, {9, 25, -1, -1}, {10, 11, -1, -1}, {10, 12, -1, -1}, {10, 13, -1, -1}, {10, 14, -1, -1}, {10, 15, -1, -1}, {10, 16, -1, -1}, {10, 17, -1, -1}, {10, 18, -1, -1}, {10, 19, -1, -1}, {10, 20, -1, -1}, {10, 21, -1, -1}, {10, 22, -1, -1}, {10, 23, -1, -1}, {10, 24, -1, -1}, {10, 25, -1, -1}, {11, 12, -1, -1}, {11, 13, -1, -1}, {11, 14, -1, -1}, {11, 15, -1, -1}, {11, 16, -1, -1}, {11, 17, -1, -1}, {11, 18, -1, -1}, {11, 19, -1, -1}, {11, 20, -1, -1}, {11, 21, -1, -1}, {11, 22, -1, -1}, {11, 23, -1, -1}, {11, 24, -1, -1}, {11, 25, -1, -1}, {12, 13, -1, -1}, {12, 14, -1, -1}, {12, 15, -1, -1}, {12, 16, -1, -1}, {12, 17, -1, -1}, {12, 18, -1, -1}, {12, 19, -1, -1}, {12, 20, -1, -1}, {12, 21, -1, -1}, {12, 22, -1, -1}, {12, 23, -1, -1}, {12, 24, -1, -1}, {12, 25, -1, -1}, {13, 14, -1, -1}, {13, 15, -1, -1}, {13, 16, -1, -1}, {13, 17, -1, -1}, {13, 18, -1, -1}, {13, 19, -1, -1}, {13, 20, -1, -1}, {13, 21, -1, -1}, {13, 22, -1, -1}, {13, 23, -1, -1}, {13, 24, -1, -1}, {13, 25, -1, -1}, {14, 15, -1, -1}, {14, 16, -1, -1}, {14, 17, -1, -1}, {14, 18, -1, -1}, {14, 19, -1, -1}, {14, 20, -1, -1}, {14, 21, -1, -1}, {14, 22, -1, -1}, {14, 23, -1, -1}, {14, 24, -1, -1}, {14, 25, -1, -1}, {15, 16, -1, -1}, {15, 17, -1, -1}, {15, 18, -1, -1}, {15, 19, -1, -1}, {15, 20, -1, -1}, {15, 21, -1, -1}, {15, 22, -1, -1}, {15, 23, -1, -1}, {15, 24, -1, -1}, {15, 25, -1, -1}, {16, 17, -1, -1}, {16, 18, -1, -1}, {16, 19, -1, -1}, {16, 20, -1, -1}, {16, 21, -1, -1}, {16, 22, -1, -1}, {16, 23, -1, -1}, {16, 24, -1, -1}, {16, 25, -1, -1}, {17, 18, -1, -1}, {17, 19, -1, -1}, {17, 20, -1, -1}, {17, 21, -1, -1}, {17, 22, -1, -1}, {17, 23, -1, -1}, {17, 24, -1, -1}, {17, 25, -1, -1}, {18, 19, -1, -1}, {18, 20, -1, -1}, {18, 21, -1, -1}, {18, 22, -1, -1}, {18, 23, -1, -1}, {18, 24, -1, -1}, {18, 25, -1, -1}, {19, 20, -1, -1}, {19, 21, -1, -1}, {19, 22, -1, -1}, {19, 23, -1, -1}, {19, 24, -1, -1}, {19, 25, -1, -1}, {20, 21, -1, -1}, {20, 22, -1, -1}, {20, 23, -1, -1}, {20, 24, -1, -1}, {20, 25, -1, -1}, {21, 22, -1, -1}, {21, 23, -1, -1}, {21, 24, -1, -1}, {21, 25, -1, -1}, {22, 23, -1, -1}, {22, 24, -1, -1}, {22, 25, -1, -1}, {23, 24, -1, -1}, {23, 25, -1, -1}, {24, 25, -1, -1}, {0, 1, 2, -1}, {0, 1, 3, -1}, {0, 1, 4, -1}, {0, 1, 5, -1}, {0, 1, 6, -1}, {0, 1, 7, -1}, {0, 1, 8, -1}, {0, 1, 9, -1}, {0, 1, 10, -1}, {0, 1, 11, -1}, {0, 1, 12, -1}, {0, 1, 13, -1}, {0, 1, 14, -1}, {0, 1, 15, -1}, {0, 1, 16, -1}, {0, 1, 17, -1}, {0, 1, 18, -1}, {0, 1, 19, -1}, {0, 1, 20, -1}, {0, 1, 21, -1}, {0, 1, 22, -1}, {0, 1, 23, -1}, {0, 1, 24, -1}, {0, 1, 25, -1}, {0, 2, 3, -1}, {0, 2, 4, -1}, {0, 2, 5, -1}, {0, 2, 6, -1}, {0, 2, 7, -1}, {0, 2, 8, -1}, {0, 2, 9, -1}, {0, 2, 10, -1}, {0, 2, 11, -1}, {0, 2, 12, -1}, {0, 2, 13, -1}, {0, 2, 14, -1}, {0, 2, 15, -1}, {0, 2, 16, -1}, {0, 2, 17, -1}, {0, 2, 18, -1}, {0, 2, 19, -1}, {0, 2, 20, -1}, {0, 2, 21, -1}, {0, 2, 22, -1}, {0, 2, 23, -1}, {0, 2, 24, -1}, {0, 2, 25, -1}, {0, 3, 4, -1}, {0, 3, 5, -1}, {0, 3, 6, -1}, {0, 3, 7, -1}, {0, 3, 8, -1}, {0, 3, 9, -1}, {0, 3, 10, -1}, {0, 3, 11, -1}, {0, 3, 12, -1}, {0, 3, 13, -1}, {0, 3, 14, -1}, {0, 3, 15, -1}, {0, 3, 16, -1}, {0, 3, 17, -1}, {0, 3, 18, -1}, {0, 3, 19, -1}, {0, 3, 20, -1}, {0, 3, 21, -1}, {0, 3, 22, -1}, {0, 3, 23, -1}, {0, 3, 24, -1}, {0, 3, 25, -1}, {0, 4, 5, -1}, {0, 4, 6, -1}, {0, 4, 7, -1}, {0, 4, 8, -1}, {0, 4, 9, -1}, {0, 4, 10, -1}, {0, 4, 11, -1}, {0, 4, 12, -1}, {0, 4, 13, -1}, {0, 4, 14, -1}, {0, 4, 15, -1}, {0, 4, 16, -1}, {0, 4, 17, -1}, {0, 4, 18, -1}, {0, 4, 19, -1}, {0, 4, 20, -1}, {0, 4, 21, -1}, {0, 4, 22, -1}, {0, 4, 23, -1}, {0, 4, 24, -1}, {0, 4, 25, -1}, {0, 5, 6, -1}, {0, 5, 7, -1}, {0, 5, 8, -1}, {0, 5, 9, -1}, {0, 5, 10, -1}, {0, 5, 11, -1}, {0, 5, 12, -1}, {0, 5, 13, -1}, {0, 5, 14, -1}, {0, 5, 15, -1}, {0, 5, 16, -1}, {0, 5, 17, -1}, {0, 5, 18, -1}, {0, 5, 19, -1}, {0, 5, 20, -1}, {0, 5, 21, -1}, {0, 5, 22, -1}, {0, 5, 23, -1}, {0, 5, 24, -1}, {0, 5, 25, -1}, {0, 6, 7, -1}, {0, 6, 8, -1}, {0, 6, 9, -1}, {0, 6, 10, -1}, {0, 6, 11, -1}, {0, 6, 12, -1}, {0, 6, 13, -1}, {0, 6, 14, -1}, {0, 6, 15, -1}, {0, 6, 16, -1}, {0, 6, 17, -1}, {0, 6, 18, -1}, {0, 6, 19, -1}, {0, 6, 20, -1}, {0, 6, 21, -1}, {0, 6, 22, -1}, {0, 6, 23, -1}, {0, 6, 24, -1}, {0, 6, 25, -1}, {0, 7, 8, -1}, {0, 7, 9, -1}, {0, 7, 10, -1}, {0, 7, 11, -1}, {0, 7, 12, -1}, {0, 7, 13, -1}, {0, 7, 14, -1}, {0, 7, 15, -1}, {0, 7, 16, -1}, {0, 7, 17, -1}, {0, 7, 18, -1}, {0, 7, 19, -1}, {0, 7, 20, -1}, {0, 7, 21, -1}, {0, 7, 22, -1}, {0, 7, 23, -1}, {0, 7, 24, -1}, {0, 7, 25, -1}, {0, 8, 9, -1}, {0, 8, 10, -1}, {0, 8, 11, -1}, {0, 8, 12, -1}, {0, 8, 13, -1}, {0, 8, 14, -1}, {0, 8, 15, -1}, {0, 8, 16, -1}, {0, 8, 17, -1}, {0, 8, 18, -1}, {0, 8, 19, -1}, {0, 8, 20, -1}, {0, 8, 21, -1}, {0, 8, 22, -1}, {0, 8, 23, -1}, {0, 8, 24, -1}, {0, 8, 25, -1}, {0, 9, 10, -1}, {0, 9, 11, -1}, {0, 9, 12, -1}, {0, 9, 13, -1}, {0, 9, 14, -1}, {0, 9, 15, -1}, {0, 9, 16, -1}, {0, 9, 17, -1}, {0, 9, 18, -1}, {0, 9, 19, -1}, {0, 9, 20, -1}, {0, 9, 21, -1}, {0, 9, 22, -1}, {0, 9, 23, -1}, {0, 9, 24, -1}, {0, 9, 25, -1}, {0, 10, 11, -1}, {0, 10, 12, -1}, {0, 10, 13, -1}, {0, 10, 14, -1}, {0, 10, 15, -1}, {0, 10, 16, -1}, {0, 10, 17, -1}, {0, 10, 18, -1}, {0, 10, 19, -1}, {0, 10, 20, -1}, {0, 10, 21, -1}, {0, 10, 22, -1}, {0, 10, 23, -1}, {0, 10, 24, -1}, {0, 10, 25, -1}, {0, 11, 12, -1}, {0, 11, 13, -1}, {0, 11, 14, -1}, {0, 11, 15, -1}, {0, 11, 16, -1}, {0, 11, 17, -1}, {0, 11, 18, -1}, {0, 11, 19, -1}, {0, 11, 20, -1}, {0, 11, 21, -1}, {0, 11, 22, -1}, {0, 11, 23, -1}, {0, 11, 24, -1}, {0, 11, 25, -1}, {0, 12, 13, -1}, {0, 12, 14, -1}, {0, 12, 15, -1}, {0, 12, 16, -1}, {0, 12, 17, -1}, {0, 12, 18, -1}, {0, 12, 19, -1}, {0, 12, 20, -1}, {0, 12, 21, -1}, {0, 12, 22, -1}, {0, 12, 23, -1}, {0, 12, 24, -1}, {0, 12, 25, -1}, {0, 13, 14, -1}, {0, 13, 15, -1}, {0, 13, 16, -1}, {0, 13, 17, -1}, {0, 13, 18, -1}, {0, 13, 19, -1}, {0, 13, 20, -1}, {0, 13, 21, -1}, {0, 13, 22, -1}, {0, 13, 23, -1}, {0, 13, 24, -1}, {0, 13, 25, -1}, {0, 14, 15, -1}, {0, 14, 16, -1}, {0, 14, 17, -1}, {0, 14, 18, -1}, {0, 14, 19, -1}, {0, 14, 20, -1}, {0, 14, 21, -1}, {0, 14, 22, -1}, {0, 14, 23, -1}, {0, 14, 24, -1}, {0, 14, 25, -1}, {0, 15, 16, -1}, {0, 15, 17, -1}, {0, 15, 18, -1}, {0, 15, 19, -1}, {0, 15, 20, -1}, {0, 15, 21, -1}, {0, 15, 22, -1}, {0, 15, 23, -1}, {0, 15, 24, -1}, {0, 15, 25, -1}, {0, 16, 17, -1}, {0, 16, 18, -1}, {0, 16, 19, -1}, {0, 16, 20, -1}, {0, 16, 21, -1}, {0, 16, 22, -1}, {0, 16, 23, -1}, {0, 16, 24, -1}, {0, 16, 25, -1}, {0, 17, 18, -1}, {0, 17, 19, -1}, {0, 17, 20, -1}, {0, 17, 21, -1}, {0, 17, 22, -1}, {0, 17, 23, -1}, {0, 17, 24, -1}, {0, 17, 25, -1}, {0, 18, 19, -1}, {0, 18, 20, -1}, {0, 18, 21, -1}, {0, 18, 22, -1}, {0, 18, 23, -1}, {0, 18, 24, -1}, {0, 18, 25, -1}, {0, 19, 20, -1}, {0, 19, 21, -1}, {0, 19, 22, -1}, {0, 19, 23, -1}, {0, 19, 24, -1}, {0, 19, 25, -1}, {0, 20, 21, -1}, {0, 20, 22, -1}, {0, 20, 23, -1}, {0, 20, 24, -1}, {0, 20, 25, -1}, {0, 21, 22, -1}, {0, 21, 23, -1}, {0, 21, 24, -1}, {0, 21, 25, -1}, {0, 22, 23, -1}, {0, 22, 24, -1}, {0, 22, 25, -1}, {0, 23, 24, -1}, {0, 23, 25, -1}, {0, 24, 25, -1}, {1, 2, 3, -1}, {1, 2, 4, -1}, {1, 2, 5, -1}, {1, 2, 6, -1}, {1, 2, 7, -1}, {1, 2, 8, -1}, {1, 2, 9, -1}, {1, 2, 10, -1}, {1, 2, 11, -1}, {1, 2, 12, -1}, {1, 2, 13, -1}, {1, 2, 14, -1}, {1, 2, 15, -1}, {1, 2, 16, -1}, {1, 2, 17, -1}, {1, 2, 18, -1}, {1, 2, 19, -1}, {1, 2, 20, -1}, {1, 2, 21, -1}, {1, 2, 22, -1}, {1, 2, 23, -1}, {1, 2, 24, -1}, {1, 2, 25, -1}, {1, 3, 4, -1}, {1, 3, 5, -1}, {1, 3, 6, -1}, {1, 3, 7, -1}, {1, 3, 8, -1}, {1, 3, 9, -1}, {1, 3, 10, -1}, {1, 3, 11, -1}, {1, 3, 12, -1}, {1, 3, 13, -1}, {1, 3, 14, -1}, {1, 3, 15, -1}, {1, 3, 16, -1}, {1, 3, 17, -1}, {1, 3, 18, -1}, {1, 3, 19, -1}, {1, 3, 20, -1}, {1, 3, 21, -1}, {1, 3, 22, -1}, {1, 3, 23, -1}, {1, 3, 24, -1}, {1, 3, 25, -1}, {1, 4, 5, -1}, {1, 4, 6, -1}, {1, 4, 7, -1}, {1, 4, 8, -1}, {1, 4, 9, -1}, {1, 4, 10, -1}, {1, 4, 11, -1}, {1, 4, 12, -1}, {1, 4, 13, -1}, {1, 4, 14, -1}, {1, 4, 15, -1}, {1, 4, 16, -1}, {1, 4, 17, -1}, {1, 4, 18, -1}, {1, 4, 19, -1}, {1, 4, 20, -1}, {1, 4, 21, -1}, {1, 4, 22, -1}, {1, 4, 23, -1}, {1, 4, 24, -1}, {1, 4, 25, -1}, {1, 5, 6, -1}, {1, 5, 7, -1}, {1, 5, 8, -1}, {1, 5, 9, -1}, {1, 5, 10, -1}, {1, 5, 11, -1}, {1, 5, 12, -1}, {1, 5, 13, -1}, {1, 5, 14, -1}, {1, 5, 15, -1}, {1, 5, 16, -1}, {1, 5, 17, -1}, {1, 5, 18, -1}, {1, 5, 19, -1}, {1, 5, 20, -1}, {1, 5, 21, -1}, {1, 5, 22, -1}, {1, 5, 23, -1}, {1, 5, 24, -1}, {1, 5, 25, -1}, {1, 6, 7, -1}, {1, 6, 8, -1}, {1, 6, 9, -1}, {1, 6, 10, -1}, {1, 6, 11, -1}, {1, 6, 12, -1}, {1, 6, 13, -1}, {1, 6, 14, -1}, {1, 6, 15, -1}, {1, 6, 16, -1}, {1, 6, 17, -1}, {1, 6, 18, -1}, {1, 6, 19, -1}, {1, 6, 20, -1}, {1, 6, 21, -1}, {1, 6, 22, -1}, {1, 6, 23, -1}, {1, 6, 24, -1}, {1, 6, 25, -1}, {1, 7, 8, -1}, {1, 7, 9, -1}, {1, 7, 10, -1}, {1, 7, 11, -1}, {1, 7, 12, -1}, {1, 7, 13, -1}, {1, 7, 14, -1}, {1, 7, 15, -1}, {1, 7, 16, -1}, {1, 7, 17, -1}, {1, 7, 18, -1}, {1, 7, 19, -1}, {1, 7, 20, -1}, {1, 7, 21, -1}, {1, 7, 22, -1}, {1, 7, 23, -1}, {1, 7, 24, -1}, {1, 7, 25, -1}, {1, 8, 9, -1}, {1, 8, 10, -1}, {1, 8, 11, -1}, {1, 8, 12, -1}, {1, 8, 13, -1}, {1, 8, 14, -1}, {1, 8, 15, -1}, {1, 8, 16, -1}, {1, 8, 17, -1}, {1, 8, 18, -1}, {1, 8, 19, -1}, {1, 8, 20, -1}, {1, 8, 21, -1}, {1, 8, 22, -1}, {1, 8, 23, -1}, {1, 8, 24, -1}, {1, 8, 25, -1}, {1, 9, 10, -1}, {1, 9, 11, -1}, {1, 9, 12, -1}, {1, 9, 13, -1}, {1, 9, 14, -1}, {1, 9, 15, -1}, {1, 9, 16, -1}, {1, 9, 17, -1}, {1, 9, 18, -1}, {1, 9, 19, -1}, {1, 9, 20, -1}, {1, 9, 21, -1}, {1, 9, 22, -1}, {1, 9, 23, -1}, {1, 9, 24, -1}, {1, 9, 25, -1}, {1, 10, 11, -1}, {1, 10, 12, -1}, {1, 10, 13, -1}, {1, 10, 14, -1}, {1, 10, 15, -1}, {1, 10, 16, -1}, {1, 10, 17, -1}, {1, 10, 18, -1}, {1, 10, 19, -1}, {1, 10, 20, -1}, {1, 10, 21, -1}, {1, 10, 22, -1}, {1, 10, 23, -1}, {1, 10, 24, -1}, {1, 10, 25, -1}, {1, 11, 12, -1}, {1, 11, 13, -1}, {1, 11, 14, -1}, {1, 11, 15, -1}, {1, 11, 16, -1}, {1, 11, 17, -1}, {1, 11, 18, -1}, {1, 11, 19, -1}, {1, 11, 20, -1}, {1, 11, 21, -1}, {1, 11, 22, -1}, {1, 11, 23, -1}, {1, 11, 24, -1}, {1, 11, 25, -1}, {1, 12, 13, -1}, {1, 12, 14, -1}, {1, 12, 15, -1}, {1, 12, 16, -1}, {1, 12, 17, -1}, {1, 12, 18, -1}, {1, 12, 19, -1}, {1, 12, 20, -1}, {1, 12, 21, -1}, {1, 12, 22, -1}, {1, 12, 23, -1}, {1, 12, 24, -1}, {1, 12, 25, -1}, {1, 13, 14, -1}, {1, 13, 15, -1}, {1, 13, 16, -1}, {1, 13, 17, -1}, {1, 13, 18, -1}, {1, 13, 19, -1}, {1, 13, 20, -1}, {1, 13, 21, -1}, {1, 13, 22, -1}, {1, 13, 23, -1}, {1, 13, 24, -1}, {1, 13, 25, -1}, {1, 14, 15, -1}, {1, 14, 16, -1}, {1, 14, 17, -1}, {1, 14, 18, -1}, {1, 14, 19, -1}, {1, 14, 20, -1}, {1, 14, 21, -1}, {1, 14, 22, -1}, {1, 14, 23, -1}, {1, 14, 24, -1}, {1, 14, 25, -1}, {1, 15, 16, -1}, {1, 15, 17, -1}, {1, 15, 18, -1}, {1, 15, 19, -1}, {1, 15, 20, -1}, {1, 15, 21, -1}, {1, 15, 22, -1}, {1, 15, 23, -1}, {1, 15, 24, -1}, {1, 15, 25, -1}, {1, 16, 17, -1}, {1, 16, 18, -1}, {1, 16, 19, -1}, {1, 16, 20, -1}, {1, 16, 21, -1}, {1, 16, 22, -1}, {1, 16, 23, -1}, {1, 16, 24, -1}, {1, 16, 25, -1}, {1, 17, 18, -1}, {1, 17, 19, -1}, {1, 17, 20, -1}, {1, 17, 21, -1}, {1, 17, 22, -1}, {1, 17, 23, -1}, {1, 17, 24, -1}, {1, 17, 25, -1}, {1, 18, 19, -1}, {1, 18, 20, -1}, {1, 18, 21, -1}, {1, 18, 22, -1}, {1, 18, 23, -1}, {1, 18, 24, -1}, {1, 18, 25, -1}, {1, 19, 20, -1}, {1, 19, 21, -1}, {1, 19, 22, -1}, {1, 19, 23, -1}, {1, 19, 24, -1}, {1, 19, 25, -1}, {1, 20, 21, -1}, {1, 20, 22, -1}, {1, 20, 23, -1}, {1, 20, 24, -1}, {1, 20, 25, -1}, {1, 21, 22, -1}, {1, 21, 23, -1}, {1, 21, 24, -1}, {1, 21, 25, -1}, {1, 22, 23, -1}, {1, 22, 24, -1}, {1, 22, 25, -1}, {1, 23, 24, -1}, {1, 23, 25, -1}, {1, 24, 25, -1}, {2, 3, 4, -1}, {2, 3, 5, -1}, {2, 3, 6, -1}, {2, 3, 7, -1}, {2, 3, 8, -1}, {2, 3, 9, -1}, {2, 3, 10, -1}, {2, 3, 11, -1}, {2, 3, 12, -1}, {2, 3, 13, -1}, {2, 3, 14, -1}, {2, 3, 15, -1}, {2, 3, 16, -1}, {2, 3, 17, -1}, {2, 3, 18, -1}, {2, 3, 19, -1}, {2, 3, 20, -1}, {2, 3, 21, -1}, {2, 3, 22, -1}, {2, 3, 23, -1}, {2, 3, 24, -1}, {2, 3, 25, -1}, {2, 4, 5, -1}, {2, 4, 6, -1}, {2, 4, 7, -1}, {2, 4, 8, -1}, {2, 4, 9, -1}, {2, 4, 10, -1}, {2, 4, 11, -1}, {2, 4, 12, -1}, {2, 4, 13, -1}, {2, 4, 14, -1}, {2, 4, 15, -1}, {2, 4, 16, -1}, {2, 4, 17, -1}, {2, 4, 18, -1}, {2, 4, 19, -1}, {2, 4, 20, -1}, {2, 4, 21, -1}, {2, 4, 22, -1}, {2, 4, 23, -1}, {2, 4, 24, -1}, {2, 4, 25, -1}, {2, 5, 6, -1}, {2, 5, 7, -1}, {2, 5, 8, -1}, {2, 5, 9, -1}, {2, 5, 10, -1}, {2, 5, 11, -1}, {2, 5, 12, -1}, {2, 5, 13, -1}, {2, 5, 14, -1}, {2, 5, 15, -1}, {2, 5, 16, -1}, {2, 5, 17, -1}, {2, 5, 18, -1}, {2, 5, 19, -1}, {2, 5, 20, -1}, {2, 5, 21, -1}, {2, 5, 22, -1}, {2, 5, 23, -1}, {2, 5, 24, -1}, {2, 5, 25, -1}, {2, 6, 7, -1}, {2, 6, 8, -1}, {2, 6, 9, -1}, {2, 6, 10, -1}, {2, 6, 11, -1}, {2, 6, 12, -1}, {2, 6, 13, -1}, {2, 6, 14, -1}, {2, 6, 15, -1}, {2, 6, 16, -1}, {2, 6, 17, -1}, {2, 6, 18, -1}, {2, 6, 19, -1}, {2, 6, 20, -1}, {2, 6, 21, -1}, {2, 6, 22, -1}, {2, 6, 23, -1}, {2, 6, 24, -1}, {2, 6, 25, -1}, {2, 7, 8, -1}, {2, 7, 9, -1}, {2, 7, 10, -1}, {2, 7, 11, -1}, {2, 7, 12, -1}, {2, 7, 13, -1}, {2, 7, 14, -1}, {2, 7, 15, -1}, {2, 7, 16, -1}, {2, 7, 17, -1}, {2, 7, 18, -1}, {2, 7, 19, -1}, {2, 7, 20, -1}, {2, 7, 21, -1}, {2, 7, 22, -1}, {2, 7, 23, -1}, {2, 7, 24, -1}, {2, 7, 25, -1}, {2, 8, 9, -1}, {2, 8, 10, -1}, {2, 8, 11, -1}, {2, 8, 12, -1}, {2, 8, 13, -1}, {2, 8, 14, -1}, {2, 8, 15, -1}, {2, 8, 16, -1}, {2, 8, 17, -1}, {2, 8, 18, -1}, {2, 8, 19, -1}, {2, 8, 20, -1}, {2, 8, 21, -1}, {2, 8, 22, -1}, {2, 8, 23, -1}, {2, 8, 24, -1}, {2, 8, 25, -1}, {2, 9, 10, -1}, {2, 9, 11, -1}, {2, 9, 12, -1}, {2, 9, 13, -1}, {2, 9, 14, -1}, {2, 9, 15, -1}, {2, 9, 16, -1}, {2, 9, 17, -1}, {2, 9, 18, -1}, {2, 9, 19, -1}, {2, 9, 20, -1}, {2, 9, 21, -1}, {2, 9, 22, -1}, {2, 9, 23, -1}, {2, 9, 24, -1}, {2, 9, 25, -1}, {2, 10, 11, -1}, {2, 10, 12, -1}, {2, 10, 13, -1}, {2, 10, 14, -1}, {2, 10, 15, -1}, {2, 10, 16, -1}, {2, 10, 17, -1}, {2, 10, 18, -1}, {2, 10, 19, -1}, {2, 10, 20, -1}, {2, 10, 21, -1}, {2, 10, 22, -1}, {2, 10, 23, -1}, {2, 10, 24, -1}, {2, 10, 25, -1}, {2, 11, 12, -1}, {2, 11, 13, -1}, {2, 11, 14, -1}, {2, 11, 15, -1}, {2, 11, 16, -1}, {2, 11, 17, -1}, {2, 11, 18, -1}, {2, 11, 19, -1}, {2, 11, 20, -1}, {2, 11, 21, -1}, {2, 11, 22, -1}, {2, 11, 23, -1}, {2, 11, 24, -1}, {2, 11, 25, -1}, {2, 12, 13, -1}, {2, 12, 14, -1}, {2, 12, 15, -1}, {2, 12, 16, -1}, {2, 12, 17, -1}, {2, 12, 18, -1}, {2, 12, 19, -1}, {2, 12, 20, -1}, {2, 12, 21, -1}, {2, 12, 22, -1}, {2, 12, 23, -1}, {2, 12, 24, -1}, {2, 12, 25, -1}, {2, 13, 14, -1}, {2, 13, 15, -1}, {2, 13, 16, -1}, {2, 13, 17, -1}, {2, 13, 18, -1}, {2, 13, 19, -1}, {2, 13, 20, -1}, {2, 13, 21, -1}, {2, 13, 22, -1}, {2, 13, 23, -1}, {2, 13, 24, -1}, {2, 13, 25, -1}, {2, 14, 15, -1}, {2, 14, 16, -1}, {2, 14, 17, -1}, {2, 14, 18, -1}, {2, 14, 19, -1}, {2, 14, 20, -1}, {2, 14, 21, -1}, {2, 14, 22, -1}, {2, 14, 23, -1}, {2, 14, 24, -1}, {2, 14, 25, -1}, {2, 15, 16, -1}, {2, 15, 17, -1}, {2, 15, 18, -1}, {2, 15, 19, -1}, {2, 15, 20, -1}, {2, 15, 21, -1}, {2, 15, 22, -1}, {2, 15, 23, -1}, {2, 15, 24, -1}, {2, 15, 25, -1}, {2, 16, 17, -1}, {2, 16, 18, -1}, {2, 16, 19, -1}, {2, 16, 20, -1}, {2, 16, 21, -1}, {2, 16, 22, -1}, {2, 16, 23, -1}, {2, 16, 24, -1}, {2, 16, 25, -1}, {2, 17, 18, -1}, {2, 17, 19, -1}, {2, 17, 20, -1}, {2, 17, 21, -1}, {2, 17, 22, -1}, {2, 17, 23, -1}, {2, 17, 24, -1}, {2, 17, 25, -1}, {2, 18, 19, -1}, {2, 18, 20, -1}, {2, 18, 21, -1}, {2, 18, 22, -1}, {2, 18, 23, -1}, {2, 18, 24, -1}, {2, 18, 25, -1}, {2, 19, 20, -1}, {2, 19, 21, -1}, {2, 19, 22, -1}, {2, 19, 23, -1}, {2, 19, 24, -1}, {2, 19, 25, -1}, {2, 20, 21, -1}, {2, 20, 22, -1}, {2, 20, 23, -1}, {2, 20, 24, -1}, {2, 20, 25, -1}, {2, 21, 22, -1}, {2, 21, 23, -1}, {2, 21, 24, -1}, {2, 21, 25, -1}, {2, 22, 23, -1}, {2, 22, 24, -1}, {2, 22, 25, -1}, {2, 23, 24, -1}, {2, 23, 25, -1}, {2, 24, 25, -1}, {3, 4, 5, -1}, {3, 4, 6, -1}, {3, 4, 7, -1}, {3, 4, 8, -1}, {3, 4, 9, -1}, {3, 4, 10, -1}, {3, 4, 11, -1}, {3, 4, 12, -1}, {3, 4, 13, -1}, {3, 4, 14, -1}, {3, 4, 15, -1}, {3, 4, 16, -1}, {3, 4, 17, -1}, {3, 4, 18, -1}, {3, 4, 19, -1}, {3, 4, 20, -1}, {3, 4, 21, -1}, {3, 4, 22, -1}, {3, 4, 23, -1}, {3, 4, 24, -1}, {3, 4, 25, -1}, {3, 5, 6, -1}, {3, 5, 7, -1}, {3, 5, 8, -1}, {3, 5, 9, -1}, {3, 5, 10, -1}, {3, 5, 11, -1}, {3, 5, 12, -1}, {3, 5, 13, -1}, {3, 5, 14, -1}, {3, 5, 15, -1}, {3, 5, 16, -1}, {3, 5, 17, -1}, {3, 5, 18, -1}, {3, 5, 19, -1}, {3, 5, 20, -1}, {3, 5, 21, -1}, {3, 5, 22, -1}, {3, 5, 23, -1}, {3, 5, 24, -1}, {3, 5, 25, -1}, {3, 6, 7, -1}, {3, 6, 8, -1}, {3, 6, 9, -1}, {3, 6, 10, -1}, {3, 6, 11, -1}, {3, 6, 12, -1}, {3, 6, 13, -1}, {3, 6, 14, -1}, {3, 6, 15, -1}, {3, 6, 16, -1}, {3, 6, 17, -1}, {3, 6, 18, -1}, {3, 6, 19, -1}, {3, 6, 20, -1}, {3, 6, 21, -1}, {3, 6, 22, -1}, {3, 6, 23, -1}, {3, 6, 24, -1}, {3, 6, 25, -1}, {3, 7, 8, -1}, {3, 7, 9, -1}, {3, 7, 10, -1}, {3, 7, 11, -1}, {3, 7, 12, -1}, {3, 7, 13, -1}, {3, 7, 14, -1}, {3, 7, 15, -1}, {3, 7, 16, -1}, {3, 7, 17, -1}, {3, 7, 18, -1}, {3, 7, 19, -1}, {3, 7, 20, -1}, {3, 7, 21, -1}, {3, 7, 22, -1}, {3, 7, 23, -1}, {3, 7, 24, -1}, {3, 7, 25, -1}, {3, 8, 9, -1}, {3, 8, 10, -1}, {3, 8, 11, -1}, {3, 8, 12, -1}, {3, 8, 13, -1}, {3, 8, 14, -1}, {3, 8, 15, -1}, {3, 8, 16, -1}, {3, 8, 17, -1}, {3, 8, 18, -1}, {3, 8, 19, -1}, {3, 8, 20, -1}, {3, 8, 21, -1}, {3, 8, 22, -1}, {3, 8, 23, -1}, {3, 8, 24, -1}, {3, 8, 25, -1}, {3, 9, 10, -1}, {3, 9, 11, -1}, {3, 9, 12, -1}, {3, 9, 13, -1}, {3, 9, 14, -1}, {3, 9, 15, -1}, {3, 9, 16, -1}, {3, 9, 17, -1}, {3, 9, 18, -1}, {3, 9, 19, -1}, {3, 9, 20, -1}, {3, 9, 21, -1}, {3, 9, 22, -1}, {3, 9, 23, -1}, {3, 9, 24, -1}, {3, 9, 25, -1}, {3, 10, 11, -1}, {3, 10, 12, -1}, {3, 10, 13, -1}, {3, 10, 14, -1}, {3, 10, 15, -1}, {3, 10, 16, -1}, {3, 10, 17, -1}, {3, 10, 18, -1}, {3, 10, 19, -1}, {3, 10, 20, -1}, {3, 10, 21, -1}, {3, 10, 22, -1}, {3, 10, 23, -1}, {3, 10, 24, -1}, {3, 10, 25, -1}, {3, 11, 12, -1}, {3, 11, 13, -1}, {3, 11, 14, -1}, {3, 11, 15, -1}, {3, 11, 16, -1}, {3, 11, 17, -1}, {3, 11, 18, -1}, {3, 11, 19, -1}, {3, 11, 20, -1}, {3, 11, 21, -1}, {3, 11, 22, -1}, {3, 11, 23, -1}, {3, 11, 24, -1}, {3, 11, 25, -1}, {3, 12, 13, -1}, {3, 12, 14, -1}, {3, 12, 15, -1}, {3, 12, 16, -1}, {3, 12, 17, -1}, {3, 12, 18, -1}, {3, 12, 19, -1}, {3, 12, 20, -1}, {3, 12, 21, -1}, {3, 12, 22, -1}, {3, 12, 23, -1}, {3, 12, 24, -1}, {3, 12, 25, -1}, {3, 13, 14, -1}, {3, 13, 15, -1}, {3, 13, 16, -1}, {3, 13, 17, -1}, {3, 13, 18, -1}, {3, 13, 19, -1}, {3, 13, 20, -1}, {3, 13, 21, -1}, {3, 13, 22, -1}, {3, 13, 23, -1}, {3, 13, 24, -1}, {3, 13, 25, -1}, {3, 14, 15, -1}, {3, 14, 16, -1}, {3, 14, 17, -1}, {3, 14, 18, -1}, {3, 14, 19, -1}, {3, 14, 20, -1}, {3, 14, 21, -1}, {3, 14, 22, -1}, {3, 14, 23, -1}, {3, 14, 24, -1}, {3, 14, 25, -1}, {3, 15, 16, -1}, {3, 15, 17, -1}, {3, 15, 18, -1}, {3, 15, 19, -1}, {3, 15, 20, -1}, {3, 15, 21, -1}, {3, 15, 22, -1}, {3, 15, 23, -1}, {3, 15, 24, -1}, {3, 15, 25, -1}, {3, 16, 17, -1}, {3, 16, 18, -1}, {3, 16, 19, -1}, {3, 16, 20, -1}, {3, 16, 21, -1}, {3, 16, 22, -1}, {3, 16, 23, -1}, {3, 16, 24, -1}, {3, 16, 25, -1}, {3, 17, 18, -1}, {3, 17, 19, -1}, {3, 17, 20, -1}, {3, 17, 21, -1}, {3, 17, 22, -1}, {3, 17, 23, -1}, {3, 17, 24, -1}, {3, 17, 25, -1}, {3, 18, 19, -1}, {3, 18, 20, -1}, {3, 18, 21, -1}, {3, 18, 22, -1}, {3, 18, 23, -1}, {3, 18, 24, -1}, {3, 18, 25, -1}, {3, 19, 20, -1}, {3, 19, 21, -1}, {3, 19, 22, -1}, {3, 19, 23, -1}, {3, 19, 24, -1}, {3, 19, 25, -1}, {3, 20, 21, -1}, {3, 20, 22, -1}, {3, 20, 23, -1}, {3, 20, 24, -1}, {3, 20, 25, -1}, {3, 21, 22, -1}, {3, 21, 23, -1}, {3, 21, 24, -1}, {3, 21, 25, -1}, {3, 22, 23, -1}, {3, 22, 24, -1}, {3, 22, 25, -1}, {3, 23, 24, -1}, {3, 23, 25, -1}, {3, 24, 25, -1}, {4, 5, 6, -1}, {4, 5, 7, -1}, {4, 5, 8, -1}, {4, 5, 9, -1}, {4, 5, 10, -1}, {4, 5, 11, -1}, {4, 5, 12, -1}, {4, 5, 13, -1}, {4, 5, 14, -1}, {4, 5, 15, -1}, {4, 5, 16, -1}, {4, 5, 17, -1}, {4, 5, 18, -1}, {4, 5, 19, -1}, {4, 5, 20, -1}, {4, 5, 21, -1}, {4, 5, 22, -1}, {4, 5, 23, -1}, {4, 5, 24, -1}, {4, 5, 25, -1}, {4, 6, 7, -1}, {4, 6, 8, -1}, {4, 6, 9, -1}, {4, 6, 10, -1}, {4, 6, 11, -1}, {4, 6, 12, -1}, {4, 6, 13, -1}, {4, 6, 14, -1}, {4, 6, 15, -1}, {4, 6, 16, -1}, {4, 6, 17, -1}, {4, 6, 18, -1}, {4, 6, 19, -1}, {4, 6, 20, -1}, {4, 6, 21, -1}, {4, 6, 22, -1}, {4, 6, 23, -1}, {4, 6, 24, -1}, {4, 6, 25, -1}, {4, 7, 8, -1}, {4, 7, 9, -1}, {4, 7, 10, -1}, {4, 7, 11, -1}, {4, 7, 12, -1}, {4, 7, 13, -1}, {4, 7, 14, -1}, {4, 7, 15, -1}, {4, 7, 16, -1}, {4, 7, 17, -1}, {4, 7, 18, -1}, {4, 7, 19, -1}, {4, 7, 20, -1}, {4, 7, 21, -1}, {4, 7, 22, -1}, {4, 7, 23, -1}, {4, 7, 24, -1}, {4, 7, 25, -1}, {4, 8, 9, -1}, {4, 8, 10, -1}, {4, 8, 11, -1}, {4, 8, 12, -1}, {4, 8, 13, -1}, {4, 8, 14, -1}, {4, 8, 15, -1}, {4, 8, 16, -1}, {4, 8, 17, -1}, {4, 8, 18, -1}, {4, 8, 19, -1}, {4, 8, 20, -1}, {4, 8, 21, -1}, {4, 8, 22, -1}, {4, 8, 23, -1}, {4, 8, 24, -1}, {4, 8, 25, -1}, {4, 9, 10, -1}, {4, 9, 11, -1}, {4, 9, 12, -1}, {4, 9, 13, -1}, {4, 9, 14, -1}, {4, 9, 15, -1}, {4, 9, 16, -1}, {4, 9, 17, -1}, {4, 9, 18, -1}, {4, 9, 19, -1}, {4, 9, 20, -1}, {4, 9, 21, -1}, {4, 9, 22, -1}, {4, 9, 23, -1}, {4, 9, 24, -1}, {4, 9, 25, -1}, {4, 10, 11, -1}, {4, 10, 12, -1}, {4, 10, 13, -1}, {4, 10, 14, -1}, {4, 10, 15, -1}, {4, 10, 16, -1}, {4, 10, 17, -1}, {4, 10, 18, -1}, {4, 10, 19, -1}, {4, 10, 20, -1}, {4, 10, 21, -1}, {4, 10, 22, -1}, {4, 10, 23, -1}, {4, 10, 24, -1}, {4, 10, 25, -1}, {4, 11, 12, -1}, {4, 11, 13, -1}, {4, 11, 14, -1}, {4, 11, 15, -1}, {4, 11, 16, -1}, {4, 11, 17, -1}, {4, 11, 18, -1}, {4, 11, 19, -1}, {4, 11, 20, -1}, {4, 11, 21, -1}, {4, 11, 22, -1}, {4, 11, 23, -1}, {4, 11, 24, -1}, {4, 11, 25, -1}, {4, 12, 13, -1}, {4, 12, 14, -1}, {4, 12, 15, -1}, {4, 12, 16, -1}, {4, 12, 17, -1}, {4, 12, 18, -1}, {4, 12, 19, -1}, {4, 12, 20, -1}, {4, 12, 21, -1}, {4, 12, 22, -1}, {4, 12, 23, -1}, {4, 12, 24, -1}, {4, 12, 25, -1}, {4, 13, 14, -1}, {4, 13, 15, -1}, {4, 13, 16, -1}, {4, 13, 17, -1}, {4, 13, 18, -1}, {4, 13, 19, -1}, {4, 13, 20, -1}, {4, 13, 21, -1}, {4, 13, 22, -1}, {4, 13, 23, -1}, {4, 13, 24, -1}, {4, 13, 25, -1}, {4, 14, 15, -1}, {4, 14, 16, -1}, {4, 14, 17, -1}, {4, 14, 18, -1}, {4, 14, 19, -1}, {4, 14, 20, -1}, {4, 14, 21, -1}, {4, 14, 22, -1}, {4, 14, 23, -1}, {4, 14, 24, -1}, {4, 14, 25, -1}, {4, 15, 16, -1}, {4, 15, 17, -1}, {4, 15, 18, -1}, {4, 15, 19, -1}, {4, 15, 20, -1}, {4, 15, 21, -1}, {4, 15, 22, -1}, {4, 15, 23, -1}, {4, 15, 24, -1}, {4, 15, 25, -1}, {4, 16, 17, -1}, {4, 16, 18, -1}, {4, 16, 19, -1}, {4, 16, 20, -1}, {4, 16, 21, -1}, {4, 16, 22, -1}, {4, 16, 23, -1}, {4, 16, 24, -1}, {4, 16, 25, -1}, {4, 17, 18, -1}, {4, 17, 19, -1}, {4, 17, 20, -1}, {4, 17, 21, -1}, {4, 17, 22, -1}, {4, 17, 23, -1}, {4, 17, 24, -1}, {4, 17, 25, -1}, {4, 18, 19, -1}, {4, 18, 20, -1}, {4, 18, 21, -1}, {4, 18, 22, -1}, {4, 18, 23, -1}, {4, 18, 24, -1}, {4, 18, 25, -1}, {4, 19, 20, -1}, {4, 19, 21, -1}, {4, 19, 22, -1}, {4, 19, 23, -1}, {4, 19, 24, -1}, {4, 19, 25, -1}, {4, 20, 21, -1}, {4, 20, 22, -1}, {4, 20, 23, -1}, {4, 20, 24, -1}, {4, 20, 25, -1}, {4, 21, 22, -1}, {4, 21, 23, -1}, {4, 21, 24, -1}, {4, 21, 25, -1}, {4, 22, 23, -1}, {4, 22, 24, -1}, {4, 22, 25, -1}, {4, 23, 24, -1}, {4, 23, 25, -1}, {4, 24, 25, -1}, {5, 6, 7, -1}, {5, 6, 8, -1}, {5, 6, 9, -1}, {5, 6, 10, -1}, {5, 6, 11, -1}, {5, 6, 12, -1}, {5, 6, 13, -1}, {5, 6, 14, -1}, {5, 6, 15, -1}, {5, 6, 16, -1}, {5, 6, 17, -1}, {5, 6, 18, -1}, {5, 6, 19, -1}, {5, 6, 20, -1}, {5, 6, 21, -1}, {5, 6, 22, -1}, {5, 6, 23, -1}, {5, 6, 24, -1}, {5, 6, 25, -1}, {5, 7, 8, -1}, {5, 7, 9, -1}, {5, 7, 10, -1}, {5, 7, 11, -1}, {5, 7, 12, -1}, {5, 7, 13, -1}, {5, 7, 14, -1}, {5, 7, 15, -1}, {5, 7, 16, -1}, {5, 7, 17, -1}, {5, 7, 18, -1}, {5, 7, 19, -1}, {5, 7, 20, -1}, {5, 7, 21, -1}, {5, 7, 22, -1}, {5, 7, 23, -1}, {5, 7, 24, -1}, {5, 7, 25, -1}, {5, 8, 9, -1}, {5, 8, 10, -1}, {5, 8, 11, -1}, {5, 8, 12, -1}, {5, 8, 13, -1}, {5, 8, 14, -1}, {5, 8, 15, -1}, {5, 8, 16, -1}, {5, 8, 17, -1}, {5, 8, 18, -1}, {5, 8, 19, -1}, {5, 8, 20, -1}, {5, 8, 21, -1}, {5, 8, 22, -1}, {5, 8, 23, -1}, {5, 8, 24, -1}, {5, 8, 25, -1}, {5, 9, 10, -1}, {5, 9, 11, -1}, {5, 9, 12, -1}, {5, 9, 13, -1}, {5, 9, 14, -1}, {5, 9, 15, -1}, {5, 9, 16, -1}, {5, 9, 17, -1}, {5, 9, 18, -1}, {5, 9, 19, -1}, {5, 9, 20, -1}, {5, 9, 21, -1}, {5, 9, 22, -1}, {5, 9, 23, -1}, {5, 9, 24, -1}, {5, 9, 25, -1}, {5, 10, 11, -1}, {5, 10, 12, -1}, {5, 10, 13, -1}, {5, 10, 14, -1}, {5, 10, 15, -1}, {5, 10, 16, -1}, {5, 10, 17, -1}, {5, 10, 18, -1}, {5, 10, 19, -1}, {5, 10, 20, -1}, {5, 10, 21, -1}, {5, 10, 22, -1}, {5, 10, 23, -1}, {5, 10, 24, -1}, {5, 10, 25, -1}, {5, 11, 12, -1}, {5, 11, 13, -1}, {5, 11, 14, -1}, {5, 11, 15, -1}, {5, 11, 16, -1}, {5, 11, 17, -1}, {5, 11, 18, -1}, {5, 11, 19, -1}, {5, 11, 20, -1}, {5, 11, 21, -1}, {5, 11, 22, -1}, {5, 11, 23, -1}, {5, 11, 24, -1}, {5, 11, 25, -1}, {5, 12, 13, -1}, {5, 12, 14, -1}, {5, 12, 15, -1}, {5, 12, 16, -1}, {5, 12, 17, -1}, {5, 12, 18, -1}, {5, 12, 19, -1}, {5, 12, 20, -1}, {5, 12, 21, -1}, {5, 12, 22, -1}, {5, 12, 23, -1}, {5, 12, 24, -1}, {5, 12, 25, -1}, {5, 13, 14, -1}, {5, 13, 15, -1}, {5, 13, 16, -1}, {5, 13, 17, -1}, {5, 13, 18, -1}, {5, 13, 19, -1}, {5, 13, 20, -1}, {5, 13, 21, -1}, {5, 13, 22, -1}, {5, 13, 23, -1}, {5, 13, 24, -1}, {5, 13, 25, -1}, {5, 14, 15, -1}, {5, 14, 16, -1}, {5, 14, 17, -1}, {5, 14, 18, -1}, {5, 14, 19, -1}, {5, 14, 20, -1}, {5, 14, 21, -1}, {5, 14, 22, -1}, {5, 14, 23, -1}, {5, 14, 24, -1}, {5, 14, 25, -1}, {5, 15, 16, -1}, {5, 15, 17, -1}, {5, 15, 18, -1}, {5, 15, 19, -1}, {5, 15, 20, -1}, {5, 15, 21, -1}, {5, 15, 22, -1}, {5, 15, 23, -1}, {5, 15, 24, -1}, {5, 15, 25, -1}, {5, 16, 17, -1}, {5, 16, 18, -1}, {5, 16, 19, -1}, {5, 16, 20, -1}, {5, 16, 21, -1}, {5, 16, 22, -1}, {5, 16, 23, -1}, {5, 16, 24, -1}, {5, 16, 25, -1}, {5, 17, 18, -1}, {5, 17, 19, -1}, {5, 17, 20, -1}, {5, 17, 21, -1}, {5, 17, 22, -1}, {5, 17, 23, -1}, {5, 17, 24, -1}, {5, 17, 25, -1}, {5, 18, 19, -1}, {5, 18, 20, -1}, {5, 18, 21, -1}, {5, 18, 22, -1}, {5, 18, 23, -1}, {5, 18, 24, -1}, {5, 18, 25, -1}, {5, 19, 20, -1}, {5, 19, 21, -1}, {5, 19, 22, -1}, {5, 19, 23, -1}, {5, 19, 24, -1}, {5, 19, 25, -1}, {5, 20, 21, -1}, {5, 20, 22, -1}, {5, 20, 23, -1}, {5, 20, 24, -1}, {5, 20, 25, -1}, {5, 21, 22, -1}, {5, 21, 23, -1}, {5, 21, 24, -1}, {5, 21, 25, -1}, {5, 22, 23, -1}, {5, 22, 24, -1}, {5, 22, 25, -1}, {5, 23, 24, -1}, {5, 23, 25, -1}, {5, 24, 25, -1}, {6, 7, 8, -1}, {6, 7, 9, -1}, {6, 7, 10, -1}, {6, 7, 11, -1}, {6, 7, 12, -1}, {6, 7, 13, -1}, {6, 7, 14, -1}, {6, 7, 15, -1}, {6, 7, 16, -1}, {6, 7, 17, -1}, {6, 7, 18, -1}, {6, 7, 19, -1}, {6, 7, 20, -1}, {6, 7, 21, -1}, {6, 7, 22, -1}, {6, 7, 23, -1}, {6, 7, 24, -1}, {6, 7, 25, -1}, {6, 8, 9, -1}, {6, 8, 10, -1}, {6, 8, 11, -1}, {6, 8, 12, -1}, {6, 8, 13, -1}, {6, 8, 14, -1}, {6, 8, 15, -1}, {6, 8, 16, -1}, {6, 8, 17, -1}, {6, 8, 18, -1}, {6, 8, 19, -1}, {6, 8, 20, -1}, {6, 8, 21, -1}, {6, 8, 22, -1}, {6, 8, 23, -1}, {6, 8, 24, -1}, {6, 8, 25, -1}, {6, 9, 10, -1}, {6, 9, 11, -1}, {6, 9, 12, -1}, {6, 9, 13, -1}, {6, 9, 14, -1}, {6, 9, 15, -1}, {6, 9, 16, -1}, {6, 9, 17, -1}, {6, 9, 18, -1}, {6, 9, 19, -1}, {6, 9, 20, -1}, {6, 9, 21, -1}, {6, 9, 22, -1}, {6, 9, 23, -1}, {6, 9, 24, -1}, {6, 9, 25, -1}, {6, 10, 11, -1}, {6, 10, 12, -1}, {6, 10, 13, -1}, {6, 10, 14, -1}, {6, 10, 15, -1}, {6, 10, 16, -1}, {6, 10, 17, -1}, {6, 10, 18, -1}, {6, 10, 19, -1}, {6, 10, 20, -1}, {6, 10, 21, -1}, {6, 10, 22, -1}, {6, 10, 23, -1}, {6, 10, 24, -1}, {6, 10, 25, -1}, {6, 11, 12, -1}, {6, 11, 13, -1}, {6, 11, 14, -1}, {6, 11, 15, -1}, {6, 11, 16, -1}, {6, 11, 17, -1}, {6, 11, 18, -1}, {6, 11, 19, -1}, {6, 11, 20, -1}, {6, 11, 21, -1}, {6, 11, 22, -1}, {6, 11, 23, -1}, {6, 11, 24, -1}, {6, 11, 25, -1}, {6, 12, 13, -1}, {6, 12, 14, -1}, {6, 12, 15, -1}, {6, 12, 16, -1}, {6, 12, 17, -1}, {6, 12, 18, -1}, {6, 12, 19, -1}, {6, 12, 20, -1}, {6, 12, 21, -1}, {6, 12, 22, -1}, {6, 12, 23, -1}, {6, 12, 24, -1}, {6, 12, 25, -1}, {6, 13, 14, -1}, {6, 13, 15, -1}, {6, 13, 16, -1}, {6, 13, 17, -1}, {6, 13, 18, -1}, {6, 13, 19, -1}, {6, 13, 20, -1}, {6, 13, 21, -1}, {6, 13, 22, -1}, {6, 13, 23, -1}, {6, 13, 24, -1}, {6, 13, 25, -1}, {6, 14, 15, -1}, {6, 14, 16, -1}, {6, 14, 17, -1}, {6, 14, 18, -1}, {6, 14, 19, -1}, {6, 14, 20, -1}, {6, 14, 21, -1}, {6, 14, 22, -1}, {6, 14, 23, -1}, {6, 14, 24, -1}, {6, 14, 25, -1}, {6, 15, 16, -1}, {6, 15, 17, -1}, {6, 15, 18, -1}, {6, 15, 19, -1}, {6, 15, 20, -1}, {6, 15, 21, -1}, {6, 15, 22, -1}, {6, 15, 23, -1}, {6, 15, 24, -1}, {6, 15, 25, -1}, {6, 16, 17, -1}, {6, 16, 18, -1}, {6, 16, 19, -1}, {6, 16, 20, -1}, {6, 16, 21, -1}, {6, 16, 22, -1}, {6, 16, 23, -1}, {6, 16, 24, -1}, {6, 16, 25, -1}, {6, 17, 18, -1}, {6, 17, 19, -1}, {6, 17, 20, -1}, {6, 17, 21, -1}, {6, 17, 22, -1}, {6, 17, 23, -1}, {6, 17, 24, -1}, {6, 17, 25, -1}, {6, 18, 19, -1}, {6, 18, 20, -1}, {6, 18, 21, -1}, {6, 18, 22, -1}, {6, 18, 23, -1}, {6, 18, 24, -1}, {6, 18, 25, -1}, {6, 19, 20, -1}, {6, 19, 21, -1}, {6, 19, 22, -1}, {6, 19, 23, -1}, {6, 19, 24, -1}, {6, 19, 25, -1}, {6, 20, 21, -1}, {6, 20, 22, -1}, {6, 20, 23, -1}, {6, 20, 24, -1}, {6, 20, 25, -1}, {6, 21, 22, -1}, {6, 21, 23, -1}, {6, 21, 24, -1}, {6, 21, 25, -1}, {6, 22, 23, -1}, {6, 22, 24, -1}, {6, 22, 25, -1}, {6, 23, 24, -1}, {6, 23, 25, -1}, {6, 24, 25, -1}, {7, 8, 9, -1}, {7, 8, 10, -1}, {7, 8, 11, -1}, {7, 8, 12, -1}, {7, 8, 13, -1}, {7, 8, 14, -1}, {7, 8, 15, -1}, {7, 8, 16, -1}, {7, 8, 17, -1}, {7, 8, 18, -1}, {7, 8, 19, -1}, {7, 8, 20, -1}, {7, 8, 21, -1}, {7, 8, 22, -1}, {7, 8, 23, -1}, {7, 8, 24, -1}, {7, 8, 25, -1}, {7, 9, 10, -1}, {7, 9, 11, -1}, {7, 9, 12, -1}, {7, 9, 13, -1}, {7, 9, 14, -1}, {7, 9, 15, -1}, {7, 9, 16, -1}, {7, 9, 17, -1}, {7, 9, 18, -1}, {7, 9, 19, -1}, {7, 9, 20, -1}, {7, 9, 21, -1}, {7, 9, 22, -1}, {7, 9, 23, -1}, {7, 9, 24, -1}, {7, 9, 25, -1}, {7, 10, 11, -1}, {7, 10, 12, -1}, {7, 10, 13, -1}, {7, 10, 14, -1}, {7, 10, 15, -1}, {7, 10, 16, -1}, {7, 10, 17, -1}, {7, 10, 18, -1}, {7, 10, 19, -1}, {7, 10, 20, -1}, {7, 10, 21, -1}, {7, 10, 22, -1}, {7, 10, 23, -1}, {7, 10, 24, -1}, {7, 10, 25, -1}, {7, 11, 12, -1}, {7, 11, 13, -1}, {7, 11, 14, -1}, {7, 11, 15, -1}, {7, 11, 16, -1}, {7, 11, 17, -1}, {7, 11, 18, -1}, {7, 11, 19, -1}, {7, 11, 20, -1}, {7, 11, 21, -1}, {7, 11, 22, -1}, {7, 11, 23, -1}, {7, 11, 24, -1}, {7, 11, 25, -1}, {7, 12, 13, -1}, {7, 12, 14, -1}, {7, 12, 15, -1}, {7, 12, 16, -1}, {7, 12, 17, -1}, {7, 12, 18, -1}, {7, 12, 19, -1}, {7, 12, 20, -1}, {7, 12, 21, -1}, {7, 12, 22, -1}, {7, 12, 23, -1}, {7, 12, 24, -1}, {7, 12, 25, -1}, {7, 13, 14, -1}, {7, 13, 15, -1}, {7, 13, 16, -1}, {7, 13, 17, -1}, {7, 13, 18, -1}, {7, 13, 19, -1}, {7, 13, 20, -1}, {7, 13, 21, -1}, {7, 13, 22, -1}, {7, 13, 23, -1}, {7, 13, 24, -1}, {7, 13, 25, -1}, {7, 14, 15, -1}, {7, 14, 16, -1}, {7, 14, 17, -1}, {7, 14, 18, -1}, {7, 14, 19, -1}, {7, 14, 20, -1}, {7, 14, 21, -1}, {7, 14, 22, -1}, {7, 14, 23, -1}, {7, 14, 24, -1}, {7, 14, 25, -1}, {7, 15, 16, -1}, {7, 15, 17, -1}, {7, 15, 18, -1}, {7, 15, 19, -1}, {7, 15, 20, -1}, {7, 15, 21, -1}, {7, 15, 22, -1}, {7, 15, 23, -1}, {7, 15, 24, -1}, {7, 15, 25, -1}, {7, 16, 17, -1}, {7, 16, 18, -1}, {7, 16, 19, -1}, {7, 16, 20, -1}, {7, 16, 21, -1}, {7, 16, 22, -1}, {7, 16, 23, -1}, {7, 16, 24, -1}, {7, 16, 25, -1}, {7, 17, 18, -1}, {7, 17, 19, -1}, {7, 17, 20, -1}, {7, 17, 21, -1}, {7, 17, 22, -1}, {7, 17, 23, -1}, {7, 17, 24, -1}, {7, 17, 25, -1}, {7, 18, 19, -1}, {7, 18, 20, -1}, {7, 18, 21, -1}, {7, 18, 22, -1}, {7, 18, 23, -1}, {7, 18, 24, -1}, {7, 18, 25, -1}, {7, 19, 20, -1}, {7, 19, 21, -1}, {7, 19, 22, -1}, {7, 19, 23, -1}, {7, 19, 24, -1}, {7, 19, 25, -1}, {7, 20, 21, -1}, {7, 20, 22, -1}, {7, 20, 23, -1}, {7, 20, 24, -1}, {7, 20, 25, -1}, {7, 21, 22, -1}, {7, 21, 23, -1}, {7, 21, 24, -1}, {7, 21, 25, -1}, {7, 22, 23, -1}, {7, 22, 24, -1}, {7, 22, 25, -1}, {7, 23, 24, -1}, {7, 23, 25, -1}, {7, 24, 25, -1}, {8, 9, 10, -1}, {8, 9, 11, -1}, {8, 9, 12, -1}, {8, 9, 13, -1}, {8, 9, 14, -1}, {8, 9, 15, -1}, {8, 9, 16, -1}, {8, 9, 17, -1}, {8, 9, 18, -1}, {8, 9, 19, -1}, {8, 9, 20, -1}, {8, 9, 21, -1}, {8, 9, 22, -1}, {8, 9, 23, -1}, {8, 9, 24, -1}, {8, 9, 25, -1}, {8, 10, 11, -1}, {8, 10, 12, -1}, {8, 10, 13, -1}, {8, 10, 14, -1}, {8, 10, 15, -1}, {8, 10, 16, -1}, {8, 10, 17, -1}, {8, 10, 18, -1}, {8, 10, 19, -1}, {8, 10, 20, -1}, {8, 10, 21, -1}, {8, 10, 22, -1}, {8, 10, 23, -1}, {8, 10, 24, -1}, {8, 10, 25, -1}, {8, 11, 12, -1}, {8, 11, 13, -1}, {8, 11, 14, -1}, {8, 11, 15, -1}, {8, 11, 16, -1}, {8, 11, 17, -1}, {8, 11, 18, -1}, {8, 11, 19, -1}, {8, 11, 20, -1}, {8, 11, 21, -1}, {8, 11, 22, -1}, {8, 11, 23, -1}, {8, 11, 24, -1}, {8, 11, 25, -1}, {8, 12, 13, -1}, {8, 12, 14, -1}, {8, 12, 15, -1}, {8, 12, 16, -1}, {8, 12, 17, -1}, {8, 12, 18, -1}, {8, 12, 19, -1}, {8, 12, 20, -1}, {8, 12, 21, -1}, {8, 12, 22, -1}, {8, 12, 23, -1}, {8, 12, 24, -1}, {8, 12, 25, -1}, {8, 13, 14, -1}, {8, 13, 15, -1}, {8, 13, 16, -1}, {8, 13, 17, -1}, {8, 13, 18, -1}, {8, 13, 19, -1}, {8, 13, 20, -1}, {8, 13, 21, -1}, {8, 13, 22, -1}, {8, 13, 23, -1}, {8, 13, 24, -1}, {8, 13, 25, -1}, {8, 14, 15, -1}, {8, 14, 16, -1}, {8, 14, 17, -1}, {8, 14, 18, -1}, {8, 14, 19, -1}, {8, 14, 20, -1}, {8, 14, 21, -1}, {8, 14, 22, -1}, {8, 14, 23, -1}, {8, 14, 24, -1}, {8, 14, 25, -1}, {8, 15, 16, -1}, {8, 15, 17, -1}, {8, 15, 18, -1}, {8, 15, 19, -1}, {8, 15, 20, -1}, {8, 15, 21, -1}, {8, 15, 22, -1}, {8, 15, 23, -1}, {8, 15, 24, -1}, {8, 15, 25, -1}, {8, 16, 17, -1}, {8, 16, 18, -1}, {8, 16, 19, -1}, {8, 16, 20, -1}, {8, 16, 21, -1}, {8, 16, 22, -1}, {8, 16, 23, -1}, {8, 16, 24, -1}, {8, 16, 25, -1}, {8, 17, 18, -1}, {8, 17, 19, -1}, {8, 17, 20, -1}, {8, 17, 21, -1}, {8, 17, 22, -1}, {8, 17, 23, -1}, {8, 17, 24, -1}, {8, 17, 25, -1}, {8, 18, 19, -1}, {8, 18, 20, -1}, {8, 18, 21, -1}, {8, 18, 22, -1}, {8, 18, 23, -1}, {8, 18, 24, -1}, {8, 18, 25, -1}, {8, 19, 20, -1}, {8, 19, 21, -1}, {8, 19, 22, -1}, {8, 19, 23, -1}, {8, 19, 24, -1}, {8, 19, 25, -1}, {8, 20, 21, -1}, {8, 20, 22, -1}, {8, 20, 23, -1}, {8, 20, 24, -1}, {8, 20, 25, -1}, {8, 21, 22, -1}, {8, 21, 23, -1}, {8, 21, 24, -1}, {8, 21, 25, -1}, {8, 22, 23, -1}, {8, 22, 24, -1}, {8, 22, 25, -1}, {8, 23, 24, -1}, {8, 23, 25, -1}, {8, 24, 25, -1}, {9, 10, 11, -1}, {9, 10, 12, -1}, {9, 10, 13, -1}, {9, 10, 14, -1}, {9, 10, 15, -1}, {9, 10, 16, -1}, {9, 10, 17, -1}, {9, 10, 18, -1}, {9, 10, 19, -1}, {9, 10, 20, -1}, {9, 10, 21, -1}, {9, 10, 22, -1}, {9, 10, 23, -1}, {9, 10, 24, -1}, {9, 10, 25, -1}, {9, 11, 12, -1}, {9, 11, 13, -1}, {9, 11, 14, -1}, {9, 11, 15, -1}, {9, 11, 16, -1}, {9, 11, 17, -1}, {9, 11, 18, -1}, {9, 11, 19, -1}, {9, 11, 20, -1}, {9, 11, 21, -1}, {9, 11, 22, -1}, {9, 11, 23, -1}, {9, 11, 24, -1}, {9, 11, 25, -1}, {9, 12, 13, -1}, {9, 12, 14, -1}, {9, 12, 15, -1}, {9, 12, 16, -1}, {9, 12, 17, -1}, {9, 12, 18, -1}, {9, 12, 19, -1}, {9, 12, 20, -1}, {9, 12, 21, -1}, {9, 12, 22, -1}, {9, 12, 23, -1}, {9, 12, 24, -1}, {9, 12, 25, -1}, {9, 13, 14, -1}, {9, 13, 15, -1}, {9, 13, 16, -1}, {9, 13, 17, -1}, {9, 13, 18, -1}, {9, 13, 19, -1}, {9, 13, 20, -1}, {9, 13, 21, -1}, {9, 13, 22, -1}, {9, 13, 23, -1}, {9, 13, 24, -1}, {9, 13, 25, -1}, {9, 14, 15, -1}, {9, 14, 16, -1}, {9, 14, 17, -1}, {9, 14, 18, -1}, {9, 14, 19, -1}, {9, 14, 20, -1}, {9, 14, 21, -1}, {9, 14, 22, -1}, {9, 14, 23, -1}, {9, 14, 24, -1}, {9, 14, 25, -1}, {9, 15, 16, -1}, {9, 15, 17, -1}, {9, 15, 18, -1}, {9, 15, 19, -1}, {9, 15, 20, -1}, {9, 15, 21, -1}, {9, 15, 22, -1}, {9, 15, 23, -1}, {9, 15, 24, -1}, {9, 15, 25, -1}, {9, 16, 17, -1}, {9, 16, 18, -1}, {9, 16, 19, -1}, {9, 16, 20, -1}, {9, 16, 21, -1}, {9, 16, 22, -1}, {9, 16, 23, -1}, {9, 16, 24, -1}, {9, 16, 25, -1}, {9, 17, 18, -1}, {9, 17, 19, -1}, {9, 17, 20, -1}, {9, 17, 21, -1}, {9, 17, 22, -1}, {9, 17, 23, -1}, {9, 17, 24, -1}, {9, 17, 25, -1}, {9, 18, 19, -1}, {9, 18, 20, -1}, {9, 18, 21, -1}, {9, 18, 22, -1}, {9, 18, 23, -1}, {9, 18, 24, -1}, {9, 18, 25, -1}, {9, 19, 20, -1}, {9, 19, 21, -1}, {9, 19, 22, -1}, {9, 19, 23, -1}, {9, 19, 24, -1}, {9, 19, 25, -1}, {9, 20, 21, -1}, {9, 20, 22, -1}, {9, 20, 23, -1}, {9, 20, 24, -1}, {9, 20, 25, -1}, {9, 21, 22, -1}, {9, 21, 23, -1}, {9, 21, 24, -1}, {9, 21, 25, -1}, {9, 22, 23, -1}, {9, 22, 24, -1}, {9, 22, 25, -1}, {9, 23, 24, -1}, {9, 23, 25, -1}, {9, 24, 25, -1}, {10, 11, 12, -1}, {10, 11, 13, -1}, {10, 11, 14, -1}, {10, 11, 15, -1}, {10, 11, 16, -1}, {10, 11, 17, -1}, {10, 11, 18, -1}, {10, 11, 19, -1}, {10, 11, 20, -1}, {10, 11, 21, -1}, {10, 11, 22, -1}, {10, 11, 23, -1}, {10, 11, 24, -1}, {10, 11, 25, -1}, {10, 12, 13, -1}, {10, 12, 14, -1}, {10, 12, 15, -1}, {10, 12, 16, -1}, {10, 12, 17, -1}, {10, 12, 18, -1}, {10, 12, 19, -1}, {10, 12, 20, -1}, {10, 12, 21, -1}, {10, 12, 22, -1}, {10, 12, 23, -1}, {10, 12, 24, -1}, {10, 12, 25, -1}, {10, 13, 14, -1}, {10, 13, 15, -1}, {10, 13, 16, -1}, {10, 13, 17, -1}, {10, 13, 18, -1}, {10, 13, 19, -1}, {10, 13, 20, -1}, {10, 13, 21, -1}, {10, 13, 22, -1}, {10, 13, 23, -1}, {10, 13, 24, -1}, {10, 13, 25, -1}, {10, 14, 15, -1}, {10, 14, 16, -1}, {10, 14, 17, -1}, {10, 14, 18, -1}, {10, 14, 19, -1}, {10, 14, 20, -1}, {10, 14, 21, -1}, {10, 14, 22, -1}, {10, 14, 23, -1}, {10, 14, 24, -1}, {10, 14, 25, -1}, {10, 15, 16, -1}, {10, 15, 17, -1}, {10, 15, 18, -1}, {10, 15, 19, -1}, {10, 15, 20, -1}, {10, 15, 21, -1}, {10, 15, 22, -1}, {10, 15, 23, -1}, {10, 15, 24, -1}, {10, 15, 25, -1}, {10, 16, 17, -1}, {10, 16, 18, -1}, {10, 16, 19, -1}, {10, 16, 20, -1}, {10, 16, 21, -1}, {10, 16, 22, -1}, {10, 16, 23, -1}, {10, 16, 24, -1}, {10, 16, 25, -1}, {10, 17, 18, -1}, {10, 17, 19, -1}, {10, 17, 20, -1}, {10, 17, 21, -1}, {10, 17, 22, -1}, {10, 17, 23, -1}, {10, 17, 24, -1}, {10, 17, 25, -1}, {10, 18, 19, -1}, {10, 18, 20, -1}, {10, 18, 21, -1}, {10, 18, 22, -1}, {10, 18, 23, -1}, {10, 18, 24, -1}, {10, 18, 25, -1}, {10, 19, 20, -1}, {10, 19, 21, -1}, {10, 19, 22, -1}, {10, 19, 23, -1}, {10, 19, 24, -1}, {10, 19, 25, -1}, {10, 20, 21, -1}, {10, 20, 22, -1}, {10, 20, 23, -1}, {10, 20, 24, -1}, {10, 20, 25, -1}, {10, 21, 22, -1}, {10, 21, 23, -1}, {10, 21, 24, -1}, {10, 21, 25, -1}, {10, 22, 23, -1}, {10, 22, 24, -1}, {10, 22, 25, -1}, {10, 23, 24, -1}, {10, 23, 25, -1}, {10, 24, 25, -1}, {11, 12, 13, -1}, {11, 12, 14, -1}, {11, 12, 15, -1}, {11, 12, 16, -1}, {11, 12, 17, -1}, {11, 12, 18, -1}, {11, 12, 19, -1}, {11, 12, 20, -1}, {11, 12, 21, -1}, {11, 12, 22, -1}, {11, 12, 23, -1}, {11, 12, 24, -1}, {11, 12, 25, -1}, {11, 13, 14, -1}, {11, 13, 15, -1}, {11, 13, 16, -1}, {11, 13, 17, -1}, {11, 13, 18, -1}, {11, 13, 19, -1}, {11, 13, 20, -1}, {11, 13, 21, -1}, {11, 13, 22, -1}, {11, 13, 23, -1}, {11, 13, 24, -1}, {11, 13, 25, -1}, {11, 14, 15, -1}, {11, 14, 16, -1}, {11, 14, 17, -1}, {11, 14, 18, -1}, {11, 14, 19, -1}, {11, 14, 20, -1}, {11, 14, 21, -1}, {11, 14, 22, -1}, {11, 14, 23, -1}, {11, 14, 24, -1}, {11, 14, 25, -1}, {11, 15, 16, -1}, {11, 15, 17, -1}, {11, 15, 18, -1}, {11, 15, 19, -1}, {11, 15, 20, -1}, {11, 15, 21, -1}, {11, 15, 22, -1}, {11, 15, 23, -1}, {11, 15, 24, -1}, {11, 15, 25, -1}, {11, 16, 17, -1}, {11, 16, 18, -1}, {11, 16, 19, -1}, {11, 16, 20, -1}, {11, 16, 21, -1}, {11, 16, 22, -1}, {11, 16, 23, -1}, {11, 16, 24, -1}, {11, 16, 25, -1}, {11, 17, 18, -1}, {11, 17, 19, -1}, {11, 17, 20, -1}, {11, 17, 21, -1}, {11, 17, 22, -1}, {11, 17, 23, -1}, {11, 17, 24, -1}, {11, 17, 25, -1}, {11, 18, 19, -1}, {11, 18, 20, -1}, {11, 18, 21, -1}, {11, 18, 22, -1}, {11, 18, 23, -1}, {11, 18, 24, -1}, {11, 18, 25, -1}, {11, 19, 20, -1}, {11, 19, 21, -1}, {11, 19, 22, -1}, {11, 19, 23, -1}, {11, 19, 24, -1}, {11, 19, 25, -1}, {11, 20, 21, -1}, {11, 20, 22, -1}, {11, 20, 23, -1}, {11, 20, 24, -1}, {11, 20, 25, -1}, {11, 21, 22, -1}, {11, 21, 23, -1}, {11, 21, 24, -1}, {11, 21, 25, -1}, {11, 22, 23, -1}, {11, 22, 24, -1}, {11, 22, 25, -1}, {11, 23, 24, -1}, {11, 23, 25, -1}, {11, 24, 25, -1}, {12, 13, 14, -1}, {12, 13, 15, -1}, {12, 13, 16, -1}, {12, 13, 17, -1}, {12, 13, 18, -1}, {12, 13, 19, -1}, {12, 13, 20, -1}, {12, 13, 21, -1}, {12, 13, 22, -1}, {12, 13, 23, -1}, {12, 13, 24, -1}, {12, 13, 25, -1}, {12, 14, 15, -1}, {12, 14, 16, -1}, {12, 14, 17, -1}, {12, 14, 18, -1}, {12, 14, 19, -1}, {12, 14, 20, -1}, {12, 14, 21, -1}, {12, 14, 22, -1}, {12, 14, 23, -1}, {12, 14, 24, -1}, {12, 14, 25, -1}, {12, 15, 16, -1}, {12, 15, 17, -1}, {12, 15, 18, -1}, {12, 15, 19, -1}, {12, 15, 20, -1}, {12, 15, 21, -1}, {12, 15, 22, -1}, {12, 15, 23, -1}, {12, 15, 24, -1}, {12, 15, 25, -1}, {12, 16, 17, -1}, {12, 16, 18, -1}, {12, 16, 19, -1}, {12, 16, 20, -1}, {12, 16, 21, -1}, {12, 16, 22, -1}, {12, 16, 23, -1}, {12, 16, 24, -1}, {12, 16, 25, -1}, {12, 17, 18, -1}, {12, 17, 19, -1}, {12, 17, 20, -1}, {12, 17, 21, -1}, {12, 17, 22, -1}, {12, 17, 23, -1}, {12, 17, 24, -1}, {12, 17, 25, -1}, {12, 18, 19, -1}, {12, 18, 20, -1}, {12, 18, 21, -1}, {12, 18, 22, -1}, {12, 18, 23, -1}, {12, 18, 24, -1}, {12, 18, 25, -1}, {12, 19, 20, -1}, {12, 19, 21, -1}, {12, 19, 22, -1}, {12, 19, 23, -1}, {12, 19, 24, -1}, {12, 19, 25, -1}, {12, 20, 21, -1}, {12, 20, 22, -1}, {12, 20, 23, -1}, {12, 20, 24, -1}, {12, 20, 25, -1}, {12, 21, 22, -1}, {12, 21, 23, -1}, {12, 21, 24, -1}, {12, 21, 25, -1}, {12, 22, 23, -1}, {12, 22, 24, -1}, {12, 22, 25, -1}, {12, 23, 24, -1}, {12, 23, 25, -1}, {12, 24, 25, -1}, {13, 14, 15, -1}, {13, 14, 16, -1}, {13, 14, 17, -1}, {13, 14, 18, -1}, {13, 14, 19, -1}, {13, 14, 20, -1}, {13, 14, 21, -1}, {13, 14, 22, -1}, {13, 14, 23, -1}, {13, 14, 24, -1}, {13, 14, 25, -1}, {13, 15, 16, -1}, {13, 15, 17, -1}, {13, 15, 18, -1}, {13, 15, 19, -1}, {13, 15, 20, -1}, {13, 15, 21, -1}, {13, 15, 22, -1}, {13, 15, 23, -1}, {13, 15, 24, -1}, {13, 15, 25, -1}, {13, 16, 17, -1}, {13, 16, 18, -1}, {13, 16, 19, -1}, {13, 16, 20, -1}, {13, 16, 21, -1}, {13, 16, 22, -1}, {13, 16, 23, -1}, {13, 16, 24, -1}, {13, 16, 25, -1}, {13, 17, 18, -1}, {13, 17, 19, -1}, {13, 17, 20, -1}, {13, 17, 21, -1}, {13, 17, 22, -1}, {13, 17, 23, -1}, {13, 17, 24, -1}, {13, 17, 25, -1}, {13, 18, 19, -1}, {13, 18, 20, -1}, {13, 18, 21, -1}, {13, 18, 22, -1}, {13, 18, 23, -1}, {13, 18, 24, -1}, {13, 18, 25, -1}, {13, 19, 20, -1}, {13, 19, 21, -1}, {13, 19, 22, -1}, {13, 19, 23, -1}, {13, 19, 24, -1}, {13, 19, 25, -1}, {13, 20, 21, -1}, {13, 20, 22, -1}, {13, 20, 23, -1}, {13, 20, 24, -1}, {13, 20, 25, -1}, {13, 21, 22, -1}, {13, 21, 23, -1}, {13, 21, 24, -1}, {13, 21, 25, -1}, {13, 22, 23, -1}, {13, 22, 24, -1}, {13, 22, 25, -1}, {13, 23, 24, -1}, {13, 23, 25, -1}, {13, 24, 25, -1}, {14, 15, 16, -1}, {14, 15, 17, -1}, {14, 15, 18, -1}, {14, 15, 19, -1}, {14, 15, 20, -1}, {14, 15, 21, -1}, {14, 15, 22, -1}, {14, 15, 23, -1}, {14, 15, 24, -1}, {14, 15, 25, -1}, {14, 16, 17, -1}, {14, 16, 18, -1}, {14, 16, 19, -1}, {14, 16, 20, -1}, {14, 16, 21, -1}, {14, 16, 22, -1}, {14, 16, 23, -1}, {14, 16, 24, -1}, {14, 16, 25, -1}, {14, 17, 18, -1}, {14, 17, 19, -1}, {14, 17, 20, -1}, {14, 17, 21, -1}, {14, 17, 22, -1}, {14, 17, 23, -1}, {14, 17, 24, -1}, {14, 17, 25, -1}, {14, 18, 19, -1}, {14, 18, 20, -1}, {14, 18, 21, -1}, {14, 18, 22, -1}, {14, 18, 23, -1}, {14, 18, 24, -1}, {14, 18, 25, -1}, {14, 19, 20, -1}, {14, 19, 21, -1}, {14, 19, 22, -1}, {14, 19, 23, -1}, {14, 19, 24, -1}, {14, 19, 25, -1}, {14, 20, 21, -1}, {14, 20, 22, -1}, {14, 20, 23, -1}, {14, 20, 24, -1}, {14, 20, 25, -1}, {14, 21, 22, -1}, {14, 21, 23, -1}, {14, 21, 24, -1}, {14, 21, 25, -1}, {14, 22, 23, -1}, {14, 22, 24, -1}, {14, 22, 25, -1}, {14, 23, 24, -1}, {14, 23, 25, -1}, {14, 24, 25, -1}, {15, 16, 17, -1}, {15, 16, 18, -1}, {15, 16, 19, -1}, {15, 16, 20, -1}, {15, 16, 21, -1}, {15, 16, 22, -1}, {15, 16, 23, -1}, {15, 16, 24, -1}, {15, 16, 25, -1}, {15, 17, 18, -1}, {15, 17, 19, -1}, {15, 17, 20, -1}, {15, 17, 21, -1}, {15, 17, 22, -1}, {15, 17, 23, -1}, {15, 17, 24, -1}, {15, 17, 25, -1}, {15, 18, 19, -1}, {15, 18, 20, -1}, {15, 18, 21, -1}, {15, 18, 22, -1}, {15, 18, 23, -1}, {15, 18, 24, -1}, {15, 18, 25, -1}, {15, 19, 20, -1}, {15, 19, 21, -1}, {15, 19, 22, -1}, {15, 19, 23, -1}, {15, 19, 24, -1}, {15, 19, 25, -1}, {15, 20, 21, -1}, {15, 20, 22, -1}, {15, 20, 23, -1}, {15, 20, 24, -1}, {15, 20, 25, -1}, {15, 21, 22, -1}, {15, 21, 23, -1}, {15, 21, 24, -1}, {15, 21, 25, -1}, {15, 22, 23, -1}, {15, 22, 24, -1}, {15, 22, 25, -1}, {15, 23, 24, -1}, {15, 23, 25, -1}, {15, 24, 25, -1}, {16, 17, 18, -1}, {16, 17, 19, -1}, {16, 17, 20, -1}, {16, 17, 21, -1}, {16, 17, 22, -1}, {16, 17, 23, -1}, {16, 17, 24, -1}, {16, 17, 25, -1}, {16, 18, 19, -1}, {16, 18, 20, -1}, {16, 18, 21, -1}, {16, 18, 22, -1}, {16, 18, 23, -1}, {16, 18, 24, -1}, {16, 18, 25, -1}, {16, 19, 20, -1}, {16, 19, 21, -1}, {16, 19, 22, -1}, {16, 19, 23, -1}, {16, 19, 24, -1}, {16, 19, 25, -1}, {16, 20, 21, -1}, {16, 20, 22, -1}, {16, 20, 23, -1}, {16, 20, 24, -1}, {16, 20, 25, -1}, {16, 21, 22, -1}, {16, 21, 23, -1}, {16, 21, 24, -1}, {16, 21, 25, -1}, {16, 22, 23, -1}, {16, 22, 24, -1}, {16, 22, 25, -1}, {16, 23, 24, -1}, {16, 23, 25, -1}, {16, 24, 25, -1}, {17, 18, 19, -1}, {17, 18, 20, -1}, {17, 18, 21, -1}, {17, 18, 22, -1}, {17, 18, 23, -1}, {17, 18, 24, -1}, {17, 18, 25, -1}, {17, 19, 20, -1}, {17, 19, 21, -1}, {17, 19, 22, -1}, {17, 19, 23, -1}, {17, 19, 24, -1}, {17, 19, 25, -1}, {17, 20, 21, -1}, {17, 20, 22, -1}, {17, 20, 23, -1}, {17, 20, 24, -1}, {17, 20, 25, -1}, {17, 21, 22, -1}, {17, 21, 23, -1}, {17, 21, 24, -1}, {17, 21, 25, -1}, {17, 22, 23, -1}, {17, 22, 24, -1}, {17, 22, 25, -1}, {17, 23, 24, -1}, {17, 23, 25, -1}, {17, 24, 25, -1}, {18, 19, 20, -1}, {18, 19, 21, -1}, {18, 19, 22, -1}, {18, 19, 23, -1}, {18, 19, 24, -1}, {18, 19, 25, -1}, {18, 20, 21, -1}, {18, 20, 22, -1}, {18, 20, 23, -1}, {18, 20, 24, -1}, {18, 20, 25, -1}, {18, 21, 22, -1}, {18, 21, 23, -1}, {18, 21, 24, -1}, {18, 21, 25, -1}, {18, 22, 23, -1}, {18, 22, 24, -1}, {18, 22, 25, -1}, {18, 23, 24, -1}, {18, 23, 25, -1}, {18, 24, 25, -1}, {19, 20, 21, -1}, {19, 20, 22, -1}, {19, 20, 23, -1}, {19, 20, 24, -1}, {19, 20, 25, -1}, {19, 21, 22, -1}, {19, 21, 23, -1}, {19, 21, 24, -1}, {19, 21, 25, -1}, {19, 22, 23, -1}, {19, 22, 24, -1}, {19, 22, 25, -1}, {19, 23, 24, -1}, {19, 23, 25, -1}, {19, 24, 25, -1}, {20, 21, 22, -1}, {20, 21, 23, -1}, {20, 21, 24, -1}, {20, 21, 25, -1}, {20, 22, 23, -1}, {20, 22, 24, -1}, {20, 22, 25, -1}, {20, 23, 24, -1}, {20, 23, 25, -1}, {20, 24, 25, -1}, {21, 22, 23, -1}, {21, 22, 24, -1}, {21, 22, 25, -1}, {21, 23, 24, -1}, {21, 23, 25, -1}, {21, 24, 25, -1}, {22, 23, 24, -1}, {22, 23, 25, -1}, {22, 24, 25, -1}, {23, 24, 25, -1}} ;
diff --git a/xor_codes/tools/gen_failure_combs.py b/xor_codes/tools/gen_failure_combs.py
new file mode 100644
index 0000000..357d1d0
--- /dev/null
+++ b/xor_codes/tools/gen_failure_combs.py
@@ -0,0 +1,65 @@
+# Copyright (c) 2013, Kevin Greenan (kmgreen2@gmail.com)
+# 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. 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 HOLDER 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.
+
+import optparse
+import mpmath
+import itertools
+import sys
+import random
+
+
+def get_combinations(list, k):
+ return itertools.combinations(list, k)
+
+if len(sys.argv) != 3:
+ print("Usage: %s <num_fragments> <num_combs>")
+ sys.exit(1)
+
+n = int(sys.argv[1])
+k = int(sys.argv[2])
+
+if n is None or k is None:
+ print("Usage: %s <num_fragments> <num_combs>")
+ sys.exit(1)
+
+fragments = [i for i in range(n)]
+fragment_combinations = []
+
+for i in range(1, k + 1):
+ fragment_combinations.extend(
+ [list(comb) for comb in get_combinations(fragments, i)])
+
+for comb in fragment_combinations:
+ while len(comb) < 4:
+ comb.append(-1)
+
+failure_comb_format_str = \
+ "int failure_combs_%d_%d[NUM_%d_%d_COMBS][%d] = %s ;"
+
+fragment_combination_str = (
+ "%s" % fragment_combinations).replace("[", "{").replace("]", "}")
+
+print("#define NUM_%d_%d_COMBS %d" %
+ (n, k + 1, len(fragment_combinations)))
+print(failure_comb_format_str %
+ (n, k + 1, n, k + 1, 4, fragment_combination_str))
diff --git a/xor_codes/tools/gen_goldilocks_codes.py b/xor_codes/tools/gen_goldilocks_codes.py
new file mode 100644
index 0000000..2afe47e
--- /dev/null
+++ b/xor_codes/tools/gen_goldilocks_codes.py
@@ -0,0 +1,230 @@
+# Copyright (c) 2013, Kevin Greenan (kmgreen2@gmail.com)
+# 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. 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 HOLDER 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.
+
+import optparse
+import mpmath
+import itertools
+import sys
+import random
+
+
+def get_combinations(list, k):
+ return itertools.combinations(list, k)
+
+
+def list_to_bm(list):
+ bm = 0
+ for elm in list:
+ bm = bm | (1 << elm)
+ return bm
+
+
+def bm_to_list(bm):
+ list = []
+ tmp_bm = bm
+ count = 0
+ while tmp_bm != 0:
+ if tmp_bm & 1:
+ list.append(count)
+ count = count + 1
+ tmp_bm = tmp_bm >> 1
+ return list
+
+
+def list_of_list_to_bm_list(list):
+ bm_list = []
+ for elm in list:
+ bm_list.append(list_to_bm(elm))
+
+ return bm_list
+
+
+def bm_list_to_list_of_list(bm_list):
+ list_of_list = []
+ for bm in bm_list:
+ list_of_list.append(bm_to_list(bm))
+
+ return list_of_list
+
+
+def bm_in(elm, bm):
+ if bm & (1 << elm):
+ return True
+ else:
+ return False
+
+
+def bm(elm):
+ return (1 << elm)
+
+
+def bm_insert(bm, elm):
+ bm = bm | (1 << elm)
+ return bm
+
+
+def bm_rm(bm, elm):
+ if bm_in(elm, bm):
+ bm = bm ^ (1 << elm)
+ return bm
+
+
+def bm_is_subset(bm1, bm2):
+ if (bm1 & bm2) ^ bm1 == 0:
+ return True
+ else:
+ return False
+
+
+def bm_intersection(bm1, bm2):
+ return bm1 & bm2
+
+
+def bm_hw(bm):
+ hw = 0
+ if bm == 0:
+ return hw
+
+ while bm != 0:
+ if (bm & 1) == 1:
+ hw += 1
+ bm = bm >> 1
+ return hw
+
+
+def create_full_bm(num_bits):
+ bm = (1 << num_bits) - 1
+ return bm
+
+
+def find_first(list, find_func):
+ for i in range(len(list)):
+ if find_func(list[i]):
+ elm = list.pop(i)
+ return elm
+
+ return None
+
+
+def get_num_data_in_parity(parity_bm_list):
+ num_data_in_parity = [0 for i in range(m)]
+
+ for parity_bm in parity_bm_list:
+ for i in range(len(num_data_in_parity)):
+ if bm_in(i, parity_bm):
+ num_data_in_parity[i] += 1
+
+ return num_data_in_parity
+
+
+def get_parity_eqns(bm_parity_combinations):
+ parity_bms = [0 for i in range(m)]
+ data_num = 0
+ for parity_comb in bm_parity_combinations:
+ for i in range(m):
+ if bm_in(i, parity_comb):
+ parity_bms[i] = bm_insert(parity_bms[i], data_num)
+ data_num += 1
+
+ return parity_bms
+
+if len(sys.argv) != 3:
+ print("Usage: %s <num_parities> <num_bits = 2|3>")
+ sys.exit(1)
+
+m = int(sys.argv[1])
+num_bits = int(sys.argv[2])
+
+if m is None or num_bits not in [2, 3]:
+ print("Usage: %s <num_parities> <num_bits = 2|3>")
+ sys.exit(1)
+
+parity_list = [i for i in range(m)]
+parity_combinations = get_combinations(parity_list, num_bits)
+bm_parity_combinations = list_of_list_to_bm_list(parity_combinations)
+
+needed_parity_bm = create_full_bm(m)
+
+parity_bms_template = "int g_%d_%d_%d_hd_code_parity_bms[] = { %s };"
+data_bms_template = "int g_%d_%d_%d_hd_code_data_bms[] = { %s };"
+
+k = mpmath.binomial(m, num_bits)
+used_parities = []
+
+while k > m:
+ if bm_hw(needed_parity_bm) >= num_bits:
+ # If HW >= num_bits, find any such that (elm & needed_parity_bm) == elm
+ parity_bm = find_first(
+ bm_parity_combinations,
+ lambda elm: (
+ elm & needed_parity_bm) == elm)
+ if parity_bm is not None:
+ needed_parity_bm ^= parity_bm
+ else:
+ # If HW < num_bits, find any such that (elm & needed_parity_bm) ==
+ # needed_parity_bm
+ parity_bm = find_first(
+ bm_parity_combinations,
+ lambda elm: (
+ elm & needed_parity_bm) == needed_parity_bm)
+ if parity_bm is not None:
+ needed_parity_bm = (
+ needed_parity_bm ^ parity_bm) ^ create_full_bm(m)
+
+ # If we cannot find one, pop the last chosen element and try another
+ full_bm = create_full_bm(m)
+ if parity_bm is None:
+ parity_to_re_add = used_parities.pop()
+ # Added at the end, so we are changing the order
+ bm_parity_combinations.append(parity_to_re_add)
+ needed_parity_bm |= parity_to_re_add
+ k += 1
+ else:
+ used_parities.append(parity_bm)
+ k -= 1
+
+for parity_bm in used_parities:
+ num_data_in_parity = get_num_data_in_parity(bm_parity_combinations)
+ parity_eqns = get_parity_eqns(bm_parity_combinations)
+ # print "(%d, %d) : %s : %s : %s" % (k, m, bm_parity_combinations,
+ # parity_eqns, num_data_in_parity)
+ print(parity_bms_template %
+ (k, m, num_bits + 1,
+ ("%s" % parity_eqns).replace("[", "").replace("]", "")))
+ print(data_bms_template %
+ (k, m, num_bits + 1,
+ ("%s" % bm_parity_combinations).replace("[", "").replace("]", "")))
+
+ bm_parity_combinations.append(parity_bm)
+ k += 1
+
+num_data_in_parity = get_num_data_in_parity(bm_parity_combinations)
+parity_eqns = get_parity_eqns(bm_parity_combinations)
+# print"(%d, %d) : %s : %s" % (k, m, bm_parity_combinations,
+# num_data_in_parity)
+print(parity_bms_template %
+ (k, m, num_bits + 1,
+ ("%s" % parity_eqns).replace("[", "").replace("]", "")))
+print(data_bms_template %
+ (k, m, num_bits + 1,
+ ("%s" % bm_parity_combinations).replace("[", "").replace("]", "")))
diff --git a/xor_codes/xor_code.c b/xor_codes/xor_code.c
new file mode 100644
index 0000000..7996e01
--- /dev/null
+++ b/xor_codes/xor_code.c
@@ -0,0 +1,401 @@
+/* * Copyright (c) 2013, Kevin Greenan (kmgreen2@gmail.com)
+ * 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. 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 HOLDER 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 <emmintrin.h> //SSE2
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <xor_code.h>
+
+const int g_bit_lookup[] = {0x1, 0x2, 0x4, 0x8,
+ 0x10, 0x20, 0x40, 0x80,
+ 0x100, 0x200, 0x400, 0x800,
+ 0x1000, 0x2000, 0x4000, 0x8000,
+ 0x10000, 0x20000, 0x40000, 0x80000,
+ 0x100000, 0x200000, 0x400000, 0x800000,
+ 0x1000000, 0x2000000, 0x4000000, 0x8000000,
+ 0x10000000, 0x20000000, 0x40000000, 0x80000000};
+
+int is_data_in_parity(int data_idx, int parity_bm)
+{
+ return ((g_bit_lookup[data_idx] & parity_bm) == g_bit_lookup[data_idx]);
+}
+
+int does_parity_have_data(int parity_idx, int data_bm)
+{
+ return ((g_bit_lookup[parity_idx] & data_bm) == g_bit_lookup[parity_idx]);
+}
+
+int parity_bit_lookup(xor_code_t *code_desc, int index)
+{
+ return g_bit_lookup[code_desc->k - index];
+}
+
+int data_bit_lookup(xor_code_t *code_desc, int index)
+{
+ return g_bit_lookup[index];
+}
+
+int missing_elements_bm(xor_code_t *code_desc, int *missing_elements, int (*bit_lookup_func)(xor_code_t *code_desc, int index))
+{
+ int i = 0;
+ int bm = 0;
+
+ while (missing_elements[i] > -1) {
+ bm |= bit_lookup_func(code_desc, missing_elements[i]);
+ i++;
+ }
+
+ return bm;
+}
+
+void *aligned_malloc( size_t size, int align )
+{
+ void *mem = malloc( size + (align-1) + sizeof(void*) );
+ char *amem;
+ if (!mem) {
+ return NULL;
+ }
+
+ amem = ((char*)mem) + sizeof(void*);
+ amem += align - ((unsigned long)amem & (align - 1));
+
+ ((void**)amem)[-1] = mem;
+ return amem;
+}
+
+void aligned_free( void *mem )
+{
+ free( ((void**)mem)[-1] );
+}
+
+failure_pattern_t get_failure_pattern(xor_code_t *code_desc, int *missing_idxs)
+{
+ int i = 0;
+ int num_failures = 0;
+ failure_pattern_t pattern = FAIL_PATTERN_0D_0P;
+
+ while (missing_idxs[i] > -1) {
+ if (num_failures >= code_desc->hd) {
+ pattern = FAIL_PATTERN_GE_HD;
+ }
+ switch(pattern) {
+ case FAIL_PATTERN_0D_0P:
+ pattern = (missing_idxs[i] < code_desc->k) ? FAIL_PATTERN_1D_0P : FAIL_PATTERN_0D_1P;
+ break;
+ case FAIL_PATTERN_1D_0P:
+ pattern = (missing_idxs[i] < code_desc->k) ? FAIL_PATTERN_2D_0P : FAIL_PATTERN_1D_1P;
+ break;
+ case FAIL_PATTERN_2D_0P:
+ pattern = (missing_idxs[i] < code_desc->k) ? FAIL_PATTERN_3D_0P : FAIL_PATTERN_2D_1P;
+ break;
+ case FAIL_PATTERN_3D_0P:
+ pattern = FAIL_PATTERN_GE_HD;
+ break;
+ case FAIL_PATTERN_1D_1P:
+ pattern = (missing_idxs[i] < code_desc->k) ? FAIL_PATTERN_2D_1P : FAIL_PATTERN_1D_2P;
+ break;
+ case FAIL_PATTERN_1D_2P:
+ pattern = FAIL_PATTERN_GE_HD;
+ break;
+ case FAIL_PATTERN_2D_1P:
+ pattern = FAIL_PATTERN_GE_HD;
+ break;
+ case FAIL_PATTERN_0D_1P:
+ pattern = (missing_idxs[i] < code_desc->k) ? FAIL_PATTERN_1D_1P : FAIL_PATTERN_0D_2P;
+ break;
+ case FAIL_PATTERN_0D_2P:
+ pattern = (missing_idxs[i] < code_desc->k) ? FAIL_PATTERN_1D_2P : FAIL_PATTERN_0D_3P;
+ break;
+ case FAIL_PATTERN_0D_3P:
+ pattern = FAIL_PATTERN_GE_HD;
+ break;
+ case FAIL_PATTERN_GE_HD:
+ default:
+ break;
+ }
+ if (pattern == FAIL_PATTERN_GE_HD) {
+ break;
+ }
+ i++;
+ }
+
+ return pattern;
+}
+
+void fast_memcpy(char *dst, char *src, int size)
+{
+ // Use _mm_stream_si128((__m128i*) _buf2, sum);
+ memcpy(dst, src, size);
+}
+
+/*
+ * Buffers must be aligned to 16-byte boundaries
+ *
+ * Store in buf2 (opposite of memcpy convention... Maybe change?)
+ */
+void xor_bufs_and_store(char *buf1, char *buf2, int blocksize)
+{
+#ifdef INTEL_SSE2
+ int residual_bytes = num_unaligned_end(blocksize);
+ int fast_blocksize = blocksize > residual_bytes ? (blocksize - residual_bytes) : 0;
+ int fast_int_blocksize = fast_blocksize / sizeof(__m128i);
+ int i;
+ __m128i *_buf1 = (__m128i*)buf1;
+ __m128i *_buf2 = (__m128i*)buf2;
+
+ /*
+ * XOR aligned region using 128-bit XOR
+ */
+ for (i=0; i < fast_int_blocksize; i++) {
+ _buf2[i] = _mm_xor_si128(_buf1[i], _buf2[i]);
+ }
+#else
+ int residual_bytes = num_unaligned_end(blocksize);
+ int fast_blocksize = blocksize > residual_bytes ? (blocksize - residual_bytes) : 0;
+ int fast_int_blocksize = fast_blocksize / sizeof(unsigned long);
+ int i;
+
+ unsigned long*_buf1 = (unsigned long*)buf1;
+ unsigned long*_buf2 = (unsigned long*)buf2;
+
+ for (i=0; i < fast_int_blocksize; i++) {
+ _buf2[i] = _buf1[i] ^ _buf2[i];
+ }
+#endif
+
+ /*
+ * XOR unaligned end of region
+ */
+ for (i=fast_blocksize; i < blocksize; i++)
+ {
+ buf2[i] ^= buf1[i];
+ }
+}
+
+void xor_code_encode(xor_code_t *code_desc, char **data, char **parity, int blocksize)
+{
+ int i, j;
+
+ for (i=0; i < code_desc->k; i++) {
+ for (j=0; j < code_desc->m; j++) {
+ if (is_data_in_parity(i, code_desc->parity_bms[j])) {
+ xor_bufs_and_store(data[i], parity[j], blocksize);
+ }
+ }
+ }
+}
+
+void selective_encode(xor_code_t *code_desc, char **data, char **parity, int *missing_parity, int blocksize)
+{
+ int i;
+ for (i=0; i < code_desc->k; i++) {
+ int j=0;
+ while (missing_parity[j] > -1) {
+ int parity_index = missing_parity[j] - code_desc->k;
+ if (is_data_in_parity(i, code_desc->parity_bms[parity_index])) {
+ xor_bufs_and_store(data[i], parity[parity_index], blocksize);
+ }
+ j++;
+ }
+ }
+}
+
+int * get_missing_parity(xor_code_t *code_desc, int *missing_idxs)
+{
+ int *missing_parity = (int*)malloc(sizeof(int)*MAX_PARITY);
+ int i = 0, j = 0;
+
+ while (missing_idxs[i] > -1) {
+ if (missing_idxs[i] >= code_desc->k) {
+ missing_parity[j] = missing_idxs[i];
+ j++;
+ }
+ i++;
+ }
+
+ missing_parity[j] = -1;
+ return missing_parity;
+}
+
+int * get_missing_data(xor_code_t *code_desc, int *missing_idxs)
+{
+ int *missing_data = (int*)malloc(sizeof(int)*MAX_DATA);
+ int i = 0, j = 0;
+
+ while (missing_idxs[i] > -1) {
+ if (missing_idxs[i] < code_desc->k) {
+ missing_data[j] = missing_idxs[i];
+ j++;
+ }
+ i++;
+ }
+
+ missing_data[j] = -1;
+ return missing_data;
+}
+
+/*
+ * Reconstruct a single missing symbol, given other symbols may be missing
+ */
+void xor_reconstruct_one(xor_code_t *code_desc, char **data, char **parity, int *missing_idxs, int index_to_reconstruct, int blocksize)
+{
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ int i;
+
+ // If it is a data symbol, we need to figure out
+ // what data+parity symbols are needed to reconstruct
+ // If there is not at least one parity equation with
+ // one missing data element (the index to resonstruct),
+ // just call the underlying decode function
+ if (index_to_reconstruct < code_desc->k) {
+ int connected_parity_idx = index_of_connected_parity(code_desc, index_to_reconstruct, missing_parity, missing_data);
+
+ if (connected_parity_idx >= 0) {
+ // Can do a cheap reoncstruction!
+ int relative_parity_idx = connected_parity_idx - code_desc->k;
+ int parity_bm = code_desc->parity_bms[relative_parity_idx];
+
+ fast_memcpy(data[index_to_reconstruct], parity[relative_parity_idx], blocksize);
+
+ for (i=0; i < code_desc->k; i++) {
+ if (parity_bm & (1 << i)) {
+ if (i != index_to_reconstruct) {
+ xor_bufs_and_store(data[i], data[index_to_reconstruct], blocksize);
+ }
+ }
+ }
+
+ } else {
+ // Just call decode
+ code_desc->decode(code_desc, data, parity, missing_idxs, blocksize, 1);
+ }
+
+ } else {
+
+ // If it is a parity symbol, we need to figure out
+ // what data symbols are needed to reconstruct the
+ // parity. If *any* data symbols in the parity
+ // equation are missing, we are better off calling
+ // the underlying decode function.
+ int num_data_missing = num_missing_data_in_parity(code_desc, index_to_reconstruct, missing_data);
+
+ if (num_data_missing == 0) {
+ int relative_parity_idx = index_to_reconstruct - code_desc->k;
+ int parity_bm = code_desc->parity_bms[relative_parity_idx];
+
+ memset(parity[relative_parity_idx], 0, blocksize);
+
+ for (i=0; i < code_desc->k; i++) {
+ if (parity_bm & (1 << i)) {
+ xor_bufs_and_store(data[i], parity[relative_parity_idx], blocksize);
+ }
+ }
+
+ } else {
+ // Just call decode
+ code_desc->decode(code_desc, data, parity, missing_idxs, blocksize, 1);
+ }
+ }
+}
+
+int num_missing_data_in_parity(xor_code_t *code_desc, int parity_idx, int *missing_data)
+{
+ int i = 0;
+ int num_missing_data = 0;
+ int relative_parity_index = parity_idx - code_desc->k;
+ if (missing_data == NULL) {
+ return 0;
+ }
+
+ while (missing_data[i] > -1) {
+ if (does_parity_have_data(relative_parity_index, code_desc->data_bms[missing_data[i]]) > 0) {
+ num_missing_data++;
+ }
+ i++;
+ }
+
+ return num_missing_data;
+}
+
+int index_of_connected_parity(xor_code_t *code_desc, int data_index, int *missing_parity, int *missing_data)
+{
+ int parity_index = -1;
+ int i;
+
+ for (i=0; i < code_desc->m; i++) {
+ if (num_missing_data_in_parity(code_desc, i + code_desc->k, missing_data) > 1) {
+ continue;
+ }
+ if (is_data_in_parity(data_index, code_desc->parity_bms[i])) {
+ int j=0;
+ int is_missing = 0;
+ if (missing_parity == NULL) {
+ parity_index = i;
+ break;
+ }
+ while (missing_parity[j] > -1) {
+ if ((code_desc->k + i) == missing_parity[j]) {
+ is_missing = 1;
+ break;
+ }
+ j++;
+ }
+ if (!is_missing) {
+ parity_index = i;
+ break;
+ }
+ }
+ }
+
+ // Must add k to get the absolute
+ // index of the parity in the stripe
+ return parity_index > -1 ? parity_index + code_desc->k : parity_index;
+}
+
+void remove_from_missing_list(int element, int *missing_list)
+{
+ int i = 0;
+ int elem_idx = -1;
+ int num_elems = 0;
+
+ while (missing_list[i] > -1) {
+ if (missing_list[i] == element) {
+ elem_idx = i;
+ missing_list[i] = -1;
+ }
+ i++;
+ }
+
+ num_elems = i;
+
+ for (i=elem_idx;i < num_elems-1;i++) {
+ int tmp = missing_list[i+1];
+ missing_list[i+1] = missing_list[i];
+ missing_list[i] = tmp;
+ }
+}
+
diff --git a/xor_codes/xor_hd_code.c b/xor_codes/xor_hd_code.c
new file mode 100644
index 0000000..3f9aaae
--- /dev/null
+++ b/xor_codes/xor_hd_code.c
@@ -0,0 +1,610 @@
+/* * Copyright (c) 2013, Kevin Greenan (kmgreen2@gmail.com)
+ * 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. 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 HOLDER 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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <xor_code.h>
+#include <xor_hd_code_defs.h>
+
+/*
+ * Returns -1 if not possible
+ */
+static int fragments_needed_one_data(xor_code_t *code_desc, int *missing_data, int *missing_parity, int *data_bm, int *parity_bm)
+{
+ int data_index = missing_data[0];
+ int parity_index = index_of_connected_parity(code_desc, data_index, missing_parity, missing_data);
+
+ if (parity_index < 0) {
+ return -1;
+ }
+
+ // Include all data elements except for this one
+ *data_bm |= (code_desc->parity_bms[parity_index-code_desc->k]);
+
+ // Include this parity element
+ *parity_bm |= (1 << (parity_index-code_desc->k));
+ *data_bm &= ~((unsigned int)1 << data_index);
+
+ return 0;
+}
+
+/*
+ * Returns -1 if not possible
+ */
+static int fragments_needed_two_data(xor_code_t *code_desc, int *missing_data, int *missing_parity, int *data_bm, int *parity_bm)
+{
+ // Verify that missing_data[2] == -1?
+ int data_index = missing_data[0];
+ int parity_index = index_of_connected_parity(code_desc, data_index, missing_parity, missing_data);
+ int i;
+ int ret;
+
+ if (parity_index < 0) {
+ data_index = missing_data[1];
+ parity_index = index_of_connected_parity(code_desc, data_index, missing_parity, missing_data);
+ if (parity_index < 0) {
+ return -1;
+ }
+ missing_data[1] = -1;
+ } else {
+ missing_data[0] = missing_data[1];
+ missing_data[1] = -1;
+ }
+
+ // Include all data elements except for this one
+ *data_bm |= (code_desc->parity_bms[parity_index-code_desc->k]);
+
+ // Include this parity element
+ *parity_bm |= (1 << (parity_index-code_desc->k));
+
+ ret = fragments_needed_one_data(code_desc, missing_data, missing_parity, data_bm, parity_bm);
+
+ *data_bm &= ~((unsigned int)1 << data_index);
+
+ return ret;
+}
+
+/*
+ * Returns -1 if not possible
+ */
+static int fragments_needed_three_data(xor_code_t *code_desc, int *missing_data, int *missing_parity, int *data_bm, int *parity_bm)
+{
+ int i = 0;
+ int parity_index = -1;
+ int data_index = -1;
+ int tmp_parity_bm = -1;
+ int contains_2d = -1;
+ int contains_3d = -1;
+ int ret = 0;
+
+ /*
+ * Try to find a parity that only contains
+ * one of the missing data elements.
+ */
+ while (missing_data[i] > -1) {
+ parity_index = index_of_connected_parity(code_desc, missing_data[i], missing_parity, missing_data);
+ if (parity_index > -1) {
+ data_index = missing_data[i];
+ tmp_parity_bm = code_desc->parity_bms[parity_index-code_desc->k];
+ break;
+ }
+ i++;
+ }
+ /*
+ * If we cannot find a parity that is connected to only
+ * one missing element, we must find a parity that is
+ * connected to exactly 2 (P) and another that is connected
+ * to exactly 3 (Q) (it should exist!!!).
+ *
+ * We XOR those parities together and use it to recover
+ * the element that is not connected to P.
+ */
+ if (parity_index < 0) {
+
+ for (i=0;i < code_desc->m;i++) {
+ int num_missing = num_missing_data_in_parity(code_desc, code_desc->k+i, missing_data);
+ if (num_missing == 2 && contains_2d < 0) {
+ contains_2d = i;
+ } else if (num_missing == 3 && contains_3d < 0) {
+ contains_3d = i;
+ }
+ }
+
+ if (contains_2d < 0 || contains_3d < 0) {
+ return -1;
+ }
+
+ // P XOR Q
+ tmp_parity_bm = code_desc->parity_bms[contains_2d] ^ code_desc->parity_bms[contains_3d];
+
+ i=0;
+ data_index = -1;
+ while (missing_data[i] > -1) {
+ if (is_data_in_parity(missing_data[i], tmp_parity_bm)) {
+ data_index = missing_data[i];
+ break;
+ }
+ i++;
+ }
+
+ if (data_index < 0) {
+ return -1;
+ }
+ }
+
+ remove_from_missing_list(data_index, missing_data);
+
+ // Include all data elements except for this one
+ *data_bm |= (code_desc->parity_bms[parity_index-code_desc->k]);
+
+ // Include this parity element
+ if (parity_index > -1) {
+ *parity_bm |= (1 << (parity_index-code_desc->k));
+ } else {
+ *parity_bm |= (1 << (contains_2d-code_desc->k));
+ *parity_bm |= (1 << (contains_3d-code_desc->k));
+ }
+
+ ret = fragments_needed_two_data(code_desc, missing_data, missing_parity, data_bm, parity_bm);
+
+ *data_bm &= ~((unsigned int)1 << data_index);
+
+ return ret;
+}
+
+
+
+int xor_hd_fragments_needed(xor_code_t *code_desc, int *missing_idxs, int *fragments_needed)
+{
+ failure_pattern_t pattern = get_failure_pattern(code_desc, missing_idxs);
+ int data_bm = 0, parity_bm = 0;
+ int ret = 0;
+ int i, j;
+
+ switch(pattern) {
+ case FAIL_PATTERN_0D_0P:
+ break;
+ case FAIL_PATTERN_1D_0P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ ret = fragments_needed_one_data(code_desc, missing_data, NULL, &data_bm, &parity_bm);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_2D_0P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ ret = fragments_needed_two_data(code_desc, missing_data, NULL, &data_bm, &parity_bm);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_3D_0P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ ret = fragments_needed_three_data(code_desc, missing_data, NULL, &data_bm, &parity_bm);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_1D_1P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ int missing_data_bm = missing_elements_bm(code_desc, missing_data, data_bit_lookup);
+ ret = fragments_needed_one_data(code_desc, missing_data, missing_parity, &data_bm, &parity_bm);
+ // OR all parities
+ i=0;
+ while (missing_parity[i] > -1) {
+ data_bm |= code_desc->parity_bms[missing_parity[i]-code_desc->k];
+ data_bm &= ~(missing_data_bm);
+ i++;
+ }
+ free(missing_parity);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_1D_2P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ int missing_data_bm = missing_elements_bm(code_desc, missing_data, data_bit_lookup);
+ ret = fragments_needed_one_data(code_desc, missing_data, missing_parity, &data_bm, &parity_bm);
+ // OR all parities
+ i=0;
+ while (missing_parity[i] > -1) {
+ data_bm |= code_desc->parity_bms[missing_parity[i]-code_desc->k];
+ data_bm &= ~(missing_data_bm);
+ i++;
+ }
+ free(missing_parity);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_2D_1P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ int missing_data_bm = missing_elements_bm(code_desc, missing_data, data_bit_lookup);
+ ret = fragments_needed_two_data(code_desc, missing_data, missing_parity, &data_bm, &parity_bm);
+ // OR all parities
+ i=0;
+ while (missing_parity[i] > -1) {
+ data_bm |= code_desc->parity_bms[missing_parity[i]-code_desc->k];
+ data_bm &= ~(missing_data_bm);
+ i++;
+ }
+ free(missing_parity);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_0D_1P:
+ {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ // OR all of the parities
+ i=0;
+ while (missing_parity[i] > -1) {
+ data_bm |= code_desc->parity_bms[missing_parity[i]-code_desc->k];
+ i++;
+ }
+ free(missing_parity);
+ break;
+ }
+ case FAIL_PATTERN_0D_2P:
+ {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ // OR all of the parities
+ i=0;
+ while (missing_parity[i] > -1) {
+ data_bm |= code_desc->parity_bms[missing_parity[i]-code_desc->k];
+ i++;
+ }
+ free(missing_parity);
+ break;
+ }
+ case FAIL_PATTERN_0D_3P:
+ {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ // OR all of the parities
+ i=0;
+ while (missing_parity[i] > -1) {
+ data_bm |= code_desc->parity_bms[missing_parity[i]-code_desc->k];
+ i++;
+ }
+ free(missing_parity);
+ break;
+ }
+ case FAIL_PATTERN_GE_HD:
+ default:
+ break;
+ }
+
+ if (ret >= 0) {
+ i=0;
+ j=0;
+ while (data_bm) {
+ if (data_bm & 1) {
+ fragments_needed[j] = i;
+ j++;
+ }
+ i++;
+ data_bm >>= 1;
+ }
+
+ i=0;
+ while (parity_bm) {
+ if (parity_bm & 1) {
+ fragments_needed[j] = i + code_desc->k;
+ j++;
+ }
+ i++;
+ parity_bm >>= 1;
+ }
+
+ fragments_needed[j] = -1;
+ }
+
+ return ret;
+}
+
+/*
+ * There is one unavailable data element, so any available parity connected to
+ * the data element is sufficient to decode.
+ */
+static void decode_one_data(xor_code_t *code_desc, char **data, char **parity, int *missing_data, int *missing_parity, int blocksize)
+{
+ // Verify that missing_data[1] == -1?
+ int data_index = missing_data[0];
+ int parity_index = index_of_connected_parity(code_desc, data_index, missing_parity, missing_data);
+ int i;
+
+ // Copy the appropriate parity into the data buffer
+ fast_memcpy(data[data_index], parity[parity_index-code_desc->k], blocksize);
+
+ for (i=0; i < code_desc->k; i++) {
+ if (i != data_index && is_data_in_parity(i, code_desc->parity_bms[parity_index-code_desc->k])) {
+ xor_bufs_and_store(data[i], data[data_index], blocksize);
+ }
+ }
+}
+
+static void decode_two_data(xor_code_t *code_desc, char **data, char **parity, int *missing_data, int *missing_parity, int blocksize)
+{
+ // Verify that missing_data[2] == -1?
+ int data_index = missing_data[0];
+ int parity_index = index_of_connected_parity(code_desc, data_index, missing_parity, missing_data);
+ int i;
+
+ if (parity_index < 0) {
+ data_index = missing_data[1];
+ parity_index = index_of_connected_parity(code_desc, data_index, missing_parity, missing_data);
+ if (parity_index < 0) {
+ fprintf(stderr, "Shit is broken, cannot find a proper parity!!!\n");
+ exit(2);
+ }
+ missing_data[1] = -1;
+ } else {
+ missing_data[0] = missing_data[1];
+ missing_data[1] = -1;
+ }
+
+ // Copy the appropriate parity into the data buffer
+ fast_memcpy(data[data_index], parity[parity_index-code_desc->k], blocksize);
+
+ for (i=0; i < code_desc->k; i++) {
+ if (i != data_index && is_data_in_parity(i, code_desc->parity_bms[parity_index-code_desc->k])) {
+ xor_bufs_and_store(data[i], data[data_index], blocksize);
+ }
+ }
+ decode_one_data(code_desc, data, parity, missing_data, missing_parity, blocksize);
+}
+
+static void decode_three_data(xor_code_t *code_desc, char **data, char **parity, int *missing_data, int *missing_parity, int blocksize)
+{
+ int i = 0;
+ int parity_index = -1;
+ int data_index = -1;
+ int parity_bm = -1;
+ char *parity_buffer;
+
+ /*
+ * Try to find a parity that only contains
+ * one of the missing data elements.
+ */
+ while (missing_data[i] > -1) {
+ parity_index = index_of_connected_parity(code_desc, missing_data[i], missing_parity, missing_data);
+ if (parity_index > -1) {
+ data_index = missing_data[i];
+ parity_buffer = parity[parity_index-code_desc->k];
+ parity_bm = code_desc->parity_bms[parity_index-code_desc->k];
+ break;
+ }
+ i++;
+ }
+
+ /*
+ * If we cannot find a parity that is connected to only
+ * one missing element, we must find a parity that is
+ * connected to exactly 2 (P) and another that is connected
+ * to exactly 3 (Q) (it should exist!!!).
+ *
+ * We XOR those parities together and use it to recover
+ * the element that is not connected to P.
+ */
+ if (parity_index < 0) {
+ int contains_2d = -1;
+ int contains_3d = -1;
+
+ for (i=0;i < code_desc->m;i++) {
+ int num_missing = num_missing_data_in_parity(code_desc, code_desc->k+i, missing_data);
+ if (num_missing == 2 && contains_2d < 0) {
+ contains_2d = i;
+ } else if (num_missing == 3 && contains_3d < 0) {
+ contains_3d = i;
+ }
+ }
+
+ if (contains_2d < 0 || contains_3d < 0) {
+ fprintf(stderr, "Shit is broken, cannot find a proper parity (2 and 3-connected parities)!!!\n");
+ exit(2);
+ }
+
+ parity_buffer = aligned_malloc(blocksize, 16);
+
+ // P XOR Q
+ parity_bm = code_desc->parity_bms[contains_2d] ^ code_desc->parity_bms[contains_3d];
+
+ // Create buffer with P XOR Q -> parity_buffer
+ fast_memcpy(parity_buffer, parity[contains_2d], blocksize);
+ xor_bufs_and_store(parity[contains_3d], parity_buffer, blocksize);
+
+ i=0;
+ data_index = -1;
+ while (missing_data[i] > -1) {
+ if (is_data_in_parity(missing_data[i], parity_bm)) {
+ data_index = missing_data[i];
+ break;
+ }
+ i++;
+ }
+
+ if (data_index < 0) {
+ fprintf(stderr, "Shit is broken, cannot construct equations to repair 3 failures!!!\n");
+ exit(2);
+ }
+ }
+
+ // Copy the appropriate parity into the data buffer
+ fast_memcpy(data[data_index], parity_buffer, blocksize);
+
+ for (i=0; i < code_desc->k; i++) {
+ if (i != data_index && is_data_in_parity(i, parity_bm)) {
+ xor_bufs_and_store(data[i], data[data_index], blocksize);
+ }
+ }
+
+ remove_from_missing_list(data_index, missing_data);
+
+ decode_two_data(code_desc, data, parity, missing_data, missing_parity, blocksize);
+}
+
+void xor_hd_decode(xor_code_t *code_desc, char **data, char **parity, int *missing_idxs, int blocksize, int decode_parity)
+{
+ failure_pattern_t pattern = get_failure_pattern(code_desc, missing_idxs);
+
+ switch(pattern) {
+ case FAIL_PATTERN_0D_0P:
+ break;
+ case FAIL_PATTERN_1D_0P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ decode_one_data(code_desc, data, parity, missing_data, NULL, blocksize);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_2D_0P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ decode_two_data(code_desc, data, parity, missing_data, NULL, blocksize);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_3D_0P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ decode_three_data(code_desc, data, parity, missing_data, NULL, blocksize);
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_1D_1P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ decode_one_data(code_desc, data, parity, missing_data, missing_parity, blocksize);
+ if (decode_parity) {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ selective_encode(code_desc, data, parity, missing_parity, blocksize);
+ free(missing_parity);
+ }
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_1D_2P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ decode_one_data(code_desc, data, parity, missing_data, missing_parity, blocksize);
+ if (decode_parity) {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ selective_encode(code_desc, data, parity, missing_parity, blocksize);
+ free(missing_parity);
+ }
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_2D_1P:
+ {
+ int *missing_data = get_missing_data(code_desc, missing_idxs);
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ decode_two_data(code_desc, data, parity, missing_data, missing_parity, blocksize);
+ if (decode_parity) {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ selective_encode(code_desc, data, parity, missing_parity, blocksize);
+ free(missing_parity);
+ }
+ free(missing_data);
+ break;
+ }
+ case FAIL_PATTERN_0D_1P:
+ if (decode_parity) {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ selective_encode(code_desc, data, parity, missing_parity, blocksize);
+ free(missing_parity);
+ }
+ break;
+ case FAIL_PATTERN_0D_2P:
+ if (decode_parity) {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ selective_encode(code_desc, data, parity, missing_parity, blocksize);
+ free(missing_parity);
+ }
+ break;
+ case FAIL_PATTERN_0D_3P:
+ if (decode_parity) {
+ int *missing_parity = get_missing_parity(code_desc, missing_idxs);
+ selective_encode(code_desc, data, parity, missing_parity, blocksize);
+ free(missing_parity);
+ }
+ break;
+ case FAIL_PATTERN_GE_HD:
+ default:
+ break;
+ }
+
+ return;
+}
+
+xor_code_t* init_xor_hd_code(int k, int m, int hd)
+{
+ xor_code_t *code_desc = NULL;
+ int is_valid = 0;
+
+ if (hd == 3) {
+ if (m == 6) {
+ if (k <= 15 && k >= 6) {
+ is_valid = 1;
+ }
+ } else if (m == 5) {
+ if (k <= 10 && k >= 5) {
+ is_valid = 1;
+ }
+ }
+ }
+
+ if (hd == 4) {
+ if (m == 6) {
+ if (k <= 20 && k >= 6) {
+ is_valid = 1;
+ }
+ } else if (m == 5) {
+ if (k <= 10 && k >= 5) {
+ is_valid = 1;
+ }
+ }
+ }
+
+ if (is_valid) {
+ code_desc = (xor_code_t*)malloc(sizeof(xor_code_t));
+ code_desc->parity_bms = PARITY_BM_ARY(k, m, hd);
+ code_desc->data_bms = DATA_BM_ARY(k, m, hd);
+ code_desc->k = k;
+ code_desc->m = m;
+ code_desc->hd = hd;
+ code_desc->decode = xor_hd_decode;
+ code_desc->encode = xor_code_encode;
+ code_desc->fragments_needed = xor_hd_fragments_needed;
+ }
+
+ return code_desc;
+}
+