diff --git a/Makefile b/Makefile index 0c6feafa..1dbff0a5 100644 --- a/Makefile +++ b/Makefile @@ -51,12 +51,12 @@ libraries.so: libraries.scm parser.so: parser.scm csc -s parser.scm -libcyclone.so.1: runtime.c runtime.h +libcyclone.so.1: runtime.c include/cyclone/runtime.h gcc -g -c -fPIC runtime.c -o runtime.o gcc -shared -Wl,-soname,libcyclone.so.1 -o libcyclone.so.1.0.1 runtime.o -libcyclone.a: runtime.c runtime.h dispatch.c - $(CC) -g -c dispatch.c -o dispatch.o - $(CC) -g -c -DCYC_INSTALL_DIR=\"$(PREFIX)\" -DCYC_INSTALL_LIB=\"$(LIBDIR)\" -DCYC_INSTALL_INC=\"$(INCDIR)\" -DCYC_INSTALL_SLD=\"$(DATADIR)\" runtime.c -o runtime.o +libcyclone.a: runtime.c include/cyclone/runtime.h dispatch.c + $(CC) -g -c -Iinclude dispatch.c -o dispatch.o + $(CC) -g -c -Iinclude -DCYC_INSTALL_DIR=\"$(PREFIX)\" -DCYC_INSTALL_LIB=\"$(LIBDIR)\" -DCYC_INSTALL_INC=\"$(INCDIR)\" -DCYC_INSTALL_SLD=\"$(DATADIR)\" runtime.c -o runtime.o $(AR) rcs libcyclone.a runtime.o dispatch.o # Instructions from: http://www.adp-gmbh.ch/cpp/gcc/create_lib.html # Note compiler will have to link to this, eg: @@ -112,9 +112,10 @@ bootstrap: # $(MAKE) self2 rm -rf tmp mkdir -p tmp/scheme/cyclone - cp cyclone.h tmp - cp runtime-main.h tmp - cp runtime.h tmp + mkdir -p tmp/include/cyclone + cp include/cyclone/cyclone.h tmp/include/cyclone + cp include/cyclone/runtime-main.h tmp/include/cyclone + cp include/cyclone/runtime.h tmp/include/cyclone cp runtime.c tmp cp dispatch.c tmp cp scheme/base.c tmp/scheme @@ -161,7 +162,7 @@ test2: examples/hello-library/int-test/hello.c libcyclone.a ## END temporary directives ########################### -icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o scheme/cyclone/util.o scheme/cyclone/common.o scheme/cyclone/util.o +icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm include/cyclone/runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o scheme/cyclone/util.o scheme/cyclone/common.o scheme/cyclone/util.o ./cyclone icyc.scm .PHONY: tags @@ -182,7 +183,7 @@ install: $(INSTALL) -m0755 cyclone $(DESTDIR)$(BINDIR)/ $(INSTALL) -m0755 icyc $(DESTDIR)$(BINDIR)/ $(INSTALL) -m0644 libcyclone.a $(DESTDIR)$(LIBDIR)/ - $(INSTALL) -m0644 *.h $(DESTDIR)$(INCDIR)/ + $(INSTALL) -m0644 include/cyclone/*.h $(DESTDIR)$(INCDIR)/ $(INSTALL) -m0644 scheme/*.sld $(DESTDIR)$(DATADIR)/scheme $(INSTALL) -m0644 scheme/*.o $(DESTDIR)$(DATADIR)/scheme $(INSTALL) -m0644 scheme/cyclone/*.sld $(DESTDIR)$(DATADIR)/scheme/cyclone diff --git a/cgen.scm b/cgen.scm index 11c77672..fb12b071 100644 --- a/cgen.scm +++ b/cgen.scm @@ -1098,7 +1098,7 @@ (apply string-append (reverse compiled-program-lst))) (emit-c-arity-macros 0) - (emit "#include \"cyclone.h\"") + (emit "#include \"cyclone/types.h\"") ;; Globals defined in this module (for-each @@ -1114,10 +1114,10 @@ (emits (mangle-global global)) (emits ";\n")) imported-globals) - (emit "#include \"runtime.h\"") + (emit "#include \"cyclone/runtime.h\"") (if program? - (emit "#include \"runtime-main.h\"")) + (emit "#include \"cyclone/runtime-main.h\"")) ;; Emit symbol definitions (for-each diff --git a/dispatch.c b/dispatch.c index e5fec0ab..a555396e 100644 --- a/dispatch.c +++ b/dispatch.c @@ -1,6 +1,6 @@ -#include "cyclone.h" -#include "runtime.h" +#include "cyclone/types.h" +#include "cyclone/runtime.h" void do_dispatch(int argc, function_type func, object clo, object *b) { switch(argc) {case 0:func(0,clo);case 1:func(1,clo,*(b+0));case 2:func(2,clo,*(b+0),*(b+1));case 3:func(3,clo,*(b+0),*(b+1),*(b+2));case 4:func(4,clo,*(b+0),*(b+1),*(b+2),*(b+3));case 5:func(5,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4));case 6:func(6,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5));case 7:func(7,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6));case 8:func(8,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7));case 9:func(9,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8));case 10:func(10,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9));case 11:func(11,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10));case 12:func(12,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11));case 13:func(13,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12));case 14:func(14,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13));case 15:func(15,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14));case 16:func(16,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15));case 17:func(17,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16));case 18:func(18,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17));case 19:func(19,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18));case 20:func(20,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19));case 21:func(21,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20));case 22:func(22,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21));case 23:func(23,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22));case 24:func(24,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23));case 25:func(25,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24));case 26:func(26,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25));case 27:func(27,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26));case 28:func(28,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27));case 29:func(29,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28));case 30:func(30,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29));case 31:func(31,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30));case 32:func(32,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31));case 33:func(33,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32));case 34:func(34,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33));case 35:func(35,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34));case 36:func(36,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35));case 37:func(37,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36));case 38:func(38,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37));case 39:func(39,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38));case 40:func(40,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39));case 41:func(41,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40));case 42:func(42,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41));case 43:func(43,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42));case 44:func(44,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43));case 45:func(45,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44));case 46:func(46,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45));case 47:func(47,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46));case 48:func(48,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47));case 49:func(49,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48));case 50:func(50,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49));case 51:func(51,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50));case 52:func(52,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51));case 53:func(53,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52));case 54:func(54,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53));case 55:func(55,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54));case 56:func(56,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55));case 57:func(57,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56));case 58:func(58,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57));case 59:func(59,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58));case 60:func(60,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59));case 61:func(61,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60));case 62:func(62,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61));case 63:func(63,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62));case 64:func(64,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63));case 65:func(65,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64));case 66:func(66,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65));case 67:func(67,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66));case 68:func(68,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67));case 69:func(69,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68));case 70:func(70,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69));case 71:func(71,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70));case 72:func(72,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71));case 73:func(73,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72));case 74:func(74,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73));case 75:func(75,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74));case 76:func(76,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75));case 77:func(77,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76));case 78:func(78,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77));case 79:func(79,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78));case 80:func(80,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79));case 81:func(81,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80));case 82:func(82,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81));case 83:func(83,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82));case 84:func(84,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83));case 85:func(85,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84));case 86:func(86,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85));case 87:func(87,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86));case 88:func(88,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87));case 89:func(89,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88));case 90:func(90,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89));case 91:func(91,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90));case 92:func(92,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91));case 93:func(93,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92));case 94:func(94,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93));case 95:func(95,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94));case 96:func(96,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95));case 97:func(97,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96));case 98:func(98,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97));case 99:func(99,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98));case 100:func(100,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99));case 101:func(101,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100));case 102:func(102,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101));case 103:func(103,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102));case 104:func(104,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103));case 105:func(105,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104));case 106:func(106,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105));case 107:func(107,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106));case 108:func(108,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107));case 109:func(109,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108));case 110:func(110,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109));case 111:func(111,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110));case 112:func(112,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111));case 113:func(113,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112));case 114:func(114,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113));case 115:func(115,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114));case 116:func(116,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115));case 117:func(117,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116));case 118:func(118,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117));case 119:func(119,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118));case 120:func(120,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119));case 121:func(121,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120));case 122:func(122,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121));case 123:func(123,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121),*(b+122));case 124:func(124,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121),*(b+122),*(b+123));case 125:func(125,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121),*(b+122),*(b+123),*(b+124));case 126:func(126,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121),*(b+122),*(b+123),*(b+124),*(b+125));case 127:func(127,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121),*(b+122),*(b+123),*(b+124),*(b+125),*(b+126));case 128:func(128,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121),*(b+122),*(b+123),*(b+124),*(b+125),*(b+126),*(b+127));case 129:func(129,clo,*(b+0),*(b+1),*(b+2),*(b+3),*(b+4),*(b+5),*(b+6),*(b+7),*(b+8),*(b+9),*(b+10),*(b+11),*(b+12),*(b+13),*(b+14),*(b+15),*(b+16),*(b+17),*(b+18),*(b+19),*(b+20),*(b+21),*(b+22),*(b+23),*(b+24),*(b+25),*(b+26),*(b+27),*(b+28),*(b+29),*(b+30),*(b+31),*(b+32),*(b+33),*(b+34),*(b+35),*(b+36),*(b+37),*(b+38),*(b+39),*(b+40),*(b+41),*(b+42),*(b+43),*(b+44),*(b+45),*(b+46),*(b+47),*(b+48),*(b+49),*(b+50),*(b+51),*(b+52),*(b+53),*(b+54),*(b+55),*(b+56),*(b+57),*(b+58),*(b+59),*(b+60),*(b+61),*(b+62),*(b+63),*(b+64),*(b+65),*(b+66),*(b+67),*(b+68),*(b+69),*(b+70),*(b+71),*(b+72),*(b+73),*(b+74),*(b+75),*(b+76),*(b+77),*(b+78),*(b+79),*(b+80),*(b+81),*(b+82),*(b+83),*(b+84),*(b+85),*(b+86),*(b+87),*(b+88),*(b+89),*(b+90),*(b+91),*(b+92),*(b+93),*(b+94),*(b+95),*(b+96),*(b+97),*(b+98),*(b+99),*(b+100),*(b+101),*(b+102),*(b+103),*(b+104),*(b+105),*(b+106),*(b+107),*(b+108),*(b+109),*(b+110),*(b+111),*(b+112),*(b+113),*(b+114),*(b+115),*(b+116),*(b+117),*(b+118),*(b+119),*(b+120),*(b+121),*(b+122),*(b+123),*(b+124),*(b+125),*(b+126),*(b+127),*(b+128)); @@ -11,4 +11,4 @@ void do_dispatch(int argc, function_type func, object clo, object *b) { Cyc_rt_raise_msg(buf); } } -} \ No newline at end of file +} diff --git a/generate-c.scm b/generate-c.scm index dff482df..367c40cc 100644 --- a/generate-c.scm +++ b/generate-c.scm @@ -6,8 +6,8 @@ "dispatch.c" (lambda () (display " -#include \"cyclone.h\" -#include \"runtime.h\" +#include \"cyclone/types.h\" +#include \"cyclone/runtime.h\" void do_dispatch(int argc, function_type func, object clo, object *b) { switch(argc) {" ) diff --git a/include/cyclone/runtime-main.h b/include/cyclone/runtime-main.h index 5719576c..78a45169 100644 --- a/include/cyclone/runtime-main.h +++ b/include/cyclone/runtime-main.h @@ -10,7 +10,7 @@ #ifndef CYCLONE_RUNTIME_MAIN_H #define CYCLONE_RUNTIME_MAIN_H -#include "cyclone.h" +#include "cyclone/types.h" long global_stack_size = 0; long global_heap_size = 0; diff --git a/runtime.c b/runtime.c index 4ef858f9..a10802f9 100644 --- a/runtime.c +++ b/runtime.c @@ -6,8 +6,8 @@ * This file contains the C runtime used by compiled programs. */ -#include "cyclone.h" -#include "runtime.h" +#include "cyclone/types.h" +#include "cyclone/runtime.h" /* TODO: working on validation for applying functions */ #define Cyc_check_num_args(fnc_name, num_args, args) { \