/* Generated automatically by the program `genautomata' from the machine description file `md'. */ #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" #include "tree.h" #include "varasm.h" #include "stor-layout.h" #include "calls.h" #include "rtl.h" #include "tm_p.h" #include "insn-config.h" #include "recog.h" #include "regs.h" #include "output.h" #include "insn-attr.h" #include "diagnostic-core.h" #include "flags.h" #include "function.h" #include "emit-rtl.h" /* Vector translating external insn codes to internal ones.*/ static const unsigned char pentium_translate[] ATTRIBUTE_UNUSED = { 0, 1, 2, 2, 3, 4, 5, 5, 5, 6, 7, 8, 5, 2, 2, 9, 10, 11, 3, 12, 13, 14, 4, 5, 8, 7, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, }; /* Comb vector for state transitions. */ static const unsigned char pentium_transitions[] ATTRIBUTE_UNUSED = { 19, 18, 2, 4, 3, 15, 17, 16, 15, 14, 14, 13, 5, 5, 1, 0, 0, 3, 6, 3, 20, 4, 20, 4, 3, 20, 3, 5, 2, 2, 6, 2, 4, 4, 20, 4, 3, 3, 3, 15, 0, 4, 13, 3, 3, 2, 0, 1, 2, 4, 6, 4, 3, 2, 2, 4, 3, 20, 4, 14, 3, 3, 6, 20, 16, 0, 6, 6, 7, 6, 7, 8, 17, 7, 8, 9, 9, 10, 10, 11, 11, 12, 12, 4, 18, 19, 19, 6}; /* Check vector for state transitions. */ static const unsigned char pentium_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 20, 5, 20, 5, 5, 20, 5, 5, 5, 15, 15, 15, 13, 15, 20, 15, 15, 1, 15, 15, 15, 1, 13, 13, 1, 2, 2, 1, 1, 14, 14, 14, 3, 3, 16, 4, 4, 20, 16, 14, 14, 16, 17, 20, 16, 16, 17, 6, 6, 17, 7, 7, 17, 17, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 18, 18, 19, 19}; /* Base vector for state transitions. */ static const unsigned char pentium_base[] = { 0, 32, 30, 37, 40, 12, 52, 55, 59, 61, 63, 65, 67, 27, 44, 24, 49, 57, 69, 71, }; /* Vector of min issue delay of insns. */ static const unsigned char pentium_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 2, 34, 34, 2, 34, 2, 32, 34, 0, 17, 17, 17, 17, 17, 17, 17, 16, 2, 34, 34, 34, 34, 34, 34, 34, 0, 51, 51, 51, 51, 51, 51, 51, 48, 2, 34, 34, 0, 2, 2, 0, 32, 0, 170, 170, 170, 170, 170, 170, 170, 160, 9, 153, 153, 153, 153, 153, 153, 153, 0, 136, 136, 136, 136, 136, 136, 136, 128, 7, 119, 119, 119, 119, 119, 119, 119, 0, 102, 102, 102, 102, 102, 102, 102, 96, 5, 85, 85, 85, 85, 85, 85, 85, 0, 68, 68, 68, 68, 68, 68, 68, 64, 3, 51, 51, 3, 51, 51, 51, 51, 0, 51, 51, 48, 0, 51, 51, 51, 48, 1, 17, 17, 0, 1, 1, 0, 16, 0, 17, 17, 16, 17, 16, 17, 1, 16, 10, 170, 170, 10, 170, 10, 160, 170, 0, 204, 204, 204, 204, 204, 204, 204, 192, 11, 187, 187, 187, 187, 187, 187, 187, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char pentium_fpu_translate[] ATTRIBUTE_UNUSED = { 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 1, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, }; /* Comb vector for state transitions. */ static const unsigned char pentium_fpu_transitions[] ATTRIBUTE_UNUSED = { 0, 72, 73, 71, 74, 32, 1, 0, 69, 74, 73, 71, 75, 1, 2, 70, 70, 72, 73, 71, 2, 3, 3, 0, 4, 5, 6, 7, 8, 4, 9, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 11, 16, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 21, 22, 18, 23, 19, 20, 21, 22, 23, 24, 24, 25, 26, 27, 28, 29, 25, 30, 26, 27, 28, 29, 30, 31, 31, 32, 33, 34, 35, 36, 32, 37, 33, 34, 35, 36, 37, 38, 38, 39, 40, 41, 42, 43, 39, 44, 40, 41, 42, 43, 44, 45, 45, 46, 47, 48, 49, 50, 46, 51, 47, 48, 49, 50, 51, 52, 52, 53, 54, 55, 56, 57, 53, 58, 54, 55, 56, 57, 58, 59, 59, 60, 61, 62, 63, 64, 60, 65, 61, 62, 63, 64, 65, 66, 66, 67, 68, 71, 72, 73, 67, 74, 68, 69, 72, 0, 71, 75, 70}; /* Check vector for state transitions. */ static const unsigned char pentium_fpu_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 69, 69, 75, 1, 2, 69, 70, 70, 70, 70, 1, 2, 3, 70, 4, 5, 6, 7, 8, 3, 9, 4, 5, 6, 7, 8, 10, 9, 11, 12, 13, 14, 15, 10, 16, 11, 12, 13, 14, 15, 17, 16, 18, 19, 20, 21, 22, 17, 23, 18, 19, 20, 21, 22, 24, 23, 25, 26, 27, 28, 29, 24, 30, 25, 26, 27, 28, 29, 31, 30, 32, 33, 34, 35, 36, 31, 37, 32, 33, 34, 35, 36, 38, 37, 39, 40, 41, 42, 43, 38, 44, 39, 40, 41, 42, 43, 45, 44, 46, 47, 48, 49, 50, 45, 51, 46, 47, 48, 49, 50, 52, 51, 53, 54, 55, 56, 57, 52, 58, 53, 54, 55, 56, 57, 59, 58, 60, 61, 62, 63, 64, 59, 65, 60, 61, 62, 63, 64, 66, 65, 67, 68, 71, 72, 73, 66, 74, 67, 68, 71, 72, 73, 75, 74}; /* Base vector for state transitions. */ static const unsigned char pentium_fpu_base[] = { 0, 13, 14, 22, 24, 25, 26, 27, 28, 30, 36, 38, 39, 40, 41, 42, 44, 50, 52, 53, 54, 55, 56, 58, 64, 66, 67, 68, 69, 70, 72, 78, 80, 81, 82, 83, 84, 86, 92, 94, 95, 96, 97, 98, 100, 106, 108, 109, 110, 111, 112, 114, 120, 122, 123, 124, 125, 126, 128, 134, 136, 137, 138, 139, 140, 142, 148, 150, 151, 8, 16, 152, 153, 154, 156}; /* Vector of min issue delay of insns. */ static const unsigned char pentium_fpu_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, 70, 70, 70, 0, 0, 67, 67, 67, 69, 69, 69, 0, 0, 66, 66, 66, 68, 68, 68, 0, 0, 65, 65, 65, 67, 67, 67, 0, 0, 64, 64, 64, 66, 66, 66, 0, 0, 63, 63, 63, 65, 65, 65, 0, 0, 62, 62, 62, 64, 64, 64, 0, 0, 61, 61, 61, 63, 63, 63, 0, 0, 60, 60, 60, 62, 62, 62, 0, 0, 59, 59, 59, 61, 61, 61, 0, 0, 58, 58, 58, 60, 60, 60, 0, 0, 57, 57, 57, 59, 59, 59, 0, 0, 56, 56, 56, 58, 58, 58, 0, 0, 55, 55, 55, 57, 57, 57, 0, 0, 54, 54, 54, 56, 56, 56, 0, 0, 53, 53, 53, 55, 55, 55, 0, 0, 52, 52, 52, 54, 54, 54, 0, 0, 51, 51, 51, 53, 53, 53, 0, 0, 50, 50, 50, 52, 52, 52, 0, 0, 49, 49, 49, 51, 51, 51, 0, 0, 48, 48, 48, 50, 50, 50, 0, 0, 47, 47, 47, 49, 49, 49, 0, 0, 46, 46, 46, 48, 48, 48, 0, 0, 45, 45, 45, 47, 47, 47, 0, 0, 44, 44, 44, 46, 46, 46, 0, 0, 43, 43, 43, 45, 45, 45, 0, 0, 42, 42, 42, 44, 44, 44, 0, 0, 41, 41, 41, 43, 43, 43, 0, 0, 40, 40, 40, 42, 42, 42, 0, 0, 39, 39, 39, 41, 41, 41, 0, 0, 38, 38, 38, 40, 40, 40, 0, 0, 37, 37, 37, 39, 39, 39, 0, 0, 36, 36, 36, 38, 38, 38, 0, 0, 35, 35, 35, 37, 37, 37, 0, 0, 34, 34, 34, 36, 36, 36, 0, 0, 33, 33, 33, 35, 35, 35, 0, 0, 32, 32, 32, 34, 34, 34, 0, 0, 31, 31, 31, 33, 33, 33, 0, 0, 30, 30, 30, 32, 32, 32, 0, 0, 29, 29, 29, 31, 31, 31, 0, 0, 28, 28, 28, 30, 30, 30, 0, 0, 27, 27, 27, 29, 29, 29, 0, 0, 26, 26, 26, 28, 28, 28, 0, 0, 25, 25, 25, 27, 27, 27, 0, 0, 24, 24, 24, 26, 26, 26, 0, 0, 23, 23, 23, 25, 25, 25, 0, 0, 22, 22, 22, 24, 24, 24, 0, 0, 21, 21, 21, 23, 23, 23, 0, 0, 20, 20, 20, 22, 22, 22, 0, 0, 19, 19, 19, 21, 21, 21, 0, 0, 18, 18, 18, 20, 20, 20, 0, 0, 17, 17, 17, 19, 19, 19, 0, 0, 16, 16, 16, 18, 18, 18, 0, 0, 15, 15, 15, 17, 17, 17, 0, 0, 14, 14, 14, 16, 16, 16, 0, 0, 13, 13, 13, 15, 15, 15, 0, 0, 12, 12, 12, 14, 14, 14, 0, 0, 11, 11, 11, 13, 13, 13, 0, 0, 10, 10, 10, 12, 12, 12, 0, 0, 9, 9, 9, 11, 11, 11, 0, 0, 8, 8, 8, 10, 10, 10, 0, 0, 7, 7, 7, 9, 9, 9, 0, 0, 6, 6, 6, 8, 8, 8, 0, 0, 5, 5, 5, 7, 7, 7, 0, 0, 4, 4, 4, 6, 6, 6, 0, 0, 3, 3, 3, 5, 5, 5, 0, 0, 2, 2, 2, 4, 4, 4, 0, 0, 1, 1, 1, 3, 3, 3, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 1, 1, 1, 2, 2, 2, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char ppro_decoder_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char ppro_decoder_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 1, 0, 1, 4, 2, 0, 2, 4, 3, 0, 3, 4, 4, 0}; /* Vector of min issue delay of insns. */ static const unsigned char ppro_decoder_min_issue_delay[] ATTRIBUTE_UNUSED = { 4, 70}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char ppro_core_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 2, 2, 2, 3, 3, 4, 2, 2, 5, 5, 6, 5, 6, 5, 2, 7, 5, 7, 2, 7, 7, 2, 2, 2, 0, 7, 2, 7, 7, 7, 2, 2, 2, 2, 2, 2, 3, 3, 2, 2, 3, 0, 2, 3, 3, 3, 3, 2, 2, 2, 2, 8, 8, 9, 3, 1, 1, 0, 9, 9, 9, 9, 9, 9, 3, 7, 7, 10, 10, 3, 3, 4, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, }; /* Comb vector for state transitions. */ static const unsigned char ppro_core_transitions[] ATTRIBUTE_UNUSED = { 0, 34, 34, 36, 33, 32, 31, 33, 18, 104, 1, 0, 36, 42, 42, 105, 40, 39, 41, 40, 38, 105, 37, 0, 104, 35, 35, 35, 43, 44, 45, 43, 70, 37, 103, 36, 1, 37, 36, 37, 103, 105, 38, 39, 2, 103, 105, 2, 2, 102, 105, 102, 101, 19, 33, 40, 41, 101, 105, 3, 3, 100, 105, 100, 99, 105, 34, 32, 42, 99, 105, 4, 4, 98, 105, 98, 97, 105, 43, 0, 44, 97, 105, 5, 5, 96, 105, 96, 95, 42, 45, 40, 46, 95, 105, 6, 6, 94, 105, 94, 93, 39, 47, 41, 48, 93, 105, 7, 7, 92, 105, 92, 91, 31, 49, 47, 50, 91, 105, 8, 8, 90, 105, 90, 89, 30, 51, 49, 52, 89, 105, 9, 9, 88, 105, 88, 87, 29, 53, 51, 54, 87, 105, 10, 10, 86, 105, 86, 85, 28, 55, 53, 56, 85, 105, 11, 11, 84, 105, 84, 83, 27, 57, 55, 58, 83, 105, 12, 12, 82, 105, 82, 81, 26, 59, 57, 60, 81, 105, 13, 13, 80, 105, 80, 79, 25, 61, 59, 62, 79, 105, 14, 14, 78, 105, 78, 77, 24, 63, 61, 64, 77, 105, 15, 15, 76, 105, 76, 75, 23, 65, 63, 66, 75, 105, 16, 16, 74, 105, 74, 73, 22, 67, 65, 68, 73, 105, 17, 17, 72, 105, 72, 71, 21, 69, 67, 70, 71, 105, 18, 18, 38, 105, 38, 70, 20, 71, 69, 72, 70, 105, 19, 19, 69, 105, 69, 68, 38, 73, 18, 74, 68, 105, 20, 20, 67, 105, 67, 66, 72, 75, 17, 76, 66, 105, 21, 21, 65, 105, 65, 64, 74, 77, 16, 78, 64, 105, 22, 22, 63, 105, 63, 62, 76, 79, 15, 80, 62, 105, 23, 23, 61, 105, 61, 60, 78, 81, 14, 82, 60, 105, 24, 24, 59, 105, 59, 58, 80, 83, 13, 84, 58, 105, 25, 25, 57, 105, 57, 56, 82, 85, 12, 86, 56, 105, 26, 26, 55, 105, 55, 54, 84, 87, 11, 88, 54, 105, 27, 27, 53, 105, 53, 52, 86, 89, 10, 90, 52, 105, 28, 28, 51, 105, 51, 50, 88, 91, 9, 92, 50, 105, 29, 29, 49, 105, 49, 48, 90, 93, 8, 94, 48, 105, 30, 30, 47, 105, 47, 46, 92, 95, 7, 96, 46, 105, 31, 31, 41, 105, 41, 45, 94, 97, 6, 98, 45, 105, 32, 32, 39, 105, 39, 44, 96, 99, 5, 100, 44, 105, 33, 33, 40, 105, 40, 43, 98, 101, 4, 102, 43, 105, 34, 34, 42, 103, 42, 40, 100, 105, 3, 105, 35, 105, 0, 105, 102}; /* Check vector for state transitions. */ static const unsigned char ppro_core_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 105, 36, 36, 36, 36, 36, 105, 36, 36, 104, 104, 104, 35, 104, 104, 104, 104, 104, 37, 104, 104, 1, 1, 35, 1, 1, 105, 38, 39, 37, 1, 105, 1, 2, 2, 105, 2, 2, 38, 39, 40, 41, 2, 105, 2, 3, 3, 105, 3, 3, 105, 40, 41, 42, 3, 105, 3, 4, 4, 105, 4, 4, 105, 43, 42, 44, 4, 105, 4, 5, 5, 105, 5, 5, 43, 45, 44, 46, 5, 105, 5, 6, 6, 105, 6, 6, 45, 47, 46, 48, 6, 105, 6, 7, 7, 105, 7, 7, 47, 49, 48, 50, 7, 105, 7, 8, 8, 105, 8, 8, 49, 51, 50, 52, 8, 105, 8, 9, 9, 105, 9, 9, 51, 53, 52, 54, 9, 105, 9, 10, 10, 105, 10, 10, 53, 55, 54, 56, 10, 105, 10, 11, 11, 105, 11, 11, 55, 57, 56, 58, 11, 105, 11, 12, 12, 105, 12, 12, 57, 59, 58, 60, 12, 105, 12, 13, 13, 105, 13, 13, 59, 61, 60, 62, 13, 105, 13, 14, 14, 105, 14, 14, 61, 63, 62, 64, 14, 105, 14, 15, 15, 105, 15, 15, 63, 65, 64, 66, 15, 105, 15, 16, 16, 105, 16, 16, 65, 67, 66, 68, 16, 105, 16, 17, 17, 105, 17, 17, 67, 69, 68, 70, 17, 105, 17, 18, 18, 105, 18, 18, 69, 71, 70, 72, 18, 105, 18, 19, 19, 105, 19, 19, 71, 73, 72, 74, 19, 105, 19, 20, 20, 105, 20, 20, 73, 75, 74, 76, 20, 105, 20, 21, 21, 105, 21, 21, 75, 77, 76, 78, 21, 105, 21, 22, 22, 105, 22, 22, 77, 79, 78, 80, 22, 105, 22, 23, 23, 105, 23, 23, 79, 81, 80, 82, 23, 105, 23, 24, 24, 105, 24, 24, 81, 83, 82, 84, 24, 105, 24, 25, 25, 105, 25, 25, 83, 85, 84, 86, 25, 105, 25, 26, 26, 105, 26, 26, 85, 87, 86, 88, 26, 105, 26, 27, 27, 105, 27, 27, 87, 89, 88, 90, 27, 105, 27, 28, 28, 105, 28, 28, 89, 91, 90, 92, 28, 105, 28, 29, 29, 105, 29, 29, 91, 93, 92, 94, 29, 105, 29, 30, 30, 105, 30, 30, 93, 95, 94, 96, 30, 105, 30, 31, 31, 105, 31, 31, 95, 97, 96, 98, 31, 105, 31, 32, 32, 105, 32, 32, 97, 99, 98, 100, 32, 105, 32, 33, 33, 105, 33, 33, 99, 101, 100, 102, 33, 105, 33, 34, 34, 103, 34, 34, 101, 105, 102, 105, 34, 105, 34, 105, 103}; /* Base vector for state transitions. */ static const unsigned short ppro_core_base[] = { 0, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300, 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 27, 12, 33, 42, 43, 55, 56, 68, 78, 80, 90, 92, 102, 104, 114, 116, 126, 128, 138, 140, 150, 152, 162, 164, 174, 176, 186, 188, 198, 200, 210, 212, 222, 224, 234, 236, 246, 248, 258, 260, 270, 272, 282, 284, 294, 296, 306, 308, 318, 320, 330, 332, 342, 344, 354, 356, 366, 368, 378, 380, 390, 392, 402, 404, 414, 416, 426, 428, 434, 24}; /* Vector of min issue delay of insns. */ static const unsigned char ppro_core_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 34, 34, 34, 34, 0, 34, 0, 0, 0, 33, 0, 0, 33, 33, 33, 33, 0, 33, 0, 0, 0, 32, 0, 0, 32, 32, 32, 32, 0, 32, 0, 0, 0, 31, 0, 0, 31, 31, 31, 31, 0, 31, 0, 0, 0, 30, 0, 0, 30, 30, 30, 30, 0, 30, 0, 0, 0, 29, 0, 0, 29, 29, 29, 29, 0, 29, 0, 0, 0, 28, 0, 0, 28, 28, 28, 28, 0, 28, 0, 0, 0, 27, 0, 0, 27, 27, 27, 27, 0, 27, 0, 0, 0, 26, 0, 0, 26, 26, 26, 26, 0, 26, 0, 0, 0, 25, 0, 0, 25, 25, 25, 25, 0, 25, 0, 0, 0, 24, 0, 0, 24, 24, 24, 24, 0, 24, 0, 0, 0, 23, 0, 0, 23, 23, 23, 23, 0, 23, 0, 0, 0, 22, 0, 0, 22, 22, 22, 22, 0, 22, 0, 0, 0, 21, 0, 0, 21, 21, 21, 21, 0, 21, 0, 0, 0, 20, 0, 0, 20, 20, 20, 20, 0, 20, 0, 0, 0, 19, 0, 0, 19, 19, 19, 19, 0, 19, 0, 0, 0, 18, 0, 0, 18, 18, 18, 18, 0, 18, 0, 0, 0, 17, 0, 0, 17, 17, 17, 17, 0, 17, 0, 0, 0, 16, 0, 0, 16, 16, 16, 16, 0, 16, 0, 0, 0, 15, 0, 0, 15, 15, 15, 15, 0, 15, 0, 0, 0, 14, 0, 0, 14, 14, 14, 14, 0, 14, 0, 0, 0, 13, 0, 0, 13, 13, 13, 13, 0, 13, 0, 0, 0, 12, 0, 0, 12, 12, 12, 12, 0, 12, 0, 0, 0, 11, 0, 0, 11, 11, 11, 11, 0, 11, 0, 0, 0, 10, 0, 0, 10, 10, 10, 10, 0, 10, 0, 0, 0, 9, 0, 0, 9, 9, 9, 9, 0, 9, 0, 0, 0, 8, 0, 0, 8, 8, 8, 8, 0, 8, 0, 0, 0, 7, 0, 0, 7, 7, 7, 7, 0, 7, 0, 0, 0, 6, 0, 0, 6, 6, 6, 6, 0, 6, 0, 0, 0, 5, 0, 0, 5, 5, 5, 5, 0, 5, 0, 0, 0, 4, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 0, 3, 0, 0, 3, 3, 3, 3, 0, 3, 0, 0, 0, 2, 0, 0, 2, 2, 2, 2, 0, 2, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 34, 1, 1, 34, 34, 34, 34, 1, 34, 0, 0, 1, 17, 1, 1, 17, 17, 17, 17, 1, 17, 0, 0, 1, 3, 1, 1, 3, 3, 3, 3, 1, 3, 0, 0, 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 0, 0, 1, 4, 1, 1, 4, 4, 4, 4, 1, 4, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 3, 2, 2, 3, 3, 3, 3, 2, 3, 0, 0, 2, 4, 2, 2, 4, 4, 4, 4, 2, 4, 0, 0, 2, 5, 2, 2, 5, 5, 5, 5, 2, 5, 0, 0, 1, 5, 1, 1, 5, 5, 5, 5, 1, 5, 0, 0, 2, 6, 2, 2, 6, 6, 6, 6, 2, 6, 0, 0, 1, 6, 1, 1, 6, 6, 6, 6, 1, 6, 0, 0, 2, 7, 2, 2, 7, 7, 7, 7, 2, 7, 0, 0, 1, 7, 1, 1, 7, 7, 7, 7, 1, 7, 0, 0, 2, 8, 2, 2, 8, 8, 8, 8, 2, 8, 0, 0, 1, 8, 1, 1, 8, 8, 8, 8, 1, 8, 0, 0, 2, 9, 2, 2, 9, 9, 9, 9, 2, 9, 0, 0, 1, 9, 1, 1, 9, 9, 9, 9, 1, 9, 0, 0, 2, 10, 2, 2, 10, 10, 10, 10, 2, 10, 0, 0, 1, 10, 1, 1, 10, 10, 10, 10, 1, 10, 0, 0, 2, 11, 2, 2, 11, 11, 11, 11, 2, 11, 0, 0, 1, 11, 1, 1, 11, 11, 11, 11, 1, 11, 0, 0, 2, 12, 2, 2, 12, 12, 12, 12, 2, 12, 0, 0, 1, 12, 1, 1, 12, 12, 12, 12, 1, 12, 0, 0, 2, 13, 2, 2, 13, 13, 13, 13, 2, 13, 0, 0, 1, 13, 1, 1, 13, 13, 13, 13, 1, 13, 0, 0, 2, 14, 2, 2, 14, 14, 14, 14, 2, 14, 0, 0, 1, 14, 1, 1, 14, 14, 14, 14, 1, 14, 0, 0, 2, 15, 2, 2, 15, 15, 15, 15, 2, 15, 0, 0, 1, 15, 1, 1, 15, 15, 15, 15, 1, 15, 0, 0, 2, 16, 2, 2, 16, 16, 16, 16, 2, 16, 0, 0, 1, 16, 1, 1, 16, 16, 16, 16, 1, 16, 0, 0, 2, 17, 2, 2, 17, 17, 17, 17, 2, 17, 0, 0, 2, 18, 2, 2, 18, 18, 18, 18, 2, 18, 0, 0, 1, 18, 1, 1, 18, 18, 18, 18, 1, 18, 0, 0, 2, 19, 2, 2, 19, 19, 19, 19, 2, 19, 0, 0, 1, 19, 1, 1, 19, 19, 19, 19, 1, 19, 0, 0, 2, 20, 2, 2, 20, 20, 20, 20, 2, 20, 0, 0, 1, 20, 1, 1, 20, 20, 20, 20, 1, 20, 0, 0, 2, 21, 2, 2, 21, 21, 21, 21, 2, 21, 0, 0, 1, 21, 1, 1, 21, 21, 21, 21, 1, 21, 0, 0, 2, 22, 2, 2, 22, 22, 22, 22, 2, 22, 0, 0, 1, 22, 1, 1, 22, 22, 22, 22, 1, 22, 0, 0, 2, 23, 2, 2, 23, 23, 23, 23, 2, 23, 0, 0, 1, 23, 1, 1, 23, 23, 23, 23, 1, 23, 0, 0, 2, 24, 2, 2, 24, 24, 24, 24, 2, 24, 0, 0, 1, 24, 1, 1, 24, 24, 24, 24, 1, 24, 0, 0, 2, 25, 2, 2, 25, 25, 25, 25, 2, 25, 0, 0, 1, 25, 1, 1, 25, 25, 25, 25, 1, 25, 0, 0, 2, 26, 2, 2, 26, 26, 26, 26, 2, 26, 0, 0, 1, 26, 1, 1, 26, 26, 26, 26, 1, 26, 0, 0, 2, 27, 2, 2, 27, 27, 27, 27, 2, 27, 0, 0, 1, 27, 1, 1, 27, 27, 27, 27, 1, 27, 0, 0, 2, 28, 2, 2, 28, 28, 28, 28, 2, 28, 0, 0, 1, 28, 1, 1, 28, 28, 28, 28, 1, 28, 0, 0, 2, 29, 2, 2, 29, 29, 29, 29, 2, 29, 0, 0, 1, 29, 1, 1, 29, 29, 29, 29, 1, 29, 0, 0, 2, 30, 2, 2, 30, 30, 30, 30, 2, 30, 0, 0, 1, 30, 1, 1, 30, 30, 30, 30, 1, 30, 0, 0, 2, 31, 2, 2, 31, 31, 31, 31, 2, 31, 0, 0, 1, 31, 1, 1, 31, 31, 31, 31, 1, 31, 0, 0, 2, 32, 2, 2, 32, 32, 32, 32, 2, 32, 0, 0, 1, 32, 1, 1, 32, 32, 32, 32, 1, 32, 0, 0, 2, 33, 2, 2, 33, 33, 33, 33, 2, 33, 0, 0, 1, 33, 1, 1, 33, 33, 33, 33, 1, 33, 0, 0, 2, 34, 2, 2, 34, 34, 34, 34, 2, 34, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char ppro_idiv_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, }; /* Vector for state transitions. */ static const unsigned char ppro_idiv_transitions[] ATTRIBUTE_UNUSED = { 0, 26, 17, 1, 0, 1, 38, 38, 38, 2, 2, 38, 38, 38, 3, 3, 38, 38, 38, 4, 4, 38, 38, 38, 5, 5, 38, 38, 38, 6, 6, 38, 38, 38, 7, 7, 38, 38, 38, 8, 8, 38, 38, 38, 9, 9, 38, 38, 38, 10, 10, 38, 38, 38, 11, 11, 38, 38, 38, 12, 12, 38, 38, 38, 13, 13, 38, 38, 38, 14, 14, 38, 38, 38, 15, 15, 38, 38, 38, 16, 16, 38, 38, 38, 17, 17, 38, 38, 38, 18, 18, 38, 38, 38, 19, 19, 38, 38, 38, 20, 20, 38, 38, 38, 21, 21, 38, 38, 38, 22, 22, 38, 38, 38, 23, 23, 38, 38, 38, 24, 24, 38, 38, 38, 25, 25, 38, 38, 38, 26, 26, 38, 38, 38, 27, 27, 38, 38, 38, 28, 28, 38, 38, 38, 29, 29, 38, 38, 38, 30, 30, 38, 38, 38, 31, 31, 38, 38, 38, 32, 32, 38, 38, 38, 33, 33, 38, 38, 38, 34, 34, 38, 38, 38, 35, 35, 38, 38, 38, 36, 36, 38, 38, 38, 37, 37, 38, 38, 38, 0, }; /* Vector of min issue delay of insns. */ static const unsigned char ppro_idiv_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 37, 37, 37, 0, 0, 36, 36, 36, 0, 0, 35, 35, 35, 0, 0, 34, 34, 34, 0, 0, 33, 33, 33, 0, 0, 32, 32, 32, 0, 0, 31, 31, 31, 0, 0, 30, 30, 30, 0, 0, 29, 29, 29, 0, 0, 28, 28, 28, 0, 0, 27, 27, 27, 0, 0, 26, 26, 26, 0, 0, 25, 25, 25, 0, 0, 24, 24, 24, 0, 0, 23, 23, 23, 0, 0, 22, 22, 22, 0, 0, 21, 21, 21, 0, 0, 20, 20, 20, 0, 0, 19, 19, 19, 0, 0, 18, 18, 18, 0, 0, 17, 17, 17, 0, 0, 16, 16, 16, 0, 0, 15, 15, 15, 0, 0, 14, 14, 14, 0, 0, 13, 13, 13, 0, 0, 12, 12, 12, 0, 0, 11, 11, 11, 0, 0, 10, 10, 10, 0, 0, 9, 9, 9, 0, 0, 8, 8, 8, 0, 0, 7, 7, 7, 0, 0, 6, 6, 6, 0, 0, 5, 5, 5, 0, 0, 4, 4, 4, 0, 0, 3, 3, 3, 0, 0, 2, 2, 2, 0, 0, 1, 1, 1, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char ppro_fdiv_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, }; /* Vector for state transitions. */ static const unsigned char ppro_fdiv_transitions[] ATTRIBUTE_UNUSED = { 0, 21, 7, 1, 0, 1, 38, 38, 38, 2, 2, 38, 38, 38, 3, 3, 38, 38, 38, 4, 4, 38, 38, 38, 5, 5, 38, 38, 38, 6, 6, 38, 38, 38, 7, 7, 38, 38, 38, 8, 8, 38, 38, 38, 9, 9, 38, 38, 38, 10, 10, 38, 38, 38, 11, 11, 38, 38, 38, 12, 12, 38, 38, 38, 13, 13, 38, 38, 38, 14, 14, 38, 38, 38, 15, 15, 38, 38, 38, 16, 16, 38, 38, 38, 17, 17, 38, 38, 38, 18, 18, 38, 38, 38, 19, 19, 38, 38, 38, 20, 20, 38, 38, 38, 21, 21, 38, 38, 38, 22, 22, 38, 38, 38, 23, 23, 38, 38, 38, 24, 24, 38, 38, 38, 25, 25, 38, 38, 38, 26, 26, 38, 38, 38, 27, 27, 38, 38, 38, 28, 28, 38, 38, 38, 29, 29, 38, 38, 38, 30, 30, 38, 38, 38, 31, 31, 38, 38, 38, 32, 32, 38, 38, 38, 33, 33, 38, 38, 38, 34, 34, 38, 38, 38, 35, 35, 38, 38, 38, 36, 36, 38, 38, 38, 37, 37, 38, 38, 38, 0, }; /* Vector of min issue delay of insns. */ static const unsigned char ppro_fdiv_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 37, 37, 37, 0, 0, 36, 36, 36, 0, 0, 35, 35, 35, 0, 0, 34, 34, 34, 0, 0, 33, 33, 33, 0, 0, 32, 32, 32, 0, 0, 31, 31, 31, 0, 0, 30, 30, 30, 0, 0, 29, 29, 29, 0, 0, 28, 28, 28, 0, 0, 27, 27, 27, 0, 0, 26, 26, 26, 0, 0, 25, 25, 25, 0, 0, 24, 24, 24, 0, 0, 23, 23, 23, 0, 0, 22, 22, 22, 0, 0, 21, 21, 21, 0, 0, 20, 20, 20, 0, 0, 19, 19, 19, 0, 0, 18, 18, 18, 0, 0, 17, 17, 17, 0, 0, 16, 16, 16, 0, 0, 15, 15, 15, 0, 0, 14, 14, 14, 0, 0, 13, 13, 13, 0, 0, 12, 12, 12, 0, 0, 11, 11, 11, 0, 0, 10, 10, 10, 0, 0, 9, 9, 9, 0, 0, 8, 8, 8, 0, 0, 7, 7, 7, 0, 0, 6, 6, 6, 0, 0, 5, 5, 5, 0, 0, 4, 4, 4, 0, 0, 3, 3, 3, 0, 0, 2, 2, 2, 0, 0, 1, 1, 1, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char ppro_load_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, 0, 2, 0, 1, 0, 2, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char ppro_load_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 1, 0, 1, 3, 3, 2, 2, 3, 3, 0}; /* Vector of min issue delay of insns. */ static const unsigned char ppro_load_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 40, 20}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char ppro_store_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, }; /* Vector for state transitions. */ static const unsigned char ppro_store_transitions[] ATTRIBUTE_UNUSED = { 0, 3, 5, 10, 7, 1, 0, 1, 11, 11, 2, 11, 11, 3, 2, 11, 11, 11, 11, 11, 1, 3, 11, 1, 4, 11, 11, 0, 4, 11, 2, 11, 11, 11, 5, 5, 1, 11, 6, 11, 11, 3, 6, 2, 11, 11, 11, 11, 1, 7, 11, 11, 2, 11, 11, 8, 8, 11, 1, 9, 7, 11, 0, 9, 11, 2, 11, 2, 11, 5, 10, 4, 6, 11, 2, 2, 5}; /* Vector of min issue delay of insns. */ static const unsigned char ppro_store_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 146, 131, 159, 4, 20, 17, 240, 18, 128, 159, 9, 24, 16, 16, 68, 192, 16, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char k6_decoder_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 0, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char k6_decoder_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 1, 0, 1, 3, 3, 0, 2, 1, 3, 0}; /* Vector of min issue delay of insns. */ static const unsigned char k6_decoder_min_issue_delay[] ATTRIBUTE_UNUSED = { 6, 32}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char k6_load_unit_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 2, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char k6_load_unit_transitions[] ATTRIBUTE_UNUSED = { 0, 10, 1, 0, 1, 11, 11, 2, 2, 11, 11, 3, 3, 11, 11, 4, 4, 11, 11, 5, 5, 11, 11, 6, 6, 11, 11, 7, 7, 11, 11, 8, 8, 11, 11, 9, 9, 11, 11, 10, 10, 11, 11, 0}; /* Vector of min issue delay of insns. */ static const unsigned char k6_load_unit_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 10, 160, 9, 144, 8, 128, 7, 112, 6, 96, 5, 80, 4, 64, 3, 48, 2, 32, 1, 16}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char k6_store_unit_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 3, 4, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, }; /* Vector for state transitions. */ static const unsigned char k6_store_unit_transitions[] ATTRIBUTE_UNUSED = { 0, 23, 36, 31, 1, 0, 1, 37, 37, 37, 37, 2, 2, 37, 37, 37, 37, 3, 3, 37, 37, 37, 37, 4, 4, 37, 37, 37, 37, 5, 5, 37, 37, 37, 37, 6, 6, 37, 5, 37, 37, 7, 7, 37, 8, 37, 37, 17, 8, 37, 37, 37, 37, 9, 9, 6, 10, 37, 37, 28, 10, 5, 37, 37, 37, 11, 11, 37, 12, 37, 37, 15, 12, 37, 37, 37, 37, 13, 13, 37, 14, 6, 37, 7, 14, 37, 37, 5, 37, 6, 15, 37, 16, 7, 37, 17, 16, 37, 37, 8, 37, 9, 17, 7, 18, 37, 37, 31, 18, 8, 37, 37, 37, 19, 19, 11, 20, 37, 37, 23, 20, 12, 37, 37, 37, 21, 21, 37, 22, 11, 37, 15, 22, 37, 37, 12, 37, 13, 23, 37, 24, 28, 37, 29, 24, 37, 37, 25, 37, 26, 25, 37, 37, 37, 37, 26, 26, 13, 27, 9, 37, 28, 27, 14, 37, 10, 37, 11, 28, 37, 25, 37, 37, 29, 29, 15, 30, 17, 37, 31, 30, 16, 37, 18, 37, 19, 31, 28, 32, 37, 37, 35, 32, 25, 37, 37, 37, 33, 33, 21, 34, 19, 37, 23, 34, 22, 37, 20, 37, 21, 35, 23, 36, 31, 37, 0, 36, 24, 37, 32, 37, 33}; /* Vector of min issue delay of insns. */ static const unsigned char k6_store_unit_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 7, 89, 160, 6, 72, 144, 5, 55, 128, 4, 38, 112, 3, 21, 96, 2, 4, 80, 1, 3, 64, 1, 19, 96, 0, 2, 80, 0, 18, 96, 2, 1, 80, 3, 17, 96, 2, 0, 80, 3, 16, 96, 1, 0, 64, 1, 16, 96, 0, 2, 48, 0, 18, 96, 0, 1, 80, 0, 17, 96, 2, 0, 80, 3, 16, 96, 1, 0, 64, 1, 16, 96, 1, 17, 96, 0, 0, 80, 0, 16, 96, 1, 1, 64, 0, 0, 48, 0, 16, 96, 0, 1, 32, 0, 17, 96, 0, 0, 80, 0, 16, 96, 0, 0, 16, 0, 16, 96}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char k6_integer_units_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 4, 4, 5, 6, 7, 8, 8, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, }; /* Comb vector for state transitions. */ static const unsigned char k6_integer_units_transitions[] ATTRIBUTE_UNUSED = { 0, 3, 106, 4, 111, 13, 108, 3, 106, 1, 0, 3, 114, 2, 114, 26, 114, 100, 7, 2, 4, 0, 7, 114, 11, 6, 31, 114, 12, 5, 11, 8, 0, 1, 4, 7, 9, 106, 2, 6, 4, 105, 104, 2, 2, 107, 105, 3, 108, 100, 114, 114, 111, 26, 9, 100, 110, 109, 13, 26, 113, 112, 4, 2, 6, 114, 114, 4, 114, 10, 11, 103, 99, 3, 8, 99, 5, 2, 13, 11, 114, 114, 14, 114, 28, 96, 94, 92, 14, 91, 89, 87, 15, 15, 10, 114, 114, 16, 114, 30, 86, 84, 82, 16, 81, 79, 77, 17, 17, 8, 114, 114, 18, 114, 33, 76, 74, 72, 18, 71, 69, 67, 19, 19, 30, 114, 114, 20, 114, 35, 66, 64, 62, 20, 61, 59, 57, 21, 21, 31, 114, 114, 22, 114, 38, 56, 54, 52, 22, 51, 49, 47, 23, 23, 35, 114, 114, 24, 114, 40, 46, 44, 42, 24, 41, 39, 37, 25, 25, 36, 114, 114, 26, 114, 43, 36, 34, 32, 26, 31, 29, 27, 4, 100, 40, 114, 8, 114, 114, 11, 12, 102, 101, 13, 10, 9, 2, 6, 10, 3, 12, 114, 114, 31, 114, 114, 36, 114, 98, 97, 13, 30, 28, 4, 35, 33, 26, 41, 114, 114, 46, 114, 114, 51, 114, 40, 38, 25, 45, 43, 24, 50, 48, 23, 56, 114, 114, 61, 114, 114, 66, 114, 55, 53, 22, 60, 58, 21, 65, 63, 20, 71, 114, 114, 76, 114, 114, 81, 114, 70, 68, 19, 75, 73, 18, 80, 78, 17, 86, 114, 114, 91, 114, 114, 96, 114, 85, 83, 16, 90, 88, 15, 95, 93, 14, 104, 5, 105, 99, 107, 103, 114, 5, 114, 99, 6, 103, 11, 45, 7, 109, 101, 110, 102, 112, 27, 114, 101, 41, 102, 95, 27, 96, 27, 10, 113, 29, 29, 114, 32, 28, 34, 29, 10, 30, 8, 33, 8, 35, 30, 37, 31, 39, 114, 42, 114, 44, 38, 47, 40, 35, 43, 36, 45, 40, 48, 41, 49, 45, 52, 114, 54, 114, 57, 50, 59, 53, 46, 55, 50, 58, 51, 60, 55, 62, 56, 64, 114, 67, 114, 69, 63, 72, 65, 60, 68, 61, 70, 65, 73, 66, 74, 70, 77, 114, 79, 114, 82, 75, 84, 78, 71, 80, 75, 83, 76, 85, 80, 87, 81, 89, 114, 92, 114, 94, 88, 99, 90, 85, 93, 86, 95, 90, 10, 91, 101, 11, 102, 48, 103, 50, 53, 97, 55, 98, 95, 6, 96, 45, 7, 46, 50, 58, 51, 60, 63, 65, 68, 70, 73, 75, 78, 55, 80, 56, 60, 61, 65, 66, 70, 71, 75, 83, 76, 85, 88, 90, 93, 95, 97, 98, 114, 80, 114, 81, 85, 86, 90, 91, 95, 96}; /* Check vector for state transitions. */ static const unsigned char k6_integer_units_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 114, 3, 114, 3, 114, 3, 3, 3, 3, 3, 7, 114, 7, 6, 7, 114, 7, 5, 7, 7, 7, 1, 1, 6, 5, 106, 106, 5, 1, 1, 1, 1, 106, 106, 106, 106, 108, 108, 114, 114, 111, 111, 9, 108, 108, 108, 108, 111, 111, 111, 111, 2, 9, 114, 114, 4, 114, 10, 2, 2, 2, 2, 4, 4, 4, 4, 13, 10, 114, 114, 14, 114, 28, 13, 13, 13, 13, 14, 14, 14, 14, 15, 28, 114, 114, 16, 114, 30, 15, 15, 15, 15, 16, 16, 16, 16, 17, 30, 114, 114, 18, 114, 33, 17, 17, 17, 17, 18, 18, 18, 18, 19, 33, 114, 114, 20, 114, 35, 19, 19, 19, 19, 20, 20, 20, 20, 21, 35, 114, 114, 22, 114, 38, 21, 21, 21, 21, 22, 22, 22, 22, 23, 38, 114, 114, 24, 114, 40, 23, 23, 23, 23, 24, 24, 24, 24, 25, 40, 114, 114, 26, 114, 43, 25, 25, 25, 25, 26, 26, 26, 26, 100, 43, 114, 8, 114, 114, 11, 100, 100, 100, 100, 8, 8, 8, 11, 11, 11, 12, 114, 114, 31, 114, 114, 36, 114, 12, 12, 12, 31, 31, 31, 36, 36, 36, 41, 114, 114, 46, 114, 114, 51, 114, 41, 41, 41, 46, 46, 46, 51, 51, 51, 56, 114, 114, 61, 114, 114, 66, 114, 56, 56, 56, 61, 61, 61, 66, 66, 66, 71, 114, 114, 76, 114, 114, 81, 114, 71, 71, 71, 76, 76, 76, 81, 81, 81, 86, 114, 114, 91, 114, 114, 96, 114, 86, 86, 86, 91, 91, 91, 96, 96, 96, 104, 104, 105, 105, 107, 107, 114, 104, 114, 105, 104, 107, 105, 45, 107, 109, 109, 110, 110, 112, 112, 114, 109, 45, 110, 109, 112, 110, 27, 112, 113, 113, 29, 114, 32, 27, 34, 113, 27, 29, 113, 32, 29, 34, 32, 37, 34, 39, 114, 42, 114, 44, 37, 47, 39, 37, 42, 39, 44, 42, 47, 44, 49, 47, 52, 114, 54, 114, 57, 49, 59, 52, 49, 54, 52, 57, 54, 59, 57, 62, 59, 64, 114, 67, 114, 69, 62, 72, 64, 62, 67, 64, 69, 67, 72, 69, 74, 72, 77, 114, 79, 114, 82, 74, 84, 77, 74, 79, 77, 82, 79, 84, 82, 87, 84, 89, 114, 92, 114, 94, 87, 99, 89, 87, 92, 89, 94, 92, 99, 94, 101, 99, 102, 48, 103, 50, 53, 101, 55, 102, 101, 103, 102, 48, 103, 50, 53, 58, 55, 60, 63, 65, 68, 70, 73, 75, 78, 58, 80, 60, 63, 65, 68, 70, 73, 75, 78, 83, 80, 85, 88, 90, 93, 95, 97, 98, 114, 83, 114, 85, 88, 90, 93, 95, 97, 98}; /* Base vector for state transitions. */ static const unsigned short k6_integer_units_base[] = { 0, 33, 63, 11, 67, 29, 25, 22, 186, 54, 69, 189, 200, 78, 82, 93, 97, 108, 112, 123, 127, 138, 142, 153, 157, 168, 172, 313, 84, 317, 99, 203, 319, 114, 321, 129, 206, 330, 144, 332, 159, 217, 334, 174, 336, 298, 220, 338, 418, 347, 420, 223, 349, 421, 351, 423, 234, 353, 432, 355, 434, 237, 364, 435, 366, 436, 240, 368, 437, 370, 438, 251, 372, 439, 381, 440, 254, 383, 441, 385, 443, 257, 387, 452, 389, 454, 268, 398, 455, 400, 456, 271, 402, 457, 404, 458, 274, 459, 460, 406, 183, 415, 417, 419, 285, 287, 37, 289, 48, 300, 302, 52, 304, 315}; /* Vector of min issue delay of insns. */ static const unsigned char k6_integer_units_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 2, 3, 2, 0, 0, 0, 0, 0, 2, 1, 2, 1, 2, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 3, 2, 3, 2, 3, 2, 0, 0, 0, 0, 0, 3, 2, 3, 2, 3, 2, 0, 2, 2, 0, 0, 2, 1, 2, 1, 2, 1, 2, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 3, 2, 3, 2, 3, 2, 1, 0, 0, 0, 0, 3, 2, 3, 2, 3, 2, 3, 2, 2, 0, 0, 3, 2, 3, 2, 3, 2, 2, 1, 1, 0, 0, 2, 1, 2, 1, 2, 1, 1, 0, 0, 0, 0, 18, 17, 18, 17, 18, 17, 1, 0, 0, 0, 0, 17, 16, 17, 16, 17, 16, 0, 0, 0, 0, 0, 16, 15, 16, 15, 16, 15, 0, 0, 0, 0, 0, 15, 14, 15, 14, 15, 14, 0, 0, 0, 0, 0, 14, 13, 14, 13, 14, 13, 0, 0, 0, 0, 0, 13, 12, 13, 12, 13, 12, 0, 0, 0, 0, 0, 12, 11, 12, 11, 12, 11, 0, 0, 0, 0, 0, 11, 10, 11, 10, 11, 10, 0, 0, 0, 0, 0, 10, 9, 10, 9, 10, 9, 0, 0, 0, 0, 0, 9, 8, 9, 8, 9, 8, 0, 0, 0, 0, 0, 8, 7, 8, 7, 8, 7, 0, 0, 0, 0, 0, 7, 6, 7, 6, 7, 6, 0, 0, 0, 0, 0, 6, 5, 6, 5, 6, 5, 0, 0, 0, 0, 0, 5, 4, 5, 4, 5, 4, 0, 0, 0, 0, 0, 4, 3, 4, 3, 4, 3, 0, 0, 0, 0, 0, 4, 3, 4, 3, 4, 3, 0, 2, 2, 0, 0, 4, 3, 4, 3, 4, 3, 3, 2, 2, 0, 0, 4, 3, 4, 3, 4, 3, 0, 1, 1, 0, 0, 4, 3, 4, 3, 4, 3, 2, 1, 1, 0, 0, 4, 3, 4, 3, 4, 3, 1, 0, 0, 0, 0, 5, 4, 5, 4, 5, 4, 0, 2, 2, 0, 0, 5, 4, 5, 4, 5, 4, 3, 2, 2, 0, 0, 5, 4, 5, 4, 5, 4, 0, 1, 1, 0, 0, 5, 4, 5, 4, 5, 4, 2, 1, 1, 0, 0, 5, 4, 5, 4, 5, 4, 1, 0, 0, 0, 0, 6, 5, 6, 5, 6, 5, 0, 2, 2, 0, 0, 6, 5, 6, 5, 6, 5, 3, 2, 2, 0, 0, 6, 5, 6, 5, 6, 5, 0, 1, 1, 0, 0, 6, 5, 6, 5, 6, 5, 2, 1, 1, 0, 0, 6, 5, 6, 5, 6, 5, 1, 0, 0, 0, 0, 7, 6, 7, 6, 7, 6, 0, 2, 2, 0, 0, 7, 6, 7, 6, 7, 6, 3, 2, 2, 0, 0, 7, 6, 7, 6, 7, 6, 0, 1, 1, 0, 0, 7, 6, 7, 6, 7, 6, 2, 1, 1, 0, 0, 7, 6, 7, 6, 7, 6, 1, 0, 0, 0, 0, 8, 7, 8, 7, 8, 7, 0, 2, 2, 0, 0, 8, 7, 8, 7, 8, 7, 3, 2, 2, 0, 0, 8, 7, 8, 7, 8, 7, 0, 1, 1, 0, 0, 8, 7, 8, 7, 8, 7, 2, 1, 1, 0, 0, 8, 7, 8, 7, 8, 7, 1, 0, 0, 0, 0, 9, 8, 9, 8, 9, 8, 0, 2, 2, 0, 0, 9, 8, 9, 8, 9, 8, 3, 2, 2, 0, 0, 9, 8, 9, 8, 9, 8, 0, 1, 1, 0, 0, 9, 8, 9, 8, 9, 8, 2, 1, 1, 0, 0, 9, 8, 9, 8, 9, 8, 1, 0, 0, 0, 0, 10, 9, 10, 9, 10, 9, 0, 2, 2, 0, 0, 10, 9, 10, 9, 10, 9, 3, 2, 2, 0, 0, 10, 9, 10, 9, 10, 9, 0, 1, 1, 0, 0, 10, 9, 10, 9, 10, 9, 2, 1, 1, 0, 0, 10, 9, 10, 9, 10, 9, 1, 0, 0, 0, 0, 11, 10, 11, 10, 11, 10, 0, 2, 2, 0, 0, 11, 10, 11, 10, 11, 10, 3, 2, 2, 0, 0, 11, 10, 11, 10, 11, 10, 0, 1, 1, 0, 0, 11, 10, 11, 10, 11, 10, 2, 1, 1, 0, 0, 11, 10, 11, 10, 11, 10, 1, 0, 0, 0, 0, 12, 11, 12, 11, 12, 11, 0, 2, 2, 0, 0, 12, 11, 12, 11, 12, 11, 3, 2, 2, 0, 0, 12, 11, 12, 11, 12, 11, 0, 1, 1, 0, 0, 12, 11, 12, 11, 12, 11, 2, 1, 1, 0, 0, 12, 11, 12, 11, 12, 11, 1, 0, 0, 0, 0, 13, 12, 13, 12, 13, 12, 0, 2, 2, 0, 0, 13, 12, 13, 12, 13, 12, 3, 2, 2, 0, 0, 13, 12, 13, 12, 13, 12, 0, 1, 1, 0, 0, 13, 12, 13, 12, 13, 12, 2, 1, 1, 0, 0, 13, 12, 13, 12, 13, 12, 1, 0, 0, 0, 0, 14, 13, 14, 13, 14, 13, 0, 2, 2, 0, 0, 14, 13, 14, 13, 14, 13, 3, 2, 2, 0, 0, 14, 13, 14, 13, 14, 13, 0, 1, 1, 0, 0, 14, 13, 14, 13, 14, 13, 2, 1, 1, 0, 0, 14, 13, 14, 13, 14, 13, 1, 0, 0, 0, 0, 15, 14, 15, 14, 15, 14, 0, 2, 2, 0, 0, 15, 14, 15, 14, 15, 14, 3, 2, 2, 0, 0, 15, 14, 15, 14, 15, 14, 0, 1, 1, 0, 0, 15, 14, 15, 14, 15, 14, 2, 1, 1, 0, 0, 15, 14, 15, 14, 15, 14, 1, 0, 0, 0, 0, 16, 15, 16, 15, 16, 15, 0, 2, 2, 0, 0, 16, 15, 16, 15, 16, 15, 3, 2, 2, 0, 0, 16, 15, 16, 15, 16, 15, 0, 1, 1, 0, 0, 16, 15, 16, 15, 16, 15, 2, 1, 1, 0, 0, 16, 15, 16, 15, 16, 15, 1, 0, 0, 0, 0, 17, 16, 17, 16, 17, 16, 0, 2, 2, 0, 0, 17, 16, 17, 16, 17, 16, 3, 2, 2, 0, 0, 17, 16, 17, 16, 17, 16, 0, 1, 1, 0, 0, 17, 16, 17, 16, 17, 16, 2, 1, 1, 0, 0, 17, 16, 17, 16, 17, 16, 1, 0, 0, 0, 0, 18, 17, 18, 17, 18, 17, 3, 2, 2, 0, 0, 18, 17, 18, 17, 18, 17, 2, 1, 1, 0, 0, 3, 2, 3, 2, 3, 2, 0, 1, 1, 0, 0, 18, 17, 18, 17, 18, 17, 0, 0, 0, 0, 0, 18, 17, 18, 17, 18, 17, 0, 2, 2, 0, 0, 18, 17, 18, 17, 18, 17, 0, 1, 1, 0, 0, 2, 1, 2, 1, 2, 1, 0, 1, 1, 0, 0, 0, 2, 3, 2, 3, 2, 0, 2, 2, 0, 0, 0, 2, 3, 2, 3, 2, 0, 1, 1, 0, 0, 0, 1, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, 1, 1, 0, 0, 0, 17, 18, 17, 18, 17, 0, 0, 0, 0, 0, 0, 17, 18, 17, 18, 17, 0, 2, 2, 0, 0, 0, 17, 18, 17, 18, 17, 0, 1, 1, 0, 0, 0, 3, 4, 3, 4, 3, 0, 0, 0, 0, 0, 0, 3, 4, 3, 4, 3, 0, 2, 2, 0, 0, 0, 3, 4, 3, 4, 3, 0, 1, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char k6_fpu_unit_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, }; /* Vector for state transitions. */ static const unsigned char k6_fpu_unit_transitions[] ATTRIBUTE_UNUSED = { 0, 55, 54, 1, 0, 1, 57, 57, 57, 2, 2, 57, 57, 57, 3, 3, 57, 57, 57, 4, 4, 57, 57, 57, 5, 5, 57, 57, 57, 6, 6, 57, 57, 57, 7, 7, 57, 57, 57, 8, 8, 57, 57, 57, 9, 9, 57, 57, 57, 10, 10, 57, 57, 57, 11, 11, 57, 57, 57, 12, 12, 57, 57, 57, 13, 13, 57, 57, 57, 14, 14, 57, 57, 57, 15, 15, 57, 57, 57, 16, 16, 57, 57, 57, 17, 17, 57, 57, 57, 18, 18, 57, 57, 57, 19, 19, 57, 57, 57, 20, 20, 57, 57, 57, 21, 21, 57, 57, 57, 22, 22, 57, 57, 57, 23, 23, 57, 57, 57, 24, 24, 57, 57, 57, 25, 25, 57, 57, 57, 26, 26, 57, 57, 57, 27, 27, 57, 57, 57, 28, 28, 57, 57, 57, 29, 29, 57, 57, 57, 30, 30, 57, 57, 57, 31, 31, 57, 57, 57, 32, 32, 57, 57, 57, 33, 33, 57, 57, 57, 34, 34, 57, 57, 57, 35, 35, 57, 57, 57, 36, 36, 57, 57, 57, 37, 37, 57, 57, 57, 38, 38, 57, 57, 57, 39, 39, 57, 57, 57, 40, 40, 57, 57, 57, 41, 41, 57, 57, 57, 42, 42, 57, 57, 57, 43, 43, 57, 57, 57, 44, 44, 57, 57, 57, 45, 45, 57, 57, 57, 46, 46, 57, 57, 57, 47, 47, 57, 57, 57, 48, 48, 57, 57, 57, 49, 49, 57, 57, 57, 50, 50, 57, 57, 57, 51, 51, 57, 57, 57, 52, 52, 57, 57, 57, 53, 53, 57, 57, 57, 54, 54, 57, 57, 57, 55, 55, 57, 57, 57, 56, 56, 57, 54, 57, 0}; /* Vector of min issue delay of insns. */ static const unsigned char k6_fpu_unit_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 56, 55, 56, 0, 0, 55, 54, 55, 0, 0, 54, 53, 54, 0, 0, 53, 52, 53, 0, 0, 52, 51, 52, 0, 0, 51, 50, 51, 0, 0, 50, 49, 50, 0, 0, 49, 48, 49, 0, 0, 48, 47, 48, 0, 0, 47, 46, 47, 0, 0, 46, 45, 46, 0, 0, 45, 44, 45, 0, 0, 44, 43, 44, 0, 0, 43, 42, 43, 0, 0, 42, 41, 42, 0, 0, 41, 40, 41, 0, 0, 40, 39, 40, 0, 0, 39, 38, 39, 0, 0, 38, 37, 38, 0, 0, 37, 36, 37, 0, 0, 36, 35, 36, 0, 0, 35, 34, 35, 0, 0, 34, 33, 34, 0, 0, 33, 32, 33, 0, 0, 32, 31, 32, 0, 0, 31, 30, 31, 0, 0, 30, 29, 30, 0, 0, 29, 28, 29, 0, 0, 28, 27, 28, 0, 0, 27, 26, 27, 0, 0, 26, 25, 26, 0, 0, 25, 24, 25, 0, 0, 24, 23, 24, 0, 0, 23, 22, 23, 0, 0, 22, 21, 22, 0, 0, 21, 20, 21, 0, 0, 20, 19, 20, 0, 0, 19, 18, 19, 0, 0, 18, 17, 18, 0, 0, 17, 16, 17, 0, 0, 16, 15, 16, 0, 0, 15, 14, 15, 0, 0, 14, 13, 14, 0, 0, 13, 12, 13, 0, 0, 12, 11, 12, 0, 0, 11, 10, 11, 0, 0, 10, 9, 10, 0, 0, 9, 8, 9, 0, 0, 8, 7, 8, 0, 0, 7, 6, 7, 0, 0, 6, 5, 6, 0, 0, 5, 4, 5, 0, 0, 4, 3, 4, 0, 0, 3, 2, 3, 0, 0, 2, 1, 2, 0, 0, 1, 0, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char k6_branch_unit_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, }; /* Vector for state transitions. */ static const unsigned char k6_branch_unit_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 0, 1, 2, 0}; /* Vector of min issue delay of insns. */ static const unsigned char k6_branch_unit_min_issue_delay[] ATTRIBUTE_UNUSED = { 8}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char athlon_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 4, 5, 6, 7, 2, 2, 2, 8, 9, 9, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 2, 2, 3, 1, 1, 1, 1, 2, 3, 1, 3, 1, 3, 2, 1, 1, 1, 1, 1, 2, 3, 1, 2, 3, 1, 1, 1, 1, 2, 3, 1, 2, 3, 1, 2, 2, 1, 2, 1, 1, 1, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 2, 3, 1, 3, 1, 1, 3, 2, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2, 3, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 1, 1, 1, 2, 3, 1, 2, 3, 1, 1, 1, 1, 2, 3, 1, 2, 3, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, }; /* Vector for state transitions. */ static const unsigned char athlon_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 3, 2, 5, 70, 8, 52, 28, 16, 0, 1, 2, 76, 3, 76, 76, 76, 76, 76, 76, 4, 2, 3, 76, 76, 76, 76, 76, 76, 76, 76, 4, 3, 76, 76, 76, 76, 76, 76, 76, 76, 76, 0, 4, 1, 3, 1, 5, 70, 8, 52, 28, 16, 0, 5, 76, 76, 76, 76, 76, 76, 76, 76, 76, 6, 6, 70, 52, 51, 72, 76, 69, 76, 76, 76, 7, 7, 8, 10, 9, 54, 69, 76, 67, 76, 16, 11, 8, 9, 76, 10, 76, 76, 76, 76, 76, 76, 71, 9, 10, 76, 76, 76, 76, 76, 76, 76, 76, 71, 10, 76, 76, 76, 76, 76, 76, 76, 76, 76, 11, 11, 12, 14, 13, 49, 65, 38, 63, 76, 16, 15, 12, 13, 76, 14, 76, 76, 76, 76, 76, 76, 48, 13, 14, 76, 76, 76, 76, 76, 76, 76, 76, 48, 14, 76, 76, 76, 76, 76, 76, 76, 76, 76, 15, 15, 1, 3, 2, 76, 76, 76, 76, 76, 16, 0, 16, 76, 76, 76, 76, 76, 76, 76, 76, 76, 17, 17, 18, 20, 19, 76, 76, 76, 76, 76, 76, 21, 18, 19, 76, 20, 76, 76, 76, 76, 76, 76, 47, 19, 20, 76, 76, 76, 76, 76, 76, 76, 76, 47, 20, 76, 76, 76, 76, 76, 76, 76, 76, 76, 21, 21, 22, 24, 23, 76, 76, 76, 76, 76, 76, 25, 22, 23, 76, 24, 76, 76, 76, 76, 76, 76, 46, 23, 24, 76, 76, 76, 76, 76, 76, 76, 76, 46, 24, 76, 76, 76, 76, 76, 76, 76, 76, 76, 25, 25, 26, 28, 27, 76, 76, 76, 76, 76, 76, 29, 26, 27, 76, 28, 76, 76, 76, 76, 76, 76, 45, 27, 28, 76, 76, 76, 76, 76, 76, 76, 76, 45, 28, 76, 76, 76, 76, 76, 76, 76, 76, 76, 29, 29, 30, 32, 31, 76, 76, 76, 76, 76, 76, 33, 30, 31, 76, 32, 76, 76, 76, 76, 76, 76, 44, 31, 32, 76, 76, 76, 76, 76, 76, 76, 76, 44, 32, 76, 76, 76, 76, 76, 76, 76, 76, 76, 33, 33, 34, 36, 35, 76, 76, 76, 76, 76, 76, 37, 34, 35, 76, 36, 76, 76, 76, 76, 76, 76, 43, 35, 36, 76, 76, 76, 76, 76, 76, 76, 76, 43, 36, 76, 76, 76, 76, 76, 76, 76, 76, 76, 37, 37, 38, 40, 39, 76, 76, 76, 76, 76, 16, 41, 38, 39, 76, 40, 76, 76, 76, 76, 76, 76, 42, 39, 40, 76, 76, 76, 76, 76, 76, 76, 76, 42, 40, 76, 76, 76, 76, 76, 76, 76, 76, 76, 41, 41, 12, 14, 13, 76, 76, 76, 76, 76, 16, 15, 42, 12, 14, 12, 76, 76, 76, 76, 76, 16, 15, 43, 38, 40, 38, 76, 76, 76, 76, 76, 16, 41, 44, 34, 36, 34, 76, 76, 76, 76, 76, 76, 37, 45, 30, 32, 30, 76, 76, 76, 76, 76, 76, 33, 46, 26, 28, 26, 76, 76, 76, 76, 76, 76, 29, 47, 22, 24, 22, 76, 76, 76, 76, 76, 76, 25, 48, 1, 3, 1, 76, 76, 76, 76, 76, 16, 0, 49, 76, 76, 76, 76, 76, 76, 76, 76, 76, 50, 50, 70, 52, 51, 76, 76, 76, 76, 76, 76, 7, 51, 52, 76, 76, 76, 76, 76, 76, 76, 76, 53, 52, 76, 76, 76, 76, 76, 76, 76, 76, 76, 7, 53, 8, 10, 8, 54, 69, 76, 67, 76, 16, 11, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 55, 55, 65, 63, 62, 57, 76, 34, 76, 76, 76, 56, 56, 8, 10, 9, 76, 76, 76, 76, 76, 16, 11, 57, 76, 76, 76, 76, 76, 76, 76, 76, 76, 58, 58, 69, 67, 66, 76, 76, 76, 76, 76, 76, 59, 59, 38, 40, 39, 60, 34, 76, 36, 76, 16, 41, 60, 76, 76, 76, 76, 76, 76, 76, 76, 76, 61, 61, 65, 63, 62, 76, 76, 76, 76, 76, 76, 56, 62, 63, 76, 76, 76, 76, 76, 76, 76, 76, 64, 63, 76, 76, 76, 76, 76, 76, 76, 76, 76, 56, 64, 8, 10, 8, 76, 76, 76, 76, 76, 16, 11, 65, 62, 76, 63, 76, 76, 76, 76, 76, 76, 64, 66, 67, 76, 76, 76, 76, 76, 76, 76, 76, 68, 67, 76, 76, 76, 76, 76, 76, 76, 76, 76, 59, 68, 38, 40, 38, 60, 34, 76, 36, 76, 16, 41, 69, 66, 76, 67, 76, 76, 76, 76, 76, 76, 68, 70, 51, 76, 52, 76, 76, 76, 76, 76, 76, 53, 71, 12, 14, 12, 49, 65, 38, 63, 76, 16, 15, 72, 76, 76, 76, 76, 76, 76, 76, 76, 76, 73, 73, 69, 67, 66, 74, 76, 76, 76, 76, 76, 59, 74, 76, 76, 76, 76, 76, 76, 76, 76, 76, 75, 75, 34, 36, 35, 32, 76, 76, 76, 76, 76, 37}; /* Vector of min issue delay of insns. */ static const unsigned char athlon_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 1, 1, 17, 17, 16, 0, 17, 17, 17, 17, 0, 17, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 17, 17, 33, 37, 32, 0, 0, 1, 1, 65, 0, 0, 0, 1, 3, 0, 0, 16, 17, 17, 49, 0, 1, 17, 17, 19, 16, 1, 17, 17, 17, 49, 0, 0, 0, 0, 2, 0, 0, 16, 34, 34, 33, 0, 1, 18, 34, 34, 16, 1, 17, 34, 34, 33, 0, 0, 1, 17, 17, 0, 1, 17, 153, 153, 150, 0, 0, 8, 136, 136, 80, 0, 16, 136, 136, 133, 0, 1, 24, 136, 136, 80, 1, 17, 136, 136, 133, 0, 0, 7, 119, 119, 64, 0, 16, 119, 119, 116, 0, 1, 23, 119, 119, 64, 1, 17, 119, 119, 116, 0, 0, 6, 102, 102, 48, 0, 16, 102, 102, 99, 0, 1, 22, 102, 102, 48, 1, 17, 102, 102, 99, 0, 0, 5, 85, 85, 32, 0, 16, 85, 85, 82, 0, 1, 21, 85, 85, 32, 1, 17, 85, 85, 82, 0, 0, 4, 68, 68, 16, 0, 16, 68, 68, 65, 0, 1, 20, 68, 68, 16, 1, 17, 68, 68, 65, 0, 0, 3, 51, 51, 0, 0, 16, 51, 51, 49, 0, 1, 19, 51, 51, 16, 1, 17, 51, 51, 49, 0, 0, 2, 34, 34, 0, 0, 0, 34, 34, 32, 0, 0, 3, 51, 51, 0, 0, 0, 68, 68, 65, 0, 0, 5, 85, 85, 32, 0, 0, 102, 102, 99, 0, 0, 7, 119, 119, 64, 0, 0, 17, 17, 16, 0, 17, 18, 35, 37, 32, 0, 0, 17, 33, 65, 0, 1, 17, 18, 20, 16, 1, 17, 17, 33, 65, 0, 0, 0, 1, 3, 0, 1, 17, 19, 19, 82, 0, 0, 0, 32, 36, 16, 0, 0, 17, 17, 48, 0, 17, 18, 37, 37, 32, 0, 0, 17, 65, 65, 0, 0, 0, 3, 3, 0, 1, 17, 51, 51, 82, 0, 0, 2, 34, 36, 16, 0, 17, 34, 34, 65, 0, 17, 18, 34, 36, 16, 0, 0, 17, 17, 48, 0, 1, 2, 34, 36, 16, 0, 17, 17, 65, 65, 0, 17, 17, 20, 20, 16, 0, 0, 0, 48, 48, 0, 1, 1, 20, 20, 16, 0, 16, 17, 33, 65, 0, 0, 0, 0, 2, 0, 1, 17, 18, 82, 82, 0, 0, 0, 20, 20, 16, 1, 17, 21, 85, 82, 0, 0, 0, 68, 68, 16}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char athlon_load_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 1, 1, 4, 4, 5, 5, 1, 1, 6, 6, 7, 7, 7, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 5, 5, 1, 1, 1, 1, 1, 1, 8, 8, 7, 9, 7, 0, 0, 0, 1, 0, 1, 0, 5, 5, 1, 0, 0, 0, 1, 1, 0, 5, 5, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 5, 5, 1, 0, 0, 0, 1, 1, 0, 0, 5, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 5, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 5, 5, 1, 0, 0, 0, 1, 1, 0, 5, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, }; /* Vector for state transitions. */ static const unsigned char athlon_load_transitions[] ATTRIBUTE_UNUSED = { 0, 4, 155, 159, 17, 9, 82, 42, 153, 1, 0, 1, 5, 154, 141, 18, 10, 162, 43, 162, 153, 2, 2, 19, 118, 135, 44, 29, 162, 83, 162, 116, 3, 3, 22, 126, 149, 31, 162, 61, 19, 111, 119, 4, 4, 9, 145, 150, 3, 162, 73, 53, 6, 5, 0, 5, 10, 124, 132, 119, 162, 162, 54, 162, 6, 2, 6, 11, 162, 71, 111, 162, 162, 162, 162, 162, 7, 7, 13, 46, 76, 162, 27, 162, 162, 162, 162, 8, 8, 162, 162, 162, 162, 162, 27, 26, 35, 28, 9, 9, 162, 162, 162, 22, 162, 79, 16, 11, 10, 0, 10, 162, 162, 162, 23, 162, 162, 67, 162, 11, 2, 11, 162, 162, 162, 12, 162, 162, 162, 162, 162, 7, 12, 162, 162, 162, 35, 162, 162, 162, 162, 162, 13, 13, 27, 37, 14, 162, 162, 162, 162, 162, 162, 8, 14, 162, 162, 162, 162, 162, 162, 162, 162, 162, 15, 15, 162, 162, 162, 162, 162, 25, 28, 162, 48, 16, 16, 162, 162, 162, 29, 162, 162, 79, 162, 67, 17, 17, 3, 117, 143, 74, 22, 83, 2, 109, 18, 4, 18, 119, 112, 118, 56, 23, 162, 116, 162, 109, 19, 19, 29, 120, 130, 21, 162, 162, 61, 162, 20, 3, 20, 24, 72, 68, 36, 162, 162, 162, 162, 162, 21, 21, 26, 38, 131, 162, 162, 162, 13, 162, 36, 22, 22, 162, 162, 162, 8, 162, 30, 29, 12, 23, 4, 23, 162, 162, 162, 28, 162, 162, 24, 162, 12, 19, 24, 162, 162, 162, 25, 162, 162, 162, 162, 162, 21, 25, 162, 162, 162, 162, 162, 162, 162, 162, 162, 26, 26, 162, 162, 162, 162, 162, 162, 27, 162, 25, 22, 27, 162, 162, 162, 162, 162, 162, 162, 162, 162, 8, 28, 162, 162, 162, 162, 162, 162, 25, 162, 35, 29, 29, 162, 162, 162, 26, 162, 162, 30, 162, 24, 3, 30, 162, 162, 162, 27, 162, 162, 162, 162, 162, 31, 31, 8, 65, 40, 162, 162, 13, 21, 33, 32, 9, 32, 28, 39, 38, 162, 162, 162, 36, 162, 33, 29, 33, 35, 162, 34, 162, 162, 162, 162, 162, 162, 27, 34, 162, 162, 162, 162, 162, 162, 162, 162, 162, 25, 35, 162, 162, 162, 162, 162, 162, 162, 162, 162, 27, 36, 25, 34, 37, 162, 162, 162, 162, 162, 162, 26, 37, 162, 162, 162, 162, 162, 162, 162, 162, 162, 28, 38, 162, 162, 162, 162, 162, 162, 37, 162, 34, 23, 39, 162, 162, 162, 162, 162, 162, 34, 162, 162, 24, 40, 162, 162, 162, 162, 162, 14, 131, 34, 38, 41, 41, 162, 162, 162, 52, 162, 67, 10, 162, 95, 42, 42, 53, 141, 134, 2, 16, 162, 82, 162, 43, 17, 43, 54, 133, 102, 116, 67, 162, 162, 162, 162, 44, 44, 21, 58, 51, 162, 26, 162, 7, 162, 45, 22, 45, 36, 50, 46, 162, 25, 162, 162, 162, 162, 26, 46, 37, 49, 47, 162, 162, 162, 162, 162, 162, 28, 47, 162, 162, 162, 162, 162, 162, 162, 162, 162, 48, 48, 162, 162, 162, 162, 162, 162, 35, 162, 162, 30, 49, 162, 162, 162, 162, 162, 162, 162, 162, 162, 35, 50, 34, 162, 49, 162, 162, 162, 162, 162, 162, 25, 51, 131, 59, 105, 162, 162, 162, 76, 162, 46, 52, 52, 162, 162, 162, 15, 162, 24, 23, 162, 60, 53, 53, 16, 132, 106, 19, 162, 162, 73, 162, 54, 17, 54, 67, 71, 55, 20, 162, 162, 162, 162, 162, 44, 55, 162, 162, 162, 68, 162, 162, 162, 162, 162, 56, 56, 32, 70, 58, 162, 28, 162, 45, 162, 57, 29, 57, 33, 162, 50, 162, 35, 162, 162, 162, 162, 27, 58, 38, 69, 59, 162, 162, 162, 46, 162, 50, 23, 59, 162, 162, 162, 162, 162, 162, 47, 162, 49, 60, 60, 162, 162, 162, 48, 162, 162, 12, 162, 162, 61, 61, 30, 68, 62, 13, 162, 162, 162, 162, 162, 31, 62, 162, 162, 162, 14, 162, 162, 162, 162, 162, 63, 63, 15, 66, 65, 162, 162, 36, 32, 162, 64, 16, 64, 48, 162, 39, 162, 162, 162, 33, 162, 162, 30, 65, 162, 162, 162, 162, 162, 37, 38, 162, 39, 10, 66, 162, 162, 162, 162, 162, 34, 39, 162, 162, 67, 67, 162, 162, 162, 24, 162, 162, 162, 162, 162, 44, 68, 162, 162, 162, 37, 162, 162, 162, 162, 162, 32, 69, 162, 162, 162, 162, 162, 162, 49, 162, 162, 12, 70, 39, 162, 69, 162, 162, 162, 50, 162, 162, 24, 71, 162, 162, 162, 72, 162, 162, 162, 162, 162, 45, 72, 162, 162, 162, 34, 162, 162, 162, 162, 162, 36, 73, 79, 55, 101, 61, 162, 162, 162, 162, 162, 74, 74, 31, 93, 75, 162, 8, 7, 44, 57, 56, 9, 75, 40, 94, 80, 162, 162, 76, 51, 50, 58, 41, 76, 14, 47, 77, 162, 162, 162, 162, 162, 162, 15, 77, 162, 162, 162, 162, 162, 162, 162, 162, 162, 78, 78, 162, 162, 162, 162, 162, 35, 48, 162, 162, 79, 79, 162, 162, 162, 30, 162, 162, 162, 162, 162, 74, 80, 162, 162, 162, 162, 162, 77, 105, 49, 59, 81, 81, 162, 162, 162, 104, 162, 11, 95, 162, 162, 82, 82, 73, 102, 90, 83, 79, 162, 162, 162, 162, 74, 83, 61, 88, 84, 7, 30, 162, 162, 162, 162, 31, 84, 62, 87, 85, 76, 162, 162, 162, 162, 162, 63, 85, 162, 162, 162, 77, 162, 162, 162, 162, 162, 86, 86, 78, 162, 66, 162, 162, 33, 64, 162, 162, 79, 87, 162, 162, 162, 47, 162, 162, 162, 162, 162, 64, 88, 68, 89, 87, 46, 162, 162, 162, 162, 162, 32, 89, 162, 162, 162, 49, 162, 162, 162, 162, 162, 33, 90, 101, 100, 98, 84, 162, 162, 162, 162, 162, 91, 91, 63, 97, 93, 162, 15, 45, 56, 162, 92, 16, 92, 64, 162, 70, 162, 48, 162, 57, 162, 162, 30, 93, 65, 96, 94, 162, 162, 46, 58, 162, 70, 10, 94, 162, 162, 162, 162, 162, 47, 59, 162, 69, 95, 95, 162, 162, 162, 60, 162, 162, 11, 162, 162, 83, 96, 162, 162, 162, 162, 162, 49, 69, 162, 162, 11, 97, 66, 162, 96, 162, 162, 50, 70, 162, 162, 67, 98, 162, 162, 162, 85, 162, 162, 162, 162, 162, 99, 99, 86, 162, 97, 162, 78, 57, 92, 162, 162, 79, 100, 162, 162, 162, 87, 162, 162, 162, 162, 162, 92, 101, 162, 162, 162, 62, 162, 162, 162, 162, 162, 91, 102, 55, 103, 100, 88, 162, 162, 162, 162, 162, 56, 103, 162, 162, 162, 89, 162, 162, 162, 162, 162, 57, 104, 162, 162, 162, 78, 162, 12, 60, 162, 162, 73, 105, 162, 162, 162, 162, 162, 162, 77, 162, 47, 104, 106, 162, 162, 162, 130, 162, 162, 101, 162, 55, 107, 107, 129, 127, 117, 91, 52, 116, 18, 162, 108, 53, 108, 115, 162, 112, 92, 60, 162, 109, 162, 162, 61, 109, 111, 162, 110, 57, 12, 162, 162, 162, 162, 13, 110, 72, 162, 89, 50, 162, 162, 162, 162, 162, 36, 111, 12, 162, 72, 33, 162, 162, 162, 162, 162, 13, 112, 114, 162, 113, 70, 162, 162, 110, 162, 162, 20, 113, 162, 162, 162, 69, 162, 162, 89, 162, 162, 111, 114, 162, 162, 162, 39, 162, 162, 72, 162, 162, 20, 115, 60, 162, 114, 64, 162, 162, 111, 162, 162, 61, 116, 20, 110, 88, 45, 24, 162, 162, 162, 162, 21, 117, 126, 125, 122, 93, 162, 88, 118, 162, 112, 5, 118, 120, 113, 121, 58, 162, 162, 88, 162, 110, 119, 119, 23, 114, 120, 32, 162, 162, 20, 162, 111, 19, 120, 162, 162, 162, 38, 162, 162, 68, 162, 72, 119, 121, 162, 162, 162, 59, 162, 162, 87, 162, 89, 115, 122, 162, 162, 162, 94, 162, 87, 121, 162, 113, 123, 123, 95, 162, 124, 115, 162, 162, 6, 162, 162, 83, 124, 162, 162, 162, 114, 162, 162, 71, 162, 162, 116, 125, 162, 162, 162, 96, 162, 89, 113, 162, 162, 6, 126, 162, 162, 162, 65, 162, 68, 120, 162, 114, 5, 127, 128, 162, 125, 97, 162, 110, 112, 162, 162, 54, 128, 162, 162, 162, 66, 162, 72, 114, 162, 162, 54, 129, 52, 128, 126, 63, 162, 20, 119, 162, 115, 53, 130, 162, 162, 162, 131, 162, 162, 62, 162, 68, 129, 131, 162, 162, 162, 162, 162, 162, 14, 162, 37, 52, 132, 162, 162, 162, 120, 162, 162, 55, 162, 71, 18, 133, 71, 162, 103, 110, 162, 162, 162, 162, 162, 45, 134, 106, 140, 138, 135, 162, 162, 90, 162, 102, 107, 135, 130, 121, 136, 51, 162, 162, 84, 162, 88, 129, 136, 162, 162, 162, 105, 162, 162, 85, 162, 87, 137, 137, 104, 162, 128, 86, 162, 111, 115, 162, 162, 73, 138, 162, 162, 162, 136, 162, 162, 98, 162, 100, 139, 139, 137, 162, 127, 99, 104, 109, 108, 162, 162, 73, 140, 162, 162, 162, 121, 162, 162, 100, 162, 103, 108, 141, 132, 142, 140, 118, 162, 162, 102, 162, 133, 18, 142, 162, 162, 162, 113, 162, 162, 103, 162, 162, 109, 143, 149, 122, 147, 75, 162, 84, 135, 110, 118, 144, 144, 41, 146, 145, 129, 162, 54, 5, 162, 123, 42, 145, 162, 162, 162, 126, 162, 55, 132, 162, 124, 1, 146, 162, 162, 162, 128, 162, 71, 124, 162, 162, 43, 147, 162, 162, 162, 80, 162, 85, 136, 89, 121, 148, 148, 81, 162, 146, 137, 162, 6, 123, 162, 162, 82, 149, 162, 162, 162, 40, 162, 62, 130, 72, 120, 144, 150, 162, 162, 162, 149, 162, 101, 106, 71, 132, 151, 151, 144, 158, 155, 107, 41, 43, 1, 162, 152, 42, 152, 123, 162, 154, 108, 95, 162, 153, 162, 162, 83, 153, 6, 162, 133, 109, 11, 162, 162, 162, 162, 7, 154, 124, 162, 142, 112, 162, 162, 133, 162, 162, 116, 155, 145, 157, 156, 117, 162, 102, 141, 162, 154, 1, 156, 162, 162, 162, 122, 162, 100, 140, 162, 142, 152, 157, 162, 162, 162, 125, 162, 103, 142, 162, 162, 153, 158, 146, 162, 157, 127, 162, 133, 154, 162, 162, 43, 159, 150, 156, 160, 143, 162, 90, 134, 133, 141, 151, 160, 162, 162, 162, 147, 162, 98, 138, 103, 140, 161, 161, 148, 162, 158, 139, 81, 153, 152, 162, 162, 82}; /* Vector of min issue delay of insns. */ static const unsigned char athlon_load_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 16, 16, 0, 0, 0, 32, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 18, 2, 0, 0, 16, 1, 34, 34, 0, 0, 2, 1, 17, 16, 2, 34, 18, 0, 0, 0, 17, 16, 16, 0, 0, 1, 17, 1, 32, 32, 0, 17, 16, 18, 34, 32, 1, 17, 4, 34, 34, 0, 0, 2, 49, 17, 16, 3, 51, 35, 17, 49, 0, 34, 33, 32, 2, 0, 1, 17, 1, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 0, 0, 0, 49, 1, 0, 0, 0, 4, 33, 33, 0, 0, 1, 49, 1, 0, 1, 17, 2, 0, 0, 0, 17, 16, 66, 2, 0, 1, 17, 4, 33, 33, 0, 51, 50, 66, 18, 16, 2, 34, 19, 16, 16, 0, 51, 50, 49, 17, 16, 2, 34, 20, 32, 32, 0, 17, 16, 49, 1, 0, 1, 17, 3, 17, 17, 0, 0, 1, 32, 0, 0, 0, 0, 20, 32, 32, 0, 4, 3, 66, 34, 32, 4, 68, 53, 50, 50, 0, 68, 67, 66, 34, 32, 0, 0, 36, 33, 33, 0, 51, 50, 83, 19, 16, 2, 34, 21, 48, 48, 0, 34, 33, 83, 3, 32, 2, 34, 18, 0, 0, 0, 17, 16, 16, 2, 0, 0, 0, 0, 16, 16, 0, 0, 0, 2, 18, 16, 0, 0, 16, 16, 16, 0, 0, 2, 2, 18, 16, 0, 0, 37, 49, 49, 0, 51, 50, 83, 19, 48, 2, 34, 20, 32, 34, 0, 85, 84, 83, 51, 48, 0, 64, 53, 50, 50, 0, 0, 1, 49, 3, 0, 1, 17, 2, 0, 32, 0, 0, 0, 17, 1, 0, 0, 0, 1, 33, 33, 0, 17, 16, 19, 19, 16, 0, 0, 16, 32, 32, 0, 4, 3, 2, 34, 32, 0, 0, 21, 48, 48, 0, 34, 33, 83, 3, 0, 1, 17, 4, 32, 34, 0, 0, 0, 49, 17, 16, 1, 17, 3, 17, 49, 0, 0, 1, 32, 2, 0, 0, 32, 20, 32, 34, 0, 34, 33, 32, 3, 0, 2, 34, 18, 0, 50, 0, 17, 16, 18, 18, 16, 1, 17, 5, 49, 49, 0, 34, 33, 83, 3, 48, 0, 32, 21, 48, 50, 0, 17, 16, 19, 35, 32, 1, 17, 5, 50, 50, 0, 0, 0, 17, 17, 16, 0, 0, 16, 0, 0, 0, 0, 1, 32, 0, 0, 0, 0, 35, 17, 49, 0, 51, 50, 49, 19, 48, 2, 34, 18, 0, 34, 0, 17, 16, 17, 17, 16, 2, 34, 18, 0, 0, 0, 17, 16, 16, 2, 32, 0, 0, 0, 17, 17, 0, 0, 0, 1, 17, 16, 0, 0, 3, 17, 49, 0, 19, 16, 49, 19, 48, 0, 32, 18, 0, 34, 0, 19, 16, 83, 19, 48, 0, 0, 5, 49, 49, 0, 21, 16, 83, 51, 48, 0, 0, 1, 17, 49, 0, 0, 1, 0, 2, 0, 0, 32, 16, 32, 34, 0, 0, 1, 32, 3, 0, 2, 34, 18, 0, 48, 0, 17, 16, 18, 2, 32, 2, 34, 18, 0, 51, 0, 2, 1, 32, 3, 32, 1, 49, 1, 17, 51, 0, 2, 1, 0, 2, 32, 1, 49, 1, 49, 51, 0, 17, 16, 17, 19, 16, 0, 0, 1, 49, 49, 0, 21, 16, 19, 51, 48, 1, 17, 2, 0, 34, 0, 34, 33, 49, 3, 0, 1, 17, 1, 16, 48, 0, 0, 0, 0, 2, 0, 0, 16, 0, 32, 34, 0, 1, 0, 2, 34, 32, 0, 16, 5, 50, 50, 0, 1, 0, 66, 34, 32, 0, 16, 5, 48, 50, 0, 18, 16, 83, 3, 48, 1, 17, 5, 48, 50, 0, 1, 0, 66, 2, 32, 0, 0, 0, 33, 33, 0, 0, 0, 32, 3, 0, 0, 0, 5, 48, 48, 0, 0, 0, 66, 2, 0, 1, 17, 5, 48, 48, 0, 18, 16, 83, 3, 0, 1, 33, 2, 0, 48, 0, 1, 0, 18, 2, 32, 1, 17, 1, 48, 50, 0, 18, 16, 32, 3, 48, 1, 17, 2, 0, 48, 0, 1, 0, 32, 3, 32, 1, 17, 2, 0, 50, 0, 0, 0, 32, 2, 0, 1, 17, 3, 16, 48, 0, 34, 33, 49, 3, 0, 1, 17, 1, 48, 48, 0, 1, 0, 19, 35, 32, 0, 0, 1, 16, 48, 0, 0, 0, 49, 3, 0, 1, 33, 3, 16, 48, 0, 1, 0, 32, 2, 32, 1, 33, 1, 16, 48, 0, 1, 0, 0, 2, 32, 1, 33, 1, 48, 48, 0, 0, 0, 19, 3, 0, 1, 33, 1, 48, 51, 0, 0, 0, 32, 0, 0, 0, 0, 1, 0, 32, 0, 17, 16, 16, 3, 0, 1, 17, 1, 0, 50, 0, 18, 16, 32, 0, 0, 0, 16, 1, 0, 34, 0, 17, 16, 32, 0, 0, 1, 17, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 16, 0, 32, 34, 0, 1, 0, 2, 34, 32, 0, 16, 1, 48, 50, 0, 0, 0, 16, 3, 0, 1, 33, 1, 0, 48, 0, 18, 16, 16, 3, 48, 0, 16, 1, 0, 50, 0, 0, 0, 16, 0, 0, 1, 33, 1, 0, 0, 0, 1, 0, 0, 2, 32}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char athlon_mult_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char athlon_mult_transitions[] ATTRIBUTE_UNUSED = { 0, 4, 1, 0, 1, 5, 16, 2, 2, 7, 15, 3, 3, 10, 6, 4, 4, 16, 5, 0, 5, 16, 16, 2, 6, 11, 16, 7, 7, 16, 8, 3, 8, 16, 16, 9, 9, 13, 12, 10, 10, 16, 11, 4, 11, 16, 16, 7, 12, 14, 16, 13, 13, 16, 14, 10, 14, 16, 16, 13, 15, 8, 16, 9}; /* Vector of min issue delay of insns. */ static const unsigned char athlon_mult_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 1, 16, 0, 16, 1, 0, 1, 16, 0, 0, 2, 0, 2, 16, 0, 16, 3, 0, 4, 16, 0, 16}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char athlon_fp_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 4, 5, 6, 4, 4, 4, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 3, 4, 10, 11, 3, 12, 4, 3, 4, 0, 3, 11, 11, 4, 11, 4, 7, 7, 7, 9, 9, 7, 7, 13, 13, 7, 13, 9, 7, 8, 8, 8, 14, 14, 8, 14, 14, 8, 8, 8, 8, 8, 8, 8, 8, 8, 14, 14, 8, 14, 14, 8, 4, 15, 4, 16, 11, 4, 11, 4, 4, 15, 11, 11, 15, 4, 15, 17, 15, 18, 15, 19, 16, 18, 15, 17, 15, 1, 20, 1, 4, 20, 15, 15, 9, 9, 9, 13, 13, 9, 13, 13, 9, 21, 21, 21, 22, 22, 21, 23, 23, 24, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, }; /* Comb vector for state transitions. */ static const unsigned short athlon_fp_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 3, 452, 452, 5, 6, 449, 449, 18, 12, 456, 456, 68, 499, 450, 501, 10, 502, 9, 450, 259, 480, 217, 32, 0, 2, 1, 3, 11, 11, 5, 6, 15, 15, 18, 12, 21, 21, 68, 495, 16, 497, 10, 498, 9, 16, 259, 480, 503, 1, 484, 443, 1, 3, 444, 444, 5, 6, 464, 464, 18, 12, 466, 466, 68, 468, 445, 474, 10, 477, 9, 445, 259, 480, 2, 503, 0, 484, 1, 3, 432, 432, 5, 6, 485, 485, 18, 12, 487, 487, 68, 489, 433, 491, 10, 492, 9, 433, 259, 480, 449, 503, 443, 450, 450, 503, 503, 19, 503, 19, 1, 451, 451, 72, 503, 1, 461, 503, 454, 503, 3, 272, 462, 412, 191, 0, 499, 503, 76, 453, 453, 71, 71, 469, 503, 469, 14, 457, 457, 74, 75, 14, 470, 503, 500, 4, 4, 275, 473, 415, 194, 449, 15, 22, 503, 16, 16, 503, 503, 19, 503, 19, 1, 25, 25, 72, 5, 1, 461, 503, 493, 5, 464, 272, 462, 445, 445, 484, 503, 19, 503, 19, 1, 465, 465, 72, 6, 1, 461, 503, 463, 6, 468, 272, 462, 446, 446, 0, 503, 469, 503, 469, 14, 467, 467, 74, 7, 14, 470, 503, 471, 7, 485, 275, 473, 433, 433, 449, 503, 19, 503, 19, 1, 486, 486, 72, 8, 1, 461, 503, 482, 8, 489, 272, 462, 481, 481, 443, 503, 469, 503, 469, 14, 488, 488, 74, 9, 14, 470, 503, 490, 9, 495, 275, 473, 494, 494, 464, 10, 469, 503, 469, 14, 483, 483, 74, 503, 14, 470, 503, 496, 10, 452, 275, 473, 12, 503, 485, 13, 450, 450, 12, 503, 1, 22, 69, 453, 86, 454, 14, 80, 80, 17, 260, 460, 218, 33, 0, 501, 85, 20, 454, 454, 11, 23, 461, 503, 461, 20, 24, 475, 76, 73, 20, 15, 503, 26, 18, 503, 277, 476, 417, 196, 456, 18, 21, 503, 12, 12, 12, 503, 19, 19, 503, 16, 22, 22, 503, 469, 1, 461, 27, 478, 29, 1, 503, 30, 30, 503, 2, 201, 201, 503, 503, 202, 202, 503, 204, 31, 206, 503, 207, 32, 31, 503, 33, 33, 503, 32, 191, 191, 503, 503, 192, 192, 503, 194, 34, 196, 503, 197, 35, 34, 503, 36, 36, 503, 35, 181, 181, 503, 503, 182, 182, 503, 184, 37, 186, 503, 187, 38, 37, 503, 39, 39, 503, 38, 171, 171, 503, 503, 172, 172, 503, 174, 40, 176, 503, 177, 41, 40, 503, 42, 42, 503, 41, 161, 161, 503, 503, 162, 162, 503, 164, 43, 166, 503, 167, 44, 43, 503, 45, 45, 503, 44, 151, 151, 503, 503, 152, 152, 503, 154, 46, 156, 503, 157, 47, 46, 503, 48, 48, 503, 47, 141, 141, 503, 503, 142, 142, 503, 144, 49, 146, 503, 147, 50, 49, 503, 51, 51, 503, 50, 131, 131, 503, 503, 132, 132, 503, 134, 52, 136, 503, 137, 53, 52, 503, 54, 54, 503, 53, 121, 121, 503, 503, 122, 122, 503, 124, 55, 126, 503, 127, 56, 55, 503, 57, 57, 503, 56, 111, 111, 503, 503, 112, 112, 503, 114, 58, 116, 503, 117, 59, 58, 503, 60, 60, 503, 59, 101, 101, 503, 503, 102, 102, 503, 104, 61, 106, 503, 107, 62, 61, 503, 63, 63, 503, 62, 91, 91, 503, 503, 92, 92, 503, 94, 64, 96, 503, 97, 65, 64, 503, 66, 66, 503, 65, 81, 81, 503, 503, 82, 82, 503, 84, 67, 86, 503, 87, 68, 67, 503, 69, 69, 503, 68, 72, 72, 503, 503, 73, 73, 503, 74, 17, 76, 503, 77, 214, 17, 503, 215, 215, 503, 18, 422, 422, 503, 503, 423, 423, 503, 425, 216, 427, 503, 428, 217, 216, 503, 218, 218, 503, 217, 412, 412, 503, 503, 413, 413, 503, 415, 219, 417, 503, 418, 220, 219, 503, 221, 221, 503, 220, 402, 402, 503, 503, 403, 403, 503, 405, 222, 407, 503, 408, 223, 222, 503, 224, 224, 503, 223, 392, 392, 503, 503, 393, 393, 503, 395, 225, 397, 503, 398, 226, 225, 503, 227, 227, 503, 226, 382, 382, 503, 503, 383, 383, 503, 385, 228, 387, 503, 388, 229, 228, 503, 230, 230, 503, 229, 372, 372, 503, 503, 373, 373, 503, 375, 231, 377, 503, 378, 232, 231, 503, 233, 233, 503, 232, 362, 362, 503, 503, 363, 363, 503, 365, 234, 367, 503, 368, 235, 234, 503, 236, 236, 503, 235, 352, 352, 503, 503, 353, 353, 503, 355, 237, 357, 503, 358, 238, 237, 503, 239, 239, 503, 238, 342, 342, 503, 503, 343, 343, 503, 345, 240, 347, 503, 348, 241, 240, 503, 242, 242, 503, 241, 332, 332, 503, 503, 333, 333, 503, 335, 243, 337, 503, 338, 244, 243, 503, 245, 245, 503, 244, 322, 322, 503, 503, 323, 323, 503, 325, 246, 327, 503, 328, 247, 246, 503, 248, 248, 503, 247, 312, 312, 503, 503, 313, 313, 503, 315, 249, 317, 503, 318, 250, 249, 503, 251, 251, 503, 250, 302, 302, 503, 503, 303, 303, 503, 305, 252, 307, 503, 308, 253, 252, 503, 254, 254, 503, 253, 292, 292, 503, 503, 293, 293, 503, 295, 255, 297, 503, 298, 256, 255, 503, 257, 257, 503, 256, 282, 282, 503, 503, 283, 283, 503, 285, 258, 287, 503, 288, 259, 258, 503, 260, 260, 503, 259, 272, 272, 503, 503, 273, 273, 503, 275, 261, 277, 503, 278, 262, 261, 503, 27, 27, 503, 262, 263, 263, 503, 503, 264, 264, 503, 266, 28, 268, 28, 269, 435, 28, 503, 212, 212, 31, 29, 436, 436, 34, 37, 437, 437, 40, 439, 213, 441, 503, 442, 456, 213, 43, 22, 29, 503, 214, 451, 451, 22, 46, 32, 73, 73, 457, 35, 38, 503, 49, 41, 503, 273, 459, 413, 192, 452, 480, 44, 503, 460, 460, 52, 503, 462, 462, 47, 503, 459, 459, 503, 473, 434, 476, 50, 479, 502, 434, 55, 478, 503, 58, 435, 454, 454, 478, 503, 53, 77, 77, 500, 503, 96, 503, 61, 90, 90, 278, 479, 418, 197, 456, 11, 56, 95, 12, 59, 64, 67, 16, 16, 12, 70, 503, 22, 69, 494, 82, 493, 62, 503, 71, 432, 260, 460, 12, 503, 484, 75, 433, 433, 12, 65, 68, 22, 69, 481, 19, 482, 503, 78, 503, 444, 260, 460, 12, 22, 443, 79, 445, 445, 12, 503, 13, 22, 69, 446, 503, 463, 450, 503, 503, 1, 260, 460, 69, 1, 0, 1, 503, 80, 13, 17, 72, 106, 20, 503, 100, 100, 503, 261, 434, 219, 34, 0, 453, 105, 503, 14, 503, 503, 83, 14, 503, 14, 73, 503, 24, 70, 92, 116, 447, 85, 110, 110, 88, 270, 448, 410, 189, 449, 474, 115, 503, 463, 463, 17, 89, 461, 503, 461, 20, 90, 475, 76, 102, 20, 23, 503, 503, 66, 491, 277, 476, 482, 482, 456, 93, 461, 503, 461, 20, 81, 475, 76, 126, 20, 82, 120, 120, 95, 497, 277, 476, 493, 493, 466, 125, 461, 503, 461, 20, 67, 475, 76, 136, 20, 503, 130, 130, 112, 21, 277, 476, 22, 78, 487, 135, 25, 25, 22, 98, 503, 73, 73, 483, 503, 503, 451, 503, 122, 13, 273, 459, 99, 13, 432, 13, 503, 100, 23, 23, 503, 103, 19, 503, 63, 1, 1, 26, 211, 409, 188, 452, 454, 13, 13, 20, 503, 91, 105, 20, 20, 20, 92, 108, 71, 71, 64, 2, 72, 503, 109, 17, 17, 271, 455, 411, 190, 456, 457, 23, 23, 24, 503, 88, 110, 24, 71, 24, 60, 113, 10, 10, 503, 18, 146, 101, 115, 140, 140, 274, 458, 414, 193, 450, 466, 118, 145, 22, 503, 102, 119, 465, 465, 22, 61, 120, 73, 73, 467, 132, 503, 98, 503, 123, 477, 273, 459, 478, 503, 452, 57, 463, 463, 478, 125, 111, 77, 77, 471, 503, 112, 503, 503, 128, 487, 278, 479, 22, 58, 456, 129, 486, 486, 22, 130, 133, 73, 73, 488, 108, 503, 503, 503, 135, 492, 273, 459, 478, 54, 444, 138, 482, 482, 478, 139, 121, 77, 77, 490, 122, 55, 503, 140, 503, 498, 278, 479, 478, 118, 466, 143, 493, 493, 478, 145, 51, 77, 77, 496, 131, 503, 500, 503, 503, 447, 278, 479, 132, 447, 487, 447, 503, 148, 75, 75, 52, 503, 74, 503, 128, 70, 70, 276, 472, 416, 195, 451, 16, 10, 10, 1, 149, 150, 503, 1, 75, 1, 48, 433, 13, 17, 1, 19, 20, 503, 1, 503, 1, 261, 434, 13, 17, 484, 503, 20, 445, 141, 142, 1, 261, 434, 503, 1, 443, 1, 503, 446, 13, 17, 14, 503, 20, 503, 14, 503, 14, 261, 434, 24, 70, 0, 503, 447, 481, 153, 503, 14, 270, 448, 503, 14, 449, 14, 503, 494, 24, 70, 14, 503, 447, 503, 14, 155, 14, 270, 448, 24, 70, 464, 49, 447, 25, 158, 159, 13, 270, 448, 503, 13, 485, 13, 503, 463, 23, 23, 20, 503, 138, 503, 20, 160, 20, 26, 211, 71, 71, 432, 45, 151, 465, 163, 165, 13, 271, 455, 503, 13, 456, 13, 503, 467, 23, 23, 24, 503, 152, 503, 24, 168, 24, 26, 211, 10, 10, 452, 46, 148, 471, 169, 170, 447, 274, 458, 503, 447, 450, 447, 503, 482, 75, 75, 20, 503, 42, 503, 20, 173, 20, 276, 472, 71, 71, 451, 161, 162, 483, 175, 178, 24, 271, 455, 503, 24, 466, 24, 503, 486, 10, 10, 13, 503, 43, 503, 13, 179, 13, 274, 458, 23, 23, 433, 158, 39, 488, 180, 183, 24, 26, 211, 503, 24, 444, 24, 503, 490, 10, 10, 447, 503, 171, 503, 447, 185, 447, 274, 458, 75, 75, 445, 172, 40, 493, 188, 503, 20, 276, 472, 189, 20, 465, 20, 503, 496, 71, 71, 447, 503, 168, 190, 447, 503, 447, 271, 455, 75, 75, 487, 36, 12, 503, 503, 1, 181, 276, 472, 1, 1, 486, 27, 503, 13, 28, 14, 182, 20, 28, 28, 503, 30, 503, 208, 31, 209, 2, 210, 31, 31, 503, 33, 503, 198, 34, 199, 29, 200, 34, 34, 503, 36, 503, 188, 37, 189, 32, 190, 37, 37, 503, 39, 503, 178, 40, 179, 35, 180, 40, 40, 503, 42, 503, 168, 43, 169, 38, 170, 43, 43, 503, 45, 503, 158, 46, 159, 41, 160, 46, 46, 503, 48, 503, 148, 49, 149, 44, 150, 49, 49, 503, 51, 503, 138, 52, 139, 47, 140, 52, 52, 503, 54, 503, 128, 55, 129, 50, 130, 55, 55, 503, 57, 503, 118, 58, 119, 53, 120, 58, 58, 503, 60, 503, 108, 61, 109, 56, 110, 61, 61, 503, 63, 503, 98, 64, 99, 59, 100, 64, 64, 503, 66, 503, 88, 67, 89, 62, 90, 67, 67, 503, 69, 503, 78, 17, 79, 65, 80, 17, 17, 503, 212, 503, 23, 213, 70, 68, 71, 213, 213, 503, 215, 503, 429, 216, 430, 18, 431, 216, 216, 503, 218, 503, 419, 219, 420, 214, 421, 219, 219, 503, 221, 503, 409, 222, 410, 217, 411, 222, 222, 503, 224, 503, 399, 225, 400, 220, 401, 225, 225, 503, 227, 503, 389, 228, 390, 223, 391, 228, 228, 503, 230, 503, 379, 231, 380, 226, 381, 231, 231, 503, 233, 503, 369, 234, 370, 229, 371, 234, 234, 503, 236, 503, 359, 237, 360, 232, 361, 237, 237, 503, 239, 503, 349, 240, 350, 235, 351, 240, 240, 503, 242, 503, 339, 243, 340, 238, 341, 243, 243, 503, 245, 503, 329, 246, 330, 241, 331, 246, 246, 503, 248, 503, 319, 249, 320, 244, 321, 249, 249, 503, 251, 503, 309, 252, 310, 247, 311, 252, 252, 503, 254, 503, 299, 255, 300, 250, 301, 255, 255, 503, 257, 503, 289, 258, 290, 253, 291, 258, 258, 503, 260, 503, 279, 261, 280, 256, 281, 261, 261, 503, 460, 193, 26, 434, 270, 259, 271, 434, 434, 503, 22, 503, 211, 13, 448, 262, 455, 13, 13, 503, 73, 195, 23, 23, 24, 435, 37, 23, 23, 503, 77, 503, 10, 71, 10, 11, 81, 71, 71, 67, 67, 198, 75, 503, 75, 12, 178, 78, 78, 503, 82, 503, 503, 78, 80, 22, 84, 78, 78, 79, 79, 68, 83, 503, 83, 503, 33, 83, 83, 503, 87, 503, 503, 80, 85, 69, 91, 80, 80, 64, 64, 72, 85, 503, 85, 503, 199, 88, 88, 503, 92, 503, 503, 88, 90, 73, 94, 88, 88, 89, 89, 65, 93, 503, 93, 503, 200, 93, 93, 503, 97, 191, 503, 90, 95, 66, 101, 90, 90, 61, 61, 81, 95, 503, 95, 503, 203, 98, 98, 503, 102, 192, 503, 98, 100, 82, 104, 98, 98, 99, 99, 62, 103, 503, 103, 503, 205, 103, 103, 503, 107, 34, 503, 100, 105, 63, 111, 100, 100, 58, 58, 91, 105, 503, 105, 503, 208, 108, 108, 503, 112, 188, 503, 108, 110, 92, 114, 108, 108, 109, 109, 59, 113, 503, 113, 503, 209, 113, 113, 503, 117, 30, 503, 110, 115, 60, 121, 110, 110, 55, 55, 101, 115, 503, 115, 503, 210, 118, 118, 503, 122, 201, 503, 118, 120, 102, 124, 118, 118, 119, 119, 56, 123, 503, 123, 503, 211, 123, 123, 503, 127, 202, 503, 120, 125, 57, 131, 120, 120, 52, 52, 111, 125, 503, 125, 503, 213, 128, 128, 503, 132, 212, 503, 128, 130, 112, 134, 128, 128, 129, 129, 53, 133, 503, 133, 503, 216, 133, 133, 503, 137, 214, 503, 130, 135, 54, 141, 130, 130, 49, 49, 121, 135, 503, 135, 503, 219, 138, 138, 503, 142, 217, 503, 138, 140, 122, 144, 138, 138, 139, 139, 50, 143, 503, 143, 503, 222, 143, 143, 503, 147, 220, 503, 140, 145, 51, 151, 140, 140, 46, 46, 131, 145, 503, 145, 503, 225, 148, 148, 503, 152, 223, 503, 148, 150, 132, 154, 148, 148, 149, 149, 47, 153, 503, 153, 503, 228, 153, 153, 503, 157, 226, 503, 150, 155, 48, 161, 150, 150, 43, 43, 141, 155, 503, 155, 503, 231, 158, 158, 503, 162, 229, 503, 158, 160, 142, 164, 158, 158, 159, 159, 44, 163, 503, 163, 503, 234, 163, 163, 503, 167, 232, 503, 160, 165, 45, 171, 160, 160, 40, 40, 151, 165, 503, 165, 503, 237, 168, 168, 503, 172, 235, 503, 168, 170, 152, 174, 168, 168, 169, 169, 41, 173, 503, 173, 503, 240, 173, 173, 503, 177, 238, 503, 170, 175, 42, 181, 170, 170, 37, 37, 161, 175, 503, 175, 503, 243, 178, 178, 503, 182, 241, 503, 178, 180, 162, 184, 178, 178, 179, 179, 38, 183, 503, 183, 503, 246, 183, 183, 503, 187, 244, 503, 180, 185, 39, 191, 180, 180, 34, 34, 171, 185, 503, 185, 503, 249, 188, 188, 503, 192, 247, 503, 188, 190, 172, 194, 188, 188, 189, 189, 35, 193, 503, 193, 503, 252, 193, 193, 503, 197, 250, 503, 190, 195, 36, 201, 190, 190, 31, 31, 181, 195, 503, 195, 503, 255, 198, 198, 503, 202, 253, 503, 198, 200, 182, 204, 198, 198, 199, 199, 32, 203, 503, 203, 503, 258, 203, 203, 503, 207, 256, 503, 200, 205, 33, 263, 200, 200, 28, 28, 191, 205, 503, 205, 503, 261, 208, 208, 503, 264, 259, 503, 208, 210, 192, 266, 208, 208, 209, 209, 29, 265, 503, 265, 503, 265, 265, 265, 503, 269, 262, 503, 210, 267, 30, 272, 210, 210, 261, 261, 201, 267, 503, 267, 503, 267, 26, 26, 503, 273, 31, 503, 26, 271, 202, 275, 26, 26, 270, 270, 262, 274, 503, 274, 503, 270, 274, 274, 503, 278, 198, 503, 271, 276, 27, 282, 271, 271, 258, 258, 263, 276, 503, 276, 503, 271, 279, 279, 503, 283, 263, 503, 279, 281, 264, 285, 279, 279, 280, 280, 259, 284, 503, 284, 503, 274, 284, 284, 503, 288, 264, 503, 281, 286, 260, 292, 281, 281, 255, 255, 272, 286, 503, 286, 503, 276, 289, 289, 503, 293, 28, 503, 289, 291, 273, 295, 289, 289, 290, 290, 256, 294, 503, 294, 503, 279, 294, 294, 503, 298, 208, 503, 291, 296, 257, 302, 291, 291, 252, 252, 282, 296, 503, 296, 503, 280, 299, 299, 503, 303, 260, 503, 299, 301, 283, 305, 299, 299, 300, 300, 253, 304, 503, 304, 503, 281, 304, 304, 503, 308, 272, 503, 301, 306, 254, 312, 301, 301, 249, 249, 292, 306, 503, 306, 503, 284, 309, 309, 503, 313, 273, 503, 309, 311, 293, 315, 309, 309, 310, 310, 250, 314, 503, 314, 503, 286, 314, 314, 503, 318, 261, 503, 311, 316, 251, 322, 311, 311, 246, 246, 302, 316, 503, 316, 503, 289, 319, 319, 503, 323, 26, 503, 319, 321, 303, 325, 319, 319, 320, 320, 247, 324, 503, 324, 503, 290, 324, 324, 503, 328, 257, 503, 321, 326, 248, 332, 321, 321, 243, 243, 312, 326, 503, 326, 503, 291, 329, 329, 503, 333, 282, 503, 329, 331, 313, 335, 329, 329, 330, 330, 244, 334, 503, 334, 503, 294, 334, 334, 503, 338, 283, 503, 331, 336, 245, 342, 331, 331, 240, 240, 322, 336, 503, 336, 503, 296, 339, 339, 503, 343, 258, 503, 339, 341, 323, 345, 339, 339, 340, 340, 241, 344, 503, 344, 503, 299, 344, 344, 503, 348, 279, 503, 341, 346, 242, 352, 341, 341, 237, 237, 332, 346, 503, 346, 503, 300, 349, 349, 503, 353, 254, 503, 349, 351, 333, 355, 349, 349, 350, 350, 238, 354, 503, 354, 503, 301, 354, 354, 503, 358, 292, 503, 351, 356, 239, 362, 351, 351, 234, 234, 342, 356, 503, 356, 503, 304, 359, 359, 503, 363, 293, 503, 359, 361, 343, 365, 359, 359, 360, 360, 235, 364, 503, 364, 503, 306, 364, 364, 503, 368, 255, 503, 361, 366, 236, 372, 361, 361, 231, 231, 352, 366, 503, 366, 503, 309, 369, 369, 503, 373, 289, 503, 369, 371, 353, 375, 369, 369, 370, 370, 232, 374, 503, 374, 503, 310, 374, 374, 503, 378, 251, 503, 371, 376, 233, 382, 371, 371, 228, 228, 362, 376, 503, 376, 503, 311, 379, 379, 503, 383, 302, 503, 379, 381, 363, 385, 379, 379, 380, 380, 229, 384, 503, 384, 503, 314, 384, 384, 503, 388, 303, 503, 381, 386, 230, 392, 381, 381, 225, 225, 372, 386, 503, 386, 503, 316, 389, 389, 503, 393, 252, 503, 389, 391, 373, 395, 389, 389, 390, 390, 226, 394, 503, 394, 503, 319, 394, 394, 503, 398, 299, 503, 391, 396, 227, 402, 391, 391, 222, 222, 382, 396, 503, 396, 503, 320, 399, 399, 503, 403, 248, 503, 399, 401, 383, 405, 399, 399, 400, 400, 223, 404, 503, 404, 503, 321, 404, 404, 503, 408, 312, 503, 401, 406, 224, 412, 401, 401, 219, 219, 392, 406, 503, 406, 503, 324, 409, 409, 503, 413, 313, 503, 409, 411, 393, 415, 409, 409, 410, 410, 220, 414, 503, 414, 503, 326, 414, 414, 503, 418, 249, 503, 411, 416, 221, 422, 411, 411, 216, 216, 402, 416, 503, 416, 503, 329, 419, 419, 503, 423, 309, 503, 419, 421, 403, 425, 419, 419, 420, 420, 217, 424, 503, 424, 503, 330, 424, 424, 503, 428, 245, 503, 421, 426, 218, 436, 421, 421, 213, 213, 412, 426, 503, 426, 503, 331, 429, 429, 503, 437, 322, 503, 429, 431, 413, 439, 429, 429, 430, 430, 214, 438, 503, 438, 503, 334, 438, 438, 503, 442, 323, 503, 431, 440, 215, 336, 431, 431, 503, 459, 422, 440, 211, 440, 503, 462, 211, 211, 434, 434, 246, 458, 503, 458, 423, 469, 211, 211, 14, 14, 319, 503, 503, 455, 212, 473, 24, 24, 448, 448, 435, 503, 503, 447, 503, 339, 458, 458, 503, 478, 15, 503, 20, 472, 503, 340, 20, 20, 503, 479, 436, 71, 455, 447, 503, 341, 455, 455, 344, 475, 242, 472, 71, 472, 21, 346, 71, 503, 71, 156, 332, 75, 150, 150, 437, 166, 349, 503, 160, 160, 333, 155, 350, 243, 22, 176, 503, 165, 170, 170, 329, 351, 186, 503, 142, 180, 180, 175, 354, 196, 152, 239, 190, 190, 185, 356, 359, 342, 360, 206, 162, 195, 200, 200, 503, 268, 343, 172, 210, 210, 361, 205, 364, 240, 182, 277, 503, 267, 271, 271, 339, 236, 287, 352, 192, 281, 281, 276, 366, 297, 202, 369, 291, 291, 286, 353, 370, 237, 371, 307, 264, 296, 301, 301, 503, 317, 374, 273, 311, 311, 376, 306, 379, 349, 283, 327, 233, 316, 321, 321, 503, 362, 337, 363, 293, 331, 331, 326, 380, 347, 303, 234, 341, 341, 336, 359, 381, 230, 384, 357, 313, 346, 351, 351, 503, 367, 386, 323, 361, 361, 389, 356, 390, 372, 333, 377, 503, 366, 371, 371, 503, 373, 387, 231, 343, 381, 381, 376, 391, 397, 353, 369, 391, 391, 386, 227, 394, 382, 396, 407, 363, 396, 401, 401, 503, 417, 399, 373, 411, 411, 400, 406, 401, 383, 383, 427, 503, 416, 421, 421, 503, 228, 441, 379, 393, 431, 431, 426, 404, 461, 403, 224, 20, 20, 440, 392, 406, 393, 409, 470, 413, 71, 447, 447, 410, 476, 411, 423, 455, 455, 414, 75, 416, 225, 21, 419, 420, 472, 421, 424, 426, 389, 429, 221, 25, 430, 431, 434, 438, 402, 437, 403, 440, 447, 448, 222, 455, 399, 458, 472, 218, 412, 503, 413, 219, 409, 503, 215, 503, 503, 422, 423, 435, 216, 503, 503, 503, 419, 25, 436, 503, 437, 503, 213, 429}; /* Check vector for state transitions. */ static const unsigned short athlon_fp_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 503, 1, 2, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 1, 503, 443, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 449, 503, 484, 449, 449, 503, 503, 449, 503, 449, 449, 449, 449, 449, 503, 449, 449, 503, 449, 503, 3, 449, 449, 449, 449, 449, 499, 503, 76, 499, 499, 76, 76, 499, 503, 499, 499, 499, 499, 499, 76, 499, 499, 503, 499, 3, 4, 499, 499, 499, 499, 499, 15, 76, 503, 15, 15, 503, 503, 15, 503, 15, 15, 15, 15, 15, 5, 15, 15, 503, 15, 4, 464, 15, 15, 464, 464, 15, 503, 464, 503, 464, 464, 464, 464, 464, 6, 464, 464, 503, 464, 5, 468, 464, 464, 468, 468, 464, 503, 468, 503, 468, 468, 468, 468, 468, 7, 468, 468, 503, 468, 6, 485, 468, 468, 485, 485, 468, 503, 485, 503, 485, 485, 485, 485, 485, 8, 485, 485, 503, 485, 7, 489, 485, 485, 489, 489, 485, 503, 489, 503, 489, 489, 489, 489, 489, 9, 489, 489, 503, 489, 8, 495, 489, 489, 495, 495, 489, 10, 495, 503, 495, 495, 495, 495, 495, 503, 495, 495, 503, 495, 9, 452, 495, 495, 452, 503, 495, 13, 452, 452, 452, 503, 10, 452, 452, 452, 86, 452, 14, 86, 86, 17, 452, 452, 452, 452, 452, 501, 86, 20, 501, 501, 13, 23, 501, 503, 501, 501, 24, 501, 501, 86, 501, 14, 503, 26, 17, 503, 501, 501, 501, 501, 501, 18, 20, 503, 18, 18, 23, 503, 18, 18, 503, 24, 18, 18, 503, 18, 18, 18, 26, 18, 29, 18, 503, 29, 29, 503, 18, 29, 29, 503, 503, 29, 29, 503, 29, 29, 29, 503, 29, 32, 29, 503, 32, 32, 503, 29, 32, 32, 503, 503, 32, 32, 503, 32, 32, 32, 503, 32, 35, 32, 503, 35, 35, 503, 32, 35, 35, 503, 503, 35, 35, 503, 35, 35, 35, 503, 35, 38, 35, 503, 38, 38, 503, 35, 38, 38, 503, 503, 38, 38, 503, 38, 38, 38, 503, 38, 41, 38, 503, 41, 41, 503, 38, 41, 41, 503, 503, 41, 41, 503, 41, 41, 41, 503, 41, 44, 41, 503, 44, 44, 503, 41, 44, 44, 503, 503, 44, 44, 503, 44, 44, 44, 503, 44, 47, 44, 503, 47, 47, 503, 44, 47, 47, 503, 503, 47, 47, 503, 47, 47, 47, 503, 47, 50, 47, 503, 50, 50, 503, 47, 50, 50, 503, 503, 50, 50, 503, 50, 50, 50, 503, 50, 53, 50, 503, 53, 53, 503, 50, 53, 53, 503, 503, 53, 53, 503, 53, 53, 53, 503, 53, 56, 53, 503, 56, 56, 503, 53, 56, 56, 503, 503, 56, 56, 503, 56, 56, 56, 503, 56, 59, 56, 503, 59, 59, 503, 56, 59, 59, 503, 503, 59, 59, 503, 59, 59, 59, 503, 59, 62, 59, 503, 62, 62, 503, 59, 62, 62, 503, 503, 62, 62, 503, 62, 62, 62, 503, 62, 65, 62, 503, 65, 65, 503, 62, 65, 65, 503, 503, 65, 65, 503, 65, 65, 65, 503, 65, 68, 65, 503, 68, 68, 503, 65, 68, 68, 503, 503, 68, 68, 503, 68, 68, 68, 503, 68, 214, 68, 503, 214, 214, 503, 68, 214, 214, 503, 503, 214, 214, 503, 214, 214, 214, 503, 214, 217, 214, 503, 217, 217, 503, 214, 217, 217, 503, 503, 217, 217, 503, 217, 217, 217, 503, 217, 220, 217, 503, 220, 220, 503, 217, 220, 220, 503, 503, 220, 220, 503, 220, 220, 220, 503, 220, 223, 220, 503, 223, 223, 503, 220, 223, 223, 503, 503, 223, 223, 503, 223, 223, 223, 503, 223, 226, 223, 503, 226, 226, 503, 223, 226, 226, 503, 503, 226, 226, 503, 226, 226, 226, 503, 226, 229, 226, 503, 229, 229, 503, 226, 229, 229, 503, 503, 229, 229, 503, 229, 229, 229, 503, 229, 232, 229, 503, 232, 232, 503, 229, 232, 232, 503, 503, 232, 232, 503, 232, 232, 232, 503, 232, 235, 232, 503, 235, 235, 503, 232, 235, 235, 503, 503, 235, 235, 503, 235, 235, 235, 503, 235, 238, 235, 503, 238, 238, 503, 235, 238, 238, 503, 503, 238, 238, 503, 238, 238, 238, 503, 238, 241, 238, 503, 241, 241, 503, 238, 241, 241, 503, 503, 241, 241, 503, 241, 241, 241, 503, 241, 244, 241, 503, 244, 244, 503, 241, 244, 244, 503, 503, 244, 244, 503, 244, 244, 244, 503, 244, 247, 244, 503, 247, 247, 503, 244, 247, 247, 503, 503, 247, 247, 503, 247, 247, 247, 503, 247, 250, 247, 503, 250, 250, 503, 247, 250, 250, 503, 503, 250, 250, 503, 250, 250, 250, 503, 250, 253, 250, 503, 253, 253, 503, 250, 253, 253, 503, 503, 253, 253, 503, 253, 253, 253, 503, 253, 256, 253, 503, 256, 256, 503, 253, 256, 256, 503, 503, 256, 256, 503, 256, 256, 256, 503, 256, 259, 256, 503, 259, 259, 503, 256, 259, 259, 503, 503, 259, 259, 503, 259, 259, 259, 503, 259, 262, 259, 503, 262, 262, 503, 259, 262, 262, 503, 503, 262, 262, 503, 262, 262, 262, 28, 262, 435, 262, 503, 435, 435, 31, 262, 435, 435, 34, 37, 435, 435, 40, 435, 435, 435, 503, 435, 456, 435, 43, 456, 28, 503, 435, 456, 456, 456, 46, 31, 456, 456, 456, 34, 37, 503, 49, 40, 503, 456, 456, 456, 456, 456, 480, 43, 503, 480, 480, 52, 503, 480, 480, 46, 503, 480, 480, 503, 480, 480, 480, 49, 480, 502, 480, 55, 502, 503, 58, 480, 502, 502, 502, 503, 52, 502, 502, 502, 503, 96, 503, 61, 96, 96, 502, 502, 502, 502, 502, 11, 55, 96, 11, 58, 64, 67, 11, 11, 11, 70, 503, 11, 11, 11, 96, 11, 61, 503, 71, 432, 11, 11, 432, 503, 11, 75, 432, 432, 432, 64, 67, 432, 432, 432, 70, 432, 503, 78, 503, 444, 432, 432, 444, 71, 432, 79, 444, 444, 444, 503, 75, 444, 444, 444, 503, 444, 450, 503, 503, 450, 444, 444, 78, 450, 444, 450, 503, 80, 450, 450, 79, 106, 450, 503, 106, 106, 503, 450, 450, 450, 450, 450, 453, 106, 503, 453, 503, 503, 83, 453, 503, 453, 80, 503, 453, 453, 106, 116, 453, 85, 116, 116, 88, 453, 453, 453, 453, 453, 474, 116, 503, 474, 474, 83, 89, 474, 503, 474, 474, 90, 474, 474, 116, 474, 85, 503, 503, 88, 491, 474, 474, 491, 491, 474, 93, 491, 503, 491, 491, 89, 491, 491, 126, 491, 90, 126, 126, 95, 497, 491, 491, 497, 497, 491, 126, 497, 503, 497, 497, 93, 497, 497, 136, 497, 503, 136, 136, 126, 21, 497, 497, 21, 95, 497, 136, 21, 21, 21, 98, 503, 21, 21, 21, 503, 503, 451, 503, 136, 451, 21, 21, 99, 451, 21, 451, 503, 100, 451, 451, 503, 103, 19, 503, 98, 19, 19, 451, 451, 451, 451, 451, 454, 19, 19, 454, 503, 99, 105, 454, 19, 454, 100, 108, 454, 454, 103, 19, 72, 503, 109, 72, 72, 454, 454, 454, 454, 454, 457, 72, 72, 457, 503, 105, 110, 457, 72, 457, 108, 113, 457, 457, 503, 72, 146, 109, 115, 146, 146, 457, 457, 457, 457, 457, 466, 118, 146, 466, 503, 110, 119, 466, 466, 466, 113, 120, 466, 466, 466, 146, 503, 115, 503, 123, 477, 466, 466, 477, 503, 466, 118, 477, 477, 477, 125, 119, 477, 477, 477, 503, 120, 503, 503, 128, 487, 477, 477, 487, 123, 477, 129, 487, 487, 487, 130, 133, 487, 487, 487, 125, 503, 503, 503, 135, 492, 487, 487, 492, 128, 487, 138, 492, 492, 492, 139, 129, 492, 492, 492, 130, 133, 503, 140, 503, 498, 492, 492, 498, 135, 492, 143, 498, 498, 498, 145, 138, 498, 498, 498, 139, 503, 500, 503, 503, 500, 498, 498, 140, 500, 498, 500, 503, 148, 500, 500, 143, 503, 74, 503, 145, 74, 74, 500, 500, 500, 500, 500, 16, 74, 74, 16, 149, 150, 503, 16, 74, 16, 148, 433, 16, 16, 433, 74, 16, 503, 433, 503, 433, 16, 16, 433, 433, 16, 503, 433, 445, 149, 150, 445, 433, 433, 503, 445, 433, 445, 503, 446, 445, 445, 446, 503, 445, 503, 446, 503, 446, 445, 445, 446, 446, 445, 503, 446, 481, 153, 503, 481, 446, 446, 503, 481, 446, 481, 503, 494, 481, 481, 494, 503, 481, 503, 494, 155, 494, 481, 481, 494, 494, 481, 153, 494, 25, 158, 159, 25, 494, 494, 503, 25, 494, 25, 503, 463, 25, 25, 463, 503, 155, 503, 463, 160, 463, 25, 25, 463, 463, 25, 158, 159, 465, 163, 165, 465, 463, 463, 503, 465, 463, 465, 503, 467, 465, 465, 467, 503, 160, 503, 467, 168, 467, 465, 465, 467, 467, 465, 163, 165, 471, 169, 170, 471, 467, 467, 503, 471, 467, 471, 503, 482, 471, 471, 482, 503, 168, 503, 482, 173, 482, 471, 471, 482, 482, 471, 169, 170, 483, 175, 178, 483, 482, 482, 503, 483, 482, 483, 503, 486, 483, 483, 486, 503, 173, 503, 486, 179, 486, 483, 483, 486, 486, 483, 175, 178, 488, 180, 183, 488, 486, 486, 503, 488, 486, 488, 503, 490, 488, 488, 490, 503, 179, 503, 490, 185, 490, 488, 488, 490, 490, 488, 180, 183, 493, 188, 503, 493, 490, 490, 189, 493, 490, 493, 503, 496, 493, 493, 496, 503, 185, 190, 496, 503, 496, 493, 493, 496, 496, 493, 188, 12, 503, 503, 12, 189, 496, 496, 12, 12, 496, 27, 503, 12, 27, 12, 190, 12, 27, 27, 503, 30, 503, 27, 30, 27, 12, 27, 30, 30, 503, 33, 503, 30, 33, 30, 27, 30, 33, 33, 503, 36, 503, 33, 36, 33, 30, 33, 36, 36, 503, 39, 503, 36, 39, 36, 33, 36, 39, 39, 503, 42, 503, 39, 42, 39, 36, 39, 42, 42, 503, 45, 503, 42, 45, 42, 39, 42, 45, 45, 503, 48, 503, 45, 48, 45, 42, 45, 48, 48, 503, 51, 503, 48, 51, 48, 45, 48, 51, 51, 503, 54, 503, 51, 54, 51, 48, 51, 54, 54, 503, 57, 503, 54, 57, 54, 51, 54, 57, 57, 503, 60, 503, 57, 60, 57, 54, 57, 60, 60, 503, 63, 503, 60, 63, 60, 57, 60, 63, 63, 503, 66, 503, 63, 66, 63, 60, 63, 66, 66, 503, 69, 503, 66, 69, 66, 63, 66, 69, 69, 503, 212, 503, 69, 212, 69, 66, 69, 212, 212, 503, 215, 503, 212, 215, 212, 69, 212, 215, 215, 503, 218, 503, 215, 218, 215, 212, 215, 218, 218, 503, 221, 503, 218, 221, 218, 215, 218, 221, 221, 503, 224, 503, 221, 224, 221, 218, 221, 224, 224, 503, 227, 503, 224, 227, 224, 221, 224, 227, 227, 503, 230, 503, 227, 230, 227, 224, 227, 230, 230, 503, 233, 503, 230, 233, 230, 227, 230, 233, 233, 503, 236, 503, 233, 236, 233, 230, 233, 236, 236, 503, 239, 503, 236, 239, 236, 233, 236, 239, 239, 503, 242, 503, 239, 242, 239, 236, 239, 242, 242, 503, 245, 503, 242, 245, 242, 239, 242, 245, 245, 503, 248, 503, 245, 248, 245, 242, 245, 248, 248, 503, 251, 503, 248, 251, 248, 245, 248, 251, 251, 503, 254, 503, 251, 254, 251, 248, 251, 254, 254, 503, 257, 503, 254, 257, 254, 251, 254, 257, 257, 503, 260, 503, 257, 260, 257, 254, 257, 260, 260, 503, 460, 193, 260, 460, 260, 257, 260, 460, 460, 503, 22, 503, 460, 22, 460, 260, 460, 22, 22, 503, 73, 195, 22, 73, 22, 460, 193, 73, 73, 503, 77, 503, 73, 77, 73, 22, 81, 77, 77, 81, 81, 198, 77, 503, 77, 73, 195, 81, 81, 503, 82, 503, 503, 82, 81, 77, 84, 82, 82, 84, 84, 81, 82, 503, 82, 503, 198, 84, 84, 503, 87, 503, 503, 87, 84, 82, 91, 87, 87, 91, 91, 84, 87, 503, 87, 503, 199, 91, 91, 503, 92, 503, 503, 92, 91, 87, 94, 92, 92, 94, 94, 91, 92, 503, 92, 503, 200, 94, 94, 503, 97, 199, 503, 97, 94, 92, 101, 97, 97, 101, 101, 94, 97, 503, 97, 503, 203, 101, 101, 503, 102, 200, 503, 102, 101, 97, 104, 102, 102, 104, 104, 101, 102, 503, 102, 503, 205, 104, 104, 503, 107, 203, 503, 107, 104, 102, 111, 107, 107, 111, 111, 104, 107, 503, 107, 503, 208, 111, 111, 503, 112, 205, 503, 112, 111, 107, 114, 112, 112, 114, 114, 111, 112, 503, 112, 503, 209, 114, 114, 503, 117, 208, 503, 117, 114, 112, 121, 117, 117, 121, 121, 114, 117, 503, 117, 503, 210, 121, 121, 503, 122, 209, 503, 122, 121, 117, 124, 122, 122, 124, 124, 121, 122, 503, 122, 503, 211, 124, 124, 503, 127, 210, 503, 127, 124, 122, 131, 127, 127, 131, 131, 124, 127, 503, 127, 503, 213, 131, 131, 503, 132, 211, 503, 132, 131, 127, 134, 132, 132, 134, 134, 131, 132, 503, 132, 503, 216, 134, 134, 503, 137, 213, 503, 137, 134, 132, 141, 137, 137, 141, 141, 134, 137, 503, 137, 503, 219, 141, 141, 503, 142, 216, 503, 142, 141, 137, 144, 142, 142, 144, 144, 141, 142, 503, 142, 503, 222, 144, 144, 503, 147, 219, 503, 147, 144, 142, 151, 147, 147, 151, 151, 144, 147, 503, 147, 503, 225, 151, 151, 503, 152, 222, 503, 152, 151, 147, 154, 152, 152, 154, 154, 151, 152, 503, 152, 503, 228, 154, 154, 503, 157, 225, 503, 157, 154, 152, 161, 157, 157, 161, 161, 154, 157, 503, 157, 503, 231, 161, 161, 503, 162, 228, 503, 162, 161, 157, 164, 162, 162, 164, 164, 161, 162, 503, 162, 503, 234, 164, 164, 503, 167, 231, 503, 167, 164, 162, 171, 167, 167, 171, 171, 164, 167, 503, 167, 503, 237, 171, 171, 503, 172, 234, 503, 172, 171, 167, 174, 172, 172, 174, 174, 171, 172, 503, 172, 503, 240, 174, 174, 503, 177, 237, 503, 177, 174, 172, 181, 177, 177, 181, 181, 174, 177, 503, 177, 503, 243, 181, 181, 503, 182, 240, 503, 182, 181, 177, 184, 182, 182, 184, 184, 181, 182, 503, 182, 503, 246, 184, 184, 503, 187, 243, 503, 187, 184, 182, 191, 187, 187, 191, 191, 184, 187, 503, 187, 503, 249, 191, 191, 503, 192, 246, 503, 192, 191, 187, 194, 192, 192, 194, 194, 191, 192, 503, 192, 503, 252, 194, 194, 503, 197, 249, 503, 197, 194, 192, 201, 197, 197, 201, 201, 194, 197, 503, 197, 503, 255, 201, 201, 503, 202, 252, 503, 202, 201, 197, 204, 202, 202, 204, 204, 201, 202, 503, 202, 503, 258, 204, 204, 503, 207, 255, 503, 207, 204, 202, 263, 207, 207, 263, 263, 204, 207, 503, 207, 503, 261, 263, 263, 503, 264, 258, 503, 264, 263, 207, 266, 264, 264, 266, 266, 263, 264, 503, 264, 503, 265, 266, 266, 503, 269, 261, 503, 269, 266, 264, 272, 269, 269, 272, 272, 266, 269, 503, 269, 503, 267, 272, 272, 503, 273, 265, 503, 273, 272, 269, 275, 273, 273, 275, 275, 272, 273, 503, 273, 503, 270, 275, 275, 503, 278, 267, 503, 278, 275, 273, 282, 278, 278, 282, 282, 275, 278, 503, 278, 503, 271, 282, 282, 503, 283, 270, 503, 283, 282, 278, 285, 283, 283, 285, 285, 282, 283, 503, 283, 503, 274, 285, 285, 503, 288, 271, 503, 288, 285, 283, 292, 288, 288, 292, 292, 285, 288, 503, 288, 503, 276, 292, 292, 503, 293, 274, 503, 293, 292, 288, 295, 293, 293, 295, 295, 292, 293, 503, 293, 503, 279, 295, 295, 503, 298, 276, 503, 298, 295, 293, 302, 298, 298, 302, 302, 295, 298, 503, 298, 503, 280, 302, 302, 503, 303, 279, 503, 303, 302, 298, 305, 303, 303, 305, 305, 302, 303, 503, 303, 503, 281, 305, 305, 503, 308, 280, 503, 308, 305, 303, 312, 308, 308, 312, 312, 305, 308, 503, 308, 503, 284, 312, 312, 503, 313, 281, 503, 313, 312, 308, 315, 313, 313, 315, 315, 312, 313, 503, 313, 503, 286, 315, 315, 503, 318, 284, 503, 318, 315, 313, 322, 318, 318, 322, 322, 315, 318, 503, 318, 503, 289, 322, 322, 503, 323, 286, 503, 323, 322, 318, 325, 323, 323, 325, 325, 322, 323, 503, 323, 503, 290, 325, 325, 503, 328, 289, 503, 328, 325, 323, 332, 328, 328, 332, 332, 325, 328, 503, 328, 503, 291, 332, 332, 503, 333, 290, 503, 333, 332, 328, 335, 333, 333, 335, 335, 332, 333, 503, 333, 503, 294, 335, 335, 503, 338, 291, 503, 338, 335, 333, 342, 338, 338, 342, 342, 335, 338, 503, 338, 503, 296, 342, 342, 503, 343, 294, 503, 343, 342, 338, 345, 343, 343, 345, 345, 342, 343, 503, 343, 503, 299, 345, 345, 503, 348, 296, 503, 348, 345, 343, 352, 348, 348, 352, 352, 345, 348, 503, 348, 503, 300, 352, 352, 503, 353, 299, 503, 353, 352, 348, 355, 353, 353, 355, 355, 352, 353, 503, 353, 503, 301, 355, 355, 503, 358, 300, 503, 358, 355, 353, 362, 358, 358, 362, 362, 355, 358, 503, 358, 503, 304, 362, 362, 503, 363, 301, 503, 363, 362, 358, 365, 363, 363, 365, 365, 362, 363, 503, 363, 503, 306, 365, 365, 503, 368, 304, 503, 368, 365, 363, 372, 368, 368, 372, 372, 365, 368, 503, 368, 503, 309, 372, 372, 503, 373, 306, 503, 373, 372, 368, 375, 373, 373, 375, 375, 372, 373, 503, 373, 503, 310, 375, 375, 503, 378, 309, 503, 378, 375, 373, 382, 378, 378, 382, 382, 375, 378, 503, 378, 503, 311, 382, 382, 503, 383, 310, 503, 383, 382, 378, 385, 383, 383, 385, 385, 382, 383, 503, 383, 503, 314, 385, 385, 503, 388, 311, 503, 388, 385, 383, 392, 388, 388, 392, 392, 385, 388, 503, 388, 503, 316, 392, 392, 503, 393, 314, 503, 393, 392, 388, 395, 393, 393, 395, 395, 392, 393, 503, 393, 503, 319, 395, 395, 503, 398, 316, 503, 398, 395, 393, 402, 398, 398, 402, 402, 395, 398, 503, 398, 503, 320, 402, 402, 503, 403, 319, 503, 403, 402, 398, 405, 403, 403, 405, 405, 402, 403, 503, 403, 503, 321, 405, 405, 503, 408, 320, 503, 408, 405, 403, 412, 408, 408, 412, 412, 405, 408, 503, 408, 503, 324, 412, 412, 503, 413, 321, 503, 413, 412, 408, 415, 413, 413, 415, 415, 412, 413, 503, 413, 503, 326, 415, 415, 503, 418, 324, 503, 418, 415, 413, 422, 418, 418, 422, 422, 415, 418, 503, 418, 503, 329, 422, 422, 503, 423, 326, 503, 423, 422, 418, 425, 423, 423, 425, 425, 422, 423, 503, 423, 503, 330, 425, 425, 503, 428, 329, 503, 428, 425, 423, 436, 428, 428, 436, 436, 425, 428, 503, 428, 503, 331, 436, 436, 503, 437, 330, 503, 437, 436, 428, 439, 437, 437, 439, 439, 436, 437, 503, 437, 503, 334, 439, 439, 503, 442, 331, 503, 442, 439, 437, 336, 442, 442, 503, 459, 439, 442, 459, 442, 503, 462, 459, 459, 462, 462, 334, 459, 503, 459, 442, 469, 462, 462, 469, 469, 336, 503, 503, 462, 459, 473, 469, 469, 473, 473, 462, 503, 503, 469, 503, 339, 473, 473, 503, 478, 469, 503, 478, 473, 503, 340, 478, 478, 503, 479, 473, 478, 479, 478, 503, 341, 479, 479, 344, 475, 339, 479, 475, 479, 478, 346, 475, 503, 475, 156, 340, 475, 156, 156, 479, 166, 349, 503, 166, 166, 341, 156, 350, 344, 475, 176, 503, 166, 176, 176, 346, 351, 186, 503, 156, 186, 186, 176, 354, 196, 166, 349, 196, 196, 186, 356, 359, 350, 360, 206, 176, 196, 206, 206, 503, 268, 351, 186, 268, 268, 361, 206, 364, 354, 196, 277, 503, 268, 277, 277, 356, 359, 287, 360, 206, 287, 287, 277, 366, 297, 268, 369, 297, 297, 287, 361, 370, 364, 371, 307, 277, 297, 307, 307, 503, 317, 374, 287, 317, 317, 376, 307, 379, 366, 297, 327, 369, 317, 327, 327, 503, 370, 337, 371, 307, 337, 337, 327, 380, 347, 317, 374, 347, 347, 337, 376, 381, 379, 384, 357, 327, 347, 357, 357, 503, 367, 386, 337, 367, 367, 389, 357, 390, 380, 347, 377, 503, 367, 377, 377, 503, 381, 387, 384, 357, 387, 387, 377, 391, 397, 367, 386, 397, 397, 387, 389, 394, 390, 396, 407, 377, 397, 407, 407, 503, 417, 399, 387, 417, 417, 400, 407, 401, 391, 397, 427, 503, 417, 427, 427, 503, 394, 441, 396, 407, 441, 441, 427, 404, 461, 417, 399, 461, 461, 441, 400, 406, 401, 409, 470, 427, 461, 470, 470, 410, 476, 411, 441, 476, 476, 414, 470, 416, 404, 461, 419, 420, 476, 421, 424, 426, 406, 429, 409, 470, 430, 431, 434, 438, 410, 476, 411, 440, 447, 448, 414, 455, 416, 458, 472, 419, 420, 503, 421, 424, 426, 503, 429, 503, 503, 430, 431, 434, 438, 503, 503, 503, 440, 447, 448, 503, 455, 503, 458, 472}; /* Base vector for state transitions. */ static const unsigned short athlon_fp_base[] = { 0, 50, 26, 121, 147, 167, 187, 207, 227, 247, 259, 1023, 1661, 279, 290, 153, 1410, 293, 325, 1225, 301, 1192, 2001, 305, 310, 1494, 317, 1671, 931, 344, 1681, 938, 363, 1691, 942, 382, 1701, 943, 401, 1711, 946, 420, 1721, 954, 439, 1731, 962, 458, 1741, 970, 477, 1751, 983, 496, 1761, 999, 515, 1771, 1002, 534, 1781, 1015, 553, 1791, 1028, 572, 1801, 1029, 591, 1811, 1033, 1042, 1251, 2011, 1400, 1049, 129, 2021, 1061, 1069, 1091, 2027, 2041, 1112, 2047, 1123, 288, 2061, 1126, 1138, 1143, 2067, 2081, 1158, 2087, 1171, 1013, 2101, 1202, 1215, 1220, 2107, 2121, 1224, 2127, 1241, 1095, 2141, 1246, 1253, 1267, 2147, 2161, 1272, 2167, 1279, 1121, 2181, 1288, 1293, 1298, 2187, 2201, 1306, 2207, 1317, 1166, 2221, 1326, 1333, 1337, 2227, 2241, 1338, 2247, 1346, 1186, 2261, 1353, 1357, 1365, 2267, 2281, 1373, 2287, 1377, 1277, 2301, 1395, 1414, 1415, 2307, 2321, 1467, 2327, 1485, 3341, 2341, 1495, 1496, 1513, 2347, 2361, 1523, 2367, 1524, 3347, 2381, 1541, 1551, 1552, 2387, 2401, 1569, 2407, 1579, 3357, 2421, 1580, 1597, 1607, 2427, 2441, 1608, 2447, 1625, 3364, 2461, 1635, 1640, 1651, 2467, 2481, 1992, 2487, 2012, 3371, 2501, 2032, 2077, 2097, 2507, 2521, 2117, 2527, 2137, 3381, 2541, 2157, 2177, 2197, 2217, 1821, 2237, 610, 1831, 2257, 629, 1841, 2277, 648, 1851, 2297, 667, 1861, 2317, 686, 1871, 2337, 705, 1881, 2357, 724, 1891, 2377, 743, 1901, 2397, 762, 1911, 2417, 781, 1921, 2437, 800, 1931, 2457, 819, 1941, 2477, 838, 1951, 2497, 857, 1961, 2517, 876, 1971, 2537, 895, 1981, 2557, 914, 2547, 2561, 2577, 2567, 2597, 3387, 2581, 2617, 2637, 2587, 2601, 2657, 2607, 2677, 3397, 2621, 2697, 2717, 2737, 2627, 2641, 2757, 2647, 2777, 3404, 2661, 2797, 2817, 2837, 2667, 2681, 2857, 2687, 2877, 3411, 2701, 2897, 2917, 2937, 2707, 2721, 2957, 2727, 2977, 3421, 2741, 2997, 3017, 3037, 2747, 2761, 3057, 2767, 3077, 3427, 2781, 3097, 3117, 3137, 2787, 2801, 3157, 2807, 3177, 3437, 2821, 3197, 3217, 3237, 2827, 2841, 3257, 2847, 3267, 3444, 2861, 3307, 3317, 3327, 2867, 2881, 3330, 2887, 3337, 3451, 2901, 3348, 3354, 3363, 2907, 2921, 3370, 2927, 3377, 3461, 2941, 3378, 3380, 3392, 2947, 2961, 3394, 2967, 3410, 3467, 2981, 3413, 3418, 3420, 2987, 3001, 3428, 3007, 3432, 3477, 3021, 3434, 3450, 3458, 3027, 3041, 3460, 3047, 3468, 3484, 3061, 3472, 3474, 3490, 3067, 3081, 3498, 3087, 3500, 3491, 3101, 3508, 3512, 3514, 3107, 3121, 3530, 3127, 3538, 3501, 3141, 3540, 3546, 3548, 3147, 3161, 3552, 3167, 3554, 3507, 3181, 3557, 3558, 3560, 3187, 3201, 3561, 3207, 3562, 3517, 3221, 3564, 3567, 3568, 1043, 1421, 3569, 933, 3227, 3241, 3570, 3247, 3574, 3524, 3261, 52, 1063, 1438, 1449, 3575, 3576, 101, 1080, 1209, 273, 1106, 1235, 3578, 952, 1261, 3580, 3271, 1991, 3531, 3277, 1505, 173, 1522, 1287, 1533, 193, 3287, 3541, 1550, 3581, 3297, 1132, 3331, 3547, 1307, 3311, 3321, 978, 1466, 1561, 1578, 78, 213, 1589, 1327, 1606, 233, 1617, 1152, 1347, 1634, 1477, 253, 1645, 1172, 1367, 127, 1384, 299, 997}; /* Vector of min issue delay of insns. */ static const unsigned char athlon_fp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 12, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 11, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 10, 10, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 9, 9, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 8, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 7, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 3, 3, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 4, 4, 0, 0, 2, 2, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2, 1, 1, 4, 4, 0, 0, 2, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 4, 4, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 3, 3, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 3, 3, 0, 0, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 2, 5, 5, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 4, 4, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 4, 4, 0, 0, 3, 3, 1, 3, 3, 3, 1, 1, 1, 3, 3, 1, 1, 1, 3, 2, 3, 3, 3, 3, 1, 1, 4, 4, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 1, 2, 2, 2, 2, 0, 0, 3, 3, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 1, 2, 2, 0, 1, 0, 2, 1, 2, 2, 2, 2, 1, 1, 4, 4, 0, 0, 2, 2, 1, 2, 2, 2, 1, 1, 2, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 5, 5, 0, 0, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 1, 4, 4, 0, 0, 2, 2, 0, 2, 2, 2, 0, 1, 0, 2, 2, 0, 0, 1, 2, 1, 2, 2, 2, 2, 0, 0, 3, 3, 0, 0, 17, 17, 1, 2, 17, 17, 1, 1, 17, 17, 2, 1, 17, 1, 2, 1, 17, 2, 17, 2, 17, 17, 20, 20, 0, 0, 16, 16, 0, 1, 16, 16, 0, 0, 16, 16, 1, 0, 16, 0, 1, 0, 16, 1, 16, 1, 16, 16, 19, 19, 0, 0, 16, 16, 1, 1, 16, 16, 1, 1, 16, 16, 1, 1, 16, 1, 1, 1, 16, 1, 16, 1, 16, 16, 19, 19, 0, 0, 15, 15, 0, 0, 15, 15, 0, 0, 15, 15, 0, 0, 15, 0, 0, 0, 15, 0, 15, 0, 15, 15, 18, 18, 0, 0, 15, 15, 0, 1, 15, 15, 0, 0, 15, 15, 1, 0, 15, 0, 1, 0, 15, 1, 15, 1, 15, 15, 18, 18, 0, 0, 15, 15, 1, 1, 15, 15, 1, 1, 15, 15, 1, 1, 15, 1, 1, 1, 15, 1, 15, 1, 15, 15, 18, 18, 0, 0, 14, 14, 0, 0, 14, 14, 0, 0, 14, 14, 0, 0, 14, 0, 0, 0, 14, 0, 14, 0, 14, 14, 17, 17, 0, 0, 14, 14, 0, 1, 14, 14, 0, 0, 14, 14, 1, 0, 14, 0, 1, 0, 14, 1, 14, 1, 14, 14, 17, 17, 0, 0, 14, 14, 1, 1, 14, 14, 1, 1, 14, 14, 1, 1, 14, 1, 1, 1, 14, 1, 14, 1, 14, 14, 17, 17, 0, 0, 13, 13, 0, 0, 13, 13, 0, 0, 13, 13, 0, 0, 13, 0, 0, 0, 13, 0, 13, 0, 13, 13, 16, 16, 0, 0, 13, 13, 0, 1, 13, 13, 0, 0, 13, 13, 1, 0, 13, 0, 1, 0, 13, 1, 13, 1, 13, 13, 16, 16, 0, 0, 13, 13, 1, 1, 13, 13, 1, 1, 13, 13, 1, 1, 13, 1, 1, 1, 13, 1, 13, 1, 13, 13, 16, 16, 0, 0, 12, 12, 0, 0, 12, 12, 0, 0, 12, 12, 0, 0, 12, 0, 0, 0, 12, 0, 12, 0, 12, 12, 15, 15, 0, 0, 12, 12, 0, 1, 12, 12, 0, 0, 12, 12, 1, 0, 12, 0, 1, 0, 12, 1, 12, 1, 12, 12, 15, 15, 0, 0, 12, 12, 1, 1, 12, 12, 1, 1, 12, 12, 1, 1, 12, 1, 1, 1, 12, 1, 12, 1, 12, 12, 15, 15, 0, 0, 11, 11, 0, 0, 11, 11, 0, 0, 11, 11, 0, 0, 11, 0, 0, 0, 11, 0, 11, 0, 11, 11, 14, 14, 0, 0, 11, 11, 0, 1, 11, 11, 0, 0, 11, 11, 1, 0, 11, 0, 1, 0, 11, 1, 11, 1, 11, 11, 14, 14, 0, 0, 11, 11, 1, 1, 11, 11, 1, 1, 11, 11, 1, 1, 11, 1, 1, 1, 11, 1, 11, 1, 11, 11, 14, 14, 0, 0, 10, 10, 0, 0, 10, 10, 0, 0, 10, 10, 0, 0, 10, 0, 0, 0, 10, 0, 10, 0, 10, 10, 13, 13, 0, 0, 10, 10, 0, 1, 10, 10, 0, 0, 10, 10, 1, 0, 10, 0, 1, 0, 10, 1, 10, 1, 10, 10, 13, 13, 0, 0, 10, 10, 1, 1, 10, 10, 1, 1, 10, 10, 1, 1, 10, 1, 1, 1, 10, 1, 10, 1, 10, 10, 13, 13, 0, 0, 9, 9, 0, 0, 9, 9, 0, 0, 9, 9, 0, 0, 9, 0, 0, 0, 9, 0, 9, 0, 9, 9, 12, 12, 0, 0, 9, 9, 0, 1, 9, 9, 0, 0, 9, 9, 1, 0, 9, 0, 1, 0, 9, 1, 9, 1, 9, 9, 12, 12, 0, 0, 9, 9, 1, 1, 9, 9, 1, 1, 9, 9, 1, 1, 9, 1, 1, 1, 9, 1, 9, 1, 9, 9, 12, 12, 0, 0, 8, 8, 0, 0, 8, 8, 0, 0, 8, 8, 0, 0, 8, 0, 0, 0, 8, 0, 8, 0, 8, 8, 11, 11, 0, 0, 8, 8, 0, 1, 8, 8, 0, 0, 8, 8, 1, 0, 8, 0, 1, 0, 8, 1, 8, 1, 8, 8, 11, 11, 0, 0, 8, 8, 1, 1, 8, 8, 1, 1, 8, 8, 1, 1, 8, 1, 1, 1, 8, 1, 8, 1, 8, 8, 11, 11, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 0, 0, 0, 7, 0, 7, 0, 7, 7, 10, 10, 0, 0, 7, 7, 0, 1, 7, 7, 0, 0, 7, 7, 1, 0, 7, 0, 1, 0, 7, 1, 7, 1, 7, 7, 10, 10, 0, 0, 7, 7, 1, 1, 7, 7, 1, 1, 7, 7, 1, 1, 7, 1, 1, 1, 7, 1, 7, 1, 7, 7, 10, 10, 0, 0, 6, 6, 0, 0, 6, 6, 0, 0, 6, 6, 0, 0, 6, 0, 0, 0, 6, 0, 6, 0, 6, 6, 9, 9, 0, 0, 6, 6, 0, 1, 6, 6, 0, 0, 6, 6, 1, 0, 6, 0, 1, 0, 6, 1, 6, 1, 6, 6, 9, 9, 0, 0, 6, 6, 1, 1, 6, 6, 1, 1, 6, 6, 1, 1, 6, 1, 1, 1, 6, 1, 6, 1, 6, 6, 9, 9, 0, 0, 5, 5, 0, 0, 5, 5, 0, 0, 5, 5, 0, 0, 5, 0, 0, 0, 5, 0, 5, 0, 5, 5, 8, 8, 0, 0, 5, 5, 0, 1, 5, 5, 0, 0, 5, 5, 1, 0, 5, 0, 1, 0, 5, 1, 5, 1, 5, 5, 8, 8, 0, 0, 5, 5, 1, 1, 5, 5, 1, 1, 5, 5, 1, 1, 5, 1, 1, 1, 5, 1, 5, 1, 5, 5, 8, 8, 0, 0, 4, 4, 0, 0, 4, 4, 0, 0, 4, 4, 0, 0, 4, 0, 0, 0, 4, 0, 4, 0, 4, 4, 7, 7, 0, 0, 4, 4, 0, 1, 4, 4, 0, 0, 4, 4, 1, 0, 4, 0, 1, 0, 4, 1, 4, 1, 4, 4, 7, 7, 0, 0, 4, 4, 1, 1, 4, 4, 1, 1, 4, 4, 1, 1, 4, 1, 1, 1, 4, 1, 4, 1, 4, 4, 7, 7, 0, 0, 3, 3, 0, 0, 3, 3, 0, 0, 3, 3, 0, 0, 3, 0, 0, 0, 3, 0, 3, 0, 3, 3, 6, 6, 0, 0, 3, 3, 0, 1, 3, 3, 0, 0, 3, 3, 1, 0, 3, 0, 1, 0, 3, 1, 3, 1, 3, 3, 6, 6, 0, 0, 3, 3, 1, 1, 3, 3, 1, 1, 3, 3, 1, 1, 3, 1, 1, 1, 3, 1, 3, 1, 3, 3, 6, 6, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 0, 0, 0, 2, 0, 2, 0, 2, 2, 5, 5, 0, 0, 2, 2, 0, 1, 2, 2, 0, 0, 2, 2, 1, 0, 2, 0, 1, 0, 2, 1, 2, 1, 2, 2, 5, 5, 0, 0, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 5, 5, 0, 0, 3, 3, 1, 3, 3, 3, 1, 1, 2, 3, 3, 1, 2, 1, 3, 2, 3, 3, 3, 3, 2, 2, 5, 5, 0, 0, 2, 2, 0, 0, 2, 2, 1, 1, 2, 2, 0, 0, 2, 1, 1, 1, 2, 0, 2, 1, 2, 2, 5, 5, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 2, 2, 2, 0, 2, 0, 2, 1, 2, 2, 2, 2, 2, 2, 5, 5, 0, 0, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 5, 5, 0, 0, 3, 3, 2, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2, 2, 3, 2, 3, 3, 3, 3, 2, 2, 5, 5, 0, 0, 3, 3, 0, 0, 3, 3, 1, 1, 2, 3, 3, 0, 2, 1, 3, 2, 3, 3, 3, 3, 2, 2, 5, 5, 0, 0, 3, 3, 0, 3, 3, 3, 0, 0, 2, 3, 3, 0, 2, 0, 3, 2, 3, 3, 3, 3, 2, 2, 5, 5, 0, 0, 3, 3, 1, 2, 3, 3, 1, 1, 3, 3, 2, 1, 3, 1, 2, 1, 3, 2, 3, 2, 3, 3, 6, 6, 0, 0, 3, 3, 1, 1, 3, 3, 2, 2, 3, 3, 1, 1, 3, 2, 2, 2, 3, 1, 3, 2, 3, 3, 6, 6, 0, 0, 3, 3, 1, 3, 3, 3, 1, 1, 3, 3, 3, 1, 3, 1, 3, 2, 3, 3, 3, 3, 3, 3, 6, 6, 0, 0, 3, 3, 0, 0, 3, 3, 1, 1, 3, 3, 0, 0, 3, 1, 1, 1, 3, 0, 3, 1, 3, 3, 6, 6, 0, 0, 3, 3, 0, 2, 3, 3, 0, 0, 3, 3, 2, 0, 3, 0, 2, 1, 3, 2, 3, 2, 3, 3, 6, 6, 0, 0, 3, 3, 2, 2, 3, 3, 2, 2, 3, 3, 2, 2, 3, 2, 2, 2, 3, 2, 3, 2, 3, 3, 6, 6, 0, 0, 3, 3, 0, 0, 3, 3, 2, 2, 3, 3, 0, 0, 3, 2, 2, 2, 3, 0, 3, 2, 3, 3, 6, 6, 0, 0, 3, 3, 2, 3, 3, 3, 2, 2, 3, 3, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 6, 6, 0, 0, 3, 3, 0, 0, 3, 3, 1, 1, 3, 3, 3, 0, 3, 1, 3, 2, 3, 3, 3, 3, 3, 3, 6, 6, 0, 0, 3, 3, 0, 3, 3, 3, 0, 0, 3, 3, 3, 0, 3, 0, 3, 2, 3, 3, 3, 3, 3, 3, 6, 6, 0, 0, 4, 4, 1, 2, 4, 4, 1, 1, 4, 4, 2, 1, 4, 1, 2, 1, 4, 2, 4, 2, 4, 4, 7, 7, 0, 0, 4, 4, 1, 1, 4, 4, 2, 2, 4, 4, 1, 1, 4, 2, 2, 2, 4, 1, 4, 2, 4, 4, 7, 7, 0, 0, 4, 4, 1, 3, 4, 4, 1, 1, 4, 4, 3, 1, 4, 1, 3, 2, 4, 3, 4, 3, 4, 4, 7, 7, 0, 0, 4, 4, 0, 0, 4, 4, 1, 1, 4, 4, 0, 0, 4, 1, 1, 1, 4, 0, 4, 1, 4, 4, 7, 7, 0, 0, 4, 4, 0, 2, 4, 4, 0, 0, 4, 4, 2, 0, 4, 0, 2, 1, 4, 2, 4, 2, 4, 4, 7, 7, 0, 0, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 2, 4, 2, 4, 2, 4, 4, 7, 7, 0, 0, 4, 4, 0, 0, 4, 4, 2, 2, 4, 4, 0, 0, 4, 2, 2, 2, 4, 0, 4, 2, 4, 4, 7, 7, 0, 0, 4, 4, 2, 3, 4, 4, 2, 2, 4, 4, 3, 2, 4, 2, 3, 2, 4, 3, 4, 3, 4, 4, 7, 7, 0, 0, 4, 4, 0, 0, 4, 4, 1, 1, 4, 4, 3, 0, 4, 1, 3, 2, 4, 3, 4, 3, 4, 4, 7, 7, 0, 0, 4, 4, 0, 3, 4, 4, 0, 0, 4, 4, 3, 0, 4, 0, 3, 2, 4, 3, 4, 3, 4, 4, 7, 7, 0, 0, 5, 5, 1, 2, 5, 5, 1, 1, 5, 5, 2, 1, 5, 1, 2, 1, 5, 2, 5, 2, 5, 5, 8, 8, 0, 0, 5, 5, 1, 1, 5, 5, 2, 2, 5, 5, 1, 1, 5, 2, 2, 2, 5, 1, 5, 2, 5, 5, 8, 8, 0, 0, 5, 5, 1, 3, 5, 5, 1, 1, 5, 5, 3, 1, 5, 1, 3, 2, 5, 3, 5, 3, 5, 5, 8, 8, 0, 0, 5, 5, 0, 0, 5, 5, 1, 1, 5, 5, 0, 0, 5, 1, 1, 1, 5, 0, 5, 1, 5, 5, 8, 8, 0, 0, 5, 5, 0, 2, 5, 5, 0, 0, 5, 5, 2, 0, 5, 0, 2, 1, 5, 2, 5, 2, 5, 5, 8, 8, 0, 0, 5, 5, 2, 2, 5, 5, 2, 2, 5, 5, 2, 2, 5, 2, 2, 2, 5, 2, 5, 2, 5, 5, 8, 8, 0, 0, 5, 5, 0, 0, 5, 5, 2, 2, 5, 5, 0, 0, 5, 2, 2, 2, 5, 0, 5, 2, 5, 5, 8, 8, 0, 0, 5, 5, 2, 3, 5, 5, 2, 2, 5, 5, 3, 2, 5, 2, 3, 2, 5, 3, 5, 3, 5, 5, 8, 8, 0, 0, 5, 5, 0, 0, 5, 5, 1, 1, 5, 5, 3, 0, 5, 1, 3, 2, 5, 3, 5, 3, 5, 5, 8, 8, 0, 0, 5, 5, 0, 3, 5, 5, 0, 0, 5, 5, 3, 0, 5, 0, 3, 2, 5, 3, 5, 3, 5, 5, 8, 8, 0, 0, 6, 6, 1, 2, 6, 6, 1, 1, 6, 6, 2, 1, 6, 1, 2, 1, 6, 2, 6, 2, 6, 6, 9, 9, 0, 0, 6, 6, 1, 1, 6, 6, 2, 2, 6, 6, 1, 1, 6, 2, 2, 2, 6, 1, 6, 2, 6, 6, 9, 9, 0, 0, 6, 6, 1, 3, 6, 6, 1, 1, 6, 6, 3, 1, 6, 1, 3, 2, 6, 3, 6, 3, 6, 6, 9, 9, 0, 0, 6, 6, 0, 0, 6, 6, 1, 1, 6, 6, 0, 0, 6, 1, 1, 1, 6, 0, 6, 1, 6, 6, 9, 9, 0, 0, 6, 6, 0, 2, 6, 6, 0, 0, 6, 6, 2, 0, 6, 0, 2, 1, 6, 2, 6, 2, 6, 6, 9, 9, 0, 0, 6, 6, 2, 2, 6, 6, 2, 2, 6, 6, 2, 2, 6, 2, 2, 2, 6, 2, 6, 2, 6, 6, 9, 9, 0, 0, 6, 6, 0, 0, 6, 6, 2, 2, 6, 6, 0, 0, 6, 2, 2, 2, 6, 0, 6, 2, 6, 6, 9, 9, 0, 0, 6, 6, 2, 3, 6, 6, 2, 2, 6, 6, 3, 2, 6, 2, 3, 2, 6, 3, 6, 3, 6, 6, 9, 9, 0, 0, 6, 6, 0, 0, 6, 6, 1, 1, 6, 6, 3, 0, 6, 1, 3, 2, 6, 3, 6, 3, 6, 6, 9, 9, 0, 0, 6, 6, 0, 3, 6, 6, 0, 0, 6, 6, 3, 0, 6, 0, 3, 2, 6, 3, 6, 3, 6, 6, 9, 9, 0, 0, 7, 7, 1, 2, 7, 7, 1, 1, 7, 7, 2, 1, 7, 1, 2, 1, 7, 2, 7, 2, 7, 7, 10, 10, 0, 0, 7, 7, 1, 1, 7, 7, 2, 2, 7, 7, 1, 1, 7, 2, 2, 2, 7, 1, 7, 2, 7, 7, 10, 10, 0, 0, 7, 7, 1, 3, 7, 7, 1, 1, 7, 7, 3, 1, 7, 1, 3, 2, 7, 3, 7, 3, 7, 7, 10, 10, 0, 0, 7, 7, 0, 0, 7, 7, 1, 1, 7, 7, 0, 0, 7, 1, 1, 1, 7, 0, 7, 1, 7, 7, 10, 10, 0, 0, 7, 7, 0, 2, 7, 7, 0, 0, 7, 7, 2, 0, 7, 0, 2, 1, 7, 2, 7, 2, 7, 7, 10, 10, 0, 0, 7, 7, 2, 2, 7, 7, 2, 2, 7, 7, 2, 2, 7, 2, 2, 2, 7, 2, 7, 2, 7, 7, 10, 10, 0, 0, 7, 7, 0, 0, 7, 7, 2, 2, 7, 7, 0, 0, 7, 2, 2, 2, 7, 0, 7, 2, 7, 7, 10, 10, 0, 0, 7, 7, 2, 3, 7, 7, 2, 2, 7, 7, 3, 2, 7, 2, 3, 2, 7, 3, 7, 3, 7, 7, 10, 10, 0, 0, 7, 7, 0, 0, 7, 7, 1, 1, 7, 7, 3, 0, 7, 1, 3, 2, 7, 3, 7, 3, 7, 7, 10, 10, 0, 0, 7, 7, 0, 3, 7, 7, 0, 0, 7, 7, 3, 0, 7, 0, 3, 2, 7, 3, 7, 3, 7, 7, 10, 10, 0, 0, 8, 8, 1, 2, 8, 8, 1, 1, 8, 8, 2, 1, 8, 1, 2, 1, 8, 2, 8, 2, 8, 8, 11, 11, 0, 0, 8, 8, 1, 1, 8, 8, 2, 2, 8, 8, 1, 1, 8, 2, 2, 2, 8, 1, 8, 2, 8, 8, 11, 11, 0, 0, 8, 8, 1, 3, 8, 8, 1, 1, 8, 8, 3, 1, 8, 1, 3, 2, 8, 3, 8, 3, 8, 8, 11, 11, 0, 0, 8, 8, 0, 0, 8, 8, 1, 1, 8, 8, 0, 0, 8, 1, 1, 1, 8, 0, 8, 1, 8, 8, 11, 11, 0, 0, 8, 8, 0, 2, 8, 8, 0, 0, 8, 8, 2, 0, 8, 0, 2, 1, 8, 2, 8, 2, 8, 8, 11, 11, 0, 0, 8, 8, 2, 2, 8, 8, 2, 2, 8, 8, 2, 2, 8, 2, 2, 2, 8, 2, 8, 2, 8, 8, 11, 11, 0, 0, 8, 8, 0, 0, 8, 8, 2, 2, 8, 8, 0, 0, 8, 2, 2, 2, 8, 0, 8, 2, 8, 8, 11, 11, 0, 0, 8, 8, 2, 3, 8, 8, 2, 2, 8, 8, 3, 2, 8, 2, 3, 2, 8, 3, 8, 3, 8, 8, 11, 11, 0, 0, 8, 8, 0, 0, 8, 8, 1, 1, 8, 8, 3, 0, 8, 1, 3, 2, 8, 3, 8, 3, 8, 8, 11, 11, 0, 0, 8, 8, 0, 3, 8, 8, 0, 0, 8, 8, 3, 0, 8, 0, 3, 2, 8, 3, 8, 3, 8, 8, 11, 11, 0, 0, 9, 9, 1, 2, 9, 9, 1, 1, 9, 9, 2, 1, 9, 1, 2, 1, 9, 2, 9, 2, 9, 9, 12, 12, 0, 0, 9, 9, 1, 1, 9, 9, 2, 2, 9, 9, 1, 1, 9, 2, 2, 2, 9, 1, 9, 2, 9, 9, 12, 12, 0, 0, 9, 9, 1, 3, 9, 9, 1, 1, 9, 9, 3, 1, 9, 1, 3, 2, 9, 3, 9, 3, 9, 9, 12, 12, 0, 0, 9, 9, 0, 0, 9, 9, 1, 1, 9, 9, 0, 0, 9, 1, 1, 1, 9, 0, 9, 1, 9, 9, 12, 12, 0, 0, 9, 9, 0, 2, 9, 9, 0, 0, 9, 9, 2, 0, 9, 0, 2, 1, 9, 2, 9, 2, 9, 9, 12, 12, 0, 0, 9, 9, 2, 2, 9, 9, 2, 2, 9, 9, 2, 2, 9, 2, 2, 2, 9, 2, 9, 2, 9, 9, 12, 12, 0, 0, 9, 9, 0, 0, 9, 9, 2, 2, 9, 9, 0, 0, 9, 2, 2, 2, 9, 0, 9, 2, 9, 9, 12, 12, 0, 0, 9, 9, 2, 3, 9, 9, 2, 2, 9, 9, 3, 2, 9, 2, 3, 2, 9, 3, 9, 3, 9, 9, 12, 12, 0, 0, 9, 9, 0, 0, 9, 9, 1, 1, 9, 9, 3, 0, 9, 1, 3, 2, 9, 3, 9, 3, 9, 9, 12, 12, 0, 0, 9, 9, 0, 3, 9, 9, 0, 0, 9, 9, 3, 0, 9, 0, 3, 2, 9, 3, 9, 3, 9, 9, 12, 12, 0, 0, 10, 10, 1, 2, 10, 10, 1, 1, 10, 10, 2, 1, 10, 1, 2, 1, 10, 2, 10, 2, 10, 10, 13, 13, 0, 0, 10, 10, 1, 1, 10, 10, 2, 2, 10, 10, 1, 1, 10, 2, 2, 2, 10, 1, 10, 2, 10, 10, 13, 13, 0, 0, 10, 10, 1, 3, 10, 10, 1, 1, 10, 10, 3, 1, 10, 1, 3, 2, 10, 3, 10, 3, 10, 10, 13, 13, 0, 0, 10, 10, 0, 0, 10, 10, 1, 1, 10, 10, 0, 0, 10, 1, 1, 1, 10, 0, 10, 1, 10, 10, 13, 13, 0, 0, 10, 10, 0, 2, 10, 10, 0, 0, 10, 10, 2, 0, 10, 0, 2, 1, 10, 2, 10, 2, 10, 10, 13, 13, 0, 0, 10, 10, 2, 2, 10, 10, 2, 2, 10, 10, 2, 2, 10, 2, 2, 2, 10, 2, 10, 2, 10, 10, 13, 13, 0, 0, 10, 10, 0, 0, 10, 10, 2, 2, 10, 10, 0, 0, 10, 2, 2, 2, 10, 0, 10, 2, 10, 10, 13, 13, 0, 0, 10, 10, 2, 3, 10, 10, 2, 2, 10, 10, 3, 2, 10, 2, 3, 2, 10, 3, 10, 3, 10, 10, 13, 13, 0, 0, 10, 10, 0, 0, 10, 10, 1, 1, 10, 10, 3, 0, 10, 1, 3, 2, 10, 3, 10, 3, 10, 10, 13, 13, 0, 0, 10, 10, 0, 3, 10, 10, 0, 0, 10, 10, 3, 0, 10, 0, 3, 2, 10, 3, 10, 3, 10, 10, 13, 13, 0, 0, 11, 11, 1, 2, 11, 11, 1, 1, 11, 11, 2, 1, 11, 1, 2, 1, 11, 2, 11, 2, 11, 11, 14, 14, 0, 0, 11, 11, 1, 1, 11, 11, 2, 2, 11, 11, 1, 1, 11, 2, 2, 2, 11, 1, 11, 2, 11, 11, 14, 14, 0, 0, 11, 11, 1, 3, 11, 11, 1, 1, 11, 11, 3, 1, 11, 1, 3, 2, 11, 3, 11, 3, 11, 11, 14, 14, 0, 0, 11, 11, 0, 0, 11, 11, 1, 1, 11, 11, 0, 0, 11, 1, 1, 1, 11, 0, 11, 1, 11, 11, 14, 14, 0, 0, 11, 11, 0, 2, 11, 11, 0, 0, 11, 11, 2, 0, 11, 0, 2, 1, 11, 2, 11, 2, 11, 11, 14, 14, 0, 0, 11, 11, 2, 2, 11, 11, 2, 2, 11, 11, 2, 2, 11, 2, 2, 2, 11, 2, 11, 2, 11, 11, 14, 14, 0, 0, 11, 11, 0, 0, 11, 11, 2, 2, 11, 11, 0, 0, 11, 2, 2, 2, 11, 0, 11, 2, 11, 11, 14, 14, 0, 0, 11, 11, 2, 3, 11, 11, 2, 2, 11, 11, 3, 2, 11, 2, 3, 2, 11, 3, 11, 3, 11, 11, 14, 14, 0, 0, 11, 11, 0, 0, 11, 11, 1, 1, 11, 11, 3, 0, 11, 1, 3, 2, 11, 3, 11, 3, 11, 11, 14, 14, 0, 0, 11, 11, 0, 3, 11, 11, 0, 0, 11, 11, 3, 0, 11, 0, 3, 2, 11, 3, 11, 3, 11, 11, 14, 14, 0, 0, 12, 12, 1, 2, 12, 12, 1, 1, 12, 12, 2, 1, 12, 1, 2, 1, 12, 2, 12, 2, 12, 12, 15, 15, 0, 0, 12, 12, 1, 1, 12, 12, 2, 2, 12, 12, 1, 1, 12, 2, 2, 2, 12, 1, 12, 2, 12, 12, 15, 15, 0, 0, 12, 12, 1, 3, 12, 12, 1, 1, 12, 12, 3, 1, 12, 1, 3, 2, 12, 3, 12, 3, 12, 12, 15, 15, 0, 0, 12, 12, 0, 0, 12, 12, 1, 1, 12, 12, 0, 0, 12, 1, 1, 1, 12, 0, 12, 1, 12, 12, 15, 15, 0, 0, 12, 12, 0, 2, 12, 12, 0, 0, 12, 12, 2, 0, 12, 0, 2, 1, 12, 2, 12, 2, 12, 12, 15, 15, 0, 0, 12, 12, 2, 2, 12, 12, 2, 2, 12, 12, 2, 2, 12, 2, 2, 2, 12, 2, 12, 2, 12, 12, 15, 15, 0, 0, 12, 12, 0, 0, 12, 12, 2, 2, 12, 12, 0, 0, 12, 2, 2, 2, 12, 0, 12, 2, 12, 12, 15, 15, 0, 0, 12, 12, 2, 3, 12, 12, 2, 2, 12, 12, 3, 2, 12, 2, 3, 2, 12, 3, 12, 3, 12, 12, 15, 15, 0, 0, 12, 12, 0, 0, 12, 12, 1, 1, 12, 12, 3, 0, 12, 1, 3, 2, 12, 3, 12, 3, 12, 12, 15, 15, 0, 0, 12, 12, 0, 3, 12, 12, 0, 0, 12, 12, 3, 0, 12, 0, 3, 2, 12, 3, 12, 3, 12, 12, 15, 15, 0, 0, 13, 13, 1, 2, 13, 13, 1, 1, 13, 13, 2, 1, 13, 1, 2, 1, 13, 2, 13, 2, 13, 13, 16, 16, 0, 0, 13, 13, 1, 1, 13, 13, 2, 2, 13, 13, 1, 1, 13, 2, 2, 2, 13, 1, 13, 2, 13, 13, 16, 16, 0, 0, 13, 13, 1, 3, 13, 13, 1, 1, 13, 13, 3, 1, 13, 1, 3, 2, 13, 3, 13, 3, 13, 13, 16, 16, 0, 0, 13, 13, 0, 0, 13, 13, 1, 1, 13, 13, 0, 0, 13, 1, 1, 1, 13, 0, 13, 1, 13, 13, 16, 16, 0, 0, 13, 13, 0, 2, 13, 13, 0, 0, 13, 13, 2, 0, 13, 0, 2, 1, 13, 2, 13, 2, 13, 13, 16, 16, 0, 0, 13, 13, 2, 2, 13, 13, 2, 2, 13, 13, 2, 2, 13, 2, 2, 2, 13, 2, 13, 2, 13, 13, 16, 16, 0, 0, 13, 13, 0, 0, 13, 13, 2, 2, 13, 13, 0, 0, 13, 2, 2, 2, 13, 0, 13, 2, 13, 13, 16, 16, 0, 0, 13, 13, 2, 3, 13, 13, 2, 2, 13, 13, 3, 2, 13, 2, 3, 2, 13, 3, 13, 3, 13, 13, 16, 16, 0, 0, 13, 13, 0, 0, 13, 13, 1, 1, 13, 13, 3, 0, 13, 1, 3, 2, 13, 3, 13, 3, 13, 13, 16, 16, 0, 0, 13, 13, 0, 3, 13, 13, 0, 0, 13, 13, 3, 0, 13, 0, 3, 2, 13, 3, 13, 3, 13, 13, 16, 16, 0, 0, 14, 14, 1, 2, 14, 14, 1, 1, 14, 14, 2, 1, 14, 1, 2, 1, 14, 2, 14, 2, 14, 14, 17, 17, 0, 0, 14, 14, 1, 1, 14, 14, 2, 2, 14, 14, 1, 1, 14, 2, 2, 2, 14, 1, 14, 2, 14, 14, 17, 17, 0, 0, 14, 14, 1, 3, 14, 14, 1, 1, 14, 14, 3, 1, 14, 1, 3, 2, 14, 3, 14, 3, 14, 14, 17, 17, 0, 0, 14, 14, 0, 0, 14, 14, 1, 1, 14, 14, 0, 0, 14, 1, 1, 1, 14, 0, 14, 1, 14, 14, 17, 17, 0, 0, 14, 14, 0, 2, 14, 14, 0, 0, 14, 14, 2, 0, 14, 0, 2, 1, 14, 2, 14, 2, 14, 14, 17, 17, 0, 0, 14, 14, 2, 2, 14, 14, 2, 2, 14, 14, 2, 2, 14, 2, 2, 2, 14, 2, 14, 2, 14, 14, 17, 17, 0, 0, 14, 14, 0, 0, 14, 14, 2, 2, 14, 14, 0, 0, 14, 2, 2, 2, 14, 0, 14, 2, 14, 14, 17, 17, 0, 0, 14, 14, 2, 3, 14, 14, 2, 2, 14, 14, 3, 2, 14, 2, 3, 2, 14, 3, 14, 3, 14, 14, 17, 17, 0, 0, 14, 14, 0, 0, 14, 14, 1, 1, 14, 14, 3, 0, 14, 1, 3, 2, 14, 3, 14, 3, 14, 14, 17, 17, 0, 0, 14, 14, 0, 3, 14, 14, 0, 0, 14, 14, 3, 0, 14, 0, 3, 2, 14, 3, 14, 3, 14, 14, 17, 17, 0, 0, 15, 15, 1, 2, 15, 15, 1, 1, 15, 15, 2, 1, 15, 1, 2, 1, 15, 2, 15, 2, 15, 15, 18, 18, 0, 0, 15, 15, 1, 1, 15, 15, 2, 2, 15, 15, 1, 1, 15, 2, 2, 2, 15, 1, 15, 2, 15, 15, 18, 18, 0, 0, 15, 15, 1, 3, 15, 15, 1, 1, 15, 15, 3, 1, 15, 1, 3, 2, 15, 3, 15, 3, 15, 15, 18, 18, 0, 0, 15, 15, 0, 0, 15, 15, 1, 1, 15, 15, 0, 0, 15, 1, 1, 1, 15, 0, 15, 1, 15, 15, 18, 18, 0, 0, 15, 15, 0, 2, 15, 15, 0, 0, 15, 15, 2, 0, 15, 0, 2, 1, 15, 2, 15, 2, 15, 15, 18, 18, 0, 0, 15, 15, 2, 2, 15, 15, 2, 2, 15, 15, 2, 2, 15, 2, 2, 2, 15, 2, 15, 2, 15, 15, 18, 18, 0, 0, 15, 15, 0, 0, 15, 15, 2, 2, 15, 15, 0, 0, 15, 2, 2, 2, 15, 0, 15, 2, 15, 15, 18, 18, 0, 0, 15, 15, 2, 3, 15, 15, 2, 2, 15, 15, 3, 2, 15, 2, 3, 2, 15, 3, 15, 3, 15, 15, 18, 18, 0, 0, 15, 15, 0, 0, 15, 15, 1, 1, 15, 15, 3, 0, 15, 1, 3, 2, 15, 3, 15, 3, 15, 15, 18, 18, 0, 0, 15, 15, 0, 3, 15, 15, 0, 0, 15, 15, 3, 0, 15, 0, 3, 2, 15, 3, 15, 3, 15, 15, 18, 18, 0, 0, 16, 16, 1, 2, 16, 16, 1, 1, 16, 16, 2, 1, 16, 1, 2, 1, 16, 2, 16, 2, 16, 16, 19, 19, 0, 0, 16, 16, 1, 1, 16, 16, 2, 2, 16, 16, 1, 1, 16, 2, 2, 2, 16, 1, 16, 2, 16, 16, 19, 19, 0, 0, 16, 16, 1, 3, 16, 16, 1, 1, 16, 16, 3, 1, 16, 1, 3, 2, 16, 3, 16, 3, 16, 16, 19, 19, 0, 0, 34, 34, 1, 2, 34, 34, 1, 1, 34, 34, 2, 1, 34, 1, 2, 1, 34, 2, 34, 2, 34, 34, 37, 37, 0, 0, 33, 33, 0, 1, 33, 33, 0, 0, 33, 33, 1, 0, 33, 0, 1, 0, 33, 1, 33, 1, 33, 33, 36, 36, 0, 0, 33, 33, 1, 1, 33, 33, 1, 1, 33, 33, 1, 1, 33, 1, 1, 1, 33, 1, 33, 1, 33, 33, 36, 36, 0, 0, 32, 32, 0, 0, 32, 32, 0, 0, 32, 32, 0, 0, 32, 0, 0, 0, 32, 0, 32, 0, 32, 32, 35, 35, 0, 0, 32, 32, 0, 1, 32, 32, 0, 0, 32, 32, 1, 0, 32, 0, 1, 0, 32, 1, 32, 1, 32, 32, 35, 35, 0, 0, 32, 32, 1, 1, 32, 32, 1, 1, 32, 32, 1, 1, 32, 1, 1, 1, 32, 1, 32, 1, 32, 32, 35, 35, 0, 0, 31, 31, 0, 0, 31, 31, 0, 0, 31, 31, 0, 0, 31, 0, 0, 0, 31, 0, 31, 0, 31, 31, 34, 34, 0, 0, 31, 31, 0, 1, 31, 31, 0, 0, 31, 31, 1, 0, 31, 0, 1, 0, 31, 1, 31, 1, 31, 31, 34, 34, 0, 0, 31, 31, 1, 1, 31, 31, 1, 1, 31, 31, 1, 1, 31, 1, 1, 1, 31, 1, 31, 1, 31, 31, 34, 34, 0, 0, 30, 30, 0, 0, 30, 30, 0, 0, 30, 30, 0, 0, 30, 0, 0, 0, 30, 0, 30, 0, 30, 30, 33, 33, 0, 0, 30, 30, 0, 1, 30, 30, 0, 0, 30, 30, 1, 0, 30, 0, 1, 0, 30, 1, 30, 1, 30, 30, 33, 33, 0, 0, 30, 30, 1, 1, 30, 30, 1, 1, 30, 30, 1, 1, 30, 1, 1, 1, 30, 1, 30, 1, 30, 30, 33, 33, 0, 0, 29, 29, 0, 0, 29, 29, 0, 0, 29, 29, 0, 0, 29, 0, 0, 0, 29, 0, 29, 0, 29, 29, 32, 32, 0, 0, 29, 29, 0, 1, 29, 29, 0, 0, 29, 29, 1, 0, 29, 0, 1, 0, 29, 1, 29, 1, 29, 29, 32, 32, 0, 0, 29, 29, 1, 1, 29, 29, 1, 1, 29, 29, 1, 1, 29, 1, 1, 1, 29, 1, 29, 1, 29, 29, 32, 32, 0, 0, 28, 28, 0, 0, 28, 28, 0, 0, 28, 28, 0, 0, 28, 0, 0, 0, 28, 0, 28, 0, 28, 28, 31, 31, 0, 0, 28, 28, 0, 1, 28, 28, 0, 0, 28, 28, 1, 0, 28, 0, 1, 0, 28, 1, 28, 1, 28, 28, 31, 31, 0, 0, 28, 28, 1, 1, 28, 28, 1, 1, 28, 28, 1, 1, 28, 1, 1, 1, 28, 1, 28, 1, 28, 28, 31, 31, 0, 0, 27, 27, 0, 0, 27, 27, 0, 0, 27, 27, 0, 0, 27, 0, 0, 0, 27, 0, 27, 0, 27, 27, 30, 30, 0, 0, 27, 27, 0, 1, 27, 27, 0, 0, 27, 27, 1, 0, 27, 0, 1, 0, 27, 1, 27, 1, 27, 27, 30, 30, 0, 0, 27, 27, 1, 1, 27, 27, 1, 1, 27, 27, 1, 1, 27, 1, 1, 1, 27, 1, 27, 1, 27, 27, 30, 30, 0, 0, 26, 26, 0, 0, 26, 26, 0, 0, 26, 26, 0, 0, 26, 0, 0, 0, 26, 0, 26, 0, 26, 26, 29, 29, 0, 0, 26, 26, 0, 1, 26, 26, 0, 0, 26, 26, 1, 0, 26, 0, 1, 0, 26, 1, 26, 1, 26, 26, 29, 29, 0, 0, 26, 26, 1, 1, 26, 26, 1, 1, 26, 26, 1, 1, 26, 1, 1, 1, 26, 1, 26, 1, 26, 26, 29, 29, 0, 0, 25, 25, 0, 0, 25, 25, 0, 0, 25, 25, 0, 0, 25, 0, 0, 0, 25, 0, 25, 0, 25, 25, 28, 28, 0, 0, 25, 25, 0, 1, 25, 25, 0, 0, 25, 25, 1, 0, 25, 0, 1, 0, 25, 1, 25, 1, 25, 25, 28, 28, 0, 0, 25, 25, 1, 1, 25, 25, 1, 1, 25, 25, 1, 1, 25, 1, 1, 1, 25, 1, 25, 1, 25, 25, 28, 28, 0, 0, 24, 24, 0, 0, 24, 24, 0, 0, 24, 24, 0, 0, 24, 0, 0, 0, 24, 0, 24, 0, 24, 24, 27, 27, 0, 0, 24, 24, 0, 1, 24, 24, 0, 0, 24, 24, 1, 0, 24, 0, 1, 0, 24, 1, 24, 1, 24, 24, 27, 27, 0, 0, 24, 24, 1, 1, 24, 24, 1, 1, 24, 24, 1, 1, 24, 1, 1, 1, 24, 1, 24, 1, 24, 24, 27, 27, 0, 0, 23, 23, 0, 0, 23, 23, 0, 0, 23, 23, 0, 0, 23, 0, 0, 0, 23, 0, 23, 0, 23, 23, 26, 26, 0, 0, 23, 23, 0, 1, 23, 23, 0, 0, 23, 23, 1, 0, 23, 0, 1, 0, 23, 1, 23, 1, 23, 23, 26, 26, 0, 0, 23, 23, 1, 1, 23, 23, 1, 1, 23, 23, 1, 1, 23, 1, 1, 1, 23, 1, 23, 1, 23, 23, 26, 26, 0, 0, 22, 22, 0, 0, 22, 22, 0, 0, 22, 22, 0, 0, 22, 0, 0, 0, 22, 0, 22, 0, 22, 22, 25, 25, 0, 0, 22, 22, 0, 1, 22, 22, 0, 0, 22, 22, 1, 0, 22, 0, 1, 0, 22, 1, 22, 1, 22, 22, 25, 25, 0, 0, 22, 22, 1, 1, 22, 22, 1, 1, 22, 22, 1, 1, 22, 1, 1, 1, 22, 1, 22, 1, 22, 22, 25, 25, 0, 0, 21, 21, 0, 0, 21, 21, 0, 0, 21, 21, 0, 0, 21, 0, 0, 0, 21, 0, 21, 0, 21, 21, 24, 24, 0, 0, 21, 21, 0, 1, 21, 21, 0, 0, 21, 21, 1, 0, 21, 0, 1, 0, 21, 1, 21, 1, 21, 21, 24, 24, 0, 0, 21, 21, 1, 1, 21, 21, 1, 1, 21, 21, 1, 1, 21, 1, 1, 1, 21, 1, 21, 1, 21, 21, 24, 24, 0, 0, 20, 20, 0, 0, 20, 20, 0, 0, 20, 20, 0, 0, 20, 0, 0, 0, 20, 0, 20, 0, 20, 20, 23, 23, 0, 0, 20, 20, 0, 1, 20, 20, 0, 0, 20, 20, 1, 0, 20, 0, 1, 0, 20, 1, 20, 1, 20, 20, 23, 23, 0, 0, 20, 20, 1, 1, 20, 20, 1, 1, 20, 20, 1, 1, 20, 1, 1, 1, 20, 1, 20, 1, 20, 20, 23, 23, 0, 0, 19, 19, 0, 0, 19, 19, 0, 0, 19, 19, 0, 0, 19, 0, 0, 0, 19, 0, 19, 0, 19, 19, 22, 22, 0, 0, 19, 19, 0, 1, 19, 19, 0, 0, 19, 19, 1, 0, 19, 0, 1, 0, 19, 1, 19, 1, 19, 19, 22, 22, 0, 0, 19, 19, 1, 1, 19, 19, 1, 1, 19, 19, 1, 1, 19, 1, 1, 1, 19, 1, 19, 1, 19, 19, 22, 22, 0, 0, 18, 18, 0, 0, 18, 18, 0, 0, 18, 18, 0, 0, 18, 0, 0, 0, 18, 0, 18, 0, 18, 18, 21, 21, 0, 0, 18, 18, 0, 1, 18, 18, 0, 0, 18, 18, 1, 0, 18, 0, 1, 0, 18, 1, 18, 1, 18, 18, 21, 21, 0, 0, 18, 18, 1, 1, 18, 18, 1, 1, 18, 18, 1, 1, 18, 1, 1, 1, 18, 1, 18, 1, 18, 18, 21, 21, 0, 0, 17, 17, 0, 0, 17, 17, 0, 0, 17, 17, 0, 0, 17, 0, 0, 0, 17, 0, 17, 0, 17, 17, 20, 20, 0, 0, 17, 17, 0, 1, 17, 17, 0, 0, 17, 17, 1, 0, 17, 0, 1, 0, 17, 1, 17, 1, 17, 17, 20, 20, 0, 0, 17, 17, 1, 1, 17, 17, 1, 1, 17, 17, 1, 1, 17, 1, 1, 1, 17, 1, 17, 1, 17, 17, 20, 20, 0, 0, 16, 16, 0, 0, 16, 16, 0, 0, 16, 16, 0, 0, 16, 0, 0, 0, 16, 0, 16, 0, 16, 16, 19, 19, 0, 0, 16, 16, 0, 0, 16, 16, 1, 1, 16, 16, 0, 0, 16, 1, 1, 1, 16, 0, 16, 1, 16, 16, 19, 19, 0, 0, 16, 16, 0, 2, 16, 16, 0, 0, 16, 16, 2, 0, 16, 0, 2, 1, 16, 2, 16, 2, 16, 16, 19, 19, 0, 0, 16, 16, 2, 2, 16, 16, 2, 2, 16, 16, 2, 2, 16, 2, 2, 2, 16, 2, 16, 2, 16, 16, 19, 19, 0, 0, 16, 16, 0, 0, 16, 16, 2, 2, 16, 16, 0, 0, 16, 2, 2, 2, 16, 0, 16, 2, 16, 16, 19, 19, 0, 0, 16, 16, 2, 3, 16, 16, 2, 2, 16, 16, 3, 2, 16, 2, 3, 2, 16, 3, 16, 3, 16, 16, 19, 19, 0, 0, 16, 16, 0, 0, 16, 16, 1, 1, 16, 16, 3, 0, 16, 1, 3, 2, 16, 3, 16, 3, 16, 16, 19, 19, 0, 0, 16, 16, 0, 3, 16, 16, 0, 0, 16, 16, 3, 0, 16, 0, 3, 2, 16, 3, 16, 3, 16, 16, 19, 19, 0, 0, 17, 17, 1, 1, 17, 17, 2, 2, 17, 17, 1, 1, 17, 2, 2, 2, 17, 1, 17, 2, 17, 17, 20, 20, 0, 0, 17, 17, 1, 3, 17, 17, 1, 1, 17, 17, 3, 1, 17, 1, 3, 2, 17, 3, 17, 3, 17, 17, 20, 20, 0, 0, 17, 17, 0, 0, 17, 17, 1, 1, 17, 17, 0, 0, 17, 1, 1, 1, 17, 0, 17, 1, 17, 17, 20, 20, 0, 0, 17, 17, 0, 2, 17, 17, 0, 0, 17, 17, 2, 0, 17, 0, 2, 1, 17, 2, 17, 2, 17, 17, 20, 20, 0, 0, 17, 17, 2, 2, 17, 17, 2, 2, 17, 17, 2, 2, 17, 2, 2, 2, 17, 2, 17, 2, 17, 17, 20, 20, 0, 0, 17, 17, 0, 0, 17, 17, 2, 2, 17, 17, 0, 0, 17, 2, 2, 2, 17, 0, 17, 2, 17, 17, 20, 20, 0, 0, 17, 17, 2, 3, 17, 17, 2, 2, 17, 17, 3, 2, 17, 2, 3, 2, 17, 3, 17, 3, 17, 17, 20, 20, 0, 0, 17, 17, 0, 0, 17, 17, 1, 1, 17, 17, 3, 0, 17, 1, 3, 2, 17, 3, 17, 3, 17, 17, 20, 20, 0, 0, 17, 17, 0, 3, 17, 17, 0, 0, 17, 17, 3, 0, 17, 0, 3, 2, 17, 3, 17, 3, 17, 17, 20, 20, 0, 0, 18, 18, 1, 2, 18, 18, 1, 1, 18, 18, 2, 1, 18, 1, 2, 1, 18, 2, 18, 2, 18, 18, 21, 21, 0, 0, 18, 18, 1, 1, 18, 18, 2, 2, 18, 18, 1, 1, 18, 2, 2, 2, 18, 1, 18, 2, 18, 18, 21, 21, 0, 0, 18, 18, 1, 3, 18, 18, 1, 1, 18, 18, 3, 1, 18, 1, 3, 2, 18, 3, 18, 3, 18, 18, 21, 21, 0, 0, 18, 18, 0, 0, 18, 18, 1, 1, 18, 18, 0, 0, 18, 1, 1, 1, 18, 0, 18, 1, 18, 18, 21, 21, 0, 0, 18, 18, 0, 2, 18, 18, 0, 0, 18, 18, 2, 0, 18, 0, 2, 1, 18, 2, 18, 2, 18, 18, 21, 21, 0, 0, 18, 18, 2, 2, 18, 18, 2, 2, 18, 18, 2, 2, 18, 2, 2, 2, 18, 2, 18, 2, 18, 18, 21, 21, 0, 0, 18, 18, 0, 0, 18, 18, 2, 2, 18, 18, 0, 0, 18, 2, 2, 2, 18, 0, 18, 2, 18, 18, 21, 21, 0, 0, 18, 18, 2, 3, 18, 18, 2, 2, 18, 18, 3, 2, 18, 2, 3, 2, 18, 3, 18, 3, 18, 18, 21, 21, 0, 0, 18, 18, 0, 0, 18, 18, 1, 1, 18, 18, 3, 0, 18, 1, 3, 2, 18, 3, 18, 3, 18, 18, 21, 21, 0, 0, 18, 18, 0, 3, 18, 18, 0, 0, 18, 18, 3, 0, 18, 0, 3, 2, 18, 3, 18, 3, 18, 18, 21, 21, 0, 0, 19, 19, 1, 2, 19, 19, 1, 1, 19, 19, 2, 1, 19, 1, 2, 1, 19, 2, 19, 2, 19, 19, 22, 22, 0, 0, 19, 19, 1, 1, 19, 19, 2, 2, 19, 19, 1, 1, 19, 2, 2, 2, 19, 1, 19, 2, 19, 19, 22, 22, 0, 0, 19, 19, 1, 3, 19, 19, 1, 1, 19, 19, 3, 1, 19, 1, 3, 2, 19, 3, 19, 3, 19, 19, 22, 22, 0, 0, 19, 19, 0, 0, 19, 19, 1, 1, 19, 19, 0, 0, 19, 1, 1, 1, 19, 0, 19, 1, 19, 19, 22, 22, 0, 0, 19, 19, 0, 2, 19, 19, 0, 0, 19, 19, 2, 0, 19, 0, 2, 1, 19, 2, 19, 2, 19, 19, 22, 22, 0, 0, 19, 19, 2, 2, 19, 19, 2, 2, 19, 19, 2, 2, 19, 2, 2, 2, 19, 2, 19, 2, 19, 19, 22, 22, 0, 0, 19, 19, 0, 0, 19, 19, 2, 2, 19, 19, 0, 0, 19, 2, 2, 2, 19, 0, 19, 2, 19, 19, 22, 22, 0, 0, 19, 19, 2, 3, 19, 19, 2, 2, 19, 19, 3, 2, 19, 2, 3, 2, 19, 3, 19, 3, 19, 19, 22, 22, 0, 0, 19, 19, 0, 0, 19, 19, 1, 1, 19, 19, 3, 0, 19, 1, 3, 2, 19, 3, 19, 3, 19, 19, 22, 22, 0, 0, 19, 19, 0, 3, 19, 19, 0, 0, 19, 19, 3, 0, 19, 0, 3, 2, 19, 3, 19, 3, 19, 19, 22, 22, 0, 0, 20, 20, 1, 2, 20, 20, 1, 1, 20, 20, 2, 1, 20, 1, 2, 1, 20, 2, 20, 2, 20, 20, 23, 23, 0, 0, 20, 20, 1, 1, 20, 20, 2, 2, 20, 20, 1, 1, 20, 2, 2, 2, 20, 1, 20, 2, 20, 20, 23, 23, 0, 0, 20, 20, 1, 3, 20, 20, 1, 1, 20, 20, 3, 1, 20, 1, 3, 2, 20, 3, 20, 3, 20, 20, 23, 23, 0, 0, 20, 20, 0, 0, 20, 20, 1, 1, 20, 20, 0, 0, 20, 1, 1, 1, 20, 0, 20, 1, 20, 20, 23, 23, 0, 0, 20, 20, 0, 2, 20, 20, 0, 0, 20, 20, 2, 0, 20, 0, 2, 1, 20, 2, 20, 2, 20, 20, 23, 23, 0, 0, 20, 20, 2, 2, 20, 20, 2, 2, 20, 20, 2, 2, 20, 2, 2, 2, 20, 2, 20, 2, 20, 20, 23, 23, 0, 0, 20, 20, 0, 0, 20, 20, 2, 2, 20, 20, 0, 0, 20, 2, 2, 2, 20, 0, 20, 2, 20, 20, 23, 23, 0, 0, 20, 20, 2, 3, 20, 20, 2, 2, 20, 20, 3, 2, 20, 2, 3, 2, 20, 3, 20, 3, 20, 20, 23, 23, 0, 0, 20, 20, 0, 0, 20, 20, 1, 1, 20, 20, 3, 0, 20, 1, 3, 2, 20, 3, 20, 3, 20, 20, 23, 23, 0, 0, 20, 20, 0, 3, 20, 20, 0, 0, 20, 20, 3, 0, 20, 0, 3, 2, 20, 3, 20, 3, 20, 20, 23, 23, 0, 0, 21, 21, 1, 2, 21, 21, 1, 1, 21, 21, 2, 1, 21, 1, 2, 1, 21, 2, 21, 2, 21, 21, 24, 24, 0, 0, 21, 21, 1, 1, 21, 21, 2, 2, 21, 21, 1, 1, 21, 2, 2, 2, 21, 1, 21, 2, 21, 21, 24, 24, 0, 0, 21, 21, 1, 3, 21, 21, 1, 1, 21, 21, 3, 1, 21, 1, 3, 2, 21, 3, 21, 3, 21, 21, 24, 24, 0, 0, 21, 21, 0, 0, 21, 21, 1, 1, 21, 21, 0, 0, 21, 1, 1, 1, 21, 0, 21, 1, 21, 21, 24, 24, 0, 0, 21, 21, 0, 2, 21, 21, 0, 0, 21, 21, 2, 0, 21, 0, 2, 1, 21, 2, 21, 2, 21, 21, 24, 24, 0, 0, 21, 21, 2, 2, 21, 21, 2, 2, 21, 21, 2, 2, 21, 2, 2, 2, 21, 2, 21, 2, 21, 21, 24, 24, 0, 0, 21, 21, 0, 0, 21, 21, 2, 2, 21, 21, 0, 0, 21, 2, 2, 2, 21, 0, 21, 2, 21, 21, 24, 24, 0, 0, 21, 21, 2, 3, 21, 21, 2, 2, 21, 21, 3, 2, 21, 2, 3, 2, 21, 3, 21, 3, 21, 21, 24, 24, 0, 0, 21, 21, 0, 0, 21, 21, 1, 1, 21, 21, 3, 0, 21, 1, 3, 2, 21, 3, 21, 3, 21, 21, 24, 24, 0, 0, 21, 21, 0, 3, 21, 21, 0, 0, 21, 21, 3, 0, 21, 0, 3, 2, 21, 3, 21, 3, 21, 21, 24, 24, 0, 0, 22, 22, 1, 2, 22, 22, 1, 1, 22, 22, 2, 1, 22, 1, 2, 1, 22, 2, 22, 2, 22, 22, 25, 25, 0, 0, 22, 22, 1, 1, 22, 22, 2, 2, 22, 22, 1, 1, 22, 2, 2, 2, 22, 1, 22, 2, 22, 22, 25, 25, 0, 0, 22, 22, 1, 3, 22, 22, 1, 1, 22, 22, 3, 1, 22, 1, 3, 2, 22, 3, 22, 3, 22, 22, 25, 25, 0, 0, 22, 22, 0, 0, 22, 22, 1, 1, 22, 22, 0, 0, 22, 1, 1, 1, 22, 0, 22, 1, 22, 22, 25, 25, 0, 0, 22, 22, 0, 2, 22, 22, 0, 0, 22, 22, 2, 0, 22, 0, 2, 1, 22, 2, 22, 2, 22, 22, 25, 25, 0, 0, 22, 22, 2, 2, 22, 22, 2, 2, 22, 22, 2, 2, 22, 2, 2, 2, 22, 2, 22, 2, 22, 22, 25, 25, 0, 0, 22, 22, 0, 0, 22, 22, 2, 2, 22, 22, 0, 0, 22, 2, 2, 2, 22, 0, 22, 2, 22, 22, 25, 25, 0, 0, 22, 22, 2, 3, 22, 22, 2, 2, 22, 22, 3, 2, 22, 2, 3, 2, 22, 3, 22, 3, 22, 22, 25, 25, 0, 0, 22, 22, 0, 0, 22, 22, 1, 1, 22, 22, 3, 0, 22, 1, 3, 2, 22, 3, 22, 3, 22, 22, 25, 25, 0, 0, 22, 22, 0, 3, 22, 22, 0, 0, 22, 22, 3, 0, 22, 0, 3, 2, 22, 3, 22, 3, 22, 22, 25, 25, 0, 0, 23, 23, 1, 2, 23, 23, 1, 1, 23, 23, 2, 1, 23, 1, 2, 1, 23, 2, 23, 2, 23, 23, 26, 26, 0, 0, 23, 23, 1, 1, 23, 23, 2, 2, 23, 23, 1, 1, 23, 2, 2, 2, 23, 1, 23, 2, 23, 23, 26, 26, 0, 0, 23, 23, 1, 3, 23, 23, 1, 1, 23, 23, 3, 1, 23, 1, 3, 2, 23, 3, 23, 3, 23, 23, 26, 26, 0, 0, 23, 23, 0, 0, 23, 23, 1, 1, 23, 23, 0, 0, 23, 1, 1, 1, 23, 0, 23, 1, 23, 23, 26, 26, 0, 0, 23, 23, 0, 2, 23, 23, 0, 0, 23, 23, 2, 0, 23, 0, 2, 1, 23, 2, 23, 2, 23, 23, 26, 26, 0, 0, 23, 23, 2, 2, 23, 23, 2, 2, 23, 23, 2, 2, 23, 2, 2, 2, 23, 2, 23, 2, 23, 23, 26, 26, 0, 0, 23, 23, 0, 0, 23, 23, 2, 2, 23, 23, 0, 0, 23, 2, 2, 2, 23, 0, 23, 2, 23, 23, 26, 26, 0, 0, 23, 23, 2, 3, 23, 23, 2, 2, 23, 23, 3, 2, 23, 2, 3, 2, 23, 3, 23, 3, 23, 23, 26, 26, 0, 0, 23, 23, 0, 0, 23, 23, 1, 1, 23, 23, 3, 0, 23, 1, 3, 2, 23, 3, 23, 3, 23, 23, 26, 26, 0, 0, 23, 23, 0, 3, 23, 23, 0, 0, 23, 23, 3, 0, 23, 0, 3, 2, 23, 3, 23, 3, 23, 23, 26, 26, 0, 0, 24, 24, 1, 2, 24, 24, 1, 1, 24, 24, 2, 1, 24, 1, 2, 1, 24, 2, 24, 2, 24, 24, 27, 27, 0, 0, 24, 24, 1, 1, 24, 24, 2, 2, 24, 24, 1, 1, 24, 2, 2, 2, 24, 1, 24, 2, 24, 24, 27, 27, 0, 0, 24, 24, 1, 3, 24, 24, 1, 1, 24, 24, 3, 1, 24, 1, 3, 2, 24, 3, 24, 3, 24, 24, 27, 27, 0, 0, 24, 24, 0, 0, 24, 24, 1, 1, 24, 24, 0, 0, 24, 1, 1, 1, 24, 0, 24, 1, 24, 24, 27, 27, 0, 0, 24, 24, 0, 2, 24, 24, 0, 0, 24, 24, 2, 0, 24, 0, 2, 1, 24, 2, 24, 2, 24, 24, 27, 27, 0, 0, 24, 24, 2, 2, 24, 24, 2, 2, 24, 24, 2, 2, 24, 2, 2, 2, 24, 2, 24, 2, 24, 24, 27, 27, 0, 0, 24, 24, 0, 0, 24, 24, 2, 2, 24, 24, 0, 0, 24, 2, 2, 2, 24, 0, 24, 2, 24, 24, 27, 27, 0, 0, 24, 24, 2, 3, 24, 24, 2, 2, 24, 24, 3, 2, 24, 2, 3, 2, 24, 3, 24, 3, 24, 24, 27, 27, 0, 0, 24, 24, 0, 0, 24, 24, 1, 1, 24, 24, 3, 0, 24, 1, 3, 2, 24, 3, 24, 3, 24, 24, 27, 27, 0, 0, 24, 24, 0, 3, 24, 24, 0, 0, 24, 24, 3, 0, 24, 0, 3, 2, 24, 3, 24, 3, 24, 24, 27, 27, 0, 0, 25, 25, 1, 2, 25, 25, 1, 1, 25, 25, 2, 1, 25, 1, 2, 1, 25, 2, 25, 2, 25, 25, 28, 28, 0, 0, 25, 25, 1, 1, 25, 25, 2, 2, 25, 25, 1, 1, 25, 2, 2, 2, 25, 1, 25, 2, 25, 25, 28, 28, 0, 0, 25, 25, 1, 3, 25, 25, 1, 1, 25, 25, 3, 1, 25, 1, 3, 2, 25, 3, 25, 3, 25, 25, 28, 28, 0, 0, 25, 25, 0, 0, 25, 25, 1, 1, 25, 25, 0, 0, 25, 1, 1, 1, 25, 0, 25, 1, 25, 25, 28, 28, 0, 0, 25, 25, 0, 2, 25, 25, 0, 0, 25, 25, 2, 0, 25, 0, 2, 1, 25, 2, 25, 2, 25, 25, 28, 28, 0, 0, 25, 25, 2, 2, 25, 25, 2, 2, 25, 25, 2, 2, 25, 2, 2, 2, 25, 2, 25, 2, 25, 25, 28, 28, 0, 0, 25, 25, 0, 0, 25, 25, 2, 2, 25, 25, 0, 0, 25, 2, 2, 2, 25, 0, 25, 2, 25, 25, 28, 28, 0, 0, 25, 25, 2, 3, 25, 25, 2, 2, 25, 25, 3, 2, 25, 2, 3, 2, 25, 3, 25, 3, 25, 25, 28, 28, 0, 0, 25, 25, 0, 0, 25, 25, 1, 1, 25, 25, 3, 0, 25, 1, 3, 2, 25, 3, 25, 3, 25, 25, 28, 28, 0, 0, 25, 25, 0, 3, 25, 25, 0, 0, 25, 25, 3, 0, 25, 0, 3, 2, 25, 3, 25, 3, 25, 25, 28, 28, 0, 0, 26, 26, 1, 2, 26, 26, 1, 1, 26, 26, 2, 1, 26, 1, 2, 1, 26, 2, 26, 2, 26, 26, 29, 29, 0, 0, 26, 26, 1, 1, 26, 26, 2, 2, 26, 26, 1, 1, 26, 2, 2, 2, 26, 1, 26, 2, 26, 26, 29, 29, 0, 0, 26, 26, 1, 3, 26, 26, 1, 1, 26, 26, 3, 1, 26, 1, 3, 2, 26, 3, 26, 3, 26, 26, 29, 29, 0, 0, 26, 26, 0, 0, 26, 26, 1, 1, 26, 26, 0, 0, 26, 1, 1, 1, 26, 0, 26, 1, 26, 26, 29, 29, 0, 0, 26, 26, 0, 2, 26, 26, 0, 0, 26, 26, 2, 0, 26, 0, 2, 1, 26, 2, 26, 2, 26, 26, 29, 29, 0, 0, 26, 26, 2, 2, 26, 26, 2, 2, 26, 26, 2, 2, 26, 2, 2, 2, 26, 2, 26, 2, 26, 26, 29, 29, 0, 0, 26, 26, 0, 0, 26, 26, 2, 2, 26, 26, 0, 0, 26, 2, 2, 2, 26, 0, 26, 2, 26, 26, 29, 29, 0, 0, 26, 26, 2, 3, 26, 26, 2, 2, 26, 26, 3, 2, 26, 2, 3, 2, 26, 3, 26, 3, 26, 26, 29, 29, 0, 0, 26, 26, 0, 0, 26, 26, 1, 1, 26, 26, 3, 0, 26, 1, 3, 2, 26, 3, 26, 3, 26, 26, 29, 29, 0, 0, 26, 26, 0, 3, 26, 26, 0, 0, 26, 26, 3, 0, 26, 0, 3, 2, 26, 3, 26, 3, 26, 26, 29, 29, 0, 0, 27, 27, 1, 2, 27, 27, 1, 1, 27, 27, 2, 1, 27, 1, 2, 1, 27, 2, 27, 2, 27, 27, 30, 30, 0, 0, 27, 27, 1, 1, 27, 27, 2, 2, 27, 27, 1, 1, 27, 2, 2, 2, 27, 1, 27, 2, 27, 27, 30, 30, 0, 0, 27, 27, 1, 3, 27, 27, 1, 1, 27, 27, 3, 1, 27, 1, 3, 2, 27, 3, 27, 3, 27, 27, 30, 30, 0, 0, 27, 27, 0, 0, 27, 27, 1, 1, 27, 27, 0, 0, 27, 1, 1, 1, 27, 0, 27, 1, 27, 27, 30, 30, 0, 0, 27, 27, 0, 2, 27, 27, 0, 0, 27, 27, 2, 0, 27, 0, 2, 1, 27, 2, 27, 2, 27, 27, 30, 30, 0, 0, 27, 27, 2, 2, 27, 27, 2, 2, 27, 27, 2, 2, 27, 2, 2, 2, 27, 2, 27, 2, 27, 27, 30, 30, 0, 0, 27, 27, 0, 0, 27, 27, 2, 2, 27, 27, 0, 0, 27, 2, 2, 2, 27, 0, 27, 2, 27, 27, 30, 30, 0, 0, 27, 27, 2, 3, 27, 27, 2, 2, 27, 27, 3, 2, 27, 2, 3, 2, 27, 3, 27, 3, 27, 27, 30, 30, 0, 0, 27, 27, 0, 0, 27, 27, 1, 1, 27, 27, 3, 0, 27, 1, 3, 2, 27, 3, 27, 3, 27, 27, 30, 30, 0, 0, 27, 27, 0, 3, 27, 27, 0, 0, 27, 27, 3, 0, 27, 0, 3, 2, 27, 3, 27, 3, 27, 27, 30, 30, 0, 0, 28, 28, 1, 2, 28, 28, 1, 1, 28, 28, 2, 1, 28, 1, 2, 1, 28, 2, 28, 2, 28, 28, 31, 31, 0, 0, 28, 28, 1, 1, 28, 28, 2, 2, 28, 28, 1, 1, 28, 2, 2, 2, 28, 1, 28, 2, 28, 28, 31, 31, 0, 0, 28, 28, 1, 3, 28, 28, 1, 1, 28, 28, 3, 1, 28, 1, 3, 2, 28, 3, 28, 3, 28, 28, 31, 31, 0, 0, 28, 28, 0, 0, 28, 28, 1, 1, 28, 28, 0, 0, 28, 1, 1, 1, 28, 0, 28, 1, 28, 28, 31, 31, 0, 0, 28, 28, 0, 2, 28, 28, 0, 0, 28, 28, 2, 0, 28, 0, 2, 1, 28, 2, 28, 2, 28, 28, 31, 31, 0, 0, 28, 28, 2, 2, 28, 28, 2, 2, 28, 28, 2, 2, 28, 2, 2, 2, 28, 2, 28, 2, 28, 28, 31, 31, 0, 0, 28, 28, 0, 0, 28, 28, 2, 2, 28, 28, 0, 0, 28, 2, 2, 2, 28, 0, 28, 2, 28, 28, 31, 31, 0, 0, 28, 28, 2, 3, 28, 28, 2, 2, 28, 28, 3, 2, 28, 2, 3, 2, 28, 3, 28, 3, 28, 28, 31, 31, 0, 0, 28, 28, 0, 0, 28, 28, 1, 1, 28, 28, 3, 0, 28, 1, 3, 2, 28, 3, 28, 3, 28, 28, 31, 31, 0, 0, 28, 28, 0, 3, 28, 28, 0, 0, 28, 28, 3, 0, 28, 0, 3, 2, 28, 3, 28, 3, 28, 28, 31, 31, 0, 0, 29, 29, 1, 2, 29, 29, 1, 1, 29, 29, 2, 1, 29, 1, 2, 1, 29, 2, 29, 2, 29, 29, 32, 32, 0, 0, 29, 29, 1, 1, 29, 29, 2, 2, 29, 29, 1, 1, 29, 2, 2, 2, 29, 1, 29, 2, 29, 29, 32, 32, 0, 0, 29, 29, 1, 3, 29, 29, 1, 1, 29, 29, 3, 1, 29, 1, 3, 2, 29, 3, 29, 3, 29, 29, 32, 32, 0, 0, 29, 29, 0, 0, 29, 29, 1, 1, 29, 29, 0, 0, 29, 1, 1, 1, 29, 0, 29, 1, 29, 29, 32, 32, 0, 0, 29, 29, 0, 2, 29, 29, 0, 0, 29, 29, 2, 0, 29, 0, 2, 1, 29, 2, 29, 2, 29, 29, 32, 32, 0, 0, 29, 29, 2, 2, 29, 29, 2, 2, 29, 29, 2, 2, 29, 2, 2, 2, 29, 2, 29, 2, 29, 29, 32, 32, 0, 0, 29, 29, 0, 0, 29, 29, 2, 2, 29, 29, 0, 0, 29, 2, 2, 2, 29, 0, 29, 2, 29, 29, 32, 32, 0, 0, 29, 29, 2, 3, 29, 29, 2, 2, 29, 29, 3, 2, 29, 2, 3, 2, 29, 3, 29, 3, 29, 29, 32, 32, 0, 0, 29, 29, 0, 0, 29, 29, 1, 1, 29, 29, 3, 0, 29, 1, 3, 2, 29, 3, 29, 3, 29, 29, 32, 32, 0, 0, 29, 29, 0, 3, 29, 29, 0, 0, 29, 29, 3, 0, 29, 0, 3, 2, 29, 3, 29, 3, 29, 29, 32, 32, 0, 0, 30, 30, 1, 2, 30, 30, 1, 1, 30, 30, 2, 1, 30, 1, 2, 1, 30, 2, 30, 2, 30, 30, 33, 33, 0, 0, 30, 30, 1, 1, 30, 30, 2, 2, 30, 30, 1, 1, 30, 2, 2, 2, 30, 1, 30, 2, 30, 30, 33, 33, 0, 0, 30, 30, 1, 3, 30, 30, 1, 1, 30, 30, 3, 1, 30, 1, 3, 2, 30, 3, 30, 3, 30, 30, 33, 33, 0, 0, 30, 30, 0, 0, 30, 30, 1, 1, 30, 30, 0, 0, 30, 1, 1, 1, 30, 0, 30, 1, 30, 30, 33, 33, 0, 0, 30, 30, 0, 2, 30, 30, 0, 0, 30, 30, 2, 0, 30, 0, 2, 1, 30, 2, 30, 2, 30, 30, 33, 33, 0, 0, 30, 30, 2, 2, 30, 30, 2, 2, 30, 30, 2, 2, 30, 2, 2, 2, 30, 2, 30, 2, 30, 30, 33, 33, 0, 0, 30, 30, 0, 0, 30, 30, 2, 2, 30, 30, 0, 0, 30, 2, 2, 2, 30, 0, 30, 2, 30, 30, 33, 33, 0, 0, 30, 30, 2, 3, 30, 30, 2, 2, 30, 30, 3, 2, 30, 2, 3, 2, 30, 3, 30, 3, 30, 30, 33, 33, 0, 0, 30, 30, 0, 0, 30, 30, 1, 1, 30, 30, 3, 0, 30, 1, 3, 2, 30, 3, 30, 3, 30, 30, 33, 33, 0, 0, 30, 30, 0, 3, 30, 30, 0, 0, 30, 30, 3, 0, 30, 0, 3, 2, 30, 3, 30, 3, 30, 30, 33, 33, 0, 0, 31, 31, 1, 2, 31, 31, 1, 1, 31, 31, 2, 1, 31, 1, 2, 1, 31, 2, 31, 2, 31, 31, 34, 34, 0, 0, 31, 31, 1, 1, 31, 31, 2, 2, 31, 31, 1, 1, 31, 2, 2, 2, 31, 1, 31, 2, 31, 31, 34, 34, 0, 0, 31, 31, 1, 3, 31, 31, 1, 1, 31, 31, 3, 1, 31, 1, 3, 2, 31, 3, 31, 3, 31, 31, 34, 34, 0, 0, 31, 31, 0, 0, 31, 31, 1, 1, 31, 31, 0, 0, 31, 1, 1, 1, 31, 0, 31, 1, 31, 31, 34, 34, 0, 0, 31, 31, 0, 2, 31, 31, 0, 0, 31, 31, 2, 0, 31, 0, 2, 1, 31, 2, 31, 2, 31, 31, 34, 34, 0, 0, 31, 31, 2, 2, 31, 31, 2, 2, 31, 31, 2, 2, 31, 2, 2, 2, 31, 2, 31, 2, 31, 31, 34, 34, 0, 0, 31, 31, 0, 0, 31, 31, 2, 2, 31, 31, 0, 0, 31, 2, 2, 2, 31, 0, 31, 2, 31, 31, 34, 34, 0, 0, 31, 31, 2, 3, 31, 31, 2, 2, 31, 31, 3, 2, 31, 2, 3, 2, 31, 3, 31, 3, 31, 31, 34, 34, 0, 0, 31, 31, 0, 0, 31, 31, 1, 1, 31, 31, 3, 0, 31, 1, 3, 2, 31, 3, 31, 3, 31, 31, 34, 34, 0, 0, 31, 31, 0, 3, 31, 31, 0, 0, 31, 31, 3, 0, 31, 0, 3, 2, 31, 3, 31, 3, 31, 31, 34, 34, 0, 0, 32, 32, 1, 2, 32, 32, 1, 1, 32, 32, 2, 1, 32, 1, 2, 1, 32, 2, 32, 2, 32, 32, 35, 35, 0, 0, 32, 32, 1, 1, 32, 32, 2, 2, 32, 32, 1, 1, 32, 2, 2, 2, 32, 1, 32, 2, 32, 32, 35, 35, 0, 0, 32, 32, 1, 3, 32, 32, 1, 1, 32, 32, 3, 1, 32, 1, 3, 2, 32, 3, 32, 3, 32, 32, 35, 35, 0, 0, 32, 32, 0, 0, 32, 32, 1, 1, 32, 32, 0, 0, 32, 1, 1, 1, 32, 0, 32, 1, 32, 32, 35, 35, 0, 0, 32, 32, 0, 2, 32, 32, 0, 0, 32, 32, 2, 0, 32, 0, 2, 1, 32, 2, 32, 2, 32, 32, 35, 35, 0, 0, 32, 32, 2, 2, 32, 32, 2, 2, 32, 32, 2, 2, 32, 2, 2, 2, 32, 2, 32, 2, 32, 32, 35, 35, 0, 0, 32, 32, 0, 0, 32, 32, 2, 2, 32, 32, 0, 0, 32, 2, 2, 2, 32, 0, 32, 2, 32, 32, 35, 35, 0, 0, 32, 32, 2, 3, 32, 32, 2, 2, 32, 32, 3, 2, 32, 2, 3, 2, 32, 3, 32, 3, 32, 32, 35, 35, 0, 0, 32, 32, 0, 0, 32, 32, 1, 1, 32, 32, 3, 0, 32, 1, 3, 2, 32, 3, 32, 3, 32, 32, 35, 35, 0, 0, 32, 32, 0, 3, 32, 32, 0, 0, 32, 32, 3, 0, 32, 0, 3, 2, 32, 3, 32, 3, 32, 32, 35, 35, 0, 0, 33, 33, 1, 2, 33, 33, 1, 1, 33, 33, 2, 1, 33, 1, 2, 1, 33, 2, 33, 2, 33, 33, 36, 36, 0, 0, 33, 33, 1, 1, 33, 33, 2, 2, 33, 33, 1, 1, 33, 2, 2, 2, 33, 1, 33, 2, 33, 33, 36, 36, 0, 0, 33, 33, 1, 3, 33, 33, 1, 1, 33, 33, 3, 1, 33, 1, 3, 2, 33, 3, 33, 3, 33, 33, 36, 36, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 2, 2, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 2, 2, 0, 0, 34, 34, 1, 1, 34, 34, 1, 1, 34, 34, 1, 1, 34, 1, 1, 1, 34, 1, 34, 1, 34, 34, 37, 37, 0, 0, 33, 33, 0, 0, 33, 33, 0, 0, 33, 33, 0, 0, 33, 0, 0, 0, 33, 0, 33, 0, 33, 33, 36, 36, 0, 0, 33, 33, 0, 0, 33, 33, 1, 1, 33, 33, 0, 0, 33, 1, 1, 1, 33, 0, 33, 1, 33, 33, 36, 36, 0, 0, 33, 33, 0, 2, 33, 33, 0, 0, 33, 33, 2, 0, 33, 0, 2, 1, 33, 2, 33, 2, 33, 33, 36, 36, 0, 0, 33, 33, 2, 2, 33, 33, 2, 2, 33, 33, 2, 2, 33, 2, 2, 2, 33, 2, 33, 2, 33, 33, 36, 36, 0, 0, 33, 33, 0, 0, 33, 33, 2, 2, 33, 33, 0, 0, 33, 2, 2, 2, 33, 0, 33, 2, 33, 33, 36, 36, 0, 0, 33, 33, 2, 3, 33, 33, 2, 2, 33, 33, 3, 2, 33, 2, 3, 2, 33, 3, 33, 3, 33, 33, 36, 36, 0, 0, 33, 33, 0, 0, 33, 33, 1, 1, 33, 33, 3, 0, 33, 1, 3, 2, 33, 3, 33, 3, 33, 33, 36, 36, 0, 0, 33, 33, 0, 3, 33, 33, 0, 0, 33, 33, 3, 0, 33, 0, 3, 2, 33, 3, 33, 3, 33, 33, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2, 0, 1, 2, 2, 0, 2, 0, 1, 1, 0, 0, 2, 1, 0, 2, 1, 2, 2, 0, 0, 1, 1, 0, 0, 3, 3, 1, 3, 3, 3, 1, 2, 1, 3, 3, 1, 1, 2, 3, 2, 3, 3, 3, 3, 1, 1, 4, 4, 0, 0, 34, 34, 1, 1, 34, 34, 2, 2, 34, 34, 1, 1, 34, 2, 2, 2, 34, 1, 34, 2, 34, 34, 37, 37, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 0, 1, 0, 2, 2, 0, 0, 1, 2, 1, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 1, 2, 2, 0, 2, 0, 1, 1, 0, 0, 2, 1, 0, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 3, 3, 0, 1, 0, 3, 3, 0, 0, 1, 3, 2, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 34, 34, 1, 3, 34, 34, 1, 1, 34, 34, 3, 1, 34, 1, 3, 2, 34, 3, 34, 3, 34, 34, 37, 37, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 1, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 0, 2, 0, 2, 2, 0, 0, 2, 2, 1, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 34, 34, 2, 2, 34, 34, 2, 2, 34, 34, 2, 2, 34, 2, 2, 2, 34, 2, 34, 2, 34, 34, 37, 37, 0, 0, 34, 34, 0, 2, 34, 34, 0, 0, 34, 34, 2, 0, 34, 0, 2, 1, 34, 2, 34, 2, 34, 34, 37, 37, 0, 0, 34, 34, 0, 1, 34, 34, 0, 0, 34, 34, 1, 0, 34, 0, 1, 0, 34, 1, 34, 1, 34, 34, 37, 37, 0, 0, 3, 3, 0, 0, 3, 3, 1, 1, 1, 3, 3, 0, 1, 1, 3, 2, 3, 3, 3, 3, 1, 1, 4, 4, 0, 0, 34, 34, 0, 0, 34, 34, 1, 1, 34, 34, 0, 0, 34, 1, 1, 1, 34, 0, 34, 1, 34, 34, 37, 37, 0, 0, 3, 3, 0, 3, 3, 3, 0, 1, 0, 3, 3, 0, 0, 1, 3, 2, 3, 3, 3, 3, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2, 0, 2, 2, 2, 0, 1, 0, 2, 2, 0, 0, 1, 2, 1, 2, 2, 2, 2, 0, 0, 1, 1, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 1, 2, 2, 2, 2, 0, 0, 1, 1, 0, 0, 2, 2, 0, 2, 2, 2, 0, 2, 0, 2, 2, 0, 0, 2, 2, 1, 2, 2, 2, 2, 0, 0, 1, 1, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 2, 2, 0, 0, 1, 1, 0, 0, 2, 2, 0, 0, 2, 2, 1, 2, 1, 1, 0, 0, 1, 2, 1, 1, 2, 0, 2, 2, 1, 1, 4, 4, 0, 0, 3, 3, 0, 0, 3, 3, 1, 2, 1, 3, 3, 0, 1, 2, 3, 2, 3, 3, 3, 3, 1, 1, 4, 4, 0, 0, 3, 3, 0, 3, 3, 3, 0, 2, 0, 3, 3, 0, 0, 2, 3, 2, 3, 3, 3, 3, 0, 0, 1, 1, 0, 0, 34, 34, 2, 3, 34, 34, 2, 2, 34, 34, 3, 2, 34, 2, 3, 2, 34, 3, 34, 3, 34, 34, 37, 37, 0, 0, 34, 34, 0, 0, 34, 34, 2, 2, 34, 34, 0, 0, 34, 2, 2, 2, 34, 0, 34, 2, 34, 34, 37, 37, 0, 0, 3, 3, 0, 0, 3, 3, 0, 1, 0, 0, 3, 0, 0, 1, 0, 2, 3, 3, 3, 3, 0, 0, 1, 1, 0, 0, 3, 3, 0, 3, 3, 3, 0, 1, 0, 3, 3, 0, 2, 1, 3, 2, 3, 3, 3, 3, 2, 2, 5, 5, 0, 0, 34, 34, 0, 0, 34, 34, 1, 1, 34, 34, 3, 0, 34, 1, 3, 2, 34, 3, 34, 3, 34, 34, 37, 37, 0, 0, 3, 3, 0, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 3, 2, 3, 3, 3, 3, 0, 0, 1, 1, 0, 0, 3, 3, 0, 3, 3, 3, 0, 0, 1, 3, 3, 0, 1, 0, 3, 2, 3, 3, 3, 3, 1, 1, 4, 4, 0, 0, 34, 34, 0, 3, 34, 34, 0, 0, 34, 34, 3, 0, 34, 0, 3, 2, 34, 3, 34, 3, 34, 34, 37, 37, 0, 0, 34, 34, 0, 0, 34, 34, 0, 0, 34, 34, 0, 0, 34, 0, 0, 0, 34, 0, 34, 0, 34, 34, 37, 37, 0, 0, 2, 2, 0, 1, 2, 2, 0, 2, 0, 1, 1, 0, 0, 2, 1, 0, 2, 1, 2, 2, 0, 0, 2, 2, 0, 0, 3, 3, 0, 3, 3, 3, 0, 1, 0, 3, 3, 0, 0, 1, 3, 2, 3, 3, 3, 3, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 2, 2, 0, 2, 0, 2, 2, 0, 0, 2, 2, 1, 2, 2, 2, 2, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 2, 2, 0, 1, 0, 2, 2, 0, 0, 1, 2, 1, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 1, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 2, 2, 0, 2, 0, 2, 2, 0, 0, 2, 2, 1, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 0, 3, 3, 0, 3, 3, 3, 0, 2, 0, 3, 3, 0, 0, 2, 3, 2, 3, 3, 3, 3, 0, 0, 2, 2, 0, 0, 3, 3, 0, 0, 3, 3, 0, 1, 0, 0, 3, 0, 0, 1, 0, 2, 3, 3, 3, 3, 0, 0, 2, 2, 0, 0, 3, 3, 0, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 3, 2, 3, 3, 3, 3, 0, 0, 2, 2, 0, 0, 3, 3, 0, 3, 3, 3, 0, 1, 0, 3, 3, 0, 0, 1, 3, 2, 3, 3, 3, 3, 0, 0, 3, 3, 0, 0, 2, 2, 0, 1, 2, 2, 0, 2, 0, 1, 1, 0, 0, 2, 1, 0, 2, 1, 2, 2, 0, 0, 3, 3, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 2, 2, 0, 0, 3, 3, 0, 0, 3, 3, 0, 3, 3, 3, 0, 2, 0, 3, 3, 0, 0, 2, 3, 2, 3, 3, 3, 3, 0, 0, 3, 3, 0, 0, 3, 3, 0, 0, 3, 3, 0, 1, 0, 0, 3, 0, 0, 1, 0, 2, 3, 3, 3, 3, 0, 0, 3, 3, 0, 0, 3, 3, 0, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 3, 2, 3, 3, 3, 3, 0, 0, 3, 3, 0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 3, 3, 0, 2, 0, 3, 3, 0, 0, 2, 3, 2, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 3, 3, 0, 1, 0, 0, 3, 0, 0, 1, 0, 2, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 3, 3, 0, 3, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 3, 2, 3, 3, 3, 3, 0, 0, 0, 0, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver1_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 2, 4, 4, 4, 4, 3, 3, 3, 2, 3, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 3, 1, 1, 2, 2, 2, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 3, 3, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, }; /* Vector for state transitions. */ static const unsigned char bdver1_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 4, 2, 6, 0, 1, 7, 2, 7, 7, 3, 2, 7, 7, 7, 7, 0, 3, 4, 4, 2, 5, 0, 4, 2, 1, 7, 1, 3, 5, 1, 1, 7, 7, 0, 6, 7, 1, 7, 7, 0}; /* Vector of min issue delay of insns. */ static const unsigned char bdver1_min_issue_delay[] ATTRIBUTE_UNUSED = { 1, 103, 128, 16, 101, 128}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver1_ieu_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 2, 2, 3, 3, 4, 5, 5, 6, 7, 0, 8, 9, 0, 8, 9, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, }; /* Vector for state transitions. */ static const unsigned short bdver1_ieu_transitions[] ATTRIBUTE_UNUSED = { 0, 11, 131, 807, 52, 804, 5, 4, 802, 1, 0, 1, 12, 132, 801, 808, 808, 6, 163, 801, 800, 2, 2, 67, 233, 734, 808, 808, 19, 27, 734, 726, 3, 3, 39, 259, 799, 808, 796, 25, 22, 169, 794, 4, 4, 808, 17, 722, 808, 720, 17, 10, 714, 163, 5, 5, 808, 11, 793, 808, 790, 11, 17, 788, 6, 0, 6, 808, 12, 787, 808, 808, 12, 18, 787, 7, 2, 7, 808, 13, 808, 808, 808, 13, 134, 808, 808, 8, 8, 136, 237, 808, 808, 808, 135, 42, 808, 808, 9, 9, 44, 274, 786, 808, 783, 36, 808, 141, 781, 10, 10, 808, 808, 528, 808, 399, 808, 808, 363, 164, 11, 11, 808, 808, 770, 808, 758, 808, 808, 746, 12, 0, 12, 808, 808, 14, 808, 808, 808, 808, 14, 13, 2, 13, 808, 808, 808, 808, 808, 808, 808, 808, 808, 8, 14, 808, 808, 808, 808, 808, 808, 808, 808, 808, 15, 15, 148, 240, 8, 808, 808, 139, 29, 8, 740, 16, 16, 32, 298, 780, 808, 777, 22, 808, 326, 775, 17, 17, 808, 808, 689, 808, 677, 808, 808, 665, 18, 5, 18, 808, 808, 138, 808, 808, 808, 808, 138, 134, 19, 19, 808, 67, 711, 808, 808, 67, 24, 711, 20, 3, 20, 808, 68, 808, 808, 808, 68, 172, 808, 808, 21, 21, 61, 285, 180, 808, 808, 29, 31, 180, 78, 22, 22, 808, 32, 603, 808, 601, 32, 808, 59, 23, 17, 23, 808, 33, 60, 808, 808, 33, 808, 60, 475, 24, 24, 808, 808, 176, 808, 808, 808, 808, 176, 172, 25, 25, 808, 39, 735, 808, 732, 39, 32, 27, 26, 4, 26, 808, 40, 28, 808, 808, 40, 33, 28, 725, 27, 27, 808, 24, 174, 808, 808, 24, 38, 174, 28, 25, 28, 808, 172, 808, 808, 808, 172, 62, 808, 808, 29, 29, 808, 61, 42, 808, 808, 61, 48, 42, 30, 22, 30, 808, 55, 808, 808, 808, 55, 47, 808, 808, 31, 31, 808, 48, 73, 808, 808, 48, 808, 73, 79, 32, 32, 808, 808, 269, 808, 267, 808, 808, 38, 33, 17, 33, 808, 808, 62, 808, 808, 808, 808, 62, 34, 24, 34, 808, 808, 808, 808, 808, 808, 808, 808, 808, 35, 35, 808, 808, 808, 808, 808, 808, 808, 808, 808, 36, 36, 808, 44, 615, 808, 613, 44, 808, 31, 37, 10, 37, 808, 45, 79, 808, 808, 45, 808, 79, 74, 38, 38, 808, 808, 175, 808, 808, 808, 808, 175, 62, 39, 39, 808, 808, 255, 808, 253, 808, 808, 24, 40, 4, 40, 808, 808, 172, 808, 808, 808, 808, 172, 41, 27, 41, 808, 808, 808, 808, 808, 808, 808, 808, 808, 42, 42, 808, 35, 808, 808, 808, 35, 43, 808, 808, 36, 43, 808, 808, 808, 808, 808, 808, 808, 808, 808, 44, 44, 808, 808, 292, 808, 49, 808, 808, 48, 45, 10, 45, 808, 808, 47, 808, 808, 808, 808, 47, 46, 38, 46, 808, 808, 808, 808, 808, 808, 808, 808, 808, 43, 47, 808, 808, 808, 808, 808, 808, 808, 808, 808, 48, 48, 808, 808, 43, 808, 808, 808, 808, 43, 47, 32, 49, 808, 808, 125, 808, 808, 808, 808, 125, 110, 50, 50, 808, 808, 103, 808, 808, 808, 808, 103, 94, 51, 51, 808, 808, 194, 808, 808, 808, 808, 194, 190, 52, 52, 808, 115, 57, 808, 808, 115, 101, 57, 53, 26, 53, 808, 56, 808, 808, 808, 56, 54, 808, 808, 30, 54, 808, 808, 808, 808, 808, 808, 808, 808, 808, 55, 55, 808, 808, 808, 808, 808, 808, 808, 808, 808, 31, 56, 808, 808, 808, 808, 808, 808, 808, 808, 808, 30, 57, 808, 116, 808, 808, 808, 116, 100, 808, 808, 58, 58, 808, 82, 30, 808, 808, 82, 45, 30, 75, 59, 59, 808, 38, 63, 808, 808, 38, 808, 63, 60, 39, 60, 808, 62, 808, 808, 808, 62, 808, 808, 808, 61, 61, 808, 808, 35, 808, 808, 808, 808, 35, 55, 22, 62, 808, 808, 808, 808, 808, 808, 808, 808, 808, 61, 63, 808, 175, 808, 808, 808, 175, 808, 808, 808, 64, 64, 808, 808, 293, 808, 127, 808, 808, 61, 82, 65, 65, 808, 10, 648, 808, 442, 10, 808, 422, 66, 11, 66, 808, 164, 159, 808, 808, 164, 808, 159, 154, 67, 67, 808, 808, 69, 808, 808, 808, 808, 69, 68, 3, 68, 808, 808, 808, 808, 808, 808, 808, 808, 808, 21, 69, 808, 808, 808, 808, 808, 808, 808, 808, 808, 70, 70, 64, 287, 774, 808, 771, 83, 36, 21, 71, 65, 71, 82, 81, 78, 808, 808, 58, 37, 78, 72, 59, 72, 76, 77, 808, 808, 808, 75, 74, 808, 808, 73, 73, 808, 43, 808, 808, 808, 43, 808, 808, 808, 44, 74, 808, 46, 808, 808, 808, 46, 808, 808, 808, 43, 75, 808, 76, 808, 808, 808, 76, 46, 808, 808, 73, 76, 808, 808, 808, 808, 808, 808, 808, 808, 808, 73, 77, 808, 808, 808, 808, 808, 76, 46, 808, 808, 73, 78, 55, 80, 808, 808, 808, 30, 79, 808, 808, 31, 79, 808, 47, 808, 808, 808, 47, 808, 808, 808, 48, 80, 808, 808, 808, 808, 808, 55, 47, 808, 808, 31, 81, 808, 808, 80, 808, 808, 82, 45, 80, 77, 59, 82, 808, 808, 55, 808, 808, 808, 808, 55, 76, 59, 83, 808, 64, 128, 808, 84, 64, 44, 29, 58, 65, 84, 808, 127, 112, 808, 808, 127, 49, 112, 104, 85, 85, 808, 50, 95, 808, 808, 50, 808, 95, 86, 51, 86, 808, 94, 808, 808, 808, 94, 808, 808, 808, 87, 87, 808, 808, 808, 808, 808, 808, 808, 808, 808, 88, 88, 808, 93, 91, 808, 808, 93, 808, 91, 89, 33, 89, 808, 90, 808, 808, 808, 90, 808, 808, 808, 47, 90, 808, 808, 808, 808, 808, 808, 808, 808, 808, 47, 91, 808, 92, 808, 808, 808, 92, 808, 808, 808, 45, 92, 808, 808, 808, 808, 808, 808, 808, 808, 808, 45, 93, 808, 808, 92, 808, 808, 808, 808, 92, 90, 33, 94, 808, 808, 808, 808, 808, 808, 808, 808, 808, 87, 95, 808, 103, 808, 808, 808, 103, 808, 808, 808, 96, 96, 808, 808, 87, 808, 808, 808, 808, 87, 102, 97, 97, 808, 101, 99, 808, 808, 101, 808, 99, 98, 40, 98, 808, 54, 808, 808, 808, 54, 808, 808, 808, 55, 99, 808, 100, 808, 808, 808, 100, 808, 808, 808, 82, 100, 808, 808, 808, 808, 808, 808, 808, 808, 808, 82, 101, 808, 808, 100, 808, 808, 808, 808, 100, 54, 40, 102, 808, 808, 808, 808, 808, 808, 808, 808, 808, 91, 103, 808, 808, 808, 808, 808, 808, 808, 808, 808, 96, 104, 808, 111, 808, 808, 808, 111, 110, 808, 808, 105, 105, 808, 109, 808, 808, 808, 109, 808, 808, 808, 106, 106, 808, 808, 108, 808, 808, 808, 808, 108, 107, 101, 107, 808, 808, 808, 808, 808, 808, 808, 808, 808, 92, 108, 808, 808, 808, 808, 808, 808, 808, 808, 808, 93, 109, 808, 808, 808, 808, 808, 808, 808, 808, 808, 106, 110, 808, 808, 808, 808, 808, 808, 808, 808, 808, 109, 111, 808, 808, 808, 808, 808, 808, 808, 808, 808, 105, 112, 808, 126, 808, 808, 808, 126, 125, 808, 808, 113, 113, 808, 124, 105, 808, 808, 124, 808, 105, 122, 114, 114, 808, 808, 119, 808, 808, 808, 808, 119, 117, 115, 115, 808, 808, 116, 808, 808, 808, 808, 116, 56, 26, 116, 808, 808, 808, 808, 808, 808, 808, 808, 808, 58, 117, 808, 808, 808, 808, 808, 808, 808, 808, 808, 118, 118, 808, 808, 808, 808, 808, 808, 808, 808, 808, 37, 119, 808, 808, 808, 808, 808, 808, 808, 808, 808, 120, 120, 808, 808, 118, 808, 808, 808, 808, 118, 121, 23, 121, 808, 808, 808, 808, 808, 808, 808, 808, 808, 79, 122, 808, 123, 808, 808, 808, 123, 808, 808, 808, 108, 123, 808, 808, 808, 808, 808, 808, 808, 808, 808, 108, 124, 808, 808, 109, 808, 808, 808, 808, 109, 123, 114, 125, 808, 808, 808, 808, 808, 808, 808, 808, 808, 124, 126, 808, 808, 808, 808, 808, 808, 808, 808, 808, 113, 127, 808, 808, 126, 808, 808, 808, 808, 126, 111, 85, 128, 808, 293, 808, 808, 112, 293, 292, 42, 30, 129, 129, 808, 281, 646, 808, 644, 281, 808, 638, 354, 130, 130, 808, 808, 529, 808, 444, 808, 808, 424, 243, 131, 131, 808, 808, 759, 115, 747, 11, 17, 149, 132, 0, 132, 808, 808, 137, 808, 808, 12, 18, 137, 133, 2, 133, 808, 808, 808, 808, 808, 13, 134, 808, 808, 8, 134, 808, 808, 808, 808, 808, 808, 808, 808, 808, 135, 135, 808, 136, 808, 808, 808, 136, 35, 808, 808, 9, 136, 808, 808, 808, 808, 808, 808, 808, 808, 808, 9, 137, 808, 808, 808, 808, 808, 14, 138, 808, 808, 15, 138, 808, 808, 808, 808, 808, 808, 808, 808, 808, 139, 139, 808, 148, 135, 808, 808, 148, 61, 135, 140, 16, 140, 808, 147, 808, 808, 808, 147, 55, 808, 808, 141, 141, 48, 146, 144, 808, 808, 31, 808, 144, 142, 32, 142, 47, 143, 808, 808, 808, 79, 808, 808, 808, 48, 143, 808, 808, 808, 808, 808, 47, 808, 808, 808, 48, 144, 43, 145, 808, 808, 808, 73, 808, 808, 808, 44, 145, 808, 808, 808, 808, 808, 43, 808, 808, 808, 44, 146, 808, 808, 145, 808, 808, 48, 808, 145, 143, 32, 147, 808, 808, 808, 808, 808, 808, 808, 808, 808, 141, 148, 808, 808, 136, 808, 808, 808, 808, 136, 147, 16, 149, 808, 808, 736, 808, 808, 746, 665, 736, 137, 150, 150, 184, 245, 733, 808, 727, 167, 25, 2, 723, 151, 151, 17, 311, 721, 808, 715, 4, 65, 166, 152, 5, 152, 18, 165, 158, 808, 808, 163, 66, 158, 153, 19, 153, 134, 157, 808, 808, 808, 156, 154, 808, 808, 135, 154, 808, 155, 808, 808, 808, 155, 808, 808, 808, 136, 155, 808, 808, 808, 808, 808, 808, 808, 808, 808, 136, 156, 808, 134, 808, 808, 808, 134, 155, 808, 808, 135, 157, 808, 808, 808, 808, 808, 134, 155, 808, 808, 135, 158, 138, 162, 808, 808, 808, 161, 159, 808, 808, 139, 159, 808, 160, 808, 808, 808, 160, 808, 808, 808, 148, 160, 808, 808, 808, 808, 808, 808, 808, 808, 808, 148, 161, 808, 138, 808, 808, 808, 138, 160, 808, 808, 139, 162, 808, 808, 808, 808, 808, 138, 160, 808, 808, 139, 163, 808, 18, 161, 808, 808, 18, 164, 161, 156, 19, 164, 808, 808, 160, 808, 808, 808, 808, 160, 155, 67, 165, 808, 808, 162, 808, 808, 18, 164, 162, 157, 19, 166, 665, 312, 712, 808, 808, 714, 422, 712, 158, 167, 167, 808, 184, 710, 808, 707, 184, 39, 19, 168, 151, 168, 808, 183, 20, 808, 808, 183, 40, 20, 179, 169, 169, 24, 178, 173, 808, 808, 27, 59, 173, 170, 25, 170, 172, 171, 808, 808, 808, 28, 60, 808, 808, 29, 171, 808, 808, 808, 808, 808, 172, 62, 808, 808, 29, 172, 808, 808, 808, 808, 808, 808, 808, 808, 808, 29, 173, 176, 177, 808, 808, 808, 174, 63, 808, 808, 83, 174, 808, 176, 808, 808, 808, 176, 175, 808, 808, 83, 175, 808, 808, 808, 808, 808, 808, 808, 808, 808, 64, 176, 808, 808, 808, 808, 808, 808, 808, 808, 808, 83, 177, 808, 808, 808, 808, 808, 176, 175, 808, 808, 83, 178, 808, 808, 177, 808, 808, 24, 38, 177, 171, 25, 179, 808, 182, 808, 808, 808, 182, 41, 808, 808, 180, 180, 35, 181, 808, 808, 808, 42, 73, 808, 808, 36, 181, 808, 808, 808, 808, 808, 35, 43, 808, 808, 36, 182, 808, 808, 808, 808, 808, 808, 808, 808, 808, 180, 183, 808, 808, 68, 808, 808, 808, 808, 68, 182, 169, 184, 808, 808, 229, 808, 185, 808, 808, 67, 183, 151, 185, 808, 808, 217, 808, 808, 808, 808, 217, 209, 186, 186, 207, 208, 200, 808, 808, 206, 85, 200, 195, 187, 187, 808, 51, 191, 808, 808, 51, 114, 191, 188, 52, 188, 808, 190, 808, 808, 808, 190, 117, 808, 808, 189, 189, 808, 118, 808, 808, 808, 118, 92, 808, 808, 37, 190, 808, 808, 808, 808, 808, 808, 808, 808, 808, 189, 191, 808, 194, 808, 808, 808, 194, 119, 808, 808, 192, 192, 808, 120, 189, 808, 808, 120, 93, 189, 193, 23, 193, 808, 121, 808, 808, 808, 121, 90, 808, 808, 79, 194, 808, 808, 808, 808, 808, 808, 808, 808, 808, 192, 195, 198, 199, 808, 808, 808, 197, 86, 808, 808, 196, 196, 808, 87, 808, 808, 808, 87, 108, 808, 808, 88, 197, 808, 198, 808, 808, 808, 198, 94, 808, 808, 196, 198, 808, 808, 808, 808, 808, 808, 808, 808, 808, 196, 199, 808, 808, 808, 808, 808, 198, 94, 808, 808, 196, 200, 204, 205, 808, 808, 808, 203, 95, 808, 808, 201, 201, 808, 96, 196, 808, 808, 96, 106, 196, 202, 97, 202, 808, 102, 808, 808, 808, 102, 107, 808, 808, 91, 203, 808, 204, 808, 808, 808, 204, 103, 808, 808, 201, 204, 808, 808, 808, 808, 808, 808, 808, 808, 808, 201, 205, 808, 808, 808, 808, 808, 204, 103, 808, 808, 201, 206, 808, 207, 203, 808, 808, 207, 50, 203, 197, 187, 207, 808, 808, 204, 808, 808, 808, 808, 204, 198, 187, 208, 808, 808, 205, 808, 808, 207, 50, 205, 199, 187, 209, 808, 808, 808, 808, 808, 808, 808, 808, 808, 210, 210, 215, 216, 808, 808, 808, 214, 105, 808, 808, 211, 211, 808, 106, 213, 808, 808, 106, 808, 213, 212, 101, 212, 808, 107, 808, 808, 808, 107, 808, 808, 808, 92, 213, 808, 108, 808, 808, 808, 108, 808, 808, 808, 93, 214, 808, 215, 808, 808, 808, 215, 109, 808, 808, 211, 215, 808, 808, 808, 808, 808, 808, 808, 808, 808, 211, 216, 808, 808, 808, 808, 808, 215, 109, 808, 808, 211, 217, 808, 808, 808, 808, 808, 808, 808, 808, 808, 218, 218, 227, 228, 210, 808, 808, 226, 113, 210, 222, 219, 219, 808, 114, 221, 808, 808, 114, 808, 221, 220, 115, 220, 808, 117, 808, 808, 808, 117, 808, 808, 808, 118, 221, 808, 119, 808, 808, 808, 119, 808, 808, 808, 120, 222, 224, 225, 808, 808, 808, 223, 122, 808, 808, 213, 223, 808, 224, 808, 808, 808, 224, 123, 808, 808, 213, 224, 808, 808, 808, 808, 808, 808, 808, 808, 808, 213, 225, 808, 808, 808, 808, 808, 224, 123, 808, 808, 213, 226, 808, 227, 214, 808, 808, 227, 124, 214, 223, 219, 227, 808, 808, 215, 808, 808, 808, 808, 215, 224, 219, 228, 808, 808, 216, 808, 808, 227, 124, 216, 225, 219, 229, 808, 808, 808, 808, 217, 808, 808, 69, 68, 230, 230, 270, 490, 706, 808, 703, 256, 129, 701, 698, 231, 231, 808, 130, 649, 808, 443, 130, 10, 244, 232, 131, 232, 808, 243, 239, 808, 808, 243, 164, 239, 236, 233, 233, 808, 808, 235, 808, 808, 67, 24, 235, 234, 3, 234, 808, 808, 808, 808, 808, 68, 172, 808, 808, 21, 235, 808, 808, 808, 808, 808, 69, 176, 808, 808, 70, 236, 808, 238, 808, 808, 808, 238, 155, 808, 808, 237, 237, 808, 808, 808, 808, 808, 136, 35, 808, 808, 9, 238, 808, 808, 808, 808, 808, 808, 808, 808, 808, 237, 239, 808, 242, 808, 808, 808, 242, 160, 808, 808, 240, 240, 808, 808, 237, 808, 808, 148, 61, 237, 241, 16, 241, 808, 808, 808, 808, 808, 147, 55, 808, 808, 141, 242, 808, 808, 808, 808, 808, 808, 808, 808, 808, 240, 243, 808, 808, 242, 808, 808, 808, 808, 242, 238, 233, 244, 808, 424, 419, 808, 808, 424, 363, 419, 239, 245, 245, 808, 808, 254, 808, 248, 184, 39, 233, 246, 151, 246, 808, 808, 234, 808, 808, 183, 40, 234, 247, 169, 247, 808, 808, 808, 808, 808, 182, 41, 808, 808, 180, 248, 808, 808, 251, 808, 808, 185, 253, 251, 249, 186, 249, 808, 808, 808, 808, 808, 209, 250, 808, 808, 210, 250, 808, 808, 808, 808, 808, 808, 808, 808, 808, 214, 251, 808, 808, 808, 808, 808, 217, 252, 808, 808, 218, 252, 808, 808, 808, 808, 808, 808, 808, 808, 808, 226, 253, 808, 808, 252, 808, 808, 808, 808, 252, 250, 206, 254, 808, 808, 808, 808, 251, 229, 255, 235, 234, 230, 255, 808, 808, 808, 808, 252, 808, 808, 176, 172, 256, 256, 808, 270, 697, 808, 694, 270, 281, 692, 257, 231, 257, 808, 271, 691, 808, 808, 271, 282, 691, 690, 258, 258, 808, 283, 454, 808, 808, 283, 38, 454, 451, 259, 259, 808, 808, 268, 808, 262, 39, 32, 178, 260, 4, 260, 808, 808, 171, 808, 808, 40, 33, 171, 261, 27, 261, 808, 808, 808, 808, 808, 41, 34, 808, 808, 42, 262, 808, 808, 265, 808, 808, 253, 267, 265, 263, 206, 263, 808, 808, 808, 808, 808, 250, 264, 808, 808, 214, 264, 808, 808, 808, 808, 808, 808, 808, 808, 808, 215, 265, 808, 808, 808, 808, 808, 252, 266, 808, 808, 226, 266, 808, 808, 808, 808, 808, 808, 808, 808, 808, 227, 267, 808, 808, 266, 808, 808, 808, 808, 266, 264, 207, 268, 808, 808, 808, 808, 265, 255, 269, 177, 171, 256, 269, 808, 808, 808, 808, 266, 808, 808, 175, 62, 270, 270, 808, 808, 595, 808, 583, 808, 808, 571, 271, 231, 271, 808, 808, 468, 808, 808, 808, 808, 468, 272, 258, 272, 808, 808, 808, 808, 808, 808, 808, 808, 808, 273, 273, 808, 295, 808, 808, 808, 295, 43, 808, 808, 274, 274, 808, 808, 280, 808, 277, 44, 808, 146, 275, 10, 275, 808, 808, 143, 808, 808, 45, 808, 143, 276, 38, 276, 808, 808, 808, 808, 808, 46, 808, 808, 808, 43, 277, 808, 808, 279, 808, 808, 49, 808, 279, 278, 50, 278, 808, 808, 808, 808, 808, 110, 808, 808, 808, 109, 279, 808, 808, 808, 808, 808, 125, 808, 808, 808, 124, 280, 808, 808, 808, 808, 279, 292, 808, 145, 143, 281, 281, 808, 808, 569, 808, 523, 808, 808, 309, 282, 130, 282, 808, 808, 296, 808, 808, 808, 808, 296, 294, 283, 283, 808, 808, 286, 808, 808, 808, 808, 286, 284, 259, 284, 808, 808, 808, 808, 808, 808, 808, 808, 808, 285, 285, 808, 808, 181, 808, 808, 61, 48, 181, 80, 22, 286, 808, 808, 808, 808, 808, 808, 808, 808, 808, 287, 287, 808, 808, 291, 808, 288, 64, 44, 285, 81, 65, 288, 808, 808, 290, 808, 808, 127, 49, 290, 289, 85, 289, 808, 808, 808, 808, 808, 111, 110, 808, 808, 105, 290, 808, 808, 808, 808, 808, 126, 125, 808, 808, 113, 291, 808, 808, 808, 808, 290, 293, 292, 181, 80, 129, 292, 808, 808, 808, 808, 125, 808, 808, 43, 47, 281, 293, 808, 808, 808, 808, 126, 808, 808, 35, 55, 129, 294, 808, 808, 808, 808, 808, 808, 808, 808, 808, 295, 295, 808, 808, 808, 808, 808, 808, 808, 808, 808, 274, 296, 808, 808, 808, 808, 808, 808, 808, 808, 808, 297, 297, 808, 808, 295, 808, 808, 808, 808, 295, 308, 298, 298, 808, 808, 307, 808, 304, 32, 808, 302, 299, 17, 299, 808, 808, 301, 808, 808, 33, 808, 301, 300, 24, 300, 808, 808, 808, 808, 808, 34, 808, 808, 808, 35, 301, 808, 808, 808, 808, 808, 62, 808, 808, 808, 61, 302, 808, 808, 303, 808, 808, 38, 808, 303, 301, 39, 303, 808, 808, 808, 808, 808, 175, 808, 808, 808, 64, 304, 808, 808, 306, 808, 808, 267, 808, 306, 305, 207, 305, 808, 808, 808, 808, 808, 264, 808, 808, 808, 215, 306, 808, 808, 808, 808, 808, 266, 808, 808, 808, 227, 307, 808, 808, 808, 808, 306, 269, 808, 303, 301, 270, 308, 808, 808, 808, 808, 808, 808, 808, 808, 808, 146, 309, 808, 808, 511, 808, 808, 808, 808, 511, 296, 310, 310, 808, 808, 539, 808, 488, 808, 808, 283, 480, 311, 311, 808, 808, 678, 808, 666, 17, 10, 312, 165, 5, 312, 808, 808, 313, 808, 808, 665, 363, 313, 162, 167, 313, 808, 808, 808, 808, 808, 664, 362, 808, 808, 314, 314, 808, 324, 663, 808, 660, 324, 64, 139, 658, 315, 315, 10, 359, 657, 808, 654, 65, 808, 322, 316, 11, 316, 164, 321, 319, 808, 808, 66, 808, 319, 317, 67, 317, 155, 318, 808, 808, 808, 154, 808, 808, 808, 136, 318, 808, 808, 808, 808, 808, 155, 808, 808, 808, 136, 319, 160, 320, 808, 808, 808, 159, 808, 808, 808, 148, 320, 808, 808, 808, 808, 808, 160, 808, 808, 808, 148, 321, 808, 808, 320, 808, 808, 164, 808, 320, 318, 67, 322, 363, 360, 323, 808, 808, 422, 808, 323, 319, 184, 323, 362, 361, 808, 808, 808, 418, 808, 808, 808, 324, 324, 808, 808, 345, 808, 330, 808, 808, 148, 325, 315, 325, 808, 808, 147, 808, 808, 808, 808, 147, 329, 326, 326, 38, 302, 328, 808, 808, 59, 808, 328, 327, 39, 327, 62, 301, 808, 808, 808, 60, 808, 808, 808, 61, 328, 175, 303, 808, 808, 808, 63, 808, 808, 808, 64, 329, 808, 808, 808, 808, 808, 808, 808, 808, 808, 144, 330, 808, 808, 340, 808, 808, 808, 808, 340, 337, 331, 331, 50, 336, 334, 808, 808, 85, 808, 334, 332, 51, 332, 94, 333, 808, 808, 808, 86, 808, 808, 808, 87, 333, 808, 808, 808, 808, 808, 94, 808, 808, 808, 87, 334, 103, 335, 808, 808, 808, 95, 808, 808, 808, 96, 335, 808, 808, 808, 808, 808, 103, 808, 808, 808, 96, 336, 808, 808, 335, 808, 808, 50, 808, 335, 333, 51, 337, 808, 808, 808, 808, 808, 808, 808, 808, 808, 338, 338, 109, 339, 808, 808, 808, 105, 808, 808, 808, 106, 339, 808, 808, 808, 808, 808, 109, 808, 808, 808, 106, 340, 808, 808, 808, 808, 808, 808, 808, 808, 808, 341, 341, 124, 344, 338, 808, 808, 113, 808, 338, 342, 114, 342, 123, 343, 808, 808, 808, 122, 808, 808, 808, 108, 343, 808, 808, 808, 808, 808, 123, 808, 808, 808, 108, 344, 808, 808, 339, 808, 808, 124, 808, 339, 343, 114, 345, 808, 808, 808, 808, 340, 808, 808, 136, 147, 346, 346, 281, 508, 653, 808, 650, 129, 808, 356, 347, 130, 347, 282, 355, 351, 808, 808, 354, 808, 351, 348, 283, 348, 294, 350, 808, 808, 808, 349, 808, 808, 808, 295, 349, 808, 294, 808, 808, 808, 294, 808, 808, 808, 295, 350, 808, 808, 808, 808, 808, 294, 808, 808, 808, 295, 351, 296, 353, 808, 808, 808, 352, 808, 808, 808, 297, 352, 808, 296, 808, 808, 808, 296, 808, 808, 808, 297, 353, 808, 808, 808, 808, 808, 296, 808, 808, 808, 297, 354, 808, 282, 352, 808, 808, 282, 808, 352, 349, 283, 355, 808, 808, 353, 808, 808, 282, 808, 353, 350, 283, 356, 309, 509, 357, 808, 808, 638, 808, 357, 351, 310, 357, 511, 510, 808, 808, 808, 637, 808, 808, 808, 358, 358, 808, 808, 548, 808, 506, 808, 808, 297, 500, 359, 359, 808, 808, 400, 808, 364, 10, 808, 360, 321, 11, 360, 808, 808, 361, 808, 808, 363, 808, 361, 320, 184, 361, 808, 808, 808, 808, 808, 362, 808, 808, 808, 324, 362, 808, 808, 808, 808, 808, 808, 808, 808, 808, 324, 363, 808, 808, 362, 808, 808, 808, 808, 362, 160, 184, 364, 808, 808, 389, 808, 808, 399, 808, 389, 380, 365, 365, 808, 808, 375, 808, 808, 808, 808, 375, 372, 366, 366, 51, 371, 369, 808, 808, 187, 219, 369, 367, 52, 367, 190, 368, 808, 808, 808, 188, 220, 808, 808, 189, 368, 808, 808, 808, 808, 808, 190, 117, 808, 808, 189, 369, 194, 370, 808, 808, 808, 191, 221, 808, 808, 192, 370, 808, 808, 808, 808, 808, 194, 119, 808, 808, 192, 371, 808, 808, 370, 808, 808, 51, 114, 370, 368, 52, 372, 808, 808, 808, 808, 808, 808, 808, 808, 808, 373, 373, 87, 374, 808, 808, 808, 196, 213, 808, 808, 88, 374, 808, 808, 808, 808, 808, 87, 108, 808, 808, 88, 375, 808, 808, 808, 808, 808, 808, 808, 808, 808, 376, 376, 96, 379, 373, 808, 808, 201, 211, 373, 377, 97, 377, 102, 378, 808, 808, 808, 202, 212, 808, 808, 91, 378, 808, 808, 808, 808, 808, 102, 107, 808, 808, 91, 379, 808, 808, 374, 808, 808, 96, 106, 374, 378, 97, 380, 808, 808, 808, 808, 808, 388, 808, 808, 808, 381, 381, 808, 808, 808, 808, 808, 808, 808, 808, 808, 382, 382, 106, 387, 385, 808, 808, 211, 808, 385, 383, 101, 383, 107, 384, 808, 808, 808, 212, 808, 808, 808, 92, 384, 808, 808, 808, 808, 808, 107, 808, 808, 808, 92, 385, 108, 386, 808, 808, 808, 213, 808, 808, 808, 93, 386, 808, 808, 808, 808, 808, 108, 808, 808, 808, 93, 387, 808, 808, 386, 808, 808, 106, 808, 386, 384, 101, 388, 808, 808, 808, 808, 808, 808, 808, 808, 808, 381, 389, 808, 808, 808, 808, 808, 398, 808, 808, 808, 390, 390, 808, 808, 381, 808, 808, 808, 808, 381, 397, 391, 391, 114, 396, 394, 808, 808, 219, 808, 394, 392, 115, 392, 117, 393, 808, 808, 808, 220, 808, 808, 808, 118, 393, 808, 808, 808, 808, 808, 117, 808, 808, 808, 118, 394, 119, 395, 808, 808, 808, 221, 808, 808, 808, 120, 395, 808, 808, 808, 808, 808, 119, 808, 808, 808, 120, 396, 808, 808, 395, 808, 808, 114, 808, 395, 393, 115, 397, 808, 808, 808, 808, 808, 808, 808, 808, 808, 385, 398, 808, 808, 808, 808, 808, 808, 808, 808, 808, 390, 399, 808, 808, 398, 808, 808, 808, 808, 398, 388, 365, 400, 808, 808, 808, 808, 389, 528, 808, 361, 320, 401, 401, 808, 808, 647, 808, 629, 808, 808, 617, 470, 402, 402, 130, 526, 446, 97, 425, 231, 65, 409, 403, 131, 403, 243, 408, 406, 808, 808, 232, 66, 406, 404, 233, 404, 238, 405, 808, 808, 808, 236, 154, 808, 808, 237, 405, 808, 808, 808, 808, 808, 238, 155, 808, 808, 237, 406, 242, 407, 808, 808, 808, 239, 159, 808, 808, 240, 407, 808, 808, 808, 808, 808, 242, 160, 808, 808, 240, 408, 808, 808, 407, 808, 808, 243, 164, 407, 405, 233, 409, 424, 423, 410, 808, 808, 244, 422, 410, 406, 245, 410, 420, 421, 808, 808, 808, 419, 418, 808, 808, 411, 411, 808, 808, 417, 808, 414, 324, 64, 240, 412, 315, 412, 808, 808, 241, 808, 808, 325, 82, 241, 413, 326, 413, 808, 808, 808, 808, 808, 329, 76, 808, 808, 144, 414, 808, 808, 416, 808, 808, 330, 127, 416, 415, 331, 415, 808, 808, 808, 808, 808, 337, 111, 808, 808, 338, 416, 808, 808, 808, 808, 808, 340, 126, 808, 808, 341, 417, 808, 808, 808, 808, 416, 345, 293, 237, 241, 346, 418, 808, 362, 808, 808, 808, 362, 808, 808, 808, 324, 419, 808, 420, 808, 808, 808, 420, 362, 808, 808, 411, 420, 808, 808, 808, 808, 808, 808, 808, 808, 808, 411, 421, 808, 808, 808, 808, 808, 420, 362, 808, 808, 411, 422, 808, 363, 418, 808, 808, 363, 808, 418, 159, 184, 423, 808, 808, 421, 808, 808, 424, 363, 421, 407, 245, 424, 808, 808, 420, 808, 808, 808, 808, 420, 242, 245, 425, 444, 445, 435, 808, 808, 443, 442, 435, 429, 426, 426, 808, 808, 428, 808, 808, 365, 207, 428, 427, 366, 427, 808, 808, 808, 808, 808, 372, 198, 808, 808, 373, 428, 808, 808, 808, 808, 808, 375, 204, 808, 808, 376, 429, 433, 434, 808, 808, 808, 432, 431, 808, 808, 430, 430, 808, 808, 808, 808, 808, 381, 215, 808, 808, 382, 431, 808, 388, 808, 808, 808, 388, 808, 808, 808, 381, 432, 808, 433, 808, 808, 808, 433, 388, 808, 808, 430, 433, 808, 808, 808, 808, 808, 808, 808, 808, 808, 430, 434, 808, 808, 808, 808, 808, 433, 388, 808, 808, 430, 435, 440, 441, 808, 808, 808, 439, 438, 808, 808, 436, 436, 808, 808, 430, 808, 808, 390, 227, 430, 437, 391, 437, 808, 808, 808, 808, 808, 397, 224, 808, 808, 385, 438, 808, 398, 808, 808, 808, 398, 808, 808, 808, 390, 439, 808, 440, 808, 808, 808, 440, 398, 808, 808, 436, 440, 808, 808, 808, 808, 808, 808, 808, 808, 808, 436, 441, 808, 808, 808, 808, 808, 440, 398, 808, 808, 436, 442, 808, 399, 438, 808, 808, 399, 808, 438, 431, 365, 443, 808, 444, 439, 808, 808, 444, 399, 439, 432, 426, 444, 808, 808, 440, 808, 808, 808, 808, 440, 433, 426, 445, 808, 808, 441, 808, 808, 444, 399, 441, 434, 426, 446, 529, 527, 808, 99, 435, 649, 648, 410, 406, 447, 447, 808, 808, 630, 120, 618, 401, 270, 471, 448, 402, 448, 808, 808, 461, 808, 808, 470, 271, 461, 457, 449, 449, 283, 456, 453, 808, 808, 258, 59, 453, 450, 259, 450, 284, 452, 808, 808, 808, 451, 60, 808, 808, 285, 451, 808, 284, 808, 808, 808, 284, 62, 808, 808, 285, 452, 808, 808, 808, 808, 808, 284, 62, 808, 808, 285, 453, 286, 455, 808, 808, 808, 454, 63, 808, 808, 287, 454, 808, 286, 808, 808, 808, 286, 175, 808, 808, 287, 455, 808, 808, 808, 808, 808, 286, 175, 808, 808, 287, 456, 808, 808, 455, 808, 808, 283, 38, 455, 452, 259, 457, 808, 808, 808, 808, 808, 460, 272, 808, 808, 458, 458, 295, 459, 808, 808, 808, 273, 73, 808, 808, 274, 459, 808, 808, 808, 808, 808, 295, 43, 808, 808, 274, 460, 808, 808, 808, 808, 808, 808, 808, 808, 808, 458, 461, 808, 808, 808, 808, 808, 469, 468, 808, 808, 462, 462, 297, 467, 458, 808, 808, 466, 31, 458, 463, 298, 463, 308, 465, 808, 808, 808, 464, 79, 808, 808, 146, 464, 808, 308, 808, 808, 808, 308, 47, 808, 808, 146, 465, 808, 808, 808, 808, 808, 308, 47, 808, 808, 146, 466, 808, 297, 273, 808, 808, 297, 48, 273, 464, 298, 467, 808, 808, 459, 808, 808, 297, 48, 459, 465, 298, 468, 808, 808, 808, 808, 808, 808, 808, 808, 808, 466, 469, 808, 808, 808, 808, 808, 808, 808, 808, 808, 462, 470, 808, 808, 469, 808, 808, 808, 808, 469, 460, 449, 471, 808, 808, 604, 808, 808, 617, 571, 604, 461, 472, 472, 310, 534, 602, 808, 596, 482, 22, 449, 473, 311, 473, 480, 481, 450, 808, 808, 479, 23, 450, 474, 178, 474, 477, 478, 808, 808, 808, 476, 475, 808, 808, 181, 475, 808, 34, 808, 808, 808, 34, 808, 808, 808, 35, 476, 808, 477, 808, 808, 808, 477, 34, 808, 808, 181, 477, 808, 808, 808, 808, 808, 808, 808, 808, 808, 181, 478, 808, 808, 808, 808, 808, 477, 34, 808, 808, 181, 479, 808, 480, 451, 808, 808, 480, 33, 451, 476, 178, 480, 808, 808, 284, 808, 808, 808, 808, 284, 477, 178, 481, 808, 808, 452, 808, 808, 480, 33, 452, 478, 178, 482, 808, 310, 489, 808, 483, 310, 32, 258, 479, 311, 483, 808, 488, 486, 808, 808, 488, 267, 486, 484, 208, 484, 808, 485, 808, 808, 808, 485, 264, 808, 808, 216, 485, 808, 808, 808, 808, 808, 808, 808, 808, 808, 216, 486, 808, 487, 808, 808, 808, 487, 266, 808, 808, 228, 487, 808, 808, 808, 808, 808, 808, 808, 808, 808, 228, 488, 808, 808, 487, 808, 808, 808, 808, 487, 485, 208, 489, 808, 539, 808, 808, 486, 539, 269, 454, 451, 490, 490, 808, 808, 584, 808, 572, 270, 281, 494, 491, 231, 491, 808, 808, 493, 808, 808, 271, 282, 493, 492, 258, 492, 808, 808, 808, 808, 808, 272, 294, 808, 808, 273, 493, 808, 808, 808, 808, 808, 468, 296, 808, 808, 466, 494, 808, 808, 495, 808, 808, 571, 309, 495, 493, 482, 495, 808, 808, 808, 808, 808, 570, 511, 808, 808, 496, 496, 808, 358, 507, 808, 501, 358, 44, 466, 497, 359, 497, 808, 500, 464, 808, 808, 500, 45, 464, 498, 302, 498, 808, 499, 808, 808, 808, 499, 46, 808, 808, 145, 499, 808, 808, 808, 808, 808, 808, 808, 808, 808, 145, 500, 808, 808, 308, 808, 808, 808, 808, 308, 499, 302, 501, 808, 506, 504, 808, 808, 506, 49, 504, 502, 336, 502, 808, 503, 808, 808, 808, 503, 110, 808, 808, 339, 503, 808, 808, 808, 808, 808, 808, 808, 808, 808, 339, 504, 808, 505, 808, 808, 808, 505, 125, 808, 808, 344, 505, 808, 808, 808, 808, 808, 808, 808, 808, 808, 344, 506, 808, 808, 505, 808, 808, 808, 808, 505, 503, 336, 507, 808, 548, 808, 808, 504, 548, 292, 273, 464, 508, 508, 808, 808, 524, 808, 512, 281, 808, 509, 355, 130, 509, 808, 808, 510, 808, 808, 309, 808, 510, 353, 310, 510, 808, 808, 808, 808, 808, 511, 808, 808, 808, 358, 511, 808, 808, 808, 808, 808, 808, 808, 808, 808, 358, 512, 808, 808, 519, 808, 808, 523, 808, 519, 516, 513, 513, 808, 808, 515, 808, 808, 808, 808, 515, 514, 371, 514, 808, 808, 808, 808, 808, 808, 808, 808, 808, 374, 515, 808, 808, 808, 808, 808, 808, 808, 808, 808, 379, 516, 808, 808, 808, 808, 808, 518, 808, 808, 808, 517, 517, 808, 808, 808, 808, 808, 808, 808, 808, 808, 387, 518, 808, 808, 808, 808, 808, 808, 808, 808, 808, 517, 519, 808, 808, 808, 808, 808, 522, 808, 808, 808, 520, 520, 808, 808, 517, 808, 808, 808, 808, 517, 521, 396, 521, 808, 808, 808, 808, 808, 808, 808, 808, 808, 386, 522, 808, 808, 808, 808, 808, 808, 808, 808, 808, 520, 523, 808, 808, 522, 808, 808, 808, 808, 522, 518, 513, 524, 808, 808, 808, 808, 519, 569, 808, 510, 353, 525, 525, 808, 808, 558, 808, 549, 808, 808, 533, 530, 526, 526, 808, 808, 527, 101, 445, 130, 10, 423, 408, 131, 527, 808, 808, 808, 100, 441, 529, 528, 421, 407, 447, 528, 808, 808, 808, 808, 398, 808, 808, 362, 160, 401, 529, 808, 808, 808, 808, 440, 808, 808, 420, 242, 447, 530, 808, 808, 532, 808, 808, 808, 808, 532, 531, 456, 531, 808, 808, 808, 808, 808, 808, 808, 808, 808, 459, 532, 808, 808, 808, 808, 808, 808, 808, 808, 808, 467, 533, 808, 808, 540, 808, 808, 808, 808, 540, 532, 534, 534, 808, 808, 538, 808, 535, 310, 32, 456, 481, 311, 535, 808, 808, 537, 808, 808, 488, 267, 537, 536, 208, 536, 808, 808, 808, 808, 808, 485, 264, 808, 808, 216, 537, 808, 808, 808, 808, 808, 487, 266, 808, 808, 228, 538, 808, 808, 808, 808, 537, 539, 269, 455, 452, 490, 539, 808, 808, 808, 808, 487, 808, 808, 286, 284, 490, 540, 808, 808, 808, 808, 808, 808, 808, 808, 808, 541, 541, 808, 808, 547, 808, 544, 358, 44, 467, 542, 359, 542, 808, 808, 465, 808, 808, 500, 45, 465, 543, 302, 543, 808, 808, 808, 808, 808, 499, 46, 808, 808, 145, 544, 808, 808, 546, 808, 808, 506, 49, 546, 545, 336, 545, 808, 808, 808, 808, 808, 503, 110, 808, 808, 339, 546, 808, 808, 808, 808, 808, 505, 125, 808, 808, 344, 547, 808, 808, 808, 808, 546, 548, 292, 459, 465, 508, 548, 808, 808, 808, 808, 505, 808, 808, 295, 308, 508, 549, 808, 808, 555, 808, 808, 808, 808, 555, 553, 550, 550, 808, 808, 552, 808, 808, 513, 50, 552, 551, 371, 551, 808, 808, 808, 808, 808, 514, 94, 808, 808, 374, 552, 808, 808, 808, 808, 808, 515, 103, 808, 808, 379, 553, 808, 808, 808, 808, 808, 808, 808, 808, 808, 554, 554, 808, 808, 808, 808, 808, 517, 109, 808, 808, 387, 555, 808, 808, 808, 808, 808, 808, 808, 808, 808, 556, 556, 808, 808, 554, 808, 808, 520, 124, 554, 557, 396, 557, 808, 808, 808, 808, 808, 521, 123, 808, 808, 386, 558, 808, 808, 808, 808, 555, 808, 808, 540, 532, 559, 559, 808, 808, 568, 93, 565, 525, 281, 563, 560, 526, 560, 808, 808, 562, 808, 808, 530, 282, 562, 561, 456, 561, 808, 808, 808, 808, 808, 531, 294, 808, 808, 459, 562, 808, 808, 808, 808, 808, 532, 296, 808, 808, 467, 563, 808, 808, 564, 808, 808, 533, 309, 564, 562, 534, 564, 808, 808, 808, 808, 808, 540, 511, 808, 808, 541, 565, 808, 808, 567, 808, 808, 549, 523, 567, 566, 550, 566, 808, 808, 808, 808, 808, 553, 518, 808, 808, 554, 567, 808, 808, 808, 808, 808, 555, 522, 808, 808, 556, 568, 808, 808, 808, 92, 567, 558, 569, 564, 562, 559, 569, 808, 808, 808, 808, 522, 808, 808, 511, 296, 525, 570, 808, 808, 808, 808, 808, 808, 808, 808, 808, 496, 571, 808, 808, 570, 808, 808, 808, 808, 570, 468, 482, 572, 808, 808, 579, 808, 808, 583, 523, 579, 576, 573, 573, 808, 513, 575, 808, 808, 513, 50, 575, 574, 371, 574, 808, 514, 808, 808, 808, 514, 94, 808, 808, 374, 575, 808, 515, 808, 808, 808, 515, 103, 808, 808, 379, 576, 808, 808, 808, 808, 808, 578, 518, 808, 808, 577, 577, 808, 517, 808, 808, 808, 517, 109, 808, 808, 387, 578, 808, 808, 808, 808, 808, 808, 808, 808, 808, 577, 579, 808, 808, 808, 808, 808, 582, 522, 808, 808, 580, 580, 808, 520, 577, 808, 808, 520, 124, 577, 581, 396, 581, 808, 521, 808, 808, 808, 521, 123, 808, 808, 386, 582, 808, 808, 808, 808, 808, 808, 808, 808, 808, 580, 583, 808, 808, 582, 808, 808, 808, 808, 582, 578, 573, 584, 808, 808, 808, 808, 579, 595, 569, 495, 493, 585, 585, 808, 525, 594, 808, 591, 525, 281, 589, 586, 526, 586, 808, 530, 588, 808, 808, 530, 282, 588, 587, 456, 587, 808, 531, 808, 808, 808, 531, 294, 808, 808, 459, 588, 808, 532, 808, 808, 808, 532, 296, 808, 808, 467, 589, 808, 533, 590, 808, 808, 533, 309, 590, 588, 534, 590, 808, 540, 808, 808, 808, 540, 511, 808, 808, 541, 591, 808, 549, 593, 808, 808, 549, 523, 593, 592, 550, 592, 808, 553, 808, 808, 808, 553, 518, 808, 808, 554, 593, 808, 555, 808, 808, 808, 555, 522, 808, 808, 556, 594, 808, 558, 808, 808, 593, 558, 569, 590, 588, 559, 595, 808, 808, 808, 808, 582, 808, 808, 570, 468, 585, 596, 488, 535, 599, 808, 808, 483, 601, 599, 597, 208, 597, 485, 536, 808, 808, 808, 484, 598, 808, 808, 216, 598, 808, 264, 808, 808, 808, 264, 808, 808, 808, 215, 599, 487, 537, 808, 808, 808, 486, 600, 808, 808, 228, 600, 808, 266, 808, 808, 808, 266, 808, 808, 808, 227, 601, 808, 267, 600, 808, 808, 267, 808, 600, 598, 207, 602, 539, 538, 808, 808, 599, 489, 603, 453, 450, 490, 603, 808, 269, 808, 808, 600, 269, 808, 63, 60, 270, 604, 808, 808, 808, 808, 808, 616, 570, 808, 808, 605, 605, 358, 541, 614, 808, 608, 496, 36, 462, 606, 359, 606, 500, 542, 463, 808, 808, 497, 37, 463, 607, 302, 607, 499, 543, 808, 808, 808, 498, 74, 808, 808, 145, 608, 506, 544, 611, 808, 808, 501, 613, 611, 609, 336, 609, 503, 545, 808, 808, 808, 502, 610, 808, 808, 339, 610, 808, 110, 808, 808, 808, 110, 808, 808, 808, 109, 611, 505, 546, 808, 808, 808, 504, 612, 808, 808, 344, 612, 808, 125, 808, 808, 808, 125, 808, 808, 808, 124, 613, 808, 49, 612, 808, 808, 49, 808, 612, 610, 50, 614, 548, 547, 808, 808, 611, 507, 615, 458, 463, 508, 615, 808, 292, 808, 808, 612, 292, 808, 73, 79, 281, 616, 808, 808, 808, 808, 808, 808, 808, 808, 808, 605, 617, 808, 808, 616, 808, 808, 808, 808, 616, 469, 472, 618, 808, 808, 625, 808, 808, 629, 583, 625, 622, 619, 619, 513, 550, 621, 808, 808, 573, 85, 621, 620, 371, 620, 514, 551, 808, 808, 808, 574, 86, 808, 808, 374, 621, 515, 552, 808, 808, 808, 575, 95, 808, 808, 379, 622, 808, 808, 808, 808, 808, 624, 578, 808, 808, 623, 623, 517, 554, 808, 808, 808, 577, 105, 808, 808, 387, 624, 808, 808, 808, 808, 808, 808, 808, 808, 808, 623, 625, 808, 808, 808, 808, 808, 628, 582, 808, 808, 626, 626, 520, 556, 623, 808, 808, 580, 113, 623, 627, 396, 627, 521, 557, 808, 808, 808, 581, 122, 808, 808, 386, 628, 808, 808, 808, 808, 808, 808, 808, 808, 808, 626, 629, 808, 808, 628, 808, 808, 808, 808, 628, 624, 619, 630, 808, 808, 808, 118, 625, 647, 595, 604, 461, 631, 631, 525, 559, 645, 88, 639, 585, 129, 635, 632, 526, 632, 530, 560, 634, 808, 808, 586, 354, 634, 633, 456, 633, 531, 561, 808, 808, 808, 587, 349, 808, 808, 459, 634, 532, 562, 808, 808, 808, 588, 352, 808, 808, 467, 635, 533, 563, 636, 808, 808, 589, 638, 636, 634, 534, 636, 540, 564, 808, 808, 808, 590, 637, 808, 808, 541, 637, 808, 511, 808, 808, 808, 511, 808, 808, 808, 358, 638, 808, 309, 637, 808, 808, 309, 808, 637, 352, 310, 639, 549, 565, 642, 808, 808, 591, 644, 642, 640, 550, 640, 553, 566, 808, 808, 808, 592, 641, 808, 808, 554, 641, 808, 518, 808, 808, 808, 518, 808, 808, 808, 517, 642, 555, 567, 808, 808, 808, 593, 643, 808, 808, 556, 643, 808, 522, 808, 808, 808, 522, 808, 808, 808, 520, 644, 808, 523, 643, 808, 808, 523, 808, 643, 641, 513, 645, 558, 568, 808, 91, 642, 594, 646, 636, 634, 559, 646, 808, 569, 808, 808, 643, 569, 808, 637, 352, 525, 647, 808, 808, 808, 808, 628, 808, 808, 616, 469, 631, 648, 808, 528, 808, 808, 438, 528, 808, 418, 159, 401, 649, 808, 529, 808, 808, 439, 529, 528, 419, 239, 447, 650, 523, 512, 652, 808, 808, 644, 808, 652, 651, 513, 651, 518, 516, 808, 808, 808, 641, 808, 808, 808, 517, 652, 522, 519, 808, 808, 808, 643, 808, 808, 808, 520, 653, 569, 524, 808, 808, 652, 646, 808, 357, 351, 525, 654, 399, 364, 656, 808, 808, 442, 808, 656, 655, 365, 655, 388, 380, 808, 808, 808, 431, 808, 808, 808, 381, 656, 398, 389, 808, 808, 808, 438, 808, 808, 808, 390, 657, 528, 400, 808, 808, 656, 648, 808, 323, 319, 401, 658, 808, 325, 140, 808, 808, 325, 82, 140, 659, 326, 659, 808, 329, 808, 808, 808, 329, 76, 808, 808, 144, 660, 808, 330, 662, 808, 808, 330, 127, 662, 661, 331, 661, 808, 337, 808, 808, 808, 337, 111, 808, 808, 338, 662, 808, 340, 808, 808, 808, 340, 126, 808, 808, 341, 663, 808, 345, 808, 808, 662, 345, 293, 135, 140, 346, 664, 808, 808, 808, 808, 808, 808, 808, 808, 808, 314, 665, 808, 808, 664, 808, 808, 808, 808, 664, 138, 167, 666, 808, 808, 673, 808, 808, 677, 399, 673, 670, 667, 667, 808, 365, 669, 808, 808, 365, 207, 669, 668, 366, 668, 808, 372, 808, 808, 808, 372, 198, 808, 808, 373, 669, 808, 375, 808, 808, 808, 375, 204, 808, 808, 376, 670, 808, 808, 808, 808, 808, 672, 388, 808, 808, 671, 671, 808, 381, 808, 808, 808, 381, 215, 808, 808, 382, 672, 808, 808, 808, 808, 808, 808, 808, 808, 808, 671, 673, 808, 808, 808, 808, 808, 676, 398, 808, 808, 674, 674, 808, 390, 671, 808, 808, 390, 227, 671, 675, 391, 675, 808, 397, 808, 808, 808, 397, 224, 808, 808, 385, 676, 808, 808, 808, 808, 808, 808, 808, 808, 808, 674, 677, 808, 808, 676, 808, 808, 808, 808, 676, 672, 667, 678, 808, 808, 808, 808, 673, 689, 528, 313, 162, 679, 679, 808, 401, 688, 808, 685, 401, 270, 683, 680, 402, 680, 808, 470, 682, 808, 808, 470, 271, 682, 681, 449, 681, 808, 460, 808, 808, 808, 460, 272, 808, 808, 458, 682, 808, 469, 808, 808, 808, 469, 468, 808, 808, 462, 683, 808, 617, 684, 808, 808, 617, 571, 684, 682, 472, 684, 808, 616, 808, 808, 808, 616, 570, 808, 808, 605, 685, 808, 629, 687, 808, 808, 629, 583, 687, 686, 619, 686, 808, 624, 808, 808, 808, 624, 578, 808, 808, 623, 687, 808, 628, 808, 808, 808, 628, 582, 808, 808, 626, 688, 808, 647, 808, 808, 687, 647, 595, 684, 682, 631, 689, 808, 808, 808, 808, 676, 808, 808, 664, 138, 679, 690, 808, 272, 808, 808, 808, 272, 294, 808, 808, 273, 691, 808, 468, 808, 808, 808, 468, 296, 808, 808, 466, 692, 808, 571, 693, 808, 808, 571, 309, 693, 691, 482, 693, 808, 570, 808, 808, 808, 570, 511, 808, 808, 496, 694, 808, 583, 696, 808, 808, 583, 523, 696, 695, 573, 695, 808, 578, 808, 808, 808, 578, 518, 808, 808, 577, 696, 808, 582, 808, 808, 808, 582, 522, 808, 808, 580, 697, 808, 595, 808, 808, 696, 595, 569, 693, 691, 585, 698, 271, 491, 700, 808, 808, 257, 354, 700, 699, 258, 699, 272, 492, 808, 808, 808, 690, 349, 808, 808, 273, 700, 468, 493, 808, 808, 808, 691, 352, 808, 808, 466, 701, 571, 494, 702, 808, 808, 692, 638, 702, 700, 482, 702, 570, 495, 808, 808, 808, 693, 637, 808, 808, 496, 703, 583, 572, 705, 808, 808, 694, 644, 705, 704, 573, 704, 578, 576, 808, 808, 808, 695, 641, 808, 808, 577, 705, 582, 579, 808, 808, 808, 696, 643, 808, 808, 580, 706, 595, 584, 808, 808, 705, 697, 646, 702, 700, 585, 707, 808, 185, 709, 808, 808, 185, 253, 709, 708, 186, 708, 808, 209, 808, 808, 808, 209, 250, 808, 808, 210, 709, 808, 217, 808, 808, 808, 217, 252, 808, 808, 218, 710, 808, 229, 808, 808, 709, 229, 255, 711, 20, 230, 711, 808, 69, 808, 808, 808, 69, 176, 808, 808, 70, 712, 664, 313, 808, 808, 808, 713, 418, 808, 808, 314, 713, 808, 664, 808, 808, 808, 664, 362, 808, 808, 314, 714, 808, 665, 713, 808, 808, 665, 363, 713, 161, 167, 715, 677, 666, 718, 808, 808, 720, 442, 718, 716, 667, 716, 672, 670, 808, 808, 808, 717, 431, 808, 808, 671, 717, 808, 672, 808, 808, 808, 672, 388, 808, 808, 671, 718, 676, 673, 808, 808, 808, 719, 438, 808, 808, 674, 719, 808, 676, 808, 808, 808, 676, 398, 808, 808, 674, 720, 808, 677, 719, 808, 808, 677, 399, 719, 717, 667, 721, 689, 678, 808, 808, 718, 722, 648, 712, 158, 679, 722, 808, 689, 808, 808, 719, 689, 528, 713, 161, 679, 723, 183, 246, 726, 808, 808, 168, 26, 726, 724, 169, 724, 182, 247, 808, 808, 808, 179, 725, 808, 808, 180, 725, 808, 41, 808, 808, 808, 41, 34, 808, 808, 42, 726, 68, 234, 808, 808, 808, 20, 28, 808, 808, 21, 727, 185, 248, 730, 808, 808, 707, 732, 730, 728, 186, 728, 209, 249, 808, 808, 808, 708, 729, 808, 808, 210, 729, 808, 250, 808, 808, 808, 250, 264, 808, 808, 214, 730, 217, 251, 808, 808, 808, 709, 731, 808, 808, 218, 731, 808, 252, 808, 808, 808, 252, 266, 808, 808, 226, 732, 808, 253, 731, 808, 808, 253, 267, 731, 729, 206, 733, 229, 254, 808, 808, 730, 710, 735, 734, 726, 230, 734, 69, 235, 808, 808, 808, 711, 174, 808, 808, 70, 735, 808, 255, 808, 808, 731, 255, 269, 174, 28, 256, 736, 808, 808, 808, 808, 808, 745, 664, 808, 808, 737, 737, 324, 411, 744, 808, 741, 314, 83, 15, 738, 315, 738, 325, 412, 740, 808, 808, 658, 58, 740, 739, 326, 739, 329, 413, 808, 808, 808, 659, 75, 808, 808, 144, 740, 147, 241, 808, 808, 808, 140, 30, 808, 808, 141, 741, 330, 414, 743, 808, 808, 660, 84, 743, 742, 331, 742, 337, 415, 808, 808, 808, 661, 104, 808, 808, 338, 743, 340, 416, 808, 808, 808, 662, 112, 808, 808, 341, 744, 345, 417, 808, 808, 743, 663, 128, 8, 740, 346, 745, 808, 808, 808, 808, 808, 808, 808, 808, 808, 737, 746, 808, 808, 745, 808, 808, 808, 808, 745, 14, 150, 747, 808, 808, 754, 808, 808, 758, 677, 754, 751, 748, 748, 365, 426, 750, 808, 808, 667, 206, 750, 749, 366, 749, 372, 427, 808, 808, 808, 668, 197, 808, 808, 373, 750, 375, 428, 808, 808, 808, 669, 203, 808, 808, 376, 751, 808, 808, 808, 808, 808, 753, 672, 808, 808, 752, 752, 381, 430, 808, 808, 808, 671, 214, 808, 808, 382, 753, 808, 808, 808, 808, 808, 808, 808, 808, 808, 752, 754, 808, 808, 808, 808, 808, 757, 676, 808, 808, 755, 755, 390, 436, 752, 808, 808, 674, 226, 752, 756, 391, 756, 397, 437, 808, 808, 808, 675, 223, 808, 808, 385, 757, 808, 808, 808, 808, 808, 808, 808, 808, 808, 755, 758, 808, 808, 757, 808, 808, 808, 808, 757, 753, 748, 759, 808, 808, 808, 116, 754, 770, 689, 736, 137, 760, 760, 401, 447, 769, 192, 766, 679, 256, 764, 761, 402, 761, 470, 448, 763, 808, 808, 680, 257, 763, 762, 449, 762, 460, 457, 808, 808, 808, 681, 690, 808, 808, 458, 763, 469, 461, 808, 808, 808, 682, 691, 808, 808, 462, 764, 617, 471, 765, 808, 808, 683, 692, 765, 763, 472, 765, 616, 604, 808, 808, 808, 684, 693, 808, 808, 605, 766, 629, 618, 768, 808, 808, 685, 694, 768, 767, 619, 767, 624, 622, 808, 808, 808, 686, 695, 808, 808, 623, 768, 628, 625, 808, 808, 808, 687, 696, 808, 808, 626, 769, 647, 630, 808, 189, 768, 688, 697, 765, 763, 631, 770, 808, 808, 808, 808, 757, 808, 808, 745, 14, 760, 771, 127, 288, 773, 808, 808, 84, 613, 773, 772, 85, 772, 111, 289, 808, 808, 808, 104, 610, 808, 808, 105, 773, 126, 290, 808, 808, 808, 112, 612, 808, 808, 113, 774, 293, 291, 808, 808, 773, 128, 615, 180, 78, 129, 775, 33, 299, 327, 808, 808, 23, 808, 327, 776, 24, 776, 34, 300, 808, 808, 808, 475, 808, 808, 808, 35, 777, 267, 304, 779, 808, 808, 601, 808, 779, 778, 207, 778, 264, 305, 808, 808, 808, 598, 808, 808, 808, 215, 779, 266, 306, 808, 808, 808, 600, 808, 808, 808, 227, 780, 269, 307, 808, 808, 779, 603, 808, 328, 327, 270, 781, 45, 275, 142, 808, 808, 37, 808, 142, 782, 38, 782, 46, 276, 808, 808, 808, 74, 808, 808, 808, 43, 783, 49, 277, 785, 808, 808, 613, 808, 785, 784, 50, 784, 110, 278, 808, 808, 808, 610, 808, 808, 808, 109, 785, 125, 279, 808, 808, 808, 612, 808, 808, 808, 124, 786, 292, 280, 808, 808, 785, 615, 808, 144, 142, 281, 787, 808, 14, 808, 808, 808, 14, 138, 808, 808, 15, 788, 808, 746, 789, 808, 808, 746, 665, 789, 787, 150, 789, 808, 745, 808, 808, 808, 745, 664, 808, 808, 737, 790, 808, 758, 792, 808, 808, 758, 677, 792, 791, 748, 791, 808, 753, 808, 808, 808, 753, 672, 808, 808, 752, 792, 808, 757, 808, 808, 808, 757, 676, 808, 808, 755, 793, 808, 770, 808, 808, 792, 770, 689, 789, 787, 760, 794, 40, 260, 170, 808, 808, 26, 23, 170, 795, 27, 795, 41, 261, 808, 808, 808, 725, 475, 808, 808, 42, 796, 253, 262, 798, 808, 808, 732, 601, 798, 797, 206, 797, 250, 263, 808, 808, 808, 729, 598, 808, 808, 214, 798, 252, 265, 808, 808, 808, 731, 600, 808, 808, 226, 799, 255, 268, 808, 808, 798, 735, 603, 173, 170, 256, 800, 13, 133, 808, 808, 808, 7, 156, 808, 808, 8, 801, 14, 137, 808, 808, 808, 787, 161, 808, 808, 15, 802, 746, 149, 803, 808, 808, 788, 714, 803, 801, 150, 803, 745, 736, 808, 808, 808, 789, 713, 808, 808, 737, 804, 758, 747, 806, 808, 808, 790, 720, 806, 805, 748, 805, 753, 751, 808, 808, 808, 791, 717, 808, 808, 752, 806, 757, 754, 808, 808, 808, 792, 719, 808, 808, 755, 807, 770, 759, 808, 57, 806, 793, 722, 803, 801, 760}; /* Vector of min issue delay of insns. */ static const unsigned char bdver1_ieu_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 5, 32, 0, 0, 0, 0, 65, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 32, 0, 0, 0, 16, 1, 0, 0, 0, 1, 0, 82, 0, 0, 0, 16, 37, 32, 2, 32, 0, 1, 65, 0, 17, 0, 0, 3, 0, 48, 0, 2, 32, 32, 34, 0, 0, 17, 1, 1, 16, 0, 1, 16, 82, 17, 0, 0, 17, 37, 33, 18, 32, 1, 17, 82, 17, 17, 0, 0, 4, 16, 0, 0, 0, 0, 48, 2, 0, 0, 33, 2, 1, 16, 0, 2, 16, 82, 17, 0, 0, 16, 4, 16, 0, 0, 1, 1, 82, 0, 17, 0, 0, 4, 16, 0, 0, 3, 0, 48, 2, 0, 0, 80, 5, 32, 32, 0, 4, 16, 65, 17, 0, 0, 48, 3, 0, 0, 0, 5, 0, 82, 0, 0, 0, 64, 4, 16, 0, 0, 5, 1, 82, 0, 17, 0, 64, 4, 16, 0, 0, 5, 1, 82, 0, 17, 0, 64, 4, 16, 48, 0, 3, 32, 48, 34, 0, 0, 82, 5, 34, 32, 0, 5, 34, 82, 37, 34, 0, 65, 20, 17, 65, 16, 3, 0, 48, 3, 0, 0, 80, 5, 32, 48, 0, 4, 32, 65, 34, 0, 0, 49, 3, 1, 16, 0, 5, 16, 82, 17, 0, 0, 81, 37, 33, 18, 32, 4, 1, 65, 0, 17, 0, 68, 20, 20, 65, 16, 3, 48, 48, 51, 0, 0, 83, 5, 35, 48, 0, 5, 82, 82, 85, 34, 0, 84, 21, 36, 65, 16, 4, 48, 65, 51, 0, 0, 147, 9, 99, 48, 0, 8, 32, 133, 34, 0, 0, 113, 7, 65, 16, 0, 6, 0, 99, 0, 0, 0, 96, 38, 48, 2, 32, 6, 34, 99, 37, 34, 0, 81, 21, 33, 65, 16, 6, 18, 99, 17, 34, 0, 96, 22, 48, 1, 16, 5, 0, 82, 0, 0, 0, 64, 4, 16, 32, 0, 5, 1, 82, 4, 17, 0, 65, 4, 17, 48, 0, 5, 33, 82, 36, 17, 0, 64, 20, 16, 65, 16, 3, 16, 48, 19, 0, 0, 32, 2, 0, 32, 0, 2, 0, 82, 2, 0, 0, 17, 4, 17, 16, 0, 1, 17, 82, 17, 17, 0, 17, 20, 17, 17, 16, 0, 0, 48, 0, 0, 0, 0, 5, 32, 0, 0, 0, 2, 82, 0, 34, 0, 64, 20, 16, 65, 16, 5, 2, 82, 5, 34, 0, 80, 37, 32, 2, 32, 5, 18, 82, 21, 34, 0, 81, 37, 32, 2, 32, 0, 1, 82, 0, 17, 0, 80, 21, 32, 65, 16, 5, 17, 82, 0, 17, 0, 81, 5, 32, 0, 0, 5, 16, 82, 19, 0, 0, 48, 3, 0, 0, 0, 9, 0, 150, 0, 0, 0, 128, 8, 80, 32, 0, 8, 2, 133, 5, 34, 0, 113, 23, 65, 65, 16, 6, 0, 99, 3, 0, 0, 96, 38, 48, 82, 32, 6, 82, 99, 85, 34, 0, 96, 22, 48, 65, 16, 6, 65, 99, 68, 17, 0, 99, 6, 51, 48, 0, 8, 34, 133, 37, 34, 0, 128, 24, 80, 65, 16, 7, 16, 116, 19, 0, 0, 96, 6, 48, 32, 0, 6, 2, 99, 5, 34, 0, 96, 22, 48, 65, 16, 6, 33, 99, 36, 17, 0, 98, 6, 50, 32, 0, 7, 18, 116, 21, 34, 0, 130, 24, 82, 65, 16, 9, 2, 150, 0, 34, 0, 128, 24, 80, 65, 16, 7, 48, 116, 51, 0, 0, 117, 39, 69, 82, 32, 7, 65, 116, 68, 17, 0, 132, 24, 84, 65, 16, 9, 82, 150, 85, 34, 0, 145, 41, 97, 82, 32, 9, 1, 150, 0, 17, 0, 128, 8, 80, 48, 0, 7, 32, 116, 34, 0, 0, 97, 6, 49, 16, 0, 6, 17, 99, 17, 17, 0, 114, 39, 66, 82, 32, 6, 17, 99, 20, 17, 0, 114, 23, 66, 65, 16, 6, 16, 99, 19, 0, 0, 97, 38, 49, 82, 32, 8, 2, 133, 5, 34, 0, 133, 40, 85, 82, 32, 8, 48, 133, 51, 0, 0, 148, 25, 100, 65, 16, 9, 17, 150, 20, 17, 0, 145, 9, 97, 48, 0, 4, 1, 48, 0, 0, 0, 48, 2, 0, 32, 0, 2, 32, 16, 17, 0, 0, 17, 0, 0, 0, 0, 1, 16, 82, 0, 0, 0, 17, 37, 32, 2, 32, 2, 18, 82, 17, 34, 0, 16, 20, 16, 1, 16, 1, 17, 65, 20, 17, 0, 17, 21, 32, 1, 16, 2, 17, 82, 17, 17, 0, 16, 4, 16, 0, 0, 1, 1, 82, 0, 17, 0, 0, 4, 16, 48, 0, 0, 1, 82, 4, 17, 0, 84, 21, 32, 65, 16, 0, 1, 65, 4, 17, 0, 68, 20, 16, 65, 16, 4, 48, 65, 3, 0, 0, 17, 21, 33, 65, 16, 1, 16, 65, 19, 0, 0, 17, 4, 16, 0, 0, 0, 0, 48, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 37, 32, 2, 32, 2, 2, 82, 5, 34, 0, 34, 37, 34, 82, 32, 2, 2, 82, 0, 34, 0, 33, 37, 32, 2, 32, 0, 1, 82, 0, 17, 0, 32, 21, 32, 65, 16, 2, 33, 82, 36, 17, 0, 32, 21, 32, 1, 16, 2, 17, 82, 0, 17, 0, 32, 5, 32, 0, 0, 2, 32, 82, 34, 0, 0, 33, 5, 32, 0, 0, 0, 0, 65, 0, 0, 0, 16, 3, 0, 0, 0, 1, 0, 82, 0, 0, 0, 0, 4, 16, 0, 0, 0, 1, 82, 0, 17, 0, 81, 21, 32, 1, 16, 5, 17, 82, 17, 17, 0, 0, 20, 16, 1, 16, 4, 1, 65, 0, 17, 0, 66, 20, 18, 65, 16, 4, 17, 65, 17, 17, 0, 65, 20, 16, 1, 16, 4, 16, 65, 0, 0, 0, 16, 37, 32, 2, 32, 0, 1, 65, 0, 17, 0, 65, 20, 16, 1, 16, 1, 18, 82, 17, 34, 0, 17, 5, 33, 16, 0, 1, 16, 48, 17, 0, 0, 17, 9, 97, 16, 0, 0, 0, 133, 0, 0, 0, 112, 7, 64, 0, 0, 7, 2, 116, 0, 34, 0, 96, 22, 48, 1, 16, 7, 18, 116, 17, 34, 0, 112, 23, 64, 1, 16, 6, 0, 99, 0, 0, 0, 96, 38, 48, 2, 32, 7, 17, 116, 17, 17, 0, 0, 40, 80, 2, 32, 7, 1, 116, 0, 17, 0, 128, 40, 80, 2, 32, 8, 18, 133, 17, 34, 0, 129, 40, 80, 2, 32, 0, 1, 133, 0, 17, 0, 112, 7, 64, 0, 0, 7, 2, 116, 0, 34, 0, 128, 24, 80, 1, 16, 8, 17, 133, 17, 17, 0, 129, 24, 80, 1, 16, 8, 0, 133, 0, 0, 0, 129, 8, 81, 16, 0, 8, 16, 133, 0, 0, 0, 17, 41, 97, 18, 32, 0, 1, 133, 0, 17, 0, 112, 7, 64, 48, 0, 7, 2, 116, 5, 34, 0, 112, 23, 64, 65, 16, 8, 1, 133, 0, 17, 0, 129, 24, 81, 65, 16, 8, 17, 133, 0, 17, 0, 17, 25, 97, 17, 16, 0, 0, 133, 0, 0, 0, 112, 7, 64, 32, 0, 7, 2, 116, 5, 34, 0, 112, 23, 64, 65, 16, 0, 2, 133, 0, 34, 0, 128, 40, 80, 2, 32, 8, 18, 133, 21, 34, 0, 129, 40, 80, 2, 32, 8, 0, 133, 0, 0, 0, 129, 8, 81, 48, 0, 8, 16, 133, 0, 0, 0, 17, 19, 1, 16, 0, 0, 0, 32, 0, 0, 0, 32, 1, 0, 0, 0, 2, 0, 82, 0, 0, 0, 17, 4, 16, 0, 0, 1, 17, 82, 0, 17, 0, 17, 20, 16, 1, 16, 2, 2, 82, 0, 34, 0, 17, 20, 16, 1, 16, 2, 34, 82, 17, 34, 0, 32, 21, 32, 1, 16, 1, 16, 65, 0, 0, 0, 17, 21, 32, 1, 16, 2, 33, 82, 17, 17, 0, 34, 5, 33, 16, 0, 2, 0, 65, 0, 0, 0, 17, 3, 0, 0, 0, 1, 16, 82, 0, 0, 0, 17, 37, 32, 2, 32, 1, 16, 150, 0, 0, 0, 17, 41, 96, 2, 32, 9, 18, 150, 17, 34, 0, 17, 25, 96, 1, 16, 9, 17, 150, 17, 17, 0, 145, 9, 97, 16, 0, 1, 17, 48, 0, 0, 0, 65, 19, 1, 16, 0, 3, 0, 32, 0, 0, 0, 80, 5, 32, 0, 0, 4, 0, 65, 0, 0, 0, 49, 3, 0, 0, 0, 5, 16, 82, 0, 0, 0, 81, 37, 32, 2, 32, 9, 16, 150, 0, 0, 0, 145, 41, 96, 2, 32, 9, 34, 150, 37, 34, 0, 145, 25, 96, 1, 16, 9, 33, 150, 36, 17, 0, 146, 9, 98, 32, 0, 4, 17, 48, 0, 0, 0, 66, 19, 2, 32, 0, 3, 16, 32, 17, 0, 0, 81, 5, 33, 16, 0, 5, 18, 82, 17, 34, 0, 64, 20, 16, 1, 16, 3, 48, 48, 3, 0, 0, 83, 5, 32, 48, 0, 5, 82, 82, 5, 34, 0, 147, 9, 96, 48, 0, 9, 82, 150, 5, 34, 0, 148, 25, 96, 65, 16, 4, 65, 48, 3, 0, 0, 51, 2, 2, 32, 0, 5, 48, 82, 34, 0, 0, 66, 4, 17, 16, 0, 5, 33, 82, 17, 17, 0, 65, 4, 16, 0, 0, 4, 33, 65, 17, 17, 0, 49, 3, 0, 0, 0, 9, 16, 150, 0, 0, 0, 145, 41, 96, 2, 32, 9, 17, 150, 0, 17, 0, 65, 19, 0, 0, 0, 4, 65, 48, 51, 0, 0, 65, 19, 1, 48, 0, 5, 82, 82, 37, 34, 0, 68, 20, 17, 65, 16, 5, 65, 82, 36, 17, 0, 67, 4, 17, 48, 0, 3, 32, 48, 2, 0, 0, 82, 5, 32, 32, 0, 5, 34, 82, 5, 34, 0, 82, 21, 32, 65, 16, 4, 32, 65, 2, 0, 0, 66, 20, 16, 65, 16, 9, 32, 150, 2, 0, 0, 146, 41, 96, 82, 32, 9, 33, 150, 4, 17, 0, 66, 19, 0, 32, 0, 5, 65, 82, 20, 17, 0, 67, 4, 18, 32, 0, 3, 32, 48, 17, 0, 0, 33, 2, 0, 0, 0, 2, 16, 65, 0, 0, 0, 33, 20, 16, 1, 16, 1, 0, 48, 0, 0, 0, 0, 2, 0, 32, 0, 0, 0, 82, 2, 0, 0, 0, 37, 32, 82, 32, 2, 34, 82, 5, 34, 0, 0, 21, 32, 65, 16, 2, 33, 82, 4, 17, 0, 34, 5, 32, 32, 0, 0, 0, 65, 2, 0, 0, 0, 20, 16, 65, 16, 1, 16, 48, 19, 0, 0, 17, 5, 33, 48, 0, 0, 0, 65, 2, 0, 0, 0, 21, 32, 65, 16, 0, 1, 65, 4, 17, 0, 17, 37, 33, 82, 32, 1, 16, 150, 19, 0, 0, 0, 8, 80, 32, 0, 0, 2, 133, 5, 34, 0, 130, 40, 80, 82, 32, 0, 1, 133, 4, 17, 0, 130, 24, 80, 65, 16, 8, 32, 133, 2, 0, 0, 17, 41, 97, 82, 32, 0, 1, 133, 4, 17, 0, 132, 24, 80, 65, 16, 1, 17, 150, 20, 17, 0, 0, 8, 80, 48, 0, 0, 2, 133, 5, 34, 0, 133, 40, 80, 82, 32, 8, 48, 133, 3, 0, 0, 17, 19, 1, 48, 0, 0, 0, 32, 2, 0, 0, 0, 5, 32, 32, 0, 0, 2, 82, 5, 34, 0, 80, 37, 32, 82, 32, 5, 82, 82, 5, 34, 0, 0, 21, 32, 65, 16, 5, 1, 82, 4, 17, 0, 84, 21, 32, 65, 16, 5, 0, 82, 2, 0, 0, 83, 5, 32, 32, 0, 0, 0, 65, 2, 0, 0, 0, 20, 16, 65, 16, 3, 48, 48, 19, 0, 0, 34, 2, 0, 32, 0, 2, 32, 65, 2, 0, 0, 34, 20, 16, 65, 16, 2, 33, 65, 36, 17, 0, 34, 4, 18, 32, 0, 2, 32, 150, 2, 0, 0, 17, 8, 81, 16, 0, 0, 0, 116, 0, 0, 0, 0, 39, 64, 2, 32, 7, 18, 116, 0, 34, 0, 0, 23, 64, 1, 16, 7, 17, 116, 0, 17, 0, 113, 7, 64, 0, 0, 1, 18, 133, 17, 34, 0, 0, 23, 64, 1, 16, 7, 17, 116, 0, 17, 0, 17, 24, 81, 17, 16, 0, 0, 116, 0, 0, 0, 0, 39, 64, 2, 32, 7, 18, 116, 0, 34, 0, 113, 7, 64, 0, 0, 2, 34, 150, 5, 34, 0, 17, 24, 81, 65, 16, 0, 0, 116, 3, 0, 0, 0, 39, 64, 82, 32, 7, 82, 116, 5, 34, 0, 0, 23, 64, 65, 16, 7, 65, 116, 4, 17, 0, 115, 7, 64, 48, 0, 2, 34, 150, 37, 34, 0, 34, 25, 96, 65, 16, 1, 16, 133, 19, 0, 0, 0, 7, 64, 32, 0, 0, 2, 116, 5, 34, 0, 114, 39, 64, 82, 32, 0, 1, 116, 4, 17, 0, 114, 23, 64, 65, 16, 7, 32, 116, 2, 0, 0, 17, 40, 81, 82, 32, 2, 33, 150, 36, 17, 0, 34, 9, 98, 32, 0, 2, 33, 32, 2, 0, 0, 17, 1, 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 5, 32, 0, 0, 0, 2, 82, 0, 34, 0, 34, 37, 32, 2, 32, 0, 1, 82, 0, 17, 0, 34, 21, 32, 1, 16, 2, 32, 82, 0, 0, 0, 0, 4, 16, 0, 0, 0, 1, 65, 0, 17, 0, 17, 3, 0, 0, 0, 1, 16, 82, 0, 0, 0, 17, 37, 32, 2, 32, 1, 16, 150, 0, 0, 0, 17, 41, 96, 2, 32, 1, 17, 150, 0, 17, 0, 17, 19, 0, 0, 0, 2, 1, 65, 4, 17, 0, 32, 20, 16, 1, 16, 2, 33, 65, 17, 17, 0, 34, 20, 16, 1, 16, 2, 0, 65, 2, 0, 0, 34, 4, 16, 0, 0, 2, 32, 65, 17, 0, 0, 0, 9, 96, 0, 0, 1, 16, 133, 0, 0, 0, 17, 40, 80, 2, 32, 1, 17, 133, 0, 17, 0, 0, 41, 96, 2, 32, 1, 17, 133, 0, 17, 0, 32, 41, 96, 82, 32, 2, 2, 150, 0, 34, 0, 34, 41, 97, 18, 32, 2, 34, 150, 0, 34, 0, 0, 25, 96, 1, 16, 1, 16, 133, 0, 0, 0, 17, 40, 80, 2, 32, 2, 1, 150, 4, 17, 0, 32, 25, 96, 1, 16, 2, 33, 150, 17, 17, 0, 34, 25, 96, 1, 16, 2, 0, 150, 2, 0, 0, 32, 9, 96, 0, 0, 2, 32, 150, 17, 0, 0, 34, 9, 96, 0, 0, 0, 1, 0, 0, 0, 0, 17, 0, 0, 0, 0, 1, 16, 82, 0, 0, 0, 0, 4, 16, 0, 0, 0, 1, 82, 0, 17, 0, 80, 21, 32, 1, 16, 5, 33, 82, 0, 17, 0, 0, 20, 16, 1, 16, 4, 1, 65, 0, 17, 0, 66, 20, 16, 1, 16, 4, 32, 65, 0, 0, 0, 17, 37, 32, 2, 32, 0, 1, 65, 0, 17, 0, 68, 20, 16, 1, 16, 1, 18, 82, 17, 34, 0, 17, 21, 32, 1, 16, 0, 0, 65, 0, 0, 0, 0, 21, 32, 1, 16, 5, 1, 82, 0, 17, 0, 84, 21, 32, 1, 16, 4, 0, 65, 0, 0, 0, 67, 4, 16, 0, 0, 5, 17, 82, 17, 17, 0, 17, 21, 33, 17, 16, 1, 16, 82, 17, 0, 0, 17, 4, 16, 0, 0, 0, 0, 48, 0, 0, 0, 0, 5, 32, 0, 0, 0, 2, 82, 0, 34, 0, 80, 37, 32, 82, 32, 5, 2, 82, 0, 34, 0, 82, 37, 33, 18, 32, 5, 34, 82, 0, 34, 0, 80, 5, 32, 0, 0, 5, 32, 82, 17, 0, 0, 82, 5, 32, 0, 0, 3, 0, 48, 0, 0, 0, 144, 9, 96, 0, 0, 9, 2, 150, 0, 34, 0, 146, 41, 97, 18, 32, 9, 1, 150, 0, 17, 0, 146, 25, 97, 17, 16, 9, 32, 150, 17, 0, 0, 64, 19, 0, 0, 0, 3, 16, 32, 0, 0, 0, 81, 5, 32, 0, 0, 5, 18, 82, 0, 34, 0, 81, 21, 32, 1, 16, 4, 16, 65, 0, 0, 0, 65, 20, 16, 1, 16, 3, 0, 48, 0, 0, 0, 80, 5, 32, 0, 0, 5, 2, 82, 0, 34, 0, 85, 37, 33, 82, 32, 5, 48, 82, 19, 0, 0, 144, 9, 96, 0, 0, 9, 2, 150, 0, 34, 0, 149, 41, 97, 82, 32, 9, 1, 150, 0, 17, 0, 148, 25, 97, 65, 16, 9, 48, 150, 19, 0, 0, 64, 19, 0, 0, 0, 3, 48, 32, 2, 0, 0, 67, 4, 16, 32, 0, 4, 65, 65, 4, 17, 0, 68, 20, 18, 65, 16, 9, 48, 150, 2, 0, 0, 130, 8, 81, 16, 0, 8, 34, 133, 17, 34, 0, 130, 24, 81, 17, 16, 9, 82, 150, 5, 34, 0, 132, 24, 81, 65, 16, 9, 82, 150, 37, 34, 0, 148, 25, 96, 65, 16, 8, 48, 133, 19, 0, 0, 133, 40, 81, 82, 32, 9, 65, 150, 36, 17, 0, 147, 9, 98, 32, 0, 4, 65, 32, 2, 0, 0, 51, 1, 1, 16, 0, 2, 32, 0, 0, 0, 0, 34, 16, 0, 0, 0, 2, 33, 32, 34, 0, 0, 34, 17, 1, 16, 0, 5, 48, 82, 17, 0, 0, 85, 37, 33, 18, 32, 5, 65, 82, 17, 17, 0, 67, 4, 17, 16, 0, 3, 32, 48, 0, 0, 0, 146, 9, 96, 0, 0, 9, 34, 150, 0, 34, 0, 146, 25, 96, 1, 16, 4, 33, 48, 0, 0, 0, 66, 19, 1, 16, 0, 4, 65, 65, 17, 17, 0, 51, 3, 0, 0, 0, 5, 48, 82, 0, 0, 0, 85, 37, 32, 2, 32, 9, 48, 150, 0, 0, 0, 149, 41, 96, 2, 32, 9, 65, 150, 0, 17, 0, 68, 19, 0, 0, 0, 4, 65, 48, 19, 0, 0, 147, 9, 97, 16, 0, 8, 32, 133, 0, 0, 0, 130, 40, 80, 2, 32, 8, 33, 133, 0, 17, 0, 149, 41, 97, 18, 32, 8, 65, 133, 0, 17, 0, 148, 25, 97, 17, 16, 8, 48, 133, 0, 0, 0, 133, 40, 80, 2, 32, 4, 65, 16, 17, 0, 0, 51, 0, 0, 0, 0, 5, 48, 82, 0, 0, 0, 85, 37, 32, 2, 32, 5, 65, 82, 0, 17, 0, 67, 4, 16, 0, 0, 4, 65, 65, 0, 17, 0, 147, 9, 96, 0, 0, 9, 82, 150, 0, 34, 0, 148, 25, 96, 1, 16, 4, 65, 0, 0, 0, 0, 68, 18, 2, 32, 0, 4, 17, 65, 17, 17, 0, 65, 4, 17, 16, 0, 9, 16, 150, 0, 0, 0, 128, 8, 80, 0, 0, 8, 2, 133, 0, 34, 0, 128, 24, 80, 1, 16, 9, 18, 150, 0, 34, 0, 128, 24, 80, 1, 16, 9, 18, 150, 17, 34, 0, 145, 25, 96, 1, 16, 8, 0, 133, 0, 0, 0, 128, 40, 80, 2, 32, 9, 17, 150, 17, 17, 0, 145, 9, 97, 16, 0, 4, 17, 32, 0, 0, 0, 48, 1, 0, 0, 0, 5, 0, 82, 0, 0, 0, 80, 37, 32, 2, 32, 5, 1, 82, 0, 17, 0, 64, 4, 16, 0, 0, 4, 1, 65, 0, 17, 0, 144, 9, 96, 0, 0, 9, 2, 150, 0, 34, 0, 144, 25, 96, 1, 16, 4, 1, 16, 0, 0, 0, 65, 18, 1, 16, 0, 0, 0, 150, 0, 0, 0, 0, 41, 96, 2, 32, 9, 2, 150, 5, 34, 0, 0, 25, 96, 1, 16, 9, 1, 150, 4, 17, 0, 144, 9, 96, 32, 0, 0, 1, 48, 0, 0, 0, 64, 19, 0, 32, 0, 1, 17, 65, 0, 17, 0, 0, 3, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 37, 32, 2, 32, 0, 0, 150, 0, 0, 0, 0, 41, 96, 2, 32, 9, 2, 150, 5, 34, 0, 0, 25, 96, 1, 16, 9, 1, 150, 4, 17, 0, 144, 9, 96, 48, 0, 0, 1, 48, 0, 0, 0, 64, 19, 0, 48, 0, 1, 17, 65, 17, 17, 0, 17, 4, 17, 16, 0, 1, 16, 150, 0, 0, 0, 0, 8, 80, 0, 0, 0, 2, 133, 0, 34, 0, 0, 24, 80, 1, 16, 1, 18, 150, 0, 34, 0, 0, 24, 80, 1, 16, 1, 18, 150, 17, 34, 0, 17, 25, 96, 1, 16, 0, 0, 133, 0, 0, 0, 0, 40, 80, 2, 32, 1, 17, 150, 17, 17, 0, 17, 9, 97, 16, 0, 1, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 37, 32, 2, 32, 0, 1, 82, 0, 17, 0, 0, 4, 16, 0, 0, 0, 1, 65, 0, 17, 0, 64, 20, 16, 65, 16, 4, 0, 65, 2, 0, 0, 0, 9, 96, 0, 0, 0, 2, 150, 0, 34, 0, 144, 41, 96, 82, 32, 0, 1, 150, 0, 17, 0, 144, 25, 96, 65, 16, 9, 0, 150, 2, 0, 0, 0, 16, 0, 0, 0, 4, 1, 32, 2, 0, 0, 17, 17, 1, 16, 0, 2, 1, 32, 2, 0, 0, 32, 17, 0, 0, 0, 0, 0, 150, 2, 0, 0, 0, 41, 96, 82, 32, 0, 1, 150, 4, 17, 0, 0, 18, 0, 32, 0, 0, 0, 150, 2, 0, 0, 0, 41, 96, 82, 32, 0, 1, 150, 4, 17, 0, 0, 18, 0, 32, 0, 1, 0, 82, 0, 0, 0, 16, 37, 32, 2, 32, 1, 0, 150, 0, 0, 0, 16, 41, 96, 2, 32, 1, 1, 150, 0, 17, 0, 16, 19, 0, 0, 0, 2, 17, 65, 17, 17, 0, 33, 4, 17, 16, 0, 2, 16, 150, 0, 0, 0, 16, 8, 80, 0, 0, 1, 2, 133, 0, 34, 0, 16, 24, 80, 1, 16, 2, 18, 150, 0, 34, 0, 16, 24, 80, 1, 16, 2, 18, 150, 17, 34, 0, 33, 25, 96, 1, 16, 1, 0, 133, 0, 0, 0, 16, 40, 80, 2, 32, 2, 17, 150, 17, 17, 0, 33, 9, 97, 16, 0, 2, 17, 32, 0, 0, 0, 16, 1, 0, 0, 0, 1, 0, 82, 0, 0, 0, 16, 37, 32, 2, 32, 1, 1, 82, 0, 17, 0, 16, 4, 16, 0, 0, 1, 1, 65, 0, 17, 0, 16, 9, 96, 0, 0, 1, 2, 150, 0, 34, 0, 16, 25, 96, 1, 16, 1, 1, 16, 0, 0, 0, 33, 18, 1, 16, 0, 5, 2, 82, 0, 34, 0, 80, 21, 32, 1, 16, 4, 0, 65, 0, 0, 0, 64, 20, 16, 1, 16, 9, 0, 150, 0, 0, 0, 144, 41, 96, 2, 32, 9, 1, 150, 0, 17, 0, 64, 18, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 37, 32, 2, 32, 0, 1, 82, 0, 17, 0, 0, 4, 16, 0, 0, 0, 1, 65, 0, 17, 0, 0, 9, 96, 0, 0, 0, 2, 150, 0, 34, 0, 0, 25, 96, 1, 16, 0, 1, 32, 0, 0, 0, 16, 9, 96, 0, 0, 1, 2, 150, 0, 34, 0, 16, 25, 96, 1, 16, 1, 1, 48, 0, 0, 0, 16, 20, 16, 1, 16, 0, 1, 65, 0, 17, 0, 32, 20, 16, 1, 16, 2, 0, 65, 0, 0, 0, 0, 9, 96, 0, 0, 0, 2, 150, 0, 34, 0, 32, 41, 96, 2, 32, 0, 1, 150, 0, 17, 0, 32, 25, 96, 1, 16, 2, 0, 150, 0, 0, 0, 0, 18, 0, 0, 0, 2, 1, 32, 0, 0, 0, 0, 5, 32, 0, 0, 0, 2, 82, 0, 34, 0, 80, 37, 32, 2, 32, 0, 1, 82, 0, 17, 0, 0, 9, 96, 0, 0, 0, 2, 150, 0, 34, 0, 144, 41, 96, 2, 32, 0, 1, 150, 0, 17, 0, 144, 25, 96, 1, 16, 9, 0, 150, 0, 0, 0, 0, 19, 0, 0, 0, 0, 1, 65, 0, 17, 0, 64, 19, 0, 0, 0, 1, 17, 65, 0, 17, 0, 0, 3, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 37, 32, 2, 32, 0, 1, 82, 0, 17, 0, 0, 9, 96, 0, 0, 0, 2, 150, 0, 34, 0, 0, 25, 96, 1, 16, 0, 1, 48, 0, 0, 0, 17, 20, 17, 17, 16, 1, 16, 65, 17, 0, 0, 17, 9, 96, 0, 0, 0, 0, 133, 0, 0, 0, 0, 40, 80, 2, 32, 0, 1, 133, 0, 17, 0, 17, 41, 96, 2, 32, 0, 1, 133, 0, 17, 0, 17, 41, 97, 18, 32, 1, 17, 150, 0, 17, 0, 0, 8, 80, 0, 0, 0, 2, 133, 0, 34, 0, 17, 25, 97, 17, 16, 1, 16, 150, 17, 0, 0, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 32, 0, 0, 0, 2, 82, 0, 34, 0, 0, 21, 32, 1, 16, 0, 0, 65, 0, 0, 0, 0, 20, 16, 1, 16, 0, 0, 150, 0, 0, 0, 0, 41, 96, 2, 32, 0, 1, 150, 0, 17, 0, 0, 16, 0, 0, 0, 1, 17, 16, 17, 0, 0, 0, 9, 96, 0, 0, 0, 2, 150, 0, 34, 0, 0, 25, 96, 1, 16, 0, 1, 48, 0, 0, 0, 0, 5, 32, 32, 0, 0, 2, 82, 5, 34, 0, 0, 9, 96, 32, 0, 0, 2, 150, 5, 34, 0, 0, 25, 96, 65, 16, 0, 1, 48, 2, 0, 0, 0, 5, 32, 48, 0, 0, 2, 82, 5, 34, 0, 0, 9, 96, 48, 0, 0, 2, 150, 5, 34, 0, 0, 25, 96, 65, 16, 0, 1, 48, 3, 0, 0, 16, 21, 32, 1, 16, 1, 0, 65, 0, 0, 0, 16, 20, 16, 1, 16, 1, 0, 150, 0, 0, 0, 16, 41, 96, 2, 32, 1, 1, 150, 0, 17, 0, 16, 17, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 37, 32, 2, 32, 0, 0, 150, 0, 0, 0, 0, 41, 96, 2, 32, 0, 1, 150, 0, 17, 0, 0, 19, 0, 0, 0, 0, 2, 82, 0, 34, 0, 0, 21, 32, 1, 16, 0, 0, 65, 0, 0, 0, 0, 20, 16, 1, 16, 0, 0, 150, 0, 0, 0, 0, 41, 96, 2, 32, 0, 1, 150, 0, 17, 0, 0, 16, 0, 0, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver1_load_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 3, 4, 1, 5, 6, 1, 7, 8, 8, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 8, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, }; /* Vector for state transitions. */ static const unsigned short bdver1_load_transitions[] ATTRIBUTE_UNUSED = { 0, 226, 181, 289, 286, 225, 180, 274, 224, 1, 0, 1, 227, 185, 285, 280, 240, 234, 291, 269, 284, 2, 2, 111, 145, 247, 252, 189, 74, 291, 210, 244, 3, 3, 190, 75, 238, 236, 138, 291, 116, 111, 231, 4, 4, 5, 291, 183, 217, 75, 291, 68, 87, 186, 181, 5, 291, 291, 291, 291, 6, 291, 28, 27, 144, 181, 6, 291, 291, 291, 291, 7, 291, 14, 13, 20, 4, 7, 291, 291, 291, 291, 291, 291, 8, 9, 11, 5, 8, 291, 291, 291, 291, 291, 291, 291, 291, 291, 7, 9, 291, 291, 291, 291, 291, 291, 291, 8, 10, 6, 10, 291, 291, 291, 291, 291, 291, 291, 291, 291, 9, 11, 291, 291, 291, 291, 291, 291, 291, 10, 12, 13, 12, 291, 291, 291, 291, 291, 291, 291, 291, 291, 8, 13, 291, 291, 291, 291, 9, 291, 291, 14, 21, 75, 14, 291, 291, 291, 291, 8, 291, 291, 291, 291, 15, 15, 7, 291, 16, 219, 291, 291, 35, 22, 54, 5, 16, 291, 291, 291, 291, 291, 291, 17, 18, 55, 144, 17, 291, 291, 291, 291, 291, 291, 291, 291, 291, 11, 18, 291, 291, 291, 291, 291, 291, 291, 17, 19, 20, 19, 291, 291, 291, 291, 291, 291, 291, 291, 291, 10, 20, 291, 291, 291, 291, 11, 291, 291, 21, 34, 83, 21, 291, 291, 291, 291, 10, 291, 291, 291, 291, 22, 22, 9, 291, 18, 23, 291, 291, 291, 35, 56, 6, 23, 291, 291, 291, 291, 291, 291, 291, 24, 17, 86, 24, 291, 291, 291, 291, 291, 291, 291, 291, 291, 25, 25, 291, 291, 291, 291, 291, 291, 10, 11, 26, 27, 26, 291, 291, 291, 291, 291, 291, 291, 12, 291, 14, 27, 291, 291, 291, 291, 13, 291, 291, 28, 61, 127, 28, 291, 291, 291, 291, 14, 291, 291, 291, 291, 29, 29, 15, 291, 30, 259, 291, 7, 37, 62, 70, 180, 30, 16, 291, 31, 49, 291, 291, 38, 63, 71, 144, 31, 291, 291, 291, 291, 291, 291, 32, 33, 291, 36, 32, 291, 291, 291, 291, 291, 291, 291, 291, 291, 12, 33, 291, 291, 291, 291, 291, 291, 291, 32, 291, 34, 34, 291, 291, 291, 291, 12, 291, 291, 291, 291, 35, 35, 8, 291, 17, 24, 291, 291, 291, 291, 291, 7, 36, 291, 291, 291, 291, 34, 291, 291, 291, 291, 37, 37, 35, 291, 38, 40, 291, 8, 291, 291, 291, 43, 38, 17, 291, 32, 39, 291, 291, 291, 291, 291, 11, 39, 291, 291, 291, 291, 291, 291, 291, 291, 291, 26, 40, 24, 291, 39, 41, 291, 291, 291, 291, 291, 25, 41, 291, 291, 291, 291, 291, 291, 291, 291, 291, 42, 42, 291, 291, 291, 291, 291, 291, 12, 26, 291, 28, 43, 291, 7, 291, 291, 291, 291, 48, 47, 44, 5, 44, 291, 11, 291, 291, 291, 291, 291, 46, 45, 13, 45, 291, 12, 291, 291, 291, 291, 291, 291, 291, 8, 46, 291, 10, 291, 291, 291, 291, 291, 291, 291, 9, 47, 291, 9, 291, 291, 291, 291, 291, 48, 46, 6, 48, 291, 8, 291, 291, 291, 291, 291, 291, 291, 7, 49, 291, 291, 291, 291, 291, 291, 39, 50, 33, 133, 50, 291, 291, 291, 291, 291, 291, 291, 39, 32, 51, 51, 291, 291, 291, 291, 26, 291, 291, 34, 291, 52, 52, 14, 291, 53, 58, 35, 291, 291, 291, 291, 15, 53, 291, 291, 291, 291, 17, 291, 291, 291, 291, 54, 54, 11, 291, 55, 18, 291, 291, 291, 56, 57, 13, 55, 291, 291, 291, 291, 291, 291, 291, 19, 291, 21, 56, 10, 291, 19, 17, 291, 291, 291, 291, 291, 9, 57, 12, 291, 291, 19, 291, 291, 291, 291, 291, 8, 58, 291, 291, 291, 291, 24, 291, 291, 291, 291, 59, 59, 25, 291, 60, 16, 291, 291, 56, 54, 98, 27, 60, 291, 291, 291, 291, 291, 291, 19, 55, 291, 61, 61, 291, 291, 291, 291, 21, 291, 291, 291, 291, 62, 62, 22, 291, 63, 65, 291, 9, 291, 37, 72, 190, 63, 18, 291, 33, 50, 291, 291, 291, 38, 64, 20, 64, 19, 291, 291, 32, 291, 291, 291, 291, 291, 10, 65, 23, 291, 50, 66, 291, 291, 291, 40, 38, 86, 66, 291, 291, 291, 291, 291, 291, 291, 41, 39, 67, 67, 291, 291, 291, 291, 42, 291, 34, 51, 291, 68, 68, 28, 291, 69, 122, 52, 291, 291, 291, 291, 29, 69, 291, 291, 291, 291, 53, 291, 291, 291, 291, 70, 70, 54, 291, 71, 63, 291, 11, 291, 72, 73, 74, 71, 55, 291, 291, 33, 291, 291, 291, 64, 291, 21, 72, 56, 291, 64, 38, 291, 10, 291, 291, 291, 47, 73, 57, 291, 291, 64, 291, 12, 291, 291, 291, 48, 74, 291, 13, 291, 291, 47, 291, 291, 118, 115, 75, 75, 6, 291, 76, 218, 15, 291, 52, 83, 79, 4, 76, 291, 291, 291, 291, 16, 291, 53, 77, 80, 186, 77, 291, 291, 291, 291, 18, 291, 291, 53, 78, 79, 78, 291, 291, 291, 291, 19, 291, 291, 291, 291, 56, 79, 20, 291, 80, 77, 54, 291, 291, 81, 82, 83, 80, 291, 291, 291, 291, 55, 291, 291, 78, 291, 81, 81, 21, 291, 78, 53, 56, 291, 291, 291, 291, 22, 82, 34, 291, 291, 78, 57, 291, 291, 291, 291, 35, 83, 13, 291, 77, 84, 22, 291, 291, 52, 81, 75, 84, 291, 291, 291, 291, 23, 291, 291, 58, 53, 85, 85, 86, 291, 149, 76, 59, 291, 81, 79, 99, 87, 86, 291, 291, 291, 291, 25, 291, 21, 20, 51, 87, 87, 27, 291, 88, 121, 83, 291, 291, 68, 150, 127, 88, 291, 291, 291, 291, 77, 291, 291, 69, 89, 90, 89, 291, 291, 291, 291, 78, 291, 291, 291, 291, 72, 90, 79, 291, 91, 95, 70, 20, 291, 101, 110, 111, 91, 80, 291, 291, 92, 71, 291, 291, 94, 291, 81, 92, 291, 291, 291, 291, 33, 291, 291, 93, 291, 82, 93, 291, 291, 291, 291, 32, 291, 291, 291, 291, 57, 94, 78, 291, 291, 93, 64, 291, 291, 291, 291, 56, 95, 77, 291, 92, 96, 63, 291, 291, 100, 94, 79, 96, 291, 291, 291, 291, 50, 291, 291, 97, 93, 99, 97, 291, 291, 291, 291, 39, 291, 291, 291, 291, 98, 98, 26, 291, 291, 55, 291, 291, 291, 57, 291, 14, 99, 51, 291, 291, 80, 98, 291, 291, 82, 291, 52, 100, 53, 291, 93, 97, 38, 291, 291, 291, 291, 54, 101, 81, 291, 94, 100, 72, 21, 291, 291, 291, 102, 102, 47, 22, 109, 108, 291, 291, 291, 106, 103, 6, 103, 46, 56, 105, 104, 291, 291, 291, 291, 291, 9, 104, 291, 17, 291, 291, 291, 291, 291, 291, 291, 11, 105, 291, 19, 291, 291, 291, 291, 291, 291, 291, 10, 106, 48, 35, 104, 107, 291, 291, 291, 291, 291, 7, 107, 291, 24, 291, 291, 291, 291, 291, 291, 291, 25, 108, 291, 23, 291, 291, 291, 291, 291, 107, 104, 86, 109, 291, 18, 291, 291, 291, 291, 291, 104, 105, 20, 110, 82, 291, 291, 94, 73, 34, 291, 291, 291, 106, 111, 74, 83, 120, 119, 102, 291, 291, 116, 112, 75, 112, 115, 81, 114, 113, 103, 291, 291, 291, 291, 22, 113, 291, 53, 291, 291, 104, 291, 291, 291, 291, 54, 114, 291, 78, 291, 291, 105, 291, 291, 291, 291, 56, 115, 291, 21, 291, 291, 46, 291, 291, 291, 291, 22, 116, 118, 52, 113, 117, 106, 291, 291, 291, 291, 15, 117, 291, 58, 291, 291, 107, 291, 291, 291, 291, 59, 118, 291, 14, 291, 291, 48, 291, 291, 291, 291, 15, 119, 291, 84, 291, 291, 108, 291, 291, 117, 113, 85, 120, 291, 77, 291, 291, 109, 291, 291, 113, 114, 79, 121, 291, 291, 291, 291, 84, 291, 291, 122, 69, 171, 122, 291, 291, 291, 291, 58, 291, 291, 291, 291, 123, 123, 59, 291, 124, 30, 291, 25, 72, 70, 125, 126, 124, 60, 291, 291, 31, 291, 291, 64, 71, 291, 61, 125, 98, 291, 291, 71, 291, 26, 291, 73, 291, 118, 126, 291, 27, 291, 291, 74, 291, 291, 164, 175, 127, 127, 75, 291, 128, 264, 29, 6, 134, 145, 90, 226, 128, 76, 291, 129, 131, 30, 291, 100, 95, 91, 186, 129, 291, 291, 291, 291, 31, 291, 93, 92, 291, 130, 130, 36, 291, 291, 89, 82, 291, 291, 291, 291, 37, 131, 291, 291, 291, 291, 49, 291, 97, 96, 92, 132, 132, 133, 291, 291, 184, 99, 291, 291, 130, 291, 134, 133, 291, 291, 291, 291, 51, 291, 291, 36, 291, 134, 134, 52, 291, 100, 135, 37, 14, 291, 291, 291, 138, 135, 58, 291, 97, 136, 40, 291, 291, 291, 291, 59, 136, 291, 291, 291, 291, 41, 291, 291, 291, 291, 137, 137, 42, 291, 291, 60, 291, 291, 57, 98, 291, 28, 138, 43, 15, 239, 142, 291, 291, 106, 102, 139, 5, 139, 44, 54, 141, 109, 291, 291, 291, 103, 140, 13, 140, 45, 57, 291, 105, 291, 291, 291, 291, 291, 8, 141, 291, 55, 291, 291, 291, 291, 291, 105, 291, 21, 142, 291, 219, 291, 291, 291, 291, 107, 108, 109, 143, 143, 291, 291, 291, 291, 86, 291, 61, 144, 133, 151, 144, 291, 291, 291, 291, 20, 291, 291, 61, 36, 145, 145, 83, 291, 95, 146, 62, 13, 291, 134, 101, 3, 146, 84, 291, 96, 147, 65, 291, 291, 135, 100, 85, 147, 291, 291, 291, 291, 66, 291, 291, 136, 97, 148, 148, 67, 291, 291, 149, 137, 291, 82, 99, 291, 68, 149, 291, 291, 291, 291, 60, 291, 78, 80, 291, 150, 150, 61, 291, 89, 69, 81, 291, 291, 291, 291, 62, 151, 87, 291, 152, 160, 145, 27, 291, 178, 188, 225, 152, 88, 291, 153, 155, 95, 291, 291, 158, 159, 90, 153, 291, 291, 291, 291, 92, 291, 291, 154, 291, 110, 154, 291, 291, 291, 291, 93, 291, 291, 291, 291, 73, 155, 291, 291, 291, 291, 96, 291, 291, 156, 154, 157, 156, 291, 291, 291, 291, 97, 291, 291, 291, 291, 125, 157, 99, 291, 291, 91, 125, 51, 291, 110, 291, 116, 158, 69, 291, 154, 156, 100, 291, 291, 291, 291, 70, 159, 89, 291, 291, 154, 94, 291, 291, 291, 291, 72, 160, 121, 291, 155, 161, 146, 291, 291, 170, 158, 171, 161, 291, 291, 291, 291, 147, 291, 291, 162, 156, 165, 162, 291, 291, 291, 291, 136, 291, 291, 291, 291, 163, 163, 137, 291, 291, 124, 291, 42, 73, 125, 291, 164, 164, 291, 28, 291, 291, 118, 291, 291, 291, 291, 29, 165, 148, 291, 291, 169, 163, 67, 110, 157, 291, 166, 166, 164, 68, 168, 167, 116, 291, 291, 291, 291, 29, 167, 291, 122, 291, 291, 117, 291, 291, 291, 291, 123, 168, 291, 69, 291, 291, 113, 291, 291, 291, 291, 70, 169, 149, 291, 291, 129, 124, 291, 94, 91, 291, 150, 170, 122, 291, 156, 162, 135, 291, 291, 291, 291, 123, 171, 85, 291, 169, 128, 123, 86, 101, 90, 157, 172, 172, 126, 87, 177, 176, 111, 291, 291, 166, 173, 127, 173, 175, 150, 174, 168, 112, 291, 291, 291, 291, 62, 174, 291, 89, 291, 291, 114, 291, 291, 291, 291, 72, 175, 291, 61, 291, 291, 115, 291, 291, 291, 291, 62, 176, 291, 121, 291, 291, 119, 291, 291, 167, 168, 171, 177, 291, 88, 291, 291, 120, 291, 291, 168, 174, 90, 178, 68, 291, 158, 170, 134, 28, 291, 291, 291, 179, 179, 138, 29, 266, 254, 291, 43, 198, 189, 245, 180, 180, 291, 5, 291, 291, 190, 291, 164, 126, 234, 181, 181, 4, 291, 182, 216, 127, 5, 178, 151, 185, 0, 182, 183, 291, 207, 208, 128, 291, 158, 152, 187, 185, 183, 291, 291, 291, 291, 76, 291, 69, 88, 184, 185, 184, 291, 291, 291, 291, 80, 291, 291, 89, 291, 101, 185, 186, 291, 187, 152, 90, 144, 291, 188, 206, 2, 186, 144, 291, 184, 88, 79, 291, 291, 150, 130, 145, 187, 184, 291, 291, 153, 91, 291, 291, 159, 291, 101, 188, 150, 291, 159, 158, 101, 61, 291, 291, 291, 189, 189, 102, 62, 204, 201, 291, 47, 291, 198, 193, 190, 190, 291, 6, 291, 291, 43, 291, 118, 74, 191, 4, 191, 291, 20, 291, 291, 44, 291, 291, 115, 192, 83, 192, 291, 34, 291, 291, 45, 291, 291, 291, 291, 35, 193, 103, 72, 197, 194, 291, 46, 291, 291, 291, 47, 194, 104, 38, 196, 195, 291, 291, 291, 291, 291, 11, 195, 291, 39, 291, 291, 291, 291, 291, 291, 291, 26, 196, 291, 32, 291, 291, 291, 291, 291, 291, 291, 12, 197, 105, 64, 291, 196, 291, 291, 291, 291, 291, 10, 198, 106, 37, 194, 199, 291, 48, 291, 291, 291, 43, 199, 107, 40, 195, 200, 291, 291, 291, 291, 291, 25, 200, 291, 41, 291, 291, 291, 291, 291, 291, 291, 42, 201, 108, 65, 203, 202, 291, 291, 291, 199, 194, 86, 202, 291, 66, 291, 291, 291, 291, 291, 200, 195, 67, 203, 291, 50, 291, 291, 291, 291, 291, 195, 196, 51, 204, 109, 63, 205, 203, 291, 291, 291, 194, 197, 20, 205, 291, 33, 291, 291, 291, 291, 291, 196, 291, 34, 206, 130, 291, 291, 159, 110, 36, 291, 291, 291, 198, 207, 291, 291, 291, 291, 129, 291, 154, 153, 291, 206, 208, 291, 291, 291, 291, 131, 291, 156, 155, 153, 209, 209, 132, 291, 291, 187, 157, 133, 291, 206, 291, 210, 210, 116, 134, 214, 211, 198, 118, 291, 291, 291, 138, 211, 117, 135, 213, 212, 199, 291, 291, 291, 291, 59, 212, 291, 136, 291, 291, 200, 291, 291, 291, 291, 137, 213, 291, 97, 291, 291, 195, 291, 291, 291, 291, 98, 214, 113, 100, 215, 213, 194, 291, 291, 291, 291, 54, 215, 291, 93, 291, 291, 196, 291, 291, 291, 291, 57, 216, 217, 291, 208, 282, 264, 291, 170, 160, 152, 222, 217, 291, 291, 291, 291, 218, 291, 122, 121, 88, 222, 218, 291, 291, 291, 291, 219, 291, 58, 84, 77, 220, 219, 291, 291, 291, 291, 291, 291, 24, 23, 18, 143, 220, 143, 291, 221, 183, 85, 291, 150, 186, 132, 151, 221, 291, 291, 291, 291, 149, 291, 89, 184, 291, 188, 222, 220, 291, 223, 182, 171, 143, 188, 185, 209, 224, 223, 221, 291, 291, 207, 169, 291, 159, 187, 291, 188, 224, 172, 151, 280, 277, 2, 126, 291, 274, 269, 225, 225, 3, 127, 265, 251, 179, 190, 210, 2, 240, 226, 226, 180, 4, 237, 235, 3, 291, 166, 172, 227, 181, 227, 234, 186, 233, 177, 231, 291, 291, 173, 228, 145, 228, 230, 130, 291, 174, 229, 291, 291, 291, 291, 37, 229, 192, 82, 291, 114, 140, 291, 291, 291, 291, 35, 230, 291, 36, 291, 291, 192, 291, 291, 291, 291, 37, 231, 191, 79, 232, 120, 139, 291, 291, 112, 229, 83, 232, 291, 80, 291, 291, 141, 291, 291, 114, 291, 81, 233, 291, 184, 291, 291, 232, 291, 291, 174, 291, 101, 234, 291, 144, 291, 291, 191, 291, 291, 175, 230, 145, 235, 291, 217, 291, 291, 236, 291, 167, 176, 177, 222, 236, 291, 218, 291, 291, 142, 291, 117, 119, 120, 220, 237, 291, 183, 291, 291, 238, 291, 168, 177, 233, 185, 238, 291, 76, 291, 291, 239, 291, 113, 120, 232, 186, 239, 291, 16, 291, 291, 291, 291, 104, 109, 141, 144, 240, 231, 90, 250, 247, 245, 191, 291, 244, 241, 111, 241, 229, 110, 291, 243, 242, 192, 291, 291, 291, 106, 242, 140, 73, 291, 197, 291, 45, 291, 291, 291, 48, 243, 114, 94, 291, 215, 197, 291, 291, 291, 291, 56, 244, 112, 101, 243, 214, 193, 115, 291, 291, 291, 102, 245, 139, 70, 246, 204, 291, 44, 291, 193, 242, 74, 246, 141, 71, 291, 205, 291, 291, 291, 197, 291, 21, 247, 120, 95, 249, 248, 204, 291, 291, 214, 243, 79, 248, 291, 96, 291, 291, 203, 291, 291, 213, 215, 99, 249, 291, 92, 291, 291, 205, 291, 291, 215, 291, 82, 250, 232, 91, 291, 249, 246, 291, 291, 243, 291, 81, 251, 236, 264, 263, 260, 254, 291, 211, 252, 247, 220, 252, 119, 146, 248, 253, 201, 291, 291, 211, 214, 85, 253, 291, 147, 291, 291, 202, 291, 291, 212, 213, 148, 254, 142, 259, 258, 255, 291, 291, 199, 201, 204, 143, 255, 291, 257, 291, 291, 291, 291, 200, 202, 203, 256, 256, 291, 291, 291, 291, 67, 291, 36, 133, 291, 178, 257, 291, 291, 291, 291, 291, 291, 41, 66, 50, 256, 258, 291, 49, 291, 291, 291, 291, 195, 203, 205, 133, 259, 219, 291, 49, 257, 291, 291, 40, 65, 63, 143, 260, 291, 262, 291, 291, 255, 291, 212, 253, 248, 261, 261, 256, 291, 291, 221, 148, 291, 130, 132, 291, 178, 262, 291, 291, 291, 291, 257, 291, 136, 147, 96, 261, 263, 291, 131, 291, 291, 258, 291, 213, 248, 249, 132, 264, 218, 291, 131, 262, 259, 291, 135, 146, 95, 220, 265, 238, 128, 268, 263, 266, 291, 214, 247, 250, 186, 266, 239, 30, 267, 258, 291, 291, 194, 204, 246, 144, 267, 291, 31, 291, 291, 291, 291, 196, 205, 291, 36, 268, 291, 129, 291, 291, 267, 291, 215, 249, 291, 130, 269, 173, 188, 273, 270, 244, 175, 291, 291, 291, 189, 270, 168, 158, 272, 271, 214, 291, 291, 291, 291, 70, 271, 291, 156, 291, 291, 213, 291, 291, 291, 291, 125, 272, 291, 154, 291, 291, 215, 291, 291, 291, 291, 73, 273, 174, 159, 291, 272, 243, 291, 291, 291, 291, 72, 274, 166, 178, 270, 275, 210, 164, 291, 291, 291, 179, 275, 167, 170, 271, 276, 211, 291, 291, 291, 291, 123, 276, 291, 162, 291, 291, 212, 291, 291, 291, 291, 163, 277, 176, 160, 279, 278, 252, 291, 291, 275, 270, 171, 278, 291, 161, 291, 291, 253, 291, 291, 276, 271, 165, 279, 291, 155, 291, 291, 248, 291, 291, 271, 272, 157, 280, 177, 152, 281, 279, 247, 291, 291, 270, 273, 90, 281, 291, 153, 291, 291, 249, 291, 291, 272, 291, 110, 282, 291, 291, 291, 291, 262, 291, 162, 161, 155, 283, 283, 261, 291, 291, 223, 165, 256, 206, 209, 291, 274, 284, 228, 206, 291, 273, 241, 230, 291, 291, 291, 198, 285, 233, 187, 291, 281, 250, 291, 291, 273, 291, 101, 286, 235, 216, 288, 287, 251, 291, 275, 277, 280, 222, 287, 291, 282, 291, 291, 260, 291, 276, 278, 279, 283, 288, 291, 208, 291, 291, 263, 291, 271, 279, 281, 209, 289, 237, 182, 290, 288, 265, 291, 270, 280, 285, 185, 290, 291, 207, 291, 291, 268, 291, 272, 281, 291, 206}; /* Vector of min issue delay of insns. */ static const unsigned char bdver1_load_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 32, 0, 16, 0, 0, 18, 17, 1, 0, 0, 1, 49, 16, 32, 0, 0, 35, 34, 18, 0, 0, 3, 67, 50, 49, 17, 0, 36, 34, 19, 16, 0, 3, 83, 50, 66, 17, 0, 37, 34, 20, 32, 0, 4, 84, 67, 66, 34, 0, 20, 17, 3, 16, 0, 1, 65, 16, 49, 17, 0, 3, 0, 18, 0, 0, 2, 50, 33, 32, 0, 0, 54, 51, 37, 49, 16, 2, 98, 33, 83, 0, 0, 70, 68, 53, 50, 32, 1, 81, 16, 66, 0, 0, 21, 17, 4, 33, 16, 0, 64, 1, 49, 0, 0, 36, 34, 19, 16, 0, 3, 67, 50, 49, 17, 0, 35, 34, 18, 0, 0, 2, 82, 33, 66, 2, 0, 18, 17, 1, 16, 0, 1, 33, 16, 17, 17, 0, 1, 0, 16, 0, 0, 0, 48, 1, 32, 0, 0, 35, 34, 18, 0, 48, 5, 101, 84, 83, 51, 0, 38, 34, 21, 48, 48, 1, 81, 16, 66, 34, 0, 4, 0, 35, 17, 16, 1, 33, 16, 18, 34, 0, 1, 0, 32, 17, 16, 0, 96, 2, 83, 17, 0, 54, 51, 37, 49, 48, 0, 64, 2, 49, 17, 0, 52, 51, 35, 17, 48, 2, 50, 33, 32, 2, 0, 32, 34, 18, 0, 0, 2, 2, 33, 66, 0, 0, 64, 68, 52, 34, 32, 3, 3, 50, 66, 17, 0, 32, 34, 19, 16, 0, 3, 3, 50, 49, 17, 0, 35, 34, 18, 0, 0, 2, 98, 33, 83, 0, 0, 21, 17, 4, 32, 32, 0, 64, 0, 49, 17, 0, 22, 17, 5, 49, 16, 0, 80, 1, 66, 0, 0, 38, 34, 21, 48, 32, 0, 80, 2, 66, 17, 0, 5, 64, 52, 34, 32, 1, 65, 16, 49, 17, 0, 3, 0, 18, 0, 0, 2, 50, 33, 32, 2, 0, 18, 17, 1, 33, 16, 0, 16, 1, 1, 0, 0, 6, 0, 21, 48, 0, 0, 100, 3, 83, 34, 0, 4, 0, 19, 16, 0, 2, 66, 33, 49, 0, 0, 19, 17, 2, 0, 32, 0, 32, 0, 17, 17, 0, 18, 17, 1, 49, 16, 0, 16, 1, 2, 0, 0, 6, 32, 21, 48, 32, 0, 16, 2, 2, 17, 0, 1, 64, 48, 34, 32, 1, 1, 16, 49, 0, 0, 3, 0, 2, 0, 0, 1, 49, 16, 32, 0, 0, 22, 17, 5, 48, 0, 1, 97, 16, 83, 34, 0, 5, 0, 4, 32, 0, 1, 97, 16, 83, 2, 0, 5, 0, 4, 33, 16, 0, 81, 0, 66, 34, 0, 4, 0, 3, 16, 0, 1, 65, 16, 49, 0, 0, 3, 0, 2, 0, 0, 1, 49, 16, 32, 0, 0, 2, 0, 1, 16, 0, 1, 33, 16, 19, 0, 0, 18, 17, 1, 50, 32, 0, 16, 0, 2, 0, 0, 6, 16, 5, 48, 32, 1, 98, 16, 83, 3, 0, 22, 81, 5, 51, 48, 0, 97, 0, 83, 34, 0, 6, 0, 5, 48, 0, 1, 98, 16, 83, 0, 0, 22, 49, 5, 49, 48, 0, 82, 1, 66, 2, 0, 5, 16, 4, 32, 32, 0, 96, 0, 83, 17, 0, 1, 0, 0, 33, 16, 0, 0, 1, 49, 0, 0, 0, 0, 36, 33, 16, 3, 3, 50, 83, 17, 0, 64, 68, 53, 50, 32, 0, 0, 2, 49, 17, 0, 48, 51, 35, 17, 16, 2, 2, 33, 49, 0, 0, 32, 34, 21, 48, 0, 0, 17, 0, 2, 34, 0, 0, 0, 3, 16, 0, 0, 0, 0, 66, 17, 0, 16, 17, 5, 49, 16, 1, 1, 16, 83, 34, 0, 16, 17, 4, 33, 16, 0, 0, 0, 49, 17, 0, 16, 17, 3, 17, 16, 1, 1, 16, 49, 17, 0, 16, 17, 3, 16, 0, 1, 1, 16, 83, 0, 0, 18, 17, 1, 16, 0, 1, 33, 16, 17, 17, 0, 1, 0, 16, 0, 0, 0, 50, 1, 32, 2, 0, 1, 32, 16, 32, 32, 1, 1, 16, 17, 0, 0, 1, 0, 0, 0, 0, 0, 48, 0, 32, 0, 0, 19, 33, 2, 0, 48, 0, 33, 0, 18, 34, 0, 19, 33, 2, 0, 0, 0, 33, 0, 18, 2, 0, 18, 17, 1, 32, 32, 0, 16, 0, 1, 17, 0, 4, 0, 3, 17, 16, 1, 67, 16, 49, 19, 0, 3, 32, 18, 0, 32, 0, 0, 1, 32, 0, 0, 0, 0, 20, 32, 0, 0, 4, 3, 66, 34, 0, 32, 34, 21, 48, 32, 2, 2, 33, 32, 0, 0, 18, 17, 1, 0, 0, 1, 33, 16, 18, 0, 0, 1, 0, 0, 16, 0, 0, 64, 0, 49, 0, 0, 20, 33, 3, 16, 0, 0, 49, 0, 32, 2, 0, 19, 17, 2, 0, 32, 0, 32, 0, 18, 17, 0, 1, 0, 0, 16, 0, 0, 32, 0, 19, 0, 0, 18, 33, 1, 48, 48, 1, 37, 16, 19, 51, 0, 18, 33, 1, 48, 0, 1, 35, 16, 19, 19, 0, 1, 16, 0, 32, 32, 0, 32, 0, 19, 17, 0, 2, 16, 1, 50, 32, 0, 32, 0, 17, 0, 0, 18, 33, 1, 16, 0, 1, 35, 16, 17, 19, 0, 1, 32, 16, 0, 32, 1, 1, 16, 17, 17, 0, 1, 16, 0, 0, 32, 0, 0, 0, 17, 17, 0, 16, 17, 1, 17, 16, 1, 1, 16, 19, 17, 0, 3, 16, 2, 0, 32, 0, 32, 0, 17, 17, 0, 1, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 1, 33, 16, 1, 1, 16, 19, 34, 0, 16, 17, 1, 33, 16, 1, 1, 16, 17, 0, 0, 16, 17, 1, 48, 0, 0, 16, 0, 1, 17, 0, 0, 0, 16, 0, 0, 1, 1, 16, 16, 0, 0, 1, 0, 0, 0, 0, 0, 32, 0, 16, 0, 0, 18, 17, 1, 0, 0, 1, 33, 16, 19, 2, 0, 1, 0, 0, 32, 0, 0, 32, 0, 18, 0, 0, 2, 16, 1, 48, 32, 0, 16, 0, 2, 17, 0, 0, 0, 16, 16, 0, 1, 1, 16, 32, 0, 0, 16, 17, 4, 32, 0, 1, 1, 16, 66, 34, 0, 0, 0, 32, 33, 16, 0, 0, 2, 83, 17, 0, 48, 51, 37, 49, 48, 5, 5, 84, 83, 51, 0, 0, 64, 53, 50, 32, 0, 0, 2, 1, 17, 0, 0, 0, 35, 17, 16, 3, 3, 50, 49, 19, 0, 0, 0, 19, 16, 0, 2, 2, 33, 49, 0, 0, 32, 34, 21, 48, 0, 0, 0, 1, 83, 0, 0, 32, 34, 21, 48, 48, 0, 17, 0, 2, 34, 0, 18, 33, 1, 0, 48, 1, 34, 16, 16, 0, 0, 1, 16, 0, 32, 32, 0, 0, 0, 1, 17, 0, 0, 0, 3, 17, 16, 1, 3, 16, 49, 19, 0, 16, 49, 5, 49, 48, 0, 0, 0, 83, 17, 0, 16, 81, 5, 51, 48, 0, 32, 0, 16, 0, 0, 18, 17, 1, 0, 0, 1, 49, 16, 32, 0, 0, 35, 34, 18, 0, 0, 0, 32, 0, 16, 0, 0, 18, 17, 1, 0, 32, 0, 16, 0, 0, 0, 0, 2, 16, 1, 0, 32, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 32, 0, 0, 1, 0, 18, 34, 0, 0, 16, 4, 34, 32, 1, 1, 16, 18, 34, 0, 0, 0, 4, 32, 0, 1, 1, 16, 83, 2, 0, 16, 17, 1, 48, 32, 1, 1, 16, 18, 0, 0, 16, 17, 1, 0, 0, 1, 1, 16, 32, 0, 0, 16, 17, 1, 0, 0, 1, 1, 16, 32, 0, 0, 32, 34, 18, 0, 0, 0, 0, 0, 2, 0, 0, 0, 16, 0, 34, 32, 0, 4, 3, 2, 34, 0, 0, 16, 5, 50, 32, 0, 0, 0, 2, 17, 0, 0, 0, 16, 32, 0, 0, 2, 1, 83, 2, 0, 0, 0, 5, 48, 0, 1, 2, 16, 83, 0, 0, 16, 33, 5, 48, 48, 0, 1, 0, 83, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 49, 0, 0, 16, 33, 3, 16, 0, 0, 0, 1, 32, 0, 0, 32, 34, 18, 0, 0, 1, 33, 16, 16, 2, 0, 35, 34, 18, 0, 0, 2, 2, 33, 32, 0, 0, 3, 0, 18, 0, 0, 1, 2, 16, 32, 0, 0, 2, 16, 1, 0, 32, 1, 50, 16, 32, 0, 0, 16, 33, 2, 0, 0, 0, 48, 0, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 32, 0, 0, 32, 34, 18, 0, 48, 1, 2, 16, 32, 3, 0, 0, 0, 0, 33, 16, 0, 0, 0, 19, 17, 0, 16, 49, 1, 49, 48, 1, 5, 16, 19, 51, 0, 0, 16, 1, 50, 32, 0, 0, 0, 1, 17, 0, 0, 0, 1, 17, 16, 1, 3, 16, 17, 19, 0, 0, 0, 1, 16, 0, 1, 2, 16, 17, 0, 0, 16, 33, 1, 48, 0, 0, 0, 0, 19, 0, 0, 16, 33, 1, 48, 48, 1, 34, 16, 16, 0, 0, 1, 16, 0, 0, 32, 0, 1, 0, 2, 34, 0, 0, 16, 1, 48, 32, 0, 0, 0, 16, 0, 0, 16, 33, 1, 0, 0, 1, 2, 16, 16, 0, 0, 0, 0, 1, 0, 0, 1, 2, 16, 16, 3, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver1_fp_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 6, 6, 3, 3, 3, 0, 0, 7, 7, 7, 0, 7, 0, 3, 7, 8, 8, 5, 7, 3, 7, 7, 7, 9, 9, 3, 3, 6, 6, 1, 1, 10, 10, 10, 0, 3, 3, 10, 10, 3, 3, 3, 3, 11, 11, 3, 3, 3, 3, 10, 10, 3, 3, 3, 3, 10, 10, 7, 7, 12, 12, 12, 12, 12, 12, 12, 12, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, }; /* Comb vector for state transitions. */ static const unsigned short bdver1_fp_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 2, 10, 5, 15, 10, 1935, 1941, 79, 10, 10, 1944, 0, 1935, 1946, 1, 1928, 1946, 1833, 1928, 1833, 1936, 984, 1928, 1928, 1939, 0, 10, 0, 2, 11, 1946, 16, 11, 1928, 1932, 11, 1946, 16, 1934, 0, 19, 3, 12, 20, 1946, 1737, 20, 1825, 1829, 1, 20, 20, 1831, 23, 23, 0, 21, 24, 1946, 1645, 24, 1727, 1731, 22, 24, 24, 1733, 27, 27, 23, 25, 28, 1946, 1559, 28, 1635, 1639, 26, 28, 28, 1641, 31, 31, 27, 29, 32, 1946, 1479, 32, 1549, 1553, 30, 32, 32, 1555, 35, 35, 31, 33, 36, 1946, 1405, 36, 1469, 1473, 34, 36, 36, 1475, 39, 39, 35, 37, 40, 1946, 1337, 40, 1395, 1399, 38, 40, 40, 1401, 43, 43, 39, 41, 44, 1946, 1275, 44, 1327, 1331, 42, 44, 44, 1333, 47, 47, 43, 45, 48, 1946, 1219, 48, 1265, 1269, 46, 48, 48, 1271, 51, 51, 47, 49, 52, 1946, 1169, 52, 1209, 1213, 50, 52, 52, 1215, 55, 55, 51, 53, 56, 1946, 1125, 56, 1159, 1163, 54, 56, 56, 1165, 59, 59, 55, 57, 60, 1946, 1087, 60, 1115, 1119, 58, 60, 60, 1121, 63, 63, 59, 61, 64, 1946, 1055, 64, 1077, 1081, 62, 64, 64, 1083, 67, 67, 63, 65, 68, 1946, 1029, 68, 1045, 1049, 66, 68, 68, 1051, 71, 71, 67, 69, 72, 1946, 1009, 72, 1019, 1023, 70, 72, 72, 1025, 75, 75, 71, 73, 76, 1946, 995, 76, 999, 1003, 74, 76, 76, 1005, 79, 79, 75, 77, 11, 1946, 80, 11, 984, 988, 78, 11, 11, 991, 0, 83, 79, 3, 84, 1946, 888, 84, 976, 980, 84, 1946, 888, 982, 87, 87, 4, 4, 88, 1946, 796, 88, 878, 882, 88, 1946, 796, 884, 91, 91, 5, 5, 92, 1946, 710, 92, 786, 790, 92, 1946, 710, 792, 95, 95, 6, 6, 96, 1946, 630, 96, 700, 704, 96, 1946, 630, 706, 99, 99, 7, 7, 100, 1946, 556, 100, 620, 624, 100, 1946, 556, 626, 103, 103, 8, 8, 104, 1946, 488, 104, 546, 550, 104, 1946, 488, 552, 107, 107, 9, 9, 108, 1946, 426, 108, 478, 482, 108, 1946, 426, 484, 111, 111, 1, 14, 112, 1946, 370, 112, 416, 420, 112, 1946, 370, 422, 115, 115, 15, 18, 116, 1946, 320, 116, 360, 364, 116, 1946, 320, 366, 119, 119, 19, 22, 120, 1946, 276, 120, 310, 314, 120, 1946, 276, 316, 123, 123, 23, 26, 124, 1946, 238, 124, 266, 270, 124, 1946, 238, 272, 127, 127, 27, 30, 128, 1946, 206, 128, 228, 232, 128, 1946, 206, 234, 131, 131, 31, 34, 132, 1946, 180, 132, 196, 200, 132, 1946, 180, 202, 135, 135, 35, 38, 136, 1946, 160, 136, 170, 174, 136, 1946, 160, 176, 139, 139, 39, 42, 140, 1946, 146, 140, 150, 154, 140, 1946, 146, 156, 10, 150, 43, 46, 143, 1946, 147, 143, 147, 151, 143, 1946, 147, 153, 10, 170, 47, 50, 157, 1946, 161, 157, 161, 171, 157, 1946, 161, 173, 139, 196, 51, 54, 177, 1946, 181, 177, 181, 197, 177, 1946, 181, 199, 135, 228, 55, 58, 203, 1946, 207, 203, 207, 229, 203, 1946, 207, 231, 131, 266, 59, 62, 235, 1946, 239, 235, 239, 267, 235, 1946, 239, 269, 127, 310, 63, 66, 273, 1946, 277, 273, 277, 311, 273, 1946, 277, 313, 123, 360, 67, 70, 317, 1946, 321, 317, 321, 361, 317, 1946, 321, 363, 119, 416, 71, 74, 367, 1946, 371, 367, 371, 417, 367, 1946, 371, 419, 115, 478, 75, 78, 423, 1946, 427, 423, 427, 479, 423, 1946, 427, 481, 111, 546, 79, 82, 485, 1946, 489, 485, 489, 547, 485, 1946, 489, 549, 107, 620, 83, 86, 553, 1946, 557, 553, 557, 621, 553, 1946, 557, 623, 103, 700, 87, 90, 627, 1946, 631, 627, 631, 701, 627, 1946, 631, 703, 99, 786, 91, 94, 707, 1946, 711, 707, 711, 787, 707, 1946, 711, 789, 95, 878, 95, 98, 793, 1946, 797, 793, 797, 879, 793, 1946, 797, 881, 91, 976, 99, 102, 885, 1946, 889, 885, 889, 977, 885, 1946, 889, 979, 87, 984, 103, 85, 13, 1946, 81, 13, 81, 985, 86, 13, 13, 987, 0, 999, 87, 89, 992, 1946, 996, 992, 996, 1000, 90, 992, 992, 1002, 79, 1019, 91, 93, 1006, 1946, 1010, 1006, 1010, 1020, 94, 1006, 1006, 1022, 75, 1045, 95, 97, 1026, 1946, 1030, 1026, 1030, 1046, 98, 1026, 1026, 1048, 71, 1077, 99, 101, 1052, 1946, 1056, 1052, 1056, 1078, 102, 1052, 1052, 1080, 67, 1115, 103, 105, 1084, 1946, 1088, 1084, 1088, 1116, 106, 1084, 1084, 1118, 63, 1159, 107, 109, 1122, 1946, 1126, 1122, 1126, 1160, 110, 1122, 1122, 1162, 59, 1209, 111, 113, 1166, 1946, 1170, 1166, 1170, 1210, 114, 1166, 1166, 1212, 55, 1265, 115, 117, 1216, 1946, 1220, 1216, 1220, 1266, 118, 1216, 1216, 1268, 51, 1327, 119, 121, 1272, 1946, 1276, 1272, 1276, 1328, 122, 1272, 1272, 1330, 47, 1395, 123, 125, 1334, 1946, 1338, 1334, 1338, 1396, 126, 1334, 1334, 1398, 43, 1469, 127, 129, 1402, 1946, 1406, 1402, 1406, 1470, 130, 1402, 1402, 1472, 39, 1549, 131, 133, 1476, 1946, 1480, 1476, 1480, 1550, 134, 1476, 1476, 1552, 35, 1635, 135, 137, 1556, 1946, 1560, 1556, 1560, 1636, 138, 1556, 1556, 1638, 31, 1727, 139, 141, 1642, 1946, 1646, 1642, 1646, 1728, 142, 1642, 1642, 1730, 27, 1825, 10, 145, 1734, 1946, 1738, 1734, 1738, 1826, 144, 1734, 1734, 1828, 23, 1928, 16, 106, 13, 1946, 17, 13, 17, 1929, 13, 1946, 17, 1931, 0, 1939, 107, 110, 987, 1946, 1834, 987, 1834, 1937, 987, 1946, 1834, 1940, 83, 1944, 111, 114, 991, 1946, 1926, 991, 1939, 1942, 991, 1946, 1926, 1945, 83, 15, 115, 118, 16, 1946, 122, 16, 1833, 1946, 80, 16, 16, 1926, 0, 1941, 119, 126, 1932, 123, 130, 1932, 1936, 1946, 988, 1932, 1932, 1942, 15, 80, 127, 149, 12, 131, 134, 12, 81, 1946, 148, 12, 12, 983, 0, 988, 20, 155, 989, 135, 138, 989, 985, 1946, 152, 989, 989, 990, 15, 995, 21, 159, 77, 139, 142, 77, 996, 1946, 158, 77, 77, 998, 79, 1003, 146, 164, 994, 10, 144, 994, 1000, 1946, 165, 994, 994, 1004, 80, 1009, 24, 168, 73, 16, 148, 73, 1010, 1946, 167, 73, 73, 1018, 75, 1023, 25, 169, 1008, 20, 152, 1008, 1020, 1946, 162, 1008, 1008, 1024, 995, 1029, 163, 175, 69, 21, 158, 69, 1030, 1946, 172, 69, 69, 1044, 71, 1049, 164, 179, 1028, 146, 162, 1028, 1046, 1946, 178, 1028, 1028, 1050, 1009, 1055, 160, 184, 65, 163, 165, 65, 1056, 1946, 185, 65, 65, 1076, 67, 1081, 186, 187, 1054, 24, 167, 1054, 1078, 1946, 188, 1054, 1054, 1082, 1029, 1087, 28, 191, 61, 25, 172, 61, 1088, 1946, 190, 61, 61, 1114, 63, 1119, 29, 194, 1086, 164, 178, 1086, 1116, 1946, 193, 1086, 1086, 1120, 1055, 1125, 187, 195, 57, 160, 182, 57, 1126, 1946, 182, 57, 57, 1158, 59, 1163, 183, 201, 1124, 183, 185, 1124, 1160, 1946, 198, 1124, 1124, 1164, 1087, 1169, 184, 205, 53, 186, 188, 53, 1170, 1946, 204, 53, 53, 1208, 55, 1213, 180, 210, 1168, 28, 190, 1168, 1210, 1946, 211, 1168, 1168, 1214, 1125, 1219, 212, 213, 49, 29, 193, 49, 1220, 1946, 214, 49, 49, 1264, 51, 1269, 215, 216, 1218, 187, 198, 1218, 1266, 1946, 217, 1218, 1218, 1270, 1169, 1275, 32, 220, 45, 184, 204, 45, 1276, 1946, 219, 45, 45, 1326, 47, 1331, 33, 223, 1274, 180, 208, 1274, 1328, 1946, 222, 1274, 1274, 1332, 1219, 1337, 216, 226, 41, 209, 211, 41, 1338, 1946, 225, 41, 41, 1394, 43, 1399, 213, 227, 1336, 212, 214, 1336, 1396, 1946, 208, 1336, 1336, 1400, 1275, 1405, 209, 233, 37, 215, 217, 37, 1406, 1946, 230, 37, 37, 1468, 39, 1473, 210, 237, 1404, 32, 219, 1404, 1470, 1946, 236, 1404, 1404, 1474, 1337, 1479, 206, 242, 33, 33, 222, 33, 1480, 1946, 243, 33, 33, 1548, 35, 1553, 244, 245, 1478, 216, 225, 1478, 1550, 1946, 246, 1478, 1478, 1554, 1405, 1559, 247, 248, 29, 213, 230, 29, 1560, 1946, 249, 29, 29, 1634, 31, 1639, 250, 251, 1558, 210, 236, 1558, 1636, 1946, 252, 1558, 1558, 1640, 1479, 1645, 36, 255, 25, 206, 240, 25, 1646, 1946, 254, 25, 25, 1726, 27, 1731, 37, 258, 1644, 241, 243, 1644, 1728, 1946, 257, 1644, 1644, 1732, 1559, 1737, 251, 261, 21, 244, 246, 21, 1738, 1946, 260, 21, 21, 1824, 23, 1829, 248, 264, 1736, 247, 249, 1736, 1826, 252, 263, 1736, 1736, 1830, 1645, 1833, 245, 1946, 17, 250, 254, 17, 36, 265, 81, 17, 17, 1834, 0, 1936, 240, 257, 1929, 37, 260, 1929, 241, 1946, 985, 1929, 1929, 1937, 15, 11, 251, 1946, 1946, 248, 12, 12, 13, 989, 13, 263, 12, 1946, 0, 1, 1, 1, 14, 16, 271, 1, 12, 0, 245, 12, 17, 268, 12, 20, 1946, 1832, 0, 242, 21, 21, 1734, 1736, 24, 1946, 21, 1946, 23, 25, 25, 1642, 1644, 28, 1946, 25, 1946, 27, 29, 29, 1556, 1558, 32, 1946, 29, 1946, 31, 33, 33, 1476, 1478, 36, 1946, 33, 1946, 35, 37, 37, 1402, 1404, 40, 1946, 37, 1946, 39, 41, 41, 1334, 1336, 44, 1946, 41, 1946, 43, 45, 45, 1272, 1274, 48, 1946, 45, 1946, 47, 49, 49, 1216, 1218, 52, 1946, 49, 1946, 51, 53, 53, 1166, 1168, 56, 1946, 53, 1946, 55, 57, 57, 1122, 1124, 60, 1946, 57, 1946, 59, 61, 61, 1084, 1086, 64, 1946, 61, 1946, 63, 65, 65, 1052, 1054, 68, 1946, 65, 1946, 67, 69, 69, 1026, 1028, 72, 1946, 69, 1946, 71, 73, 73, 1006, 1008, 76, 268, 73, 275, 75, 77, 77, 992, 994, 81, 274, 77, 1, 79, 242, 1, 238, 274, 84, 1, 1, 82, 0, 85, 85, 885, 887, 88, 1946, 85, 238, 87, 89, 89, 793, 795, 92, 1946, 89, 1946, 91, 93, 93, 707, 709, 96, 1946, 93, 1946, 95, 97, 97, 627, 629, 100, 1946, 97, 1946, 99, 101, 101, 553, 555, 104, 1946, 101, 1946, 103, 105, 105, 485, 487, 108, 1946, 105, 1946, 107, 109, 109, 423, 425, 112, 1946, 109, 1946, 111, 113, 113, 367, 369, 116, 1946, 113, 1946, 115, 117, 117, 317, 319, 120, 1946, 117, 1946, 119, 121, 121, 273, 275, 124, 1946, 121, 1946, 123, 125, 125, 235, 237, 128, 1946, 125, 1946, 127, 129, 129, 203, 205, 132, 1946, 129, 1946, 131, 133, 133, 177, 179, 136, 1946, 133, 1946, 135, 137, 137, 157, 159, 140, 1946, 137, 1946, 139, 141, 141, 143, 145, 143, 278, 141, 1946, 10, 142, 142, 142, 144, 146, 280, 142, 141, 10, 279, 141, 147, 281, 141, 153, 281, 149, 10, 282, 148, 148, 148, 152, 154, 283, 148, 145, 20, 282, 145, 151, 284, 145, 156, 1946, 155, 16, 285, 149, 149, 153, 155, 157, 284, 149, 1946, 20, 138, 138, 138, 158, 160, 286, 138, 137, 139, 285, 137, 161, 287, 137, 163, 1946, 169, 139, 288, 164, 164, 166, 168, 166, 1946, 164, 1946, 24, 165, 165, 165, 167, 173, 287, 165, 1946, 24, 162, 162, 162, 172, 174, 289, 162, 159, 163, 288, 159, 171, 290, 159, 176, 1946, 175, 146, 291, 169, 169, 173, 175, 177, 290, 169, 1946, 163, 134, 134, 134, 178, 180, 292, 134, 133, 135, 291, 133, 181, 293, 133, 183, 1946, 195, 135, 40, 184, 184, 192, 194, 186, 1946, 184, 1946, 186, 187, 187, 189, 191, 189, 1946, 187, 1946, 28, 188, 188, 188, 190, 192, 1946, 188, 1946, 28, 185, 185, 185, 193, 199, 293, 185, 1946, 186, 182, 182, 182, 198, 200, 296, 182, 179, 183, 40, 179, 197, 295, 179, 202, 1946, 201, 160, 41, 195, 195, 199, 201, 203, 295, 195, 1946, 183, 130, 130, 130, 204, 206, 299, 130, 129, 131, 41, 129, 207, 298, 129, 209, 1946, 227, 131, 292, 210, 210, 224, 226, 212, 1946, 210, 1946, 212, 213, 213, 221, 223, 215, 1946, 213, 1946, 215, 216, 216, 218, 220, 218, 1946, 216, 1946, 32, 217, 217, 217, 219, 221, 1946, 217, 1946, 32, 214, 214, 214, 222, 224, 1946, 214, 1946, 215, 211, 211, 211, 225, 231, 298, 211, 1946, 212, 208, 208, 208, 230, 232, 302, 208, 205, 209, 292, 205, 229, 301, 205, 234, 1946, 233, 180, 289, 227, 227, 231, 233, 235, 301, 227, 1946, 209, 126, 126, 126, 236, 238, 305, 126, 125, 127, 289, 125, 239, 304, 125, 241, 1946, 265, 127, 286, 242, 242, 262, 264, 244, 1946, 242, 1946, 244, 245, 245, 259, 261, 247, 1946, 245, 1946, 247, 248, 248, 256, 258, 250, 1946, 248, 1946, 250, 251, 251, 253, 255, 253, 1946, 251, 1946, 36, 252, 252, 252, 254, 256, 1946, 252, 1946, 36, 249, 249, 249, 257, 259, 1946, 249, 1946, 250, 246, 246, 246, 260, 262, 1946, 246, 1946, 247, 243, 243, 243, 263, 269, 304, 243, 1946, 244, 240, 240, 240, 268, 270, 308, 240, 237, 241, 286, 237, 267, 307, 237, 272, 1946, 271, 206, 283, 265, 265, 269, 271, 273, 307, 265, 1946, 241, 122, 122, 122, 274, 276, 309, 122, 121, 123, 283, 121, 277, 278, 121, 279, 1946, 309, 123, 279, 280, 280, 306, 308, 282, 1946, 280, 1946, 282, 283, 283, 303, 305, 285, 1946, 283, 1946, 285, 286, 286, 300, 302, 288, 1946, 286, 1946, 288, 289, 289, 297, 299, 291, 1946, 289, 1946, 291, 292, 292, 294, 296, 294, 1946, 292, 1946, 40, 293, 293, 293, 295, 297, 1946, 293, 1946, 40, 290, 290, 290, 298, 300, 1946, 290, 1946, 291, 287, 287, 287, 301, 303, 1946, 287, 1946, 288, 284, 284, 284, 304, 306, 1946, 284, 1946, 285, 281, 281, 281, 307, 313, 312, 281, 1946, 282, 278, 278, 278, 312, 314, 315, 278, 275, 279, 280, 275, 311, 312, 275, 316, 1946, 315, 238, 280, 309, 309, 313, 315, 317, 318, 309, 1946, 279, 118, 118, 118, 318, 320, 319, 118, 117, 119, 276, 117, 321, 318, 117, 323, 1946, 359, 119, 276, 324, 324, 356, 358, 326, 1946, 324, 1946, 326, 327, 327, 353, 355, 329, 1946, 327, 1946, 329, 330, 330, 350, 352, 332, 1946, 330, 1946, 332, 333, 333, 347, 349, 335, 1946, 333, 1946, 335, 336, 336, 344, 346, 338, 1946, 336, 1946, 338, 339, 339, 341, 343, 341, 1946, 339, 1946, 44, 340, 340, 340, 342, 344, 1946, 340, 1946, 44, 337, 337, 337, 345, 347, 1946, 337, 1946, 338, 334, 334, 334, 348, 350, 1946, 334, 1946, 335, 331, 331, 331, 351, 353, 1946, 331, 1946, 332, 328, 328, 328, 354, 356, 1946, 328, 1946, 329, 325, 325, 325, 357, 363, 322, 325, 1946, 326, 322, 322, 322, 362, 364, 324, 322, 319, 323, 323, 319, 361, 325, 319, 366, 1946, 365, 276, 326, 359, 359, 363, 365, 367, 325, 359, 1946, 323, 114, 114, 114, 368, 370, 327, 114, 113, 115, 326, 113, 371, 328, 113, 373, 1946, 415, 115, 329, 374, 374, 412, 414, 376, 1946, 374, 1946, 376, 377, 377, 409, 411, 379, 1946, 377, 1946, 379, 380, 380, 406, 408, 382, 1946, 380, 1946, 382, 383, 383, 403, 405, 385, 1946, 383, 1946, 385, 386, 386, 400, 402, 388, 1946, 386, 1946, 388, 389, 389, 397, 399, 391, 1946, 389, 1946, 391, 392, 392, 394, 396, 394, 1946, 392, 1946, 48, 393, 393, 393, 395, 397, 1946, 393, 1946, 48, 390, 390, 390, 398, 400, 1946, 390, 1946, 391, 387, 387, 387, 401, 403, 1946, 387, 1946, 388, 384, 384, 384, 404, 406, 1946, 384, 1946, 385, 381, 381, 381, 407, 409, 1946, 381, 1946, 382, 378, 378, 378, 410, 412, 1946, 378, 1946, 379, 375, 375, 375, 413, 419, 328, 375, 1946, 376, 372, 372, 372, 418, 420, 330, 372, 369, 373, 329, 369, 417, 331, 369, 422, 1946, 421, 320, 332, 415, 415, 419, 421, 423, 331, 415, 1946, 373, 110, 110, 110, 424, 426, 333, 110, 109, 111, 332, 109, 427, 334, 109, 429, 1946, 477, 111, 335, 430, 430, 474, 476, 432, 1946, 430, 1946, 432, 433, 433, 471, 473, 435, 1946, 433, 1946, 435, 436, 436, 468, 470, 438, 1946, 436, 1946, 438, 439, 439, 465, 467, 441, 1946, 439, 1946, 441, 442, 442, 462, 464, 444, 1946, 442, 1946, 444, 445, 445, 459, 461, 447, 1946, 445, 1946, 447, 448, 448, 456, 458, 450, 1946, 448, 1946, 450, 451, 451, 453, 455, 453, 1946, 451, 1946, 52, 452, 452, 452, 454, 456, 1946, 452, 1946, 52, 449, 449, 449, 457, 459, 1946, 449, 1946, 450, 446, 446, 446, 460, 462, 1946, 446, 1946, 447, 443, 443, 443, 463, 465, 1946, 443, 1946, 444, 440, 440, 440, 466, 468, 1946, 440, 1946, 441, 437, 437, 437, 469, 471, 1946, 437, 1946, 438, 434, 434, 434, 472, 474, 1946, 434, 1946, 435, 431, 431, 431, 475, 481, 334, 431, 1946, 432, 428, 428, 428, 480, 482, 336, 428, 425, 429, 335, 425, 479, 337, 425, 484, 1946, 483, 370, 338, 477, 477, 481, 483, 485, 337, 477, 1946, 429, 106, 106, 106, 486, 488, 339, 106, 105, 107, 338, 105, 489, 340, 105, 491, 1946, 545, 107, 44, 492, 492, 542, 544, 494, 1946, 492, 1946, 494, 495, 495, 539, 541, 497, 1946, 495, 1946, 497, 498, 498, 536, 538, 500, 1946, 498, 1946, 500, 501, 501, 533, 535, 503, 1946, 501, 1946, 503, 504, 504, 530, 532, 506, 1946, 504, 1946, 506, 507, 507, 527, 529, 509, 1946, 507, 1946, 509, 510, 510, 524, 526, 512, 1946, 510, 1946, 512, 513, 513, 521, 523, 515, 1946, 513, 1946, 515, 516, 516, 518, 520, 518, 1946, 516, 1946, 56, 517, 517, 517, 519, 521, 1946, 517, 1946, 56, 514, 514, 514, 522, 524, 1946, 514, 1946, 515, 511, 511, 511, 525, 527, 1946, 511, 1946, 512, 508, 508, 508, 528, 530, 1946, 508, 1946, 509, 505, 505, 505, 531, 533, 1946, 505, 1946, 506, 502, 502, 502, 534, 536, 1946, 502, 1946, 503, 499, 499, 499, 537, 539, 1946, 499, 1946, 500, 496, 496, 496, 540, 542, 1946, 496, 1946, 497, 493, 493, 493, 543, 549, 340, 493, 1946, 494, 490, 490, 490, 548, 550, 343, 490, 487, 491, 44, 487, 547, 342, 487, 552, 1946, 551, 426, 45, 545, 545, 549, 551, 553, 342, 545, 1946, 491, 102, 102, 102, 554, 556, 346, 102, 101, 103, 45, 101, 557, 345, 101, 559, 1946, 619, 103, 339, 560, 560, 616, 618, 562, 1946, 560, 1946, 562, 563, 563, 613, 615, 565, 1946, 563, 1946, 565, 566, 566, 610, 612, 568, 1946, 566, 1946, 568, 569, 569, 607, 609, 571, 1946, 569, 1946, 571, 572, 572, 604, 606, 574, 1946, 572, 1946, 574, 575, 575, 601, 603, 577, 1946, 575, 1946, 577, 578, 578, 598, 600, 580, 1946, 578, 1946, 580, 581, 581, 595, 597, 583, 1946, 581, 1946, 583, 584, 584, 592, 594, 586, 1946, 584, 1946, 586, 587, 587, 589, 591, 589, 1946, 587, 1946, 60, 588, 588, 588, 590, 592, 1946, 588, 1946, 60, 585, 585, 585, 593, 595, 1946, 585, 1946, 586, 582, 582, 582, 596, 598, 1946, 582, 1946, 583, 579, 579, 579, 599, 601, 1946, 579, 1946, 580, 576, 576, 576, 602, 604, 1946, 576, 1946, 577, 573, 573, 573, 605, 607, 1946, 573, 1946, 574, 570, 570, 570, 608, 610, 1946, 570, 1946, 571, 567, 567, 567, 611, 613, 1946, 567, 1946, 568, 564, 564, 564, 614, 616, 1946, 564, 1946, 565, 561, 561, 561, 617, 623, 345, 561, 1946, 562, 558, 558, 558, 622, 624, 349, 558, 555, 559, 339, 555, 621, 348, 555, 626, 1946, 625, 488, 336, 619, 619, 623, 625, 627, 348, 619, 1946, 559, 98, 98, 98, 628, 630, 352, 98, 97, 99, 336, 97, 631, 351, 97, 633, 1946, 699, 99, 333, 634, 634, 696, 698, 636, 1946, 634, 1946, 636, 637, 637, 693, 695, 639, 1946, 637, 1946, 639, 640, 640, 690, 692, 642, 1946, 640, 1946, 642, 643, 643, 687, 689, 645, 1946, 643, 1946, 645, 646, 646, 684, 686, 648, 1946, 646, 1946, 648, 649, 649, 681, 683, 651, 1946, 649, 1946, 651, 652, 652, 678, 680, 654, 1946, 652, 1946, 654, 655, 655, 675, 677, 657, 1946, 655, 1946, 657, 658, 658, 672, 674, 660, 1946, 658, 1946, 660, 661, 661, 669, 671, 663, 1946, 661, 1946, 663, 664, 664, 666, 668, 666, 1946, 664, 1946, 64, 665, 665, 665, 667, 669, 1946, 665, 1946, 64, 662, 662, 662, 670, 672, 1946, 662, 1946, 663, 659, 659, 659, 673, 675, 1946, 659, 1946, 660, 656, 656, 656, 676, 678, 1946, 656, 1946, 657, 653, 653, 653, 679, 681, 1946, 653, 1946, 654, 650, 650, 650, 682, 684, 1946, 650, 1946, 651, 647, 647, 647, 685, 687, 1946, 647, 1946, 648, 644, 644, 644, 688, 690, 1946, 644, 1946, 645, 641, 641, 641, 691, 693, 1946, 641, 1946, 642, 638, 638, 638, 694, 696, 1946, 638, 1946, 639, 635, 635, 635, 697, 703, 351, 635, 1946, 636, 632, 632, 632, 702, 704, 355, 632, 629, 633, 333, 629, 701, 354, 629, 706, 1946, 705, 556, 330, 699, 699, 703, 705, 707, 354, 699, 1946, 633, 94, 94, 94, 708, 710, 358, 94, 93, 95, 330, 93, 711, 357, 93, 713, 1946, 785, 95, 327, 714, 714, 782, 784, 716, 1946, 714, 1946, 716, 717, 717, 779, 781, 719, 1946, 717, 1946, 719, 720, 720, 776, 778, 722, 1946, 720, 1946, 722, 723, 723, 773, 775, 725, 1946, 723, 1946, 725, 726, 726, 770, 772, 728, 1946, 726, 1946, 728, 729, 729, 767, 769, 731, 1946, 729, 1946, 731, 732, 732, 764, 766, 734, 1946, 732, 1946, 734, 735, 735, 761, 763, 737, 1946, 735, 1946, 737, 738, 738, 758, 760, 740, 1946, 738, 1946, 740, 741, 741, 755, 757, 743, 1946, 741, 1946, 743, 744, 744, 752, 754, 746, 1946, 744, 1946, 746, 747, 747, 749, 751, 749, 1946, 747, 1946, 68, 748, 748, 748, 750, 752, 1946, 748, 1946, 68, 745, 745, 745, 753, 755, 1946, 745, 1946, 746, 742, 742, 742, 756, 758, 1946, 742, 1946, 743, 739, 739, 739, 759, 761, 1946, 739, 1946, 740, 736, 736, 736, 762, 764, 1946, 736, 1946, 737, 733, 733, 733, 765, 767, 1946, 733, 1946, 734, 730, 730, 730, 768, 770, 1946, 730, 1946, 731, 727, 727, 727, 771, 773, 1946, 727, 1946, 728, 724, 724, 724, 774, 776, 1946, 724, 1946, 725, 721, 721, 721, 777, 779, 1946, 721, 1946, 722, 718, 718, 718, 780, 782, 1946, 718, 1946, 719, 715, 715, 715, 783, 789, 357, 715, 1946, 716, 712, 712, 712, 788, 790, 359, 712, 709, 713, 327, 709, 787, 322, 709, 792, 1946, 791, 630, 323, 785, 785, 789, 791, 793, 362, 785, 1946, 713, 90, 90, 90, 794, 796, 365, 90, 89, 91, 324, 89, 797, 362, 89, 799, 1946, 877, 91, 324, 800, 800, 874, 876, 802, 1946, 800, 1946, 802, 803, 803, 871, 873, 805, 1946, 803, 1946, 805, 806, 806, 868, 870, 808, 1946, 806, 1946, 808, 809, 809, 865, 867, 811, 1946, 809, 1946, 811, 812, 812, 862, 864, 814, 1946, 812, 1946, 814, 815, 815, 859, 861, 817, 1946, 815, 1946, 817, 818, 818, 856, 858, 820, 1946, 818, 1946, 820, 821, 821, 853, 855, 823, 1946, 821, 1946, 823, 824, 824, 850, 852, 826, 1946, 824, 1946, 826, 827, 827, 847, 849, 829, 1946, 827, 1946, 829, 830, 830, 844, 846, 832, 1946, 830, 1946, 832, 833, 833, 841, 843, 835, 1946, 833, 1946, 835, 836, 836, 838, 840, 838, 1946, 836, 1946, 72, 837, 837, 837, 839, 841, 1946, 837, 1946, 72, 834, 834, 834, 842, 844, 1946, 834, 1946, 835, 831, 831, 831, 845, 847, 1946, 831, 1946, 832, 828, 828, 828, 848, 850, 1946, 828, 1946, 829, 825, 825, 825, 851, 853, 1946, 825, 1946, 826, 822, 822, 822, 854, 856, 1946, 822, 1946, 823, 819, 819, 819, 857, 859, 1946, 819, 1946, 820, 816, 816, 816, 860, 862, 1946, 816, 1946, 817, 813, 813, 813, 863, 865, 1946, 813, 1946, 814, 810, 810, 810, 866, 868, 1946, 810, 1946, 811, 807, 807, 807, 869, 871, 1946, 807, 1946, 808, 804, 804, 804, 872, 874, 1946, 804, 1946, 805, 801, 801, 801, 875, 881, 368, 801, 1946, 802, 798, 798, 798, 880, 882, 369, 798, 795, 799, 320, 795, 879, 368, 795, 884, 1946, 883, 710, 320, 877, 877, 881, 883, 885, 372, 877, 1946, 799, 86, 86, 86, 886, 888, 374, 86, 85, 87, 373, 85, 889, 375, 85, 891, 1946, 975, 87, 376, 892, 892, 972, 974, 894, 1946, 892, 1946, 894, 895, 895, 969, 971, 897, 1946, 895, 1946, 897, 898, 898, 966, 968, 900, 1946, 898, 1946, 900, 901, 901, 963, 965, 903, 1946, 901, 1946, 903, 904, 904, 960, 962, 906, 1946, 904, 1946, 906, 907, 907, 957, 959, 909, 1946, 907, 1946, 909, 910, 910, 954, 956, 912, 1946, 910, 1946, 912, 913, 913, 951, 953, 915, 1946, 913, 1946, 915, 916, 916, 948, 950, 918, 1946, 916, 1946, 918, 919, 919, 945, 947, 921, 1946, 919, 1946, 921, 922, 922, 942, 944, 924, 1946, 922, 1946, 924, 925, 925, 939, 941, 927, 1946, 925, 1946, 927, 928, 928, 936, 938, 930, 1946, 928, 1946, 930, 931, 931, 933, 935, 933, 1946, 931, 1946, 76, 932, 932, 932, 934, 936, 1946, 932, 1946, 76, 929, 929, 929, 937, 939, 1946, 929, 1946, 930, 926, 926, 926, 940, 942, 1946, 926, 1946, 927, 923, 923, 923, 943, 945, 1946, 923, 1946, 924, 920, 920, 920, 946, 948, 1946, 920, 1946, 921, 917, 917, 917, 949, 951, 1946, 917, 1946, 918, 914, 914, 914, 952, 954, 1946, 914, 1946, 915, 911, 911, 911, 955, 957, 1946, 911, 1946, 912, 908, 908, 908, 958, 960, 1946, 908, 1946, 909, 905, 905, 905, 961, 963, 1946, 905, 1946, 906, 902, 902, 902, 964, 966, 1946, 902, 1946, 903, 899, 899, 899, 967, 969, 1946, 899, 1946, 900, 896, 896, 896, 970, 972, 1946, 896, 1946, 897, 893, 893, 893, 973, 979, 375, 893, 1946, 894, 890, 890, 890, 978, 980, 377, 890, 887, 891, 376, 887, 977, 378, 887, 982, 378, 981, 796, 379, 975, 975, 979, 981, 985, 1946, 975, 14, 891, 379, 14, 1946, 381, 987, 14, 14, 986, 15, 82, 82, 82, 986, 991, 1946, 82, 382, 83, 983, 983, 987, 990, 992, 384, 983, 380, 83, 78, 78, 78, 993, 996, 381, 78, 78, 79, 385, 78, 382, 383, 386, 78, 78, 997, 79, 1000, 384, 387, 993, 1946, 1946, 993, 385, 388, 1002, 993, 993, 1001, 80, 997, 997, 997, 1001, 1005, 1946, 997, 1946, 84, 998, 998, 1002, 1004, 1006, 387, 998, 389, 84, 74, 74, 74, 1007, 1010, 390, 74, 74, 75, 388, 74, 391, 1946, 1012, 74, 74, 1011, 75, 1013, 1013, 1015, 1017, 1015, 390, 1013, 392, 88, 1014, 1014, 1014, 1016, 1020, 393, 1014, 1007, 88, 391, 1007, 48, 393, 1022, 1007, 1007, 1021, 995, 1011, 1011, 1011, 1021, 1025, 1946, 1011, 48, 1012, 1018, 1018, 1022, 1024, 1026, 395, 1018, 396, 1012, 70, 70, 70, 1027, 1030, 395, 70, 70, 71, 49, 70, 49, 398, 1032, 70, 70, 1031, 71, 1033, 1033, 1041, 1043, 1035, 1946, 1033, 392, 1035, 1036, 1036, 1038, 1040, 1038, 1946, 1036, 1946, 92, 1037, 1037, 1037, 1039, 1041, 401, 1037, 399, 92, 1034, 1034, 1034, 1042, 1046, 398, 1034, 1027, 1035, 389, 1027, 392, 404, 1048, 1027, 1027, 1047, 1009, 1031, 1031, 1031, 1047, 1051, 1946, 1031, 386, 1032, 1044, 1044, 1048, 1050, 1052, 407, 1044, 402, 1032, 66, 66, 66, 1053, 1056, 401, 66, 66, 67, 383, 66, 389, 410, 1058, 66, 66, 1057, 67, 1059, 1059, 1073, 1075, 1061, 1946, 1059, 380, 1061, 1062, 1062, 1070, 1072, 1064, 1946, 1062, 1946, 1064, 1065, 1065, 1067, 1069, 1067, 1946, 1065, 1946, 96, 1066, 1066, 1066, 1068, 1070, 1946, 1066, 1946, 96, 1063, 1063, 1063, 1071, 1073, 413, 1063, 405, 1064, 1060, 1060, 1060, 1074, 1078, 404, 1060, 1053, 1061, 377, 1053, 386, 418, 1080, 1053, 1053, 1079, 1029, 1057, 1057, 1057, 1079, 1083, 1946, 1057, 374, 1058, 1076, 1076, 1080, 1082, 1084, 424, 1076, 408, 1058, 62, 62, 62, 1085, 1088, 407, 62, 62, 63, 370, 62, 383, 428, 1090, 62, 62, 1089, 63, 1091, 1091, 1111, 1113, 1093, 1946, 1091, 429, 1093, 1094, 1094, 1108, 1110, 1096, 1946, 1094, 1946, 1096, 1097, 1097, 1105, 1107, 1099, 1946, 1097, 1946, 1099, 1100, 1100, 1102, 1104, 1102, 1946, 1100, 1946, 100, 1101, 1101, 1101, 1103, 1105, 1946, 1101, 1946, 100, 1098, 1098, 1098, 1106, 1108, 1946, 1098, 1946, 1099, 1095, 1095, 1095, 1109, 1111, 431, 1095, 411, 1096, 1092, 1092, 1092, 1112, 1116, 410, 1092, 1085, 1093, 432, 1085, 380, 434, 1118, 1085, 1085, 1117, 1055, 1089, 1089, 1089, 1117, 1121, 1946, 1089, 435, 1090, 1114, 1114, 1118, 1120, 1122, 437, 1114, 414, 1090, 58, 58, 58, 1123, 1126, 413, 58, 58, 59, 438, 58, 377, 440, 1128, 58, 58, 1127, 59, 1129, 1129, 1155, 1157, 1131, 1946, 1129, 441, 1131, 1132, 1132, 1152, 1154, 1134, 1946, 1132, 1946, 1134, 1135, 1135, 1149, 1151, 1137, 1946, 1135, 1946, 1137, 1138, 1138, 1146, 1148, 1140, 1946, 1138, 1946, 1140, 1141, 1141, 1143, 1145, 1143, 1946, 1141, 1946, 104, 1142, 1142, 1142, 1144, 1146, 1946, 1142, 1946, 104, 1139, 1139, 1139, 1147, 1149, 1946, 1139, 1946, 1140, 1136, 1136, 1136, 1150, 1152, 1946, 1136, 1946, 1137, 1133, 1133, 1133, 1153, 1155, 443, 1133, 415, 1134, 1130, 1130, 1130, 1156, 1160, 372, 1130, 1123, 1131, 444, 1123, 373, 446, 1162, 1123, 1123, 1161, 1087, 1127, 1127, 1127, 1161, 1165, 1946, 1127, 447, 1128, 1158, 1158, 1162, 1164, 1166, 449, 1158, 421, 1128, 54, 54, 54, 1167, 1170, 418, 54, 54, 55, 450, 54, 374, 452, 1172, 54, 54, 1171, 55, 1173, 1173, 1205, 1207, 1175, 1946, 1173, 52, 1175, 1176, 1176, 1202, 1204, 1178, 1946, 1176, 1946, 1178, 1179, 1179, 1199, 1201, 1181, 1946, 1179, 1946, 1181, 1182, 1182, 1196, 1198, 1184, 1946, 1182, 1946, 1184, 1185, 1185, 1193, 1195, 1187, 1946, 1185, 1946, 1187, 1188, 1188, 1190, 1192, 1190, 1946, 1188, 1946, 108, 1189, 1189, 1189, 1191, 1193, 1946, 1189, 1946, 108, 1186, 1186, 1186, 1194, 1196, 1946, 1186, 1946, 1187, 1183, 1183, 1183, 1197, 1199, 1946, 1183, 1946, 1184, 1180, 1180, 1180, 1200, 1202, 1946, 1180, 1946, 1181, 1177, 1177, 1177, 1203, 1205, 454, 1177, 425, 1178, 1174, 1174, 1174, 1206, 1210, 424, 1174, 1167, 1175, 53, 1167, 370, 457, 1212, 1167, 1167, 1211, 1125, 1171, 1171, 1171, 1211, 1215, 1946, 1171, 451, 1172, 1208, 1208, 1212, 1214, 1216, 460, 1208, 430, 1172, 50, 50, 50, 1217, 1220, 431, 50, 50, 51, 448, 50, 432, 463, 1222, 50, 50, 1221, 51, 1223, 1223, 1261, 1263, 1225, 1946, 1223, 445, 1225, 1226, 1226, 1258, 1260, 1228, 1946, 1226, 1946, 1228, 1229, 1229, 1255, 1257, 1231, 1946, 1229, 1946, 1231, 1232, 1232, 1252, 1254, 1234, 1946, 1232, 1946, 1234, 1235, 1235, 1249, 1251, 1237, 1946, 1235, 1946, 1237, 1238, 1238, 1246, 1248, 1240, 1946, 1238, 1946, 1240, 1241, 1241, 1243, 1245, 1243, 1946, 1241, 1946, 112, 1242, 1242, 1242, 1244, 1246, 1946, 1242, 1946, 112, 1239, 1239, 1239, 1247, 1249, 1946, 1239, 1946, 1240, 1236, 1236, 1236, 1250, 1252, 1946, 1236, 1946, 1237, 1233, 1233, 1233, 1253, 1255, 1946, 1233, 1946, 1234, 1230, 1230, 1230, 1256, 1258, 1946, 1230, 1946, 1231, 1227, 1227, 1227, 1259, 1261, 466, 1227, 433, 1228, 1224, 1224, 1224, 1262, 1266, 434, 1224, 1217, 1225, 442, 1217, 435, 469, 1268, 1217, 1217, 1267, 1169, 1221, 1221, 1221, 1267, 1271, 1946, 1221, 439, 1222, 1264, 1264, 1268, 1270, 1272, 472, 1264, 436, 1222, 46, 46, 46, 1273, 1276, 437, 46, 46, 47, 436, 46, 438, 475, 1278, 46, 46, 1277, 47, 1279, 1279, 1323, 1325, 1281, 1946, 1279, 433, 1281, 1282, 1282, 1320, 1322, 1284, 1946, 1282, 1946, 1284, 1285, 1285, 1317, 1319, 1287, 1946, 1285, 1946, 1287, 1288, 1288, 1314, 1316, 1290, 1946, 1288, 1946, 1290, 1291, 1291, 1311, 1313, 1293, 1946, 1291, 1946, 1293, 1294, 1294, 1308, 1310, 1296, 1946, 1294, 1946, 1296, 1297, 1297, 1305, 1307, 1299, 1946, 1297, 1946, 1299, 1300, 1300, 1302, 1304, 1302, 1946, 1300, 1946, 116, 1301, 1301, 1301, 1303, 1305, 1946, 1301, 1946, 116, 1298, 1298, 1298, 1306, 1308, 1946, 1298, 1946, 1299, 1295, 1295, 1295, 1309, 1311, 1946, 1295, 1946, 1296, 1292, 1292, 1292, 1312, 1314, 1946, 1292, 1946, 1293, 1289, 1289, 1289, 1315, 1317, 1946, 1289, 1946, 1290, 1286, 1286, 1286, 1318, 1320, 1946, 1286, 1946, 1287, 1283, 1283, 1283, 1321, 1323, 480, 1283, 439, 1284, 1280, 1280, 1280, 1324, 1328, 440, 1280, 1273, 1281, 430, 1273, 441, 486, 1330, 1273, 1273, 1329, 1219, 1277, 1277, 1277, 1329, 1333, 1946, 1277, 426, 1278, 1326, 1326, 1330, 1332, 1334, 490, 1326, 442, 1278, 42, 42, 42, 1335, 1338, 443, 42, 42, 43, 491, 42, 444, 493, 1340, 42, 42, 1339, 43, 1341, 1341, 1391, 1393, 1343, 1946, 1341, 494, 1343, 1344, 1344, 1388, 1390, 1346, 1946, 1344, 1946, 1346, 1347, 1347, 1385, 1387, 1349, 1946, 1347, 1946, 1349, 1350, 1350, 1382, 1384, 1352, 1946, 1350, 1946, 1352, 1353, 1353, 1379, 1381, 1355, 1946, 1353, 1946, 1355, 1356, 1356, 1376, 1378, 1358, 1946, 1356, 1946, 1358, 1359, 1359, 1373, 1375, 1361, 1946, 1359, 1946, 1361, 1362, 1362, 1370, 1372, 1364, 1946, 1362, 1946, 1364, 1365, 1365, 1367, 1369, 1367, 1946, 1365, 1946, 120, 1366, 1366, 1366, 1368, 1370, 1946, 1366, 1946, 120, 1363, 1363, 1363, 1371, 1373, 1946, 1363, 1946, 1364, 1360, 1360, 1360, 1374, 1376, 1946, 1360, 1946, 1361, 1357, 1357, 1357, 1377, 1379, 1946, 1357, 1946, 1358, 1354, 1354, 1354, 1380, 1382, 1946, 1354, 1946, 1355, 1351, 1351, 1351, 1383, 1385, 1946, 1351, 1946, 1352, 1348, 1348, 1348, 1386, 1388, 1946, 1348, 1946, 1349, 1345, 1345, 1345, 1389, 1391, 496, 1345, 445, 1346, 1342, 1342, 1342, 1392, 1396, 446, 1342, 1335, 1343, 497, 1335, 447, 499, 1398, 1335, 1335, 1397, 1275, 1339, 1339, 1339, 1397, 1401, 1946, 1339, 500, 1340, 1394, 1394, 1398, 1400, 1402, 502, 1394, 448, 1340, 38, 38, 38, 1403, 1406, 449, 38, 38, 39, 503, 38, 450, 505, 1408, 38, 38, 1407, 39, 1409, 1409, 1465, 1467, 1411, 1946, 1409, 506, 1411, 1412, 1412, 1462, 1464, 1414, 1946, 1412, 1946, 1414, 1415, 1415, 1459, 1461, 1417, 1946, 1415, 1946, 1417, 1418, 1418, 1456, 1458, 1420, 1946, 1418, 1946, 1420, 1421, 1421, 1453, 1455, 1423, 1946, 1421, 1946, 1423, 1424, 1424, 1450, 1452, 1426, 1946, 1424, 1946, 1426, 1427, 1427, 1447, 1449, 1429, 1946, 1427, 1946, 1429, 1430, 1430, 1444, 1446, 1432, 1946, 1430, 1946, 1432, 1433, 1433, 1441, 1443, 1435, 1946, 1433, 1946, 1435, 1436, 1436, 1438, 1440, 1438, 1946, 1436, 1946, 124, 1437, 1437, 1437, 1439, 1441, 1946, 1437, 1946, 124, 1434, 1434, 1434, 1442, 1444, 1946, 1434, 1946, 1435, 1431, 1431, 1431, 1445, 1447, 1946, 1431, 1946, 1432, 1428, 1428, 1428, 1448, 1450, 1946, 1428, 1946, 1429, 1425, 1425, 1425, 1451, 1453, 1946, 1425, 1946, 1426, 1422, 1422, 1422, 1454, 1456, 1946, 1422, 1946, 1423, 1419, 1419, 1419, 1457, 1459, 1946, 1419, 1946, 1420, 1416, 1416, 1416, 1460, 1462, 1946, 1416, 1946, 1417, 1413, 1413, 1413, 1463, 1465, 508, 1413, 451, 1414, 1410, 1410, 1410, 1466, 1470, 452, 1410, 1403, 1411, 509, 1403, 52, 511, 1472, 1403, 1403, 1471, 1337, 1407, 1407, 1407, 1471, 1475, 1946, 1407, 512, 1408, 1468, 1468, 1472, 1474, 1476, 514, 1468, 455, 1408, 34, 34, 34, 1477, 1480, 454, 34, 34, 35, 515, 34, 53, 517, 1482, 34, 34, 1481, 35, 1483, 1483, 1545, 1547, 1485, 1946, 1483, 56, 1485, 1486, 1486, 1542, 1544, 1488, 1946, 1486, 1946, 1488, 1489, 1489, 1539, 1541, 1491, 1946, 1489, 1946, 1491, 1492, 1492, 1536, 1538, 1494, 1946, 1492, 1946, 1494, 1495, 1495, 1533, 1535, 1497, 1946, 1495, 1946, 1497, 1498, 1498, 1530, 1532, 1500, 1946, 1498, 1946, 1500, 1501, 1501, 1527, 1529, 1503, 1946, 1501, 1946, 1503, 1504, 1504, 1524, 1526, 1506, 1946, 1504, 1946, 1506, 1507, 1507, 1521, 1523, 1509, 1946, 1507, 1946, 1509, 1510, 1510, 1518, 1520, 1512, 1946, 1510, 1946, 1512, 1513, 1513, 1515, 1517, 1515, 1946, 1513, 1946, 128, 1514, 1514, 1514, 1516, 1518, 1946, 1514, 1946, 128, 1511, 1511, 1511, 1519, 1521, 1946, 1511, 1946, 1512, 1508, 1508, 1508, 1522, 1524, 1946, 1508, 1946, 1509, 1505, 1505, 1505, 1525, 1527, 1946, 1505, 1946, 1506, 1502, 1502, 1502, 1528, 1530, 1946, 1502, 1946, 1503, 1499, 1499, 1499, 1531, 1533, 1946, 1499, 1946, 1500, 1496, 1496, 1496, 1534, 1536, 1946, 1496, 1946, 1497, 1493, 1493, 1493, 1537, 1539, 1946, 1493, 1946, 1494, 1490, 1490, 1490, 1540, 1542, 1946, 1490, 1946, 1491, 1487, 1487, 1487, 1543, 1545, 519, 1487, 458, 1488, 1484, 1484, 1484, 1546, 1550, 457, 1484, 1477, 1485, 57, 1477, 451, 522, 1552, 1477, 1477, 1551, 1405, 1481, 1481, 1481, 1551, 1555, 1946, 1481, 516, 1482, 1548, 1548, 1552, 1554, 1556, 525, 1548, 461, 1482, 30, 30, 30, 1557, 1560, 460, 30, 30, 31, 513, 30, 448, 528, 1562, 30, 30, 1561, 31, 1563, 1563, 1631, 1633, 1565, 1946, 1563, 510, 1565, 1566, 1566, 1628, 1630, 1568, 1946, 1566, 1946, 1568, 1569, 1569, 1625, 1627, 1571, 1946, 1569, 1946, 1571, 1572, 1572, 1622, 1624, 1574, 1946, 1572, 1946, 1574, 1575, 1575, 1619, 1621, 1577, 1946, 1575, 1946, 1577, 1578, 1578, 1616, 1618, 1580, 1946, 1578, 1946, 1580, 1581, 1581, 1613, 1615, 1583, 1946, 1581, 1946, 1583, 1584, 1584, 1610, 1612, 1586, 1946, 1584, 1946, 1586, 1587, 1587, 1607, 1609, 1589, 1946, 1587, 1946, 1589, 1590, 1590, 1604, 1606, 1592, 1946, 1590, 1946, 1592, 1593, 1593, 1601, 1603, 1595, 1946, 1593, 1946, 1595, 1596, 1596, 1598, 1600, 1598, 1946, 1596, 1946, 132, 1597, 1597, 1597, 1599, 1601, 1946, 1597, 1946, 132, 1594, 1594, 1594, 1602, 1604, 1946, 1594, 1946, 1595, 1591, 1591, 1591, 1605, 1607, 1946, 1591, 1946, 1592, 1588, 1588, 1588, 1608, 1610, 1946, 1588, 1946, 1589, 1585, 1585, 1585, 1611, 1613, 1946, 1585, 1946, 1586, 1582, 1582, 1582, 1614, 1616, 1946, 1582, 1946, 1583, 1579, 1579, 1579, 1617, 1619, 1946, 1579, 1946, 1580, 1576, 1576, 1576, 1620, 1622, 1946, 1576, 1946, 1577, 1573, 1573, 1573, 1623, 1625, 1946, 1573, 1946, 1574, 1570, 1570, 1570, 1626, 1628, 1946, 1570, 1946, 1571, 1567, 1567, 1567, 1629, 1631, 531, 1567, 464, 1568, 1564, 1564, 1564, 1632, 1636, 463, 1564, 1557, 1565, 507, 1557, 445, 534, 1638, 1557, 1557, 1637, 1479, 1561, 1561, 1561, 1637, 1641, 1946, 1561, 504, 1562, 1634, 1634, 1638, 1640, 1642, 537, 1634, 467, 1562, 26, 26, 26, 1643, 1646, 466, 26, 26, 27, 501, 26, 442, 540, 1648, 26, 26, 1647, 27, 1649, 1649, 1723, 1725, 1651, 1946, 1649, 498, 1651, 1652, 1652, 1720, 1722, 1654, 1946, 1652, 1946, 1654, 1655, 1655, 1717, 1719, 1657, 1946, 1655, 1946, 1657, 1658, 1658, 1714, 1716, 1660, 1946, 1658, 1946, 1660, 1661, 1661, 1711, 1713, 1663, 1946, 1661, 1946, 1663, 1664, 1664, 1708, 1710, 1666, 1946, 1664, 1946, 1666, 1667, 1667, 1705, 1707, 1669, 1946, 1667, 1946, 1669, 1670, 1670, 1702, 1704, 1672, 1946, 1670, 1946, 1672, 1673, 1673, 1699, 1701, 1675, 1946, 1673, 1946, 1675, 1676, 1676, 1696, 1698, 1678, 1946, 1676, 1946, 1678, 1679, 1679, 1693, 1695, 1681, 1946, 1679, 1946, 1681, 1682, 1682, 1690, 1692, 1684, 1946, 1682, 1946, 1684, 1685, 1685, 1687, 1689, 1687, 1946, 1685, 1946, 136, 1686, 1686, 1686, 1688, 1690, 1946, 1686, 1946, 136, 1683, 1683, 1683, 1691, 1693, 1946, 1683, 1946, 1684, 1680, 1680, 1680, 1694, 1696, 1946, 1680, 1946, 1681, 1677, 1677, 1677, 1697, 1699, 1946, 1677, 1946, 1678, 1674, 1674, 1674, 1700, 1702, 1946, 1674, 1946, 1675, 1671, 1671, 1671, 1703, 1705, 1946, 1671, 1946, 1672, 1668, 1668, 1668, 1706, 1708, 1946, 1668, 1946, 1669, 1665, 1665, 1665, 1709, 1711, 1946, 1665, 1946, 1666, 1662, 1662, 1662, 1712, 1714, 1946, 1662, 1946, 1663, 1659, 1659, 1659, 1715, 1717, 1946, 1659, 1946, 1660, 1656, 1656, 1656, 1718, 1720, 1946, 1656, 1946, 1657, 1653, 1653, 1653, 1721, 1723, 543, 1653, 470, 1654, 1650, 1650, 1650, 1724, 1728, 469, 1650, 1643, 1651, 495, 1643, 439, 548, 1730, 1643, 1643, 1729, 1559, 1647, 1647, 1647, 1729, 1733, 1946, 1647, 492, 1648, 1726, 1726, 1730, 1732, 1734, 554, 1726, 473, 1648, 22, 22, 22, 1735, 1738, 472, 22, 22, 23, 488, 22, 436, 558, 1740, 22, 22, 1739, 23, 1741, 1741, 1821, 1823, 1743, 1946, 1741, 559, 1743, 1744, 1744, 1818, 1820, 1746, 1946, 1744, 1946, 1746, 1747, 1747, 1815, 1817, 1749, 1946, 1747, 1946, 1749, 1750, 1750, 1812, 1814, 1752, 1946, 1750, 1946, 1752, 1753, 1753, 1809, 1811, 1755, 1946, 1753, 1946, 1755, 1756, 1756, 1806, 1808, 1758, 1946, 1756, 1946, 1758, 1759, 1759, 1803, 1805, 1761, 1946, 1759, 1946, 1761, 1762, 1762, 1800, 1802, 1764, 1946, 1762, 1946, 1764, 1765, 1765, 1797, 1799, 1767, 1946, 1765, 1946, 1767, 1768, 1768, 1794, 1796, 1770, 1946, 1768, 1946, 1770, 1771, 1771, 1791, 1793, 1773, 1946, 1771, 1946, 1773, 1774, 1774, 1788, 1790, 1776, 1946, 1774, 1946, 1776, 1777, 1777, 1785, 1787, 1779, 1946, 1777, 1946, 1779, 1780, 1780, 1782, 1784, 1782, 1946, 1780, 1946, 140, 1781, 1781, 1781, 1783, 1785, 1946, 1781, 1946, 140, 1778, 1778, 1778, 1786, 1788, 1946, 1778, 1946, 1779, 1775, 1775, 1775, 1789, 1791, 1946, 1775, 1946, 1776, 1772, 1772, 1772, 1792, 1794, 1946, 1772, 1946, 1773, 1769, 1769, 1769, 1795, 1797, 1946, 1769, 1946, 1770, 1766, 1766, 1766, 1798, 1800, 1946, 1766, 1946, 1767, 1763, 1763, 1763, 1801, 1803, 1946, 1763, 1946, 1764, 1760, 1760, 1760, 1804, 1806, 1946, 1760, 1946, 1761, 1757, 1757, 1757, 1807, 1809, 1946, 1757, 1946, 1758, 1754, 1754, 1754, 1810, 1812, 1946, 1754, 1946, 1755, 1751, 1751, 1751, 1813, 1815, 1946, 1751, 1946, 1752, 1748, 1748, 1748, 1816, 1818, 1946, 1748, 1946, 1749, 1745, 1745, 1745, 1819, 1821, 561, 1745, 476, 1746, 1742, 1742, 1742, 1822, 1826, 475, 1742, 1735, 1743, 562, 1735, 433, 564, 1828, 1735, 1735, 1827, 1645, 1739, 1739, 1739, 1827, 1831, 1946, 1739, 565, 1740, 1824, 1824, 1828, 1830, 1836, 1946, 1824, 1946, 1740, 1837, 1837, 1923, 1925, 1839, 1946, 1837, 1946, 1839, 1840, 1840, 1920, 1922, 1842, 1946, 1840, 1946, 1842, 1843, 1843, 1917, 1919, 1845, 1946, 1843, 1946, 1845, 1846, 1846, 1914, 1916, 1848, 1946, 1846, 1946, 1848, 1849, 1849, 1911, 1913, 1851, 1946, 1849, 1946, 1851, 1852, 1852, 1908, 1910, 1854, 1946, 1852, 1946, 1854, 1855, 1855, 1905, 1907, 1857, 1946, 1855, 1946, 1857, 1858, 1858, 1902, 1904, 1860, 1946, 1858, 1946, 1860, 1861, 1861, 1899, 1901, 1863, 1946, 1861, 1946, 1863, 1864, 1864, 1896, 1898, 1866, 1946, 1864, 1946, 1866, 1867, 1867, 1893, 1895, 1869, 1946, 1867, 1946, 1869, 1870, 1870, 1890, 1892, 1872, 1946, 1870, 1946, 1872, 1873, 1873, 1887, 1889, 1875, 1946, 1873, 1946, 1875, 1876, 1876, 1884, 1886, 1878, 1946, 1876, 1946, 1878, 1879, 1879, 1881, 1883, 1881, 1946, 1879, 1946, 11, 1880, 1880, 1880, 1882, 1884, 1946, 1880, 1946, 11, 1877, 1877, 1877, 1885, 1887, 1946, 1877, 1946, 1878, 1874, 1874, 1874, 1888, 1890, 1946, 1874, 1946, 1875, 1871, 1871, 1871, 1891, 1893, 1946, 1871, 1946, 1872, 1868, 1868, 1868, 1894, 1896, 1946, 1868, 1946, 1869, 1865, 1865, 1865, 1897, 1899, 1946, 1865, 1946, 1866, 1862, 1862, 1862, 1900, 1902, 1946, 1862, 1946, 1863, 1859, 1859, 1859, 1903, 1905, 1946, 1859, 1946, 1860, 1856, 1856, 1856, 1906, 1908, 1946, 1856, 1946, 1857, 1853, 1853, 1853, 1909, 1911, 1946, 1853, 1946, 1854, 1850, 1850, 1850, 1912, 1914, 1946, 1850, 1946, 1851, 1847, 1847, 1847, 1915, 1917, 1946, 1847, 1946, 1848, 1844, 1844, 1844, 1918, 1920, 1946, 1844, 1946, 1845, 1841, 1841, 1841, 1921, 1923, 567, 1841, 1946, 1842, 1838, 1838, 1838, 1924, 1926, 477, 1838, 983, 1839, 568, 983, 1834, 428, 983, 1931, 570, 1927, 83, 429, 18, 18, 18, 1930, 1932, 483, 18, 989, 19, 571, 989, 1929, 480, 989, 1934, 1946, 1933, 15, 430, 1832, 1832, 1931, 1933, 1940, 573, 1832, 1946, 19, 1835, 1835, 1835, 1938, 1942, 487, 1835, 990, 1836, 574, 990, 1937, 486, 990, 1945, 1946, 1943, 888, 426, 1927, 1927, 1940, 1943, 17, 1946, 1927, 1, 1836, 147, 1, 576, 142, 1, 579, 142, 18, 0, 142, 1946, 151, 148, 10, 144, 577, 161, 144, 580, 138, 144, 582, 138, 152, 16, 138, 1946, 171, 162, 139, 158, 1946, 181, 158, 583, 134, 158, 585, 134, 172, 146, 134, 1946, 197, 182, 135, 178, 1946, 207, 178, 586, 130, 178, 588, 130, 198, 160, 130, 1946, 229, 208, 131, 204, 1946, 239, 204, 60, 126, 204, 590, 126, 230, 180, 126, 1946, 267, 240, 127, 236, 1946, 277, 236, 61, 122, 236, 593, 122, 268, 206, 122, 1946, 311, 278, 123, 274, 1946, 321, 274, 587, 118, 274, 596, 118, 312, 238, 118, 1946, 361, 322, 119, 318, 1946, 371, 318, 584, 114, 318, 599, 114, 362, 276, 114, 1946, 417, 372, 115, 368, 1946, 427, 368, 581, 110, 368, 602, 110, 418, 320, 110, 1946, 479, 428, 111, 424, 1946, 489, 424, 578, 106, 424, 605, 106, 480, 370, 106, 1946, 547, 490, 107, 486, 1946, 557, 486, 575, 102, 486, 608, 102, 548, 426, 102, 1946, 621, 558, 103, 554, 1946, 631, 554, 572, 98, 554, 611, 98, 622, 488, 98, 1946, 701, 632, 99, 628, 1946, 711, 628, 569, 94, 628, 614, 94, 702, 556, 94, 1946, 787, 712, 95, 708, 1946, 797, 708, 566, 90, 708, 617, 90, 788, 630, 90, 1946, 879, 798, 91, 794, 1946, 889, 794, 563, 86, 794, 622, 86, 880, 710, 86, 1946, 977, 890, 87, 886, 1946, 1834, 886, 560, 82, 886, 628, 82, 978, 796, 82, 1946, 1929, 1835, 83, 14, 1946, 1937, 14, 556, 986, 14, 1946, 986, 1930, 15, 986, 492, 495, 1938, 888, 498, 501, 1946, 493, 496, 504, 1946, 499, 502, 494, 497, 1946, 505, 500, 503, 507, 510, 513, 506, 516, 520, 1946, 508, 511, 514, 1946, 517, 519, 509, 512, 515, 523, 56, 57, 526, 529, 532, 1946, 522, 535, 1946, 525, 528, 531, 516, 1946, 534, 513, 510, 507, 538, 541, 504, 544, 545, 551, 1946, 537, 540, 1946, 543, 490, 548, 501, 498, 555, 495, 491, 492, 560, 563, 1946, 554, 566, 569, 1946, 561, 564, 488, 1946, 567, 570, 562, 565, 572, 575, 568, 571, 578, 581, 1946, 573, 576, 584, 1946, 579, 582, 574, 577, 1946, 585, 580, 583, 587, 591, 594, 586, 597, 600, 1946, 588, 590, 593, 1946, 596, 599, 60, 61, 587, 603, 584, 581, 606, 609, 612, 1946, 602, 615, 1946, 605, 608, 611, 578, 1946, 614, 575, 572, 569, 618, 619, 566, 625, 629, 634, 1946, 617, 558, 1946, 622, 628, 635, 563, 559, 637, 560, 556, 636, 640, 643, 1946, 638, 646, 649, 1946, 641, 644, 639, 1946, 647, 650, 642, 645, 652, 655, 648, 651, 658, 661, 1946, 653, 656, 664, 1946, 659, 662, 654, 657, 1946, 665, 660, 663, 668, 671, 674, 64, 677, 680, 1946, 667, 670, 673, 1946, 676, 679, 65, 664, 661, 683, 658, 655, 686, 689, 692, 1946, 682, 695, 1946, 685, 688, 691, 652, 1946, 694, 649, 646, 643, 698, 699, 640, 705, 709, 714, 1946, 697, 632, 1946, 702, 708, 715, 637, 633, 717, 634, 630, 716, 720, 723, 1946, 718, 726, 729, 1946, 721, 724, 719, 1946, 727, 730, 722, 725, 732, 735, 728, 731, 738, 741, 1946, 733, 736, 744, 1946, 739, 742, 734, 737, 1946, 745, 740, 743, 747, 751, 754, 746, 757, 760, 1946, 748, 750, 753, 1946, 756, 759, 68, 69, 747, 763, 744, 741, 766, 769, 772, 1946, 762, 775, 1946, 765, 768, 771, 738, 1946, 774, 735, 732, 729, 778, 781, 726, 784, 785, 791, 1946, 777, 780, 1946, 783, 712, 788, 723, 720, 795, 717, 713, 714, 800, 803, 1946, 794, 806, 809, 1946, 801, 804, 710, 1946, 807, 810, 802, 805, 812, 815, 808, 811, 818, 821, 1946, 813, 816, 824, 1946, 819, 822, 814, 817, 1946, 825, 820, 823, 827, 830, 833, 826, 836, 840, 1946, 828, 831, 834, 1946, 837, 839, 829, 832, 835, 843, 72, 73, 846, 849, 852, 1946, 842, 855, 1946, 845, 848, 851, 836, 1946, 854, 833, 830, 827, 858, 861, 824, 864, 867, 870, 1946, 857, 860, 1946, 863, 866, 869, 821, 818, 873, 815, 812, 809, 876, 877, 1946, 872, 883, 887, 1946, 875, 798, 806, 1946, 880, 886, 803, 799, 892, 895, 800, 796, 898, 901, 1946, 893, 896, 904, 1946, 899, 902, 894, 897, 1946, 905, 900, 903, 907, 910, 913, 906, 916, 919, 1946, 908, 911, 914, 1946, 917, 920, 909, 912, 915, 922, 918, 921, 925, 928, 931, 1946, 923, 935, 1946, 926, 929, 932, 924, 1946, 934, 927, 930, 76, 938, 941, 77, 944, 947, 950, 1946, 937, 940, 1946, 943, 946, 949, 931, 928, 953, 925, 922, 919, 956, 959, 1946, 952, 962, 965, 1946, 955, 958, 916, 1946, 961, 964, 913, 910, 968, 971, 907, 904, 974, 975, 1946, 967, 970, 981, 1946, 973, 890, 901, 898, 1946, 978, 895, 891, 983, 989, 990, 892, 994, 998, 1946, 82, 14, 986, 1946, 993, 997, 83, 15, 888, 1004, 80, 84, 1008, 1013, 1017, 1946, 1001, 1018, 1946, 1007, 1014, 1016, 85, 1946, 1011, 995, 88, 89, 1024, 1028, 1012, 1033, 1036, 1040, 1946, 1021, 1027, 1946, 1034, 1037, 1039, 1013, 1009, 1043, 1035, 92, 93, 1044, 1050, 1946, 1042, 1054, 1059, 1946, 1031, 1047, 1036, 1946, 1053, 1060, 1032, 1033, 1062, 1065, 1029, 1061, 1069, 1072, 1946, 1063, 1066, 1075, 1946, 1068, 1071, 1064, 96, 1946, 1074, 97, 1065, 1076, 1082, 1086, 1062, 1091, 1094, 1946, 1057, 1079, 1085, 1946, 1092, 1095, 1058, 1059, 1055, 1097, 1093, 1096, 1100, 1104, 1107, 1946, 1098, 1110, 1946, 1101, 1103, 1106, 1099, 1946, 1109, 100, 101, 1100, 1113, 1114, 1097, 1120, 1124, 1129, 1946, 1112, 1089, 1946, 1117, 1123, 1130, 1094, 1090, 1132, 1091, 1087, 1131, 1135, 1138, 1946, 1133, 1141, 1145, 1946, 1136, 1139, 1134, 1946, 1142, 1144, 1137, 1140, 1148, 1151, 104, 105, 1154, 1157, 1946, 1147, 1150, 1158, 1946, 1153, 1156, 1141, 1138, 1946, 1127, 1135, 1132, 1164, 1168, 1173, 1128, 1176, 1179, 1946, 1161, 1167, 1174, 1946, 1177, 1180, 1129, 1125, 1175, 1182, 1178, 1181, 1185, 1188, 1192, 1946, 1183, 1195, 1946, 1186, 1189, 1191, 1184, 1946, 1194, 1187, 108, 109, 1198, 1201, 1188, 1204, 1207, 1208, 1946, 1197, 1200, 1946, 1203, 1206, 1171, 1185, 1182, 1214, 1179, 1176, 1172, 1218, 1223, 1946, 1211, 1226, 1229, 1946, 1217, 1224, 1173, 1946, 1227, 1230, 1169, 1225, 1232, 1235, 1228, 1231, 1238, 1241, 1946, 1233, 1236, 1245, 1946, 1239, 1242, 1234, 1237, 1946, 1244, 1240, 112, 1248, 1251, 1254, 113, 1257, 1260, 1946, 1247, 1250, 1253, 1946, 1256, 1259, 1241, 1238, 1235, 1263, 1232, 1229, 1264, 1270, 1274, 1946, 1262, 1279, 1946, 1221, 1267, 1273, 1226, 1946, 1280, 1222, 1223, 1219, 1282, 1285, 1281, 1288, 1291, 1294, 1946, 1283, 1286, 1946, 1289, 1292, 1295, 1284, 1287, 1297, 1290, 1293, 1296, 1300, 1304, 1946, 1298, 1307, 1310, 1946, 1301, 1303, 1299, 1946, 1306, 1309, 116, 117, 1313, 1316, 1300, 1297, 1319, 1322, 1946, 1312, 1315, 1325, 1946, 1318, 1321, 1294, 1291, 1946, 1324, 1288, 1285, 1326, 1332, 1336, 1282, 1341, 1344, 1946, 1277, 1329, 1335, 1946, 1342, 1345, 1278, 1279, 1275, 1347, 1343, 1346, 1350, 1353, 1356, 1946, 1348, 1359, 1946, 1351, 1354, 1357, 1349, 1946, 1360, 1352, 1355, 1358, 1362, 1365, 1361, 1369, 1372, 1375, 1946, 1363, 1366, 1946, 1368, 1371, 1374, 1364, 120, 1378, 121, 1365, 1362, 1381, 1384, 1946, 1377, 1387, 1390, 1946, 1380, 1383, 1359, 1946, 1386, 1389, 1356, 1353, 1393, 1394, 1350, 1347, 1400, 1404, 1946, 1392, 1339, 1409, 1946, 1397, 1403, 1344, 1340, 1946, 1410, 1341, 1337, 1412, 1415, 1418, 1411, 1421, 1424, 1946, 1413, 1416, 1419, 1946, 1422, 1425, 1414, 1417, 1420, 1427, 1423, 1426, 1430, 1433, 1436, 1946, 1428, 1440, 1946, 1431, 1434, 1437, 1429, 1946, 1439, 1432, 1435, 124, 1443, 1446, 125, 1449, 1452, 1455, 1946, 1442, 1445, 1946, 1448, 1451, 1454, 1436, 1433, 1458, 1430, 1427, 1424, 1461, 1464, 1946, 1457, 1467, 1468, 1946, 1460, 1463, 1421, 1946, 1466, 1407, 1418, 1415, 1474, 1478, 1412, 1408, 1483, 1486, 1946, 1471, 1477, 1489, 1946, 1484, 1487, 1409, 1405, 1946, 1490, 1485, 1488, 1492, 1495, 1498, 1491, 1501, 1504, 1946, 1493, 1496, 1499, 1946, 1502, 1505, 1494, 1497, 1500, 1507, 1503, 1506, 1510, 1513, 1517, 1946, 1508, 1520, 1946, 1511, 1514, 1516, 1509, 1946, 1519, 1512, 128, 129, 1523, 1526, 1513, 1529, 1532, 1535, 1946, 1522, 1525, 1946, 1528, 1531, 1534, 1510, 1507, 1538, 1504, 1501, 1498, 1541, 1544, 1946, 1537, 1547, 1548, 1946, 1540, 1543, 1495, 1946, 1546, 1481, 1492, 1489, 1554, 1558, 1486, 1482, 1563, 1566, 1946, 1551, 1557, 1569, 1946, 1564, 1567, 1483, 1479, 1946, 1570, 1565, 1568, 1572, 1575, 1578, 1571, 1581, 1584, 1946, 1573, 1576, 1579, 1946, 1582, 1585, 1574, 1577, 1580, 1587, 1583, 1586, 1590, 1593, 1596, 1946, 1588, 1600, 1946, 1591, 1594, 1597, 1589, 1946, 1599, 1592, 1595, 132, 1603, 1606, 133, 1609, 1612, 1615, 1946, 1602, 1605, 1946, 1608, 1611, 1614, 1596, 1593, 1618, 1590, 1587, 1584, 1621, 1624, 1946, 1617, 1627, 1630, 1946, 1620, 1623, 1581, 1946, 1626, 1629, 1578, 1575, 1633, 1634, 1572, 1569, 1640, 1644, 1946, 1632, 1561, 1649, 1946, 1637, 1643, 1566, 1562, 1946, 1650, 1563, 1559, 1652, 1655, 1658, 1651, 1661, 1664, 1946, 1653, 1656, 1659, 1946, 1662, 1665, 1654, 1657, 1660, 1667, 1663, 1666, 1670, 1673, 1676, 1946, 1668, 1679, 1946, 1671, 1674, 1677, 1669, 1946, 1680, 1672, 1675, 1678, 1682, 1685, 1681, 1689, 1692, 1695, 1946, 1683, 1686, 1946, 1688, 1691, 1694, 1684, 136, 1698, 137, 1685, 1682, 1701, 1704, 1946, 1697, 1707, 1710, 1946, 1700, 1703, 1679, 1946, 1706, 1709, 1676, 1673, 1713, 1716, 1670, 1667, 1719, 1722, 1946, 1712, 1715, 1725, 1946, 1718, 1721, 1664, 1661, 1946, 1724, 1658, 1655, 1726, 1732, 1736, 1652, 1741, 1744, 1946, 1647, 1729, 1735, 1946, 1742, 1745, 1648, 1649, 1645, 1747, 1743, 1746, 1750, 1753, 1756, 1946, 1748, 1759, 1946, 1751, 1754, 1757, 1749, 1946, 1760, 1752, 1755, 1758, 1762, 1765, 1761, 1768, 1771, 1774, 1946, 1763, 1766, 1946, 1769, 1772, 1775, 1764, 1767, 1777, 1770, 1773, 1776, 1780, 1784, 1946, 1778, 1787, 1790, 1946, 1781, 1783, 1779, 1946, 1786, 1789, 140, 141, 1793, 1796, 1780, 1777, 1799, 1802, 1946, 1792, 1795, 1805, 1946, 1798, 1801, 1774, 1771, 1946, 1804, 1768, 1765, 1808, 1811, 1814, 1762, 1817, 1820, 1946, 1807, 1810, 1813, 1946, 1816, 1819, 1759, 1756, 1753, 1823, 1750, 1747, 1824, 1830, 1832, 1946, 1822, 1837, 1946, 1739, 1827, 18, 1744, 1946, 1838, 1740, 1741, 19, 1840, 1843, 1839, 1846, 1849, 1852, 1946, 1841, 1844, 1946, 1847, 1850, 1853, 1842, 1845, 1855, 1848, 1851, 1854, 1858, 1861, 1946, 1856, 1864, 1867, 1946, 1859, 1862, 1857, 1946, 1865, 1868, 1860, 1863, 1870, 1873, 1866, 1869, 1876, 1879, 1946, 1871, 1874, 1883, 1946, 1877, 1880, 1872, 1875, 1946, 1882, 1878, 11, 1886, 1889, 1892, 12, 1895, 1898, 1946, 1885, 1888, 1891, 1946, 1894, 1897, 1879, 1876, 1873, 1901, 1870, 1867, 1904, 1907, 1910, 1946, 1900, 1913, 1946, 1903, 1906, 1909, 1864, 1946, 1912, 1861, 1858, 1855, 1916, 1919, 1852, 1922, 1925, 1927, 1946, 1915, 1918, 1946, 1921, 1924, 1835, 1849, 1846, 1933, 1843, 1840, 1836, 1943, 632, 635, 1930, 638, 641, 644, 1938, 647, 1737, 650, 653, 656, 1837, 633, 636, 659, 639, 642, 645, 662, 648, 665, 651, 654, 657, 667, 670, 673, 660, 676, 679, 682, 663, 685, 64, 688, 691, 694, 65, 664, 661, 697, 658, 655, 652, 702, 649, 708, 646, 643, 640, 712, 715, 718, 637, 721, 724, 727, 634, 730, 630, 733, 736, 739, 713, 716, 719, 742, 722, 725, 728, 745, 731, 748, 734, 737, 740, 750, 753, 756, 743, 759, 762, 765, 746, 768, 68, 771, 774, 777, 69, 747, 744, 780, 741, 738, 735, 783, 732, 788, 729, 726, 723, 794, 798, 801, 720, 804, 807, 810, 717, 813, 714, 816, 819, 822, 710, 799, 802, 825, 805, 808, 811, 828, 814, 831, 817, 820, 823, 834, 837, 839, 826, 842, 845, 848, 829, 851, 832, 854, 857, 860, 835, 72, 73, 863, 836, 833, 830, 866, 827, 869, 824, 821, 818, 872, 875, 880, 815, 886, 890, 893, 812, 896, 809, 899, 902, 905, 806, 803, 800, 908, 796, 891, 894, 911, 897, 914, 900, 903, 906, 917, 920, 923, 909, 926, 929, 932, 912, 934, 915, 937, 940, 943, 918, 921, 924, 946, 927, 930, 76, 949, 77, 952, 931, 928, 925, 955, 958, 961, 922, 964, 967, 970, 919, 973, 916, 978, 986, 993, 913, 910, 907, 997, 904, 901, 898, 1001, 895, 1007, 892, 888, 80, 1011, 1014, 1016, 84, 1021, 1027, 1031, 85, 1034, 995, 1037, 1039, 1042, 1012, 88, 89, 1047, 1013, 1009, 1032, 1053, 1035, 1057, 92, 93, 1036, 1060, 1063, 1066, 1033, 1068, 1071, 1074, 1029, 1079, 1058, 1085, 1089, 1092, 1061, 1064, 96, 1095, 97, 1065, 1062, 1098, 1059, 1101, 1055, 1090, 1093, 1103, 1106, 1109, 1096, 1112, 1117, 1123, 1099, 1127, 100, 1130, 1133, 1136, 101, 1100, 1097, 1139, 1094, 1091, 1087, 1142, 1128, 1144, 1131, 1134, 1137, 1147, 1150, 1153, 1140, 1156, 1161, 1167, 104, 1171, 105, 1174, 1177, 1180, 1141, 1138, 1135, 1183, 1132, 1129, 1125, 1186, 1172, 1189, 1175, 1178, 1181, 1191, 1194, 1197, 1184, 1200, 1203, 1206, 1187, 1211, 108, 1217, 1221, 1224, 109, 1188, 1185, 1227, 1182, 1179, 1176, 1230, 1173, 1233, 1169, 1222, 1225, 1236, 1239, 1242, 1228, 1244, 1247, 1250, 1231, 1253, 1234, 1256, 1259, 1262, 1237, 1240, 112, 1267, 113, 1241, 1238, 1273, 1235, 1277, 1232, 1229, 1226, 1280, 1283, 1286, 1223, 1289, 1292, 1295, 1219, 1298, 1278, 1301, 1303, 1306, 1281, 1284, 1287, 1309, 1290, 1293, 1296, 1312, 1299, 1315, 116, 117, 1300, 1318, 1321, 1324, 1297, 1329, 1335, 1339, 1294, 1342, 1291, 1345, 1348, 1351, 1288, 1285, 1282, 1354, 1279, 1275, 1340, 1357, 1343, 1360, 1346, 1349, 1352, 1363, 1366, 1368, 1355, 1371, 1374, 1377, 1358, 1380, 1361, 1383, 1386, 1389, 1364, 120, 121, 1392, 1365, 1362, 1359, 1397, 1356, 1403, 1353, 1350, 1347, 1407, 1410, 1413, 1344, 1416, 1419, 1422, 1341, 1425, 1337, 1428, 1431, 1434, 1408, 1411, 1414, 1437, 1417, 1420, 1423, 1439, 1426, 1442, 1429, 1432, 1435, 1445, 1448, 1451, 124, 1454, 1457, 1460, 125, 1463, 1436, 1466, 1471, 1477, 1433, 1430, 1427, 1481, 1424, 1421, 1418, 1484, 1415, 1487, 1412, 1409, 1405, 1490, 1493, 1496, 1482, 1499, 1502, 1505, 1485, 1508, 1488, 1511, 1514, 1516, 1491, 1494, 1497, 1519, 1500, 1503, 1506, 1522, 1509, 1525, 1512, 128, 129, 1528, 1531, 1534, 1513, 1537, 1540, 1543, 1510, 1546, 1507, 1551, 1557, 1561, 1504, 1501, 1498, 1564, 1495, 1492, 1489, 1567, 1486, 1570, 1483, 1479, 1562, 1573, 1576, 1579, 1565, 1582, 1585, 1588, 1568, 1591, 1571, 1594, 1597, 1599, 1574, 1577, 1580, 1602, 1583, 1586, 1589, 1605, 1592, 1608, 1595, 132, 133, 1611, 1614, 1617, 1596, 1620, 1623, 1626, 1593, 1629, 1590, 1632, 1637, 1643, 1587, 1584, 1581, 1647, 1578, 1575, 1572, 1650, 1569, 1653, 1566, 1563, 1559, 1656, 1659, 1662, 1648, 1665, 1668, 1671, 1651, 1674, 1654, 1677, 1680, 1683, 1657, 1660, 1663, 1686, 1666, 1669, 1672, 1688, 1675, 1691, 1678, 1681, 1684, 1694, 1697, 1700, 136, 1703, 1706, 1709, 137, 1712, 1685, 1715, 1718, 1721, 1682, 1679, 1676, 1724, 1673, 1670, 1667, 1729, 1664, 1735, 1661, 1658, 1655, 1739, 1742, 1745, 1652, 1748, 1751, 1754, 1649, 1757, 1645, 1760, 1763, 1766, 1740, 1743, 1746, 1769, 1749, 1752, 1755, 1772, 1758, 1775, 1761, 1764, 1767, 1778, 1781, 1783, 1770, 1786, 1789, 1792, 1773, 1795, 1776, 1798, 1801, 1804, 1779, 140, 141, 1807, 1780, 1777, 1774, 1810, 1771, 1813, 1768, 1765, 1762, 1816, 1819, 1822, 1759, 1827, 1835, 1838, 1756, 1841, 1753, 1844, 1847, 1850, 1750, 1747, 1744, 1853, 1741, 1836, 1839, 1856, 1842, 1859, 1845, 1848, 1851, 1862, 1865, 1868, 1854, 1871, 1874, 1877, 1857, 1880, 1860, 1882, 1885, 1888, 1863, 1866, 1869, 1891, 1872, 1875, 1878, 1894, 11, 1897, 12, 1879, 1876, 1900, 1903, 1906, 1873, 1909, 1912, 1915, 1870, 1918, 1867, 1921, 1924, 1930, 1864, 1861, 1858, 1938, 1855, 1852, 1849, 1946, 1846, 1946, 1843, 1840, 1737, 1946, 1946, 1946, 1837}; /* Check vector for state transitions. */ static const unsigned short bdver1_fp_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1935, 1946, 1, 1935, 1946, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 1935, 10, 1, 2, 10, 1946, 10, 10, 10, 10, 10, 1946, 10, 10, 10, 19, 2, 12, 19, 1946, 19, 19, 19, 19, 12, 19, 19, 19, 19, 23, 12, 21, 23, 1946, 23, 23, 23, 23, 21, 23, 23, 23, 23, 27, 21, 25, 27, 1946, 27, 27, 27, 27, 25, 27, 27, 27, 27, 31, 25, 29, 31, 1946, 31, 31, 31, 31, 29, 31, 31, 31, 31, 35, 29, 33, 35, 1946, 35, 35, 35, 35, 33, 35, 35, 35, 35, 39, 33, 37, 39, 1946, 39, 39, 39, 39, 37, 39, 39, 39, 39, 43, 37, 41, 43, 1946, 43, 43, 43, 43, 41, 43, 43, 43, 43, 47, 41, 45, 47, 1946, 47, 47, 47, 47, 45, 47, 47, 47, 47, 51, 45, 49, 51, 1946, 51, 51, 51, 51, 49, 51, 51, 51, 51, 55, 49, 53, 55, 1946, 55, 55, 55, 55, 53, 55, 55, 55, 55, 59, 53, 57, 59, 1946, 59, 59, 59, 59, 57, 59, 59, 59, 59, 63, 57, 61, 63, 1946, 63, 63, 63, 63, 61, 63, 63, 63, 63, 67, 61, 65, 67, 1946, 67, 67, 67, 67, 65, 67, 67, 67, 67, 71, 65, 69, 71, 1946, 71, 71, 71, 71, 69, 71, 71, 71, 71, 75, 69, 73, 75, 1946, 75, 75, 75, 75, 73, 75, 75, 75, 75, 79, 73, 77, 79, 1946, 79, 79, 79, 79, 77, 79, 79, 79, 79, 83, 77, 3, 83, 1946, 83, 83, 83, 83, 83, 1946, 83, 83, 83, 87, 3, 4, 87, 1946, 87, 87, 87, 87, 87, 1946, 87, 87, 87, 91, 4, 5, 91, 1946, 91, 91, 91, 91, 91, 1946, 91, 91, 91, 95, 5, 6, 95, 1946, 95, 95, 95, 95, 95, 1946, 95, 95, 95, 99, 6, 7, 99, 1946, 99, 99, 99, 99, 99, 1946, 99, 99, 99, 103, 7, 8, 103, 1946, 103, 103, 103, 103, 103, 1946, 103, 103, 103, 107, 8, 9, 107, 1946, 107, 107, 107, 107, 107, 1946, 107, 107, 107, 111, 9, 14, 111, 1946, 111, 111, 111, 111, 111, 1946, 111, 111, 111, 115, 14, 18, 115, 1946, 115, 115, 115, 115, 115, 1946, 115, 115, 115, 119, 18, 22, 119, 1946, 119, 119, 119, 119, 119, 1946, 119, 119, 119, 123, 22, 26, 123, 1946, 123, 123, 123, 123, 123, 1946, 123, 123, 123, 127, 26, 30, 127, 1946, 127, 127, 127, 127, 127, 1946, 127, 127, 127, 131, 30, 34, 131, 1946, 131, 131, 131, 131, 131, 1946, 131, 131, 131, 135, 34, 38, 135, 1946, 135, 135, 135, 135, 135, 1946, 135, 135, 135, 139, 38, 42, 139, 1946, 139, 139, 139, 139, 139, 1946, 139, 139, 139, 150, 42, 46, 150, 1946, 150, 150, 150, 150, 150, 1946, 150, 150, 150, 170, 46, 50, 170, 1946, 170, 170, 170, 170, 170, 1946, 170, 170, 170, 196, 50, 54, 196, 1946, 196, 196, 196, 196, 196, 1946, 196, 196, 196, 228, 54, 58, 228, 1946, 228, 228, 228, 228, 228, 1946, 228, 228, 228, 266, 58, 62, 266, 1946, 266, 266, 266, 266, 266, 1946, 266, 266, 266, 310, 62, 66, 310, 1946, 310, 310, 310, 310, 310, 1946, 310, 310, 310, 360, 66, 70, 360, 1946, 360, 360, 360, 360, 360, 1946, 360, 360, 360, 416, 70, 74, 416, 1946, 416, 416, 416, 416, 416, 1946, 416, 416, 416, 478, 74, 78, 478, 1946, 478, 478, 478, 478, 478, 1946, 478, 478, 478, 546, 78, 82, 546, 1946, 546, 546, 546, 546, 546, 1946, 546, 546, 546, 620, 82, 86, 620, 1946, 620, 620, 620, 620, 620, 1946, 620, 620, 620, 700, 86, 90, 700, 1946, 700, 700, 700, 700, 700, 1946, 700, 700, 700, 786, 90, 94, 786, 1946, 786, 786, 786, 786, 786, 1946, 786, 786, 786, 878, 94, 98, 878, 1946, 878, 878, 878, 878, 878, 1946, 878, 878, 878, 976, 98, 102, 976, 1946, 976, 976, 976, 976, 976, 1946, 976, 976, 976, 984, 102, 85, 984, 1946, 984, 984, 984, 984, 85, 984, 984, 984, 984, 999, 85, 89, 999, 1946, 999, 999, 999, 999, 89, 999, 999, 999, 999, 1019, 89, 93, 1019, 1946, 1019, 1019, 1019, 1019, 93, 1019, 1019, 1019, 1019, 1045, 93, 97, 1045, 1946, 1045, 1045, 1045, 1045, 97, 1045, 1045, 1045, 1045, 1077, 97, 101, 1077, 1946, 1077, 1077, 1077, 1077, 101, 1077, 1077, 1077, 1077, 1115, 101, 105, 1115, 1946, 1115, 1115, 1115, 1115, 105, 1115, 1115, 1115, 1115, 1159, 105, 109, 1159, 1946, 1159, 1159, 1159, 1159, 109, 1159, 1159, 1159, 1159, 1209, 109, 113, 1209, 1946, 1209, 1209, 1209, 1209, 113, 1209, 1209, 1209, 1209, 1265, 113, 117, 1265, 1946, 1265, 1265, 1265, 1265, 117, 1265, 1265, 1265, 1265, 1327, 117, 121, 1327, 1946, 1327, 1327, 1327, 1327, 121, 1327, 1327, 1327, 1327, 1395, 121, 125, 1395, 1946, 1395, 1395, 1395, 1395, 125, 1395, 1395, 1395, 1395, 1469, 125, 129, 1469, 1946, 1469, 1469, 1469, 1469, 129, 1469, 1469, 1469, 1469, 1549, 129, 133, 1549, 1946, 1549, 1549, 1549, 1549, 133, 1549, 1549, 1549, 1549, 1635, 133, 137, 1635, 1946, 1635, 1635, 1635, 1635, 137, 1635, 1635, 1635, 1635, 1727, 137, 141, 1727, 1946, 1727, 1727, 1727, 1727, 141, 1727, 1727, 1727, 1727, 1825, 141, 145, 1825, 1946, 1825, 1825, 1825, 1825, 145, 1825, 1825, 1825, 1825, 1928, 145, 106, 1928, 1946, 1928, 1928, 1928, 1928, 1928, 1946, 1928, 1928, 1928, 1939, 106, 110, 1939, 1946, 1939, 1939, 1939, 1939, 1939, 1946, 1939, 1939, 1939, 1944, 110, 114, 1944, 1946, 1944, 1944, 1944, 1944, 1944, 1946, 1944, 1944, 1944, 15, 114, 118, 15, 1946, 122, 15, 15, 1946, 15, 15, 15, 15, 15, 1941, 118, 126, 1941, 122, 130, 1941, 1941, 1946, 1941, 1941, 1941, 1941, 1941, 80, 126, 149, 80, 130, 134, 80, 80, 1946, 149, 80, 80, 80, 80, 988, 149, 155, 988, 134, 138, 988, 988, 1946, 155, 988, 988, 988, 988, 995, 155, 159, 995, 138, 142, 995, 995, 1946, 159, 995, 995, 995, 995, 1003, 159, 164, 1003, 142, 144, 1003, 1003, 1946, 164, 1003, 1003, 1003, 1003, 1009, 164, 168, 1009, 144, 148, 1009, 1009, 1946, 168, 1009, 1009, 1009, 1009, 1023, 168, 169, 1023, 148, 152, 1023, 1023, 1946, 169, 1023, 1023, 1023, 1023, 1029, 169, 175, 1029, 152, 158, 1029, 1029, 1946, 175, 1029, 1029, 1029, 1029, 1049, 175, 179, 1049, 158, 162, 1049, 1049, 1946, 179, 1049, 1049, 1049, 1049, 1055, 179, 184, 1055, 162, 165, 1055, 1055, 1946, 184, 1055, 1055, 1055, 1055, 1081, 184, 187, 1081, 165, 167, 1081, 1081, 1946, 187, 1081, 1081, 1081, 1081, 1087, 187, 191, 1087, 167, 172, 1087, 1087, 1946, 191, 1087, 1087, 1087, 1087, 1119, 191, 194, 1119, 172, 178, 1119, 1119, 1946, 194, 1119, 1119, 1119, 1119, 1125, 194, 195, 1125, 178, 182, 1125, 1125, 1946, 195, 1125, 1125, 1125, 1125, 1163, 195, 201, 1163, 182, 185, 1163, 1163, 1946, 201, 1163, 1163, 1163, 1163, 1169, 201, 205, 1169, 185, 188, 1169, 1169, 1946, 205, 1169, 1169, 1169, 1169, 1213, 205, 210, 1213, 188, 190, 1213, 1213, 1946, 210, 1213, 1213, 1213, 1213, 1219, 210, 213, 1219, 190, 193, 1219, 1219, 1946, 213, 1219, 1219, 1219, 1219, 1269, 213, 216, 1269, 193, 198, 1269, 1269, 1946, 216, 1269, 1269, 1269, 1269, 1275, 216, 220, 1275, 198, 204, 1275, 1275, 1946, 220, 1275, 1275, 1275, 1275, 1331, 220, 223, 1331, 204, 208, 1331, 1331, 1946, 223, 1331, 1331, 1331, 1331, 1337, 223, 226, 1337, 208, 211, 1337, 1337, 1946, 226, 1337, 1337, 1337, 1337, 1399, 226, 227, 1399, 211, 214, 1399, 1399, 1946, 227, 1399, 1399, 1399, 1399, 1405, 227, 233, 1405, 214, 217, 1405, 1405, 1946, 233, 1405, 1405, 1405, 1405, 1473, 233, 237, 1473, 217, 219, 1473, 1473, 1946, 237, 1473, 1473, 1473, 1473, 1479, 237, 242, 1479, 219, 222, 1479, 1479, 1946, 242, 1479, 1479, 1479, 1479, 1553, 242, 245, 1553, 222, 225, 1553, 1553, 1946, 245, 1553, 1553, 1553, 1553, 1559, 245, 248, 1559, 225, 230, 1559, 1559, 1946, 248, 1559, 1559, 1559, 1559, 1639, 248, 251, 1639, 230, 236, 1639, 1639, 1946, 251, 1639, 1639, 1639, 1639, 1645, 251, 255, 1645, 236, 240, 1645, 1645, 1946, 255, 1645, 1645, 1645, 1645, 1731, 255, 258, 1731, 240, 243, 1731, 1731, 1946, 258, 1731, 1731, 1731, 1731, 1737, 258, 261, 1737, 243, 246, 1737, 1737, 1946, 261, 1737, 1737, 1737, 1737, 1829, 261, 264, 1829, 246, 249, 1829, 1829, 252, 264, 1829, 1829, 1829, 1829, 1833, 264, 1946, 1833, 249, 254, 1833, 252, 265, 1833, 1833, 1833, 1833, 1833, 1936, 265, 257, 1936, 254, 260, 1936, 265, 1946, 1936, 1936, 1936, 1936, 1936, 11, 257, 1946, 1946, 260, 11, 11, 11, 11, 13, 263, 11, 1946, 11, 13, 13, 13, 13, 16, 271, 13, 16, 13, 263, 16, 16, 271, 16, 20, 1946, 16, 16, 271, 20, 20, 20, 20, 24, 1946, 20, 1946, 20, 24, 24, 24, 24, 28, 1946, 24, 1946, 24, 28, 28, 28, 28, 32, 1946, 28, 1946, 28, 32, 32, 32, 32, 36, 1946, 32, 1946, 32, 36, 36, 36, 36, 40, 1946, 36, 1946, 36, 40, 40, 40, 40, 44, 1946, 40, 1946, 40, 44, 44, 44, 44, 48, 1946, 44, 1946, 44, 48, 48, 48, 48, 52, 1946, 48, 1946, 48, 52, 52, 52, 52, 56, 1946, 52, 1946, 52, 56, 56, 56, 56, 60, 1946, 56, 1946, 56, 60, 60, 60, 60, 64, 1946, 60, 1946, 60, 64, 64, 64, 64, 68, 1946, 64, 1946, 64, 68, 68, 68, 68, 72, 1946, 68, 1946, 68, 72, 72, 72, 72, 76, 268, 72, 275, 72, 76, 76, 76, 76, 81, 275, 76, 81, 76, 268, 81, 275, 274, 84, 81, 81, 81, 81, 84, 84, 84, 84, 88, 1946, 84, 274, 84, 88, 88, 88, 88, 92, 1946, 88, 1946, 88, 92, 92, 92, 92, 96, 1946, 92, 1946, 92, 96, 96, 96, 96, 100, 1946, 96, 1946, 96, 100, 100, 100, 100, 104, 1946, 100, 1946, 100, 104, 104, 104, 104, 108, 1946, 104, 1946, 104, 108, 108, 108, 108, 112, 1946, 108, 1946, 108, 112, 112, 112, 112, 116, 1946, 112, 1946, 112, 116, 116, 116, 116, 120, 1946, 116, 1946, 116, 120, 120, 120, 120, 124, 1946, 120, 1946, 120, 124, 124, 124, 124, 128, 1946, 124, 1946, 124, 128, 128, 128, 128, 132, 1946, 128, 1946, 128, 132, 132, 132, 132, 136, 1946, 132, 1946, 132, 136, 136, 136, 136, 140, 1946, 136, 1946, 136, 140, 140, 140, 140, 143, 278, 140, 1946, 140, 143, 143, 143, 143, 146, 280, 143, 146, 143, 278, 146, 146, 280, 146, 153, 281, 146, 146, 280, 153, 153, 153, 153, 154, 283, 153, 154, 153, 281, 154, 154, 283, 154, 156, 1946, 154, 154, 283, 156, 156, 156, 156, 157, 284, 156, 1946, 156, 157, 157, 157, 157, 160, 286, 157, 160, 157, 284, 160, 160, 286, 160, 163, 1946, 160, 160, 286, 163, 163, 163, 163, 166, 1946, 163, 1946, 163, 166, 166, 166, 166, 173, 287, 166, 1946, 166, 173, 173, 173, 173, 174, 289, 173, 174, 173, 287, 174, 174, 289, 174, 176, 1946, 174, 174, 289, 176, 176, 176, 176, 177, 290, 176, 1946, 176, 177, 177, 177, 177, 180, 292, 177, 180, 177, 290, 180, 180, 292, 180, 183, 1946, 180, 180, 292, 183, 183, 183, 183, 186, 1946, 183, 1946, 183, 186, 186, 186, 186, 189, 1946, 186, 1946, 186, 189, 189, 189, 189, 192, 1946, 189, 1946, 189, 192, 192, 192, 192, 199, 293, 192, 1946, 192, 199, 199, 199, 199, 200, 296, 199, 200, 199, 293, 200, 200, 296, 200, 202, 1946, 200, 200, 296, 202, 202, 202, 202, 203, 295, 202, 1946, 202, 203, 203, 203, 203, 206, 299, 203, 206, 203, 295, 206, 206, 299, 206, 209, 1946, 206, 206, 299, 209, 209, 209, 209, 212, 1946, 209, 1946, 209, 212, 212, 212, 212, 215, 1946, 212, 1946, 212, 215, 215, 215, 215, 218, 1946, 215, 1946, 215, 218, 218, 218, 218, 221, 1946, 218, 1946, 218, 221, 221, 221, 221, 224, 1946, 221, 1946, 221, 224, 224, 224, 224, 231, 298, 224, 1946, 224, 231, 231, 231, 231, 232, 302, 231, 232, 231, 298, 232, 232, 302, 232, 234, 1946, 232, 232, 302, 234, 234, 234, 234, 235, 301, 234, 1946, 234, 235, 235, 235, 235, 238, 305, 235, 238, 235, 301, 238, 238, 305, 238, 241, 1946, 238, 238, 305, 241, 241, 241, 241, 244, 1946, 241, 1946, 241, 244, 244, 244, 244, 247, 1946, 244, 1946, 244, 247, 247, 247, 247, 250, 1946, 247, 1946, 247, 250, 250, 250, 250, 253, 1946, 250, 1946, 250, 253, 253, 253, 253, 256, 1946, 253, 1946, 253, 256, 256, 256, 256, 259, 1946, 256, 1946, 256, 259, 259, 259, 259, 262, 1946, 259, 1946, 259, 262, 262, 262, 262, 269, 304, 262, 1946, 262, 269, 269, 269, 269, 270, 308, 269, 270, 269, 304, 270, 270, 308, 270, 272, 1946, 270, 270, 308, 272, 272, 272, 272, 273, 307, 272, 1946, 272, 273, 273, 273, 273, 276, 309, 273, 276, 273, 307, 276, 276, 309, 276, 279, 1946, 276, 276, 309, 279, 279, 279, 279, 282, 1946, 279, 1946, 279, 282, 282, 282, 282, 285, 1946, 282, 1946, 282, 285, 285, 285, 285, 288, 1946, 285, 1946, 285, 288, 288, 288, 288, 291, 1946, 288, 1946, 288, 291, 291, 291, 291, 294, 1946, 291, 1946, 291, 294, 294, 294, 294, 297, 1946, 294, 1946, 294, 297, 297, 297, 297, 300, 1946, 297, 1946, 297, 300, 300, 300, 300, 303, 1946, 300, 1946, 300, 303, 303, 303, 303, 306, 1946, 303, 1946, 303, 306, 306, 306, 306, 313, 312, 306, 1946, 306, 313, 313, 313, 313, 314, 315, 313, 314, 313, 312, 314, 314, 315, 314, 316, 1946, 314, 314, 315, 316, 316, 316, 316, 317, 318, 316, 1946, 316, 317, 317, 317, 317, 320, 319, 317, 320, 317, 318, 320, 320, 319, 320, 323, 1946, 320, 320, 319, 323, 323, 323, 323, 326, 1946, 323, 1946, 323, 326, 326, 326, 326, 329, 1946, 326, 1946, 326, 329, 329, 329, 329, 332, 1946, 329, 1946, 329, 332, 332, 332, 332, 335, 1946, 332, 1946, 332, 335, 335, 335, 335, 338, 1946, 335, 1946, 335, 338, 338, 338, 338, 341, 1946, 338, 1946, 338, 341, 341, 341, 341, 344, 1946, 341, 1946, 341, 344, 344, 344, 344, 347, 1946, 344, 1946, 344, 347, 347, 347, 347, 350, 1946, 347, 1946, 347, 350, 350, 350, 350, 353, 1946, 350, 1946, 350, 353, 353, 353, 353, 356, 1946, 353, 1946, 353, 356, 356, 356, 356, 363, 322, 356, 1946, 356, 363, 363, 363, 363, 364, 324, 363, 364, 363, 322, 364, 364, 324, 364, 366, 1946, 364, 364, 324, 366, 366, 366, 366, 367, 325, 366, 1946, 366, 367, 367, 367, 367, 370, 327, 367, 370, 367, 325, 370, 370, 327, 370, 373, 1946, 370, 370, 327, 373, 373, 373, 373, 376, 1946, 373, 1946, 373, 376, 376, 376, 376, 379, 1946, 376, 1946, 376, 379, 379, 379, 379, 382, 1946, 379, 1946, 379, 382, 382, 382, 382, 385, 1946, 382, 1946, 382, 385, 385, 385, 385, 388, 1946, 385, 1946, 385, 388, 388, 388, 388, 391, 1946, 388, 1946, 388, 391, 391, 391, 391, 394, 1946, 391, 1946, 391, 394, 394, 394, 394, 397, 1946, 394, 1946, 394, 397, 397, 397, 397, 400, 1946, 397, 1946, 397, 400, 400, 400, 400, 403, 1946, 400, 1946, 400, 403, 403, 403, 403, 406, 1946, 403, 1946, 403, 406, 406, 406, 406, 409, 1946, 406, 1946, 406, 409, 409, 409, 409, 412, 1946, 409, 1946, 409, 412, 412, 412, 412, 419, 328, 412, 1946, 412, 419, 419, 419, 419, 420, 330, 419, 420, 419, 328, 420, 420, 330, 420, 422, 1946, 420, 420, 330, 422, 422, 422, 422, 423, 331, 422, 1946, 422, 423, 423, 423, 423, 426, 333, 423, 426, 423, 331, 426, 426, 333, 426, 429, 1946, 426, 426, 333, 429, 429, 429, 429, 432, 1946, 429, 1946, 429, 432, 432, 432, 432, 435, 1946, 432, 1946, 432, 435, 435, 435, 435, 438, 1946, 435, 1946, 435, 438, 438, 438, 438, 441, 1946, 438, 1946, 438, 441, 441, 441, 441, 444, 1946, 441, 1946, 441, 444, 444, 444, 444, 447, 1946, 444, 1946, 444, 447, 447, 447, 447, 450, 1946, 447, 1946, 447, 450, 450, 450, 450, 453, 1946, 450, 1946, 450, 453, 453, 453, 453, 456, 1946, 453, 1946, 453, 456, 456, 456, 456, 459, 1946, 456, 1946, 456, 459, 459, 459, 459, 462, 1946, 459, 1946, 459, 462, 462, 462, 462, 465, 1946, 462, 1946, 462, 465, 465, 465, 465, 468, 1946, 465, 1946, 465, 468, 468, 468, 468, 471, 1946, 468, 1946, 468, 471, 471, 471, 471, 474, 1946, 471, 1946, 471, 474, 474, 474, 474, 481, 334, 474, 1946, 474, 481, 481, 481, 481, 482, 336, 481, 482, 481, 334, 482, 482, 336, 482, 484, 1946, 482, 482, 336, 484, 484, 484, 484, 485, 337, 484, 1946, 484, 485, 485, 485, 485, 488, 339, 485, 488, 485, 337, 488, 488, 339, 488, 491, 1946, 488, 488, 339, 491, 491, 491, 491, 494, 1946, 491, 1946, 491, 494, 494, 494, 494, 497, 1946, 494, 1946, 494, 497, 497, 497, 497, 500, 1946, 497, 1946, 497, 500, 500, 500, 500, 503, 1946, 500, 1946, 500, 503, 503, 503, 503, 506, 1946, 503, 1946, 503, 506, 506, 506, 506, 509, 1946, 506, 1946, 506, 509, 509, 509, 509, 512, 1946, 509, 1946, 509, 512, 512, 512, 512, 515, 1946, 512, 1946, 512, 515, 515, 515, 515, 518, 1946, 515, 1946, 515, 518, 518, 518, 518, 521, 1946, 518, 1946, 518, 521, 521, 521, 521, 524, 1946, 521, 1946, 521, 524, 524, 524, 524, 527, 1946, 524, 1946, 524, 527, 527, 527, 527, 530, 1946, 527, 1946, 527, 530, 530, 530, 530, 533, 1946, 530, 1946, 530, 533, 533, 533, 533, 536, 1946, 533, 1946, 533, 536, 536, 536, 536, 539, 1946, 536, 1946, 536, 539, 539, 539, 539, 542, 1946, 539, 1946, 539, 542, 542, 542, 542, 549, 340, 542, 1946, 542, 549, 549, 549, 549, 550, 343, 549, 550, 549, 340, 550, 550, 343, 550, 552, 1946, 550, 550, 343, 552, 552, 552, 552, 553, 342, 552, 1946, 552, 553, 553, 553, 553, 556, 346, 553, 556, 553, 342, 556, 556, 346, 556, 559, 1946, 556, 556, 346, 559, 559, 559, 559, 562, 1946, 559, 1946, 559, 562, 562, 562, 562, 565, 1946, 562, 1946, 562, 565, 565, 565, 565, 568, 1946, 565, 1946, 565, 568, 568, 568, 568, 571, 1946, 568, 1946, 568, 571, 571, 571, 571, 574, 1946, 571, 1946, 571, 574, 574, 574, 574, 577, 1946, 574, 1946, 574, 577, 577, 577, 577, 580, 1946, 577, 1946, 577, 580, 580, 580, 580, 583, 1946, 580, 1946, 580, 583, 583, 583, 583, 586, 1946, 583, 1946, 583, 586, 586, 586, 586, 589, 1946, 586, 1946, 586, 589, 589, 589, 589, 592, 1946, 589, 1946, 589, 592, 592, 592, 592, 595, 1946, 592, 1946, 592, 595, 595, 595, 595, 598, 1946, 595, 1946, 595, 598, 598, 598, 598, 601, 1946, 598, 1946, 598, 601, 601, 601, 601, 604, 1946, 601, 1946, 601, 604, 604, 604, 604, 607, 1946, 604, 1946, 604, 607, 607, 607, 607, 610, 1946, 607, 1946, 607, 610, 610, 610, 610, 613, 1946, 610, 1946, 610, 613, 613, 613, 613, 616, 1946, 613, 1946, 613, 616, 616, 616, 616, 623, 345, 616, 1946, 616, 623, 623, 623, 623, 624, 349, 623, 624, 623, 345, 624, 624, 349, 624, 626, 1946, 624, 624, 349, 626, 626, 626, 626, 627, 348, 626, 1946, 626, 627, 627, 627, 627, 630, 352, 627, 630, 627, 348, 630, 630, 352, 630, 633, 1946, 630, 630, 352, 633, 633, 633, 633, 636, 1946, 633, 1946, 633, 636, 636, 636, 636, 639, 1946, 636, 1946, 636, 639, 639, 639, 639, 642, 1946, 639, 1946, 639, 642, 642, 642, 642, 645, 1946, 642, 1946, 642, 645, 645, 645, 645, 648, 1946, 645, 1946, 645, 648, 648, 648, 648, 651, 1946, 648, 1946, 648, 651, 651, 651, 651, 654, 1946, 651, 1946, 651, 654, 654, 654, 654, 657, 1946, 654, 1946, 654, 657, 657, 657, 657, 660, 1946, 657, 1946, 657, 660, 660, 660, 660, 663, 1946, 660, 1946, 660, 663, 663, 663, 663, 666, 1946, 663, 1946, 663, 666, 666, 666, 666, 669, 1946, 666, 1946, 666, 669, 669, 669, 669, 672, 1946, 669, 1946, 669, 672, 672, 672, 672, 675, 1946, 672, 1946, 672, 675, 675, 675, 675, 678, 1946, 675, 1946, 675, 678, 678, 678, 678, 681, 1946, 678, 1946, 678, 681, 681, 681, 681, 684, 1946, 681, 1946, 681, 684, 684, 684, 684, 687, 1946, 684, 1946, 684, 687, 687, 687, 687, 690, 1946, 687, 1946, 687, 690, 690, 690, 690, 693, 1946, 690, 1946, 690, 693, 693, 693, 693, 696, 1946, 693, 1946, 693, 696, 696, 696, 696, 703, 351, 696, 1946, 696, 703, 703, 703, 703, 704, 355, 703, 704, 703, 351, 704, 704, 355, 704, 706, 1946, 704, 704, 355, 706, 706, 706, 706, 707, 354, 706, 1946, 706, 707, 707, 707, 707, 710, 358, 707, 710, 707, 354, 710, 710, 358, 710, 713, 1946, 710, 710, 358, 713, 713, 713, 713, 716, 1946, 713, 1946, 713, 716, 716, 716, 716, 719, 1946, 716, 1946, 716, 719, 719, 719, 719, 722, 1946, 719, 1946, 719, 722, 722, 722, 722, 725, 1946, 722, 1946, 722, 725, 725, 725, 725, 728, 1946, 725, 1946, 725, 728, 728, 728, 728, 731, 1946, 728, 1946, 728, 731, 731, 731, 731, 734, 1946, 731, 1946, 731, 734, 734, 734, 734, 737, 1946, 734, 1946, 734, 737, 737, 737, 737, 740, 1946, 737, 1946, 737, 740, 740, 740, 740, 743, 1946, 740, 1946, 740, 743, 743, 743, 743, 746, 1946, 743, 1946, 743, 746, 746, 746, 746, 749, 1946, 746, 1946, 746, 749, 749, 749, 749, 752, 1946, 749, 1946, 749, 752, 752, 752, 752, 755, 1946, 752, 1946, 752, 755, 755, 755, 755, 758, 1946, 755, 1946, 755, 758, 758, 758, 758, 761, 1946, 758, 1946, 758, 761, 761, 761, 761, 764, 1946, 761, 1946, 761, 764, 764, 764, 764, 767, 1946, 764, 1946, 764, 767, 767, 767, 767, 770, 1946, 767, 1946, 767, 770, 770, 770, 770, 773, 1946, 770, 1946, 770, 773, 773, 773, 773, 776, 1946, 773, 1946, 773, 776, 776, 776, 776, 779, 1946, 776, 1946, 776, 779, 779, 779, 779, 782, 1946, 779, 1946, 779, 782, 782, 782, 782, 789, 357, 782, 1946, 782, 789, 789, 789, 789, 790, 359, 789, 790, 789, 357, 790, 790, 359, 790, 792, 1946, 790, 790, 359, 792, 792, 792, 792, 793, 362, 792, 1946, 792, 793, 793, 793, 793, 796, 365, 793, 796, 793, 362, 796, 796, 365, 796, 799, 1946, 796, 796, 365, 799, 799, 799, 799, 802, 1946, 799, 1946, 799, 802, 802, 802, 802, 805, 1946, 802, 1946, 802, 805, 805, 805, 805, 808, 1946, 805, 1946, 805, 808, 808, 808, 808, 811, 1946, 808, 1946, 808, 811, 811, 811, 811, 814, 1946, 811, 1946, 811, 814, 814, 814, 814, 817, 1946, 814, 1946, 814, 817, 817, 817, 817, 820, 1946, 817, 1946, 817, 820, 820, 820, 820, 823, 1946, 820, 1946, 820, 823, 823, 823, 823, 826, 1946, 823, 1946, 823, 826, 826, 826, 826, 829, 1946, 826, 1946, 826, 829, 829, 829, 829, 832, 1946, 829, 1946, 829, 832, 832, 832, 832, 835, 1946, 832, 1946, 832, 835, 835, 835, 835, 838, 1946, 835, 1946, 835, 838, 838, 838, 838, 841, 1946, 838, 1946, 838, 841, 841, 841, 841, 844, 1946, 841, 1946, 841, 844, 844, 844, 844, 847, 1946, 844, 1946, 844, 847, 847, 847, 847, 850, 1946, 847, 1946, 847, 850, 850, 850, 850, 853, 1946, 850, 1946, 850, 853, 853, 853, 853, 856, 1946, 853, 1946, 853, 856, 856, 856, 856, 859, 1946, 856, 1946, 856, 859, 859, 859, 859, 862, 1946, 859, 1946, 859, 862, 862, 862, 862, 865, 1946, 862, 1946, 862, 865, 865, 865, 865, 868, 1946, 865, 1946, 865, 868, 868, 868, 868, 871, 1946, 868, 1946, 868, 871, 871, 871, 871, 874, 1946, 871, 1946, 871, 874, 874, 874, 874, 881, 368, 874, 1946, 874, 881, 881, 881, 881, 882, 369, 881, 882, 881, 368, 882, 882, 369, 882, 884, 1946, 882, 882, 369, 884, 884, 884, 884, 885, 372, 884, 1946, 884, 885, 885, 885, 885, 888, 374, 885, 888, 885, 372, 888, 888, 374, 888, 891, 1946, 888, 888, 374, 891, 891, 891, 891, 894, 1946, 891, 1946, 891, 894, 894, 894, 894, 897, 1946, 894, 1946, 894, 897, 897, 897, 897, 900, 1946, 897, 1946, 897, 900, 900, 900, 900, 903, 1946, 900, 1946, 900, 903, 903, 903, 903, 906, 1946, 903, 1946, 903, 906, 906, 906, 906, 909, 1946, 906, 1946, 906, 909, 909, 909, 909, 912, 1946, 909, 1946, 909, 912, 912, 912, 912, 915, 1946, 912, 1946, 912, 915, 915, 915, 915, 918, 1946, 915, 1946, 915, 918, 918, 918, 918, 921, 1946, 918, 1946, 918, 921, 921, 921, 921, 924, 1946, 921, 1946, 921, 924, 924, 924, 924, 927, 1946, 924, 1946, 924, 927, 927, 927, 927, 930, 1946, 927, 1946, 927, 930, 930, 930, 930, 933, 1946, 930, 1946, 930, 933, 933, 933, 933, 936, 1946, 933, 1946, 933, 936, 936, 936, 936, 939, 1946, 936, 1946, 936, 939, 939, 939, 939, 942, 1946, 939, 1946, 939, 942, 942, 942, 942, 945, 1946, 942, 1946, 942, 945, 945, 945, 945, 948, 1946, 945, 1946, 945, 948, 948, 948, 948, 951, 1946, 948, 1946, 948, 951, 951, 951, 951, 954, 1946, 951, 1946, 951, 954, 954, 954, 954, 957, 1946, 954, 1946, 954, 957, 957, 957, 957, 960, 1946, 957, 1946, 957, 960, 960, 960, 960, 963, 1946, 960, 1946, 960, 963, 963, 963, 963, 966, 1946, 963, 1946, 963, 966, 966, 966, 966, 969, 1946, 966, 1946, 966, 969, 969, 969, 969, 972, 1946, 969, 1946, 969, 972, 972, 972, 972, 979, 375, 972, 1946, 972, 979, 979, 979, 979, 980, 377, 979, 980, 979, 375, 980, 980, 377, 980, 982, 378, 980, 980, 377, 982, 982, 982, 982, 985, 1946, 982, 985, 982, 378, 985, 1946, 381, 987, 985, 985, 985, 985, 987, 987, 987, 987, 991, 1946, 987, 381, 987, 991, 991, 991, 991, 992, 384, 991, 380, 991, 992, 992, 992, 992, 996, 380, 992, 996, 992, 384, 996, 380, 383, 386, 996, 996, 996, 996, 1000, 383, 386, 1000, 1946, 1946, 1000, 383, 386, 1002, 1000, 1000, 1000, 1000, 1002, 1002, 1002, 1002, 1005, 1946, 1002, 1946, 1002, 1005, 1005, 1005, 1005, 1006, 387, 1005, 389, 1005, 1006, 1006, 1006, 1006, 1010, 389, 1006, 1010, 1006, 387, 1010, 389, 1946, 1012, 1010, 1010, 1010, 1010, 1012, 1012, 1012, 1012, 1015, 390, 1012, 392, 1012, 1015, 1015, 1015, 1015, 1020, 392, 1015, 1020, 1015, 390, 1020, 392, 393, 1022, 1020, 1020, 1020, 1020, 1022, 1022, 1022, 1022, 1025, 1946, 1022, 393, 1022, 1025, 1025, 1025, 1025, 1026, 395, 1025, 396, 1025, 1026, 1026, 1026, 1026, 1030, 396, 1026, 1030, 1026, 395, 1030, 396, 398, 1032, 1030, 1030, 1030, 1030, 1032, 1032, 1032, 1032, 1035, 1946, 1032, 398, 1032, 1035, 1035, 1035, 1035, 1038, 1946, 1035, 1946, 1035, 1038, 1038, 1038, 1038, 1041, 401, 1038, 399, 1038, 1041, 1041, 1041, 1041, 1046, 399, 1041, 1046, 1041, 401, 1046, 399, 404, 1048, 1046, 1046, 1046, 1046, 1048, 1048, 1048, 1048, 1051, 1946, 1048, 404, 1048, 1051, 1051, 1051, 1051, 1052, 407, 1051, 402, 1051, 1052, 1052, 1052, 1052, 1056, 402, 1052, 1056, 1052, 407, 1056, 402, 410, 1058, 1056, 1056, 1056, 1056, 1058, 1058, 1058, 1058, 1061, 1946, 1058, 410, 1058, 1061, 1061, 1061, 1061, 1064, 1946, 1061, 1946, 1061, 1064, 1064, 1064, 1064, 1067, 1946, 1064, 1946, 1064, 1067, 1067, 1067, 1067, 1070, 1946, 1067, 1946, 1067, 1070, 1070, 1070, 1070, 1073, 413, 1070, 405, 1070, 1073, 1073, 1073, 1073, 1078, 405, 1073, 1078, 1073, 413, 1078, 405, 418, 1080, 1078, 1078, 1078, 1078, 1080, 1080, 1080, 1080, 1083, 1946, 1080, 418, 1080, 1083, 1083, 1083, 1083, 1084, 424, 1083, 408, 1083, 1084, 1084, 1084, 1084, 1088, 408, 1084, 1088, 1084, 424, 1088, 408, 428, 1090, 1088, 1088, 1088, 1088, 1090, 1090, 1090, 1090, 1093, 1946, 1090, 428, 1090, 1093, 1093, 1093, 1093, 1096, 1946, 1093, 1946, 1093, 1096, 1096, 1096, 1096, 1099, 1946, 1096, 1946, 1096, 1099, 1099, 1099, 1099, 1102, 1946, 1099, 1946, 1099, 1102, 1102, 1102, 1102, 1105, 1946, 1102, 1946, 1102, 1105, 1105, 1105, 1105, 1108, 1946, 1105, 1946, 1105, 1108, 1108, 1108, 1108, 1111, 431, 1108, 411, 1108, 1111, 1111, 1111, 1111, 1116, 411, 1111, 1116, 1111, 431, 1116, 411, 434, 1118, 1116, 1116, 1116, 1116, 1118, 1118, 1118, 1118, 1121, 1946, 1118, 434, 1118, 1121, 1121, 1121, 1121, 1122, 437, 1121, 414, 1121, 1122, 1122, 1122, 1122, 1126, 414, 1122, 1126, 1122, 437, 1126, 414, 440, 1128, 1126, 1126, 1126, 1126, 1128, 1128, 1128, 1128, 1131, 1946, 1128, 440, 1128, 1131, 1131, 1131, 1131, 1134, 1946, 1131, 1946, 1131, 1134, 1134, 1134, 1134, 1137, 1946, 1134, 1946, 1134, 1137, 1137, 1137, 1137, 1140, 1946, 1137, 1946, 1137, 1140, 1140, 1140, 1140, 1143, 1946, 1140, 1946, 1140, 1143, 1143, 1143, 1143, 1146, 1946, 1143, 1946, 1143, 1146, 1146, 1146, 1146, 1149, 1946, 1146, 1946, 1146, 1149, 1149, 1149, 1149, 1152, 1946, 1149, 1946, 1149, 1152, 1152, 1152, 1152, 1155, 443, 1152, 415, 1152, 1155, 1155, 1155, 1155, 1160, 415, 1155, 1160, 1155, 443, 1160, 415, 446, 1162, 1160, 1160, 1160, 1160, 1162, 1162, 1162, 1162, 1165, 1946, 1162, 446, 1162, 1165, 1165, 1165, 1165, 1166, 449, 1165, 421, 1165, 1166, 1166, 1166, 1166, 1170, 421, 1166, 1170, 1166, 449, 1170, 421, 452, 1172, 1170, 1170, 1170, 1170, 1172, 1172, 1172, 1172, 1175, 1946, 1172, 452, 1172, 1175, 1175, 1175, 1175, 1178, 1946, 1175, 1946, 1175, 1178, 1178, 1178, 1178, 1181, 1946, 1178, 1946, 1178, 1181, 1181, 1181, 1181, 1184, 1946, 1181, 1946, 1181, 1184, 1184, 1184, 1184, 1187, 1946, 1184, 1946, 1184, 1187, 1187, 1187, 1187, 1190, 1946, 1187, 1946, 1187, 1190, 1190, 1190, 1190, 1193, 1946, 1190, 1946, 1190, 1193, 1193, 1193, 1193, 1196, 1946, 1193, 1946, 1193, 1196, 1196, 1196, 1196, 1199, 1946, 1196, 1946, 1196, 1199, 1199, 1199, 1199, 1202, 1946, 1199, 1946, 1199, 1202, 1202, 1202, 1202, 1205, 454, 1202, 425, 1202, 1205, 1205, 1205, 1205, 1210, 425, 1205, 1210, 1205, 454, 1210, 425, 457, 1212, 1210, 1210, 1210, 1210, 1212, 1212, 1212, 1212, 1215, 1946, 1212, 457, 1212, 1215, 1215, 1215, 1215, 1216, 460, 1215, 430, 1215, 1216, 1216, 1216, 1216, 1220, 430, 1216, 1220, 1216, 460, 1220, 430, 463, 1222, 1220, 1220, 1220, 1220, 1222, 1222, 1222, 1222, 1225, 1946, 1222, 463, 1222, 1225, 1225, 1225, 1225, 1228, 1946, 1225, 1946, 1225, 1228, 1228, 1228, 1228, 1231, 1946, 1228, 1946, 1228, 1231, 1231, 1231, 1231, 1234, 1946, 1231, 1946, 1231, 1234, 1234, 1234, 1234, 1237, 1946, 1234, 1946, 1234, 1237, 1237, 1237, 1237, 1240, 1946, 1237, 1946, 1237, 1240, 1240, 1240, 1240, 1243, 1946, 1240, 1946, 1240, 1243, 1243, 1243, 1243, 1246, 1946, 1243, 1946, 1243, 1246, 1246, 1246, 1246, 1249, 1946, 1246, 1946, 1246, 1249, 1249, 1249, 1249, 1252, 1946, 1249, 1946, 1249, 1252, 1252, 1252, 1252, 1255, 1946, 1252, 1946, 1252, 1255, 1255, 1255, 1255, 1258, 1946, 1255, 1946, 1255, 1258, 1258, 1258, 1258, 1261, 466, 1258, 433, 1258, 1261, 1261, 1261, 1261, 1266, 433, 1261, 1266, 1261, 466, 1266, 433, 469, 1268, 1266, 1266, 1266, 1266, 1268, 1268, 1268, 1268, 1271, 1946, 1268, 469, 1268, 1271, 1271, 1271, 1271, 1272, 472, 1271, 436, 1271, 1272, 1272, 1272, 1272, 1276, 436, 1272, 1276, 1272, 472, 1276, 436, 475, 1278, 1276, 1276, 1276, 1276, 1278, 1278, 1278, 1278, 1281, 1946, 1278, 475, 1278, 1281, 1281, 1281, 1281, 1284, 1946, 1281, 1946, 1281, 1284, 1284, 1284, 1284, 1287, 1946, 1284, 1946, 1284, 1287, 1287, 1287, 1287, 1290, 1946, 1287, 1946, 1287, 1290, 1290, 1290, 1290, 1293, 1946, 1290, 1946, 1290, 1293, 1293, 1293, 1293, 1296, 1946, 1293, 1946, 1293, 1296, 1296, 1296, 1296, 1299, 1946, 1296, 1946, 1296, 1299, 1299, 1299, 1299, 1302, 1946, 1299, 1946, 1299, 1302, 1302, 1302, 1302, 1305, 1946, 1302, 1946, 1302, 1305, 1305, 1305, 1305, 1308, 1946, 1305, 1946, 1305, 1308, 1308, 1308, 1308, 1311, 1946, 1308, 1946, 1308, 1311, 1311, 1311, 1311, 1314, 1946, 1311, 1946, 1311, 1314, 1314, 1314, 1314, 1317, 1946, 1314, 1946, 1314, 1317, 1317, 1317, 1317, 1320, 1946, 1317, 1946, 1317, 1320, 1320, 1320, 1320, 1323, 480, 1320, 439, 1320, 1323, 1323, 1323, 1323, 1328, 439, 1323, 1328, 1323, 480, 1328, 439, 486, 1330, 1328, 1328, 1328, 1328, 1330, 1330, 1330, 1330, 1333, 1946, 1330, 486, 1330, 1333, 1333, 1333, 1333, 1334, 490, 1333, 442, 1333, 1334, 1334, 1334, 1334, 1338, 442, 1334, 1338, 1334, 490, 1338, 442, 493, 1340, 1338, 1338, 1338, 1338, 1340, 1340, 1340, 1340, 1343, 1946, 1340, 493, 1340, 1343, 1343, 1343, 1343, 1346, 1946, 1343, 1946, 1343, 1346, 1346, 1346, 1346, 1349, 1946, 1346, 1946, 1346, 1349, 1349, 1349, 1349, 1352, 1946, 1349, 1946, 1349, 1352, 1352, 1352, 1352, 1355, 1946, 1352, 1946, 1352, 1355, 1355, 1355, 1355, 1358, 1946, 1355, 1946, 1355, 1358, 1358, 1358, 1358, 1361, 1946, 1358, 1946, 1358, 1361, 1361, 1361, 1361, 1364, 1946, 1361, 1946, 1361, 1364, 1364, 1364, 1364, 1367, 1946, 1364, 1946, 1364, 1367, 1367, 1367, 1367, 1370, 1946, 1367, 1946, 1367, 1370, 1370, 1370, 1370, 1373, 1946, 1370, 1946, 1370, 1373, 1373, 1373, 1373, 1376, 1946, 1373, 1946, 1373, 1376, 1376, 1376, 1376, 1379, 1946, 1376, 1946, 1376, 1379, 1379, 1379, 1379, 1382, 1946, 1379, 1946, 1379, 1382, 1382, 1382, 1382, 1385, 1946, 1382, 1946, 1382, 1385, 1385, 1385, 1385, 1388, 1946, 1385, 1946, 1385, 1388, 1388, 1388, 1388, 1391, 496, 1388, 445, 1388, 1391, 1391, 1391, 1391, 1396, 445, 1391, 1396, 1391, 496, 1396, 445, 499, 1398, 1396, 1396, 1396, 1396, 1398, 1398, 1398, 1398, 1401, 1946, 1398, 499, 1398, 1401, 1401, 1401, 1401, 1402, 502, 1401, 448, 1401, 1402, 1402, 1402, 1402, 1406, 448, 1402, 1406, 1402, 502, 1406, 448, 505, 1408, 1406, 1406, 1406, 1406, 1408, 1408, 1408, 1408, 1411, 1946, 1408, 505, 1408, 1411, 1411, 1411, 1411, 1414, 1946, 1411, 1946, 1411, 1414, 1414, 1414, 1414, 1417, 1946, 1414, 1946, 1414, 1417, 1417, 1417, 1417, 1420, 1946, 1417, 1946, 1417, 1420, 1420, 1420, 1420, 1423, 1946, 1420, 1946, 1420, 1423, 1423, 1423, 1423, 1426, 1946, 1423, 1946, 1423, 1426, 1426, 1426, 1426, 1429, 1946, 1426, 1946, 1426, 1429, 1429, 1429, 1429, 1432, 1946, 1429, 1946, 1429, 1432, 1432, 1432, 1432, 1435, 1946, 1432, 1946, 1432, 1435, 1435, 1435, 1435, 1438, 1946, 1435, 1946, 1435, 1438, 1438, 1438, 1438, 1441, 1946, 1438, 1946, 1438, 1441, 1441, 1441, 1441, 1444, 1946, 1441, 1946, 1441, 1444, 1444, 1444, 1444, 1447, 1946, 1444, 1946, 1444, 1447, 1447, 1447, 1447, 1450, 1946, 1447, 1946, 1447, 1450, 1450, 1450, 1450, 1453, 1946, 1450, 1946, 1450, 1453, 1453, 1453, 1453, 1456, 1946, 1453, 1946, 1453, 1456, 1456, 1456, 1456, 1459, 1946, 1456, 1946, 1456, 1459, 1459, 1459, 1459, 1462, 1946, 1459, 1946, 1459, 1462, 1462, 1462, 1462, 1465, 508, 1462, 451, 1462, 1465, 1465, 1465, 1465, 1470, 451, 1465, 1470, 1465, 508, 1470, 451, 511, 1472, 1470, 1470, 1470, 1470, 1472, 1472, 1472, 1472, 1475, 1946, 1472, 511, 1472, 1475, 1475, 1475, 1475, 1476, 514, 1475, 455, 1475, 1476, 1476, 1476, 1476, 1480, 455, 1476, 1480, 1476, 514, 1480, 455, 517, 1482, 1480, 1480, 1480, 1480, 1482, 1482, 1482, 1482, 1485, 1946, 1482, 517, 1482, 1485, 1485, 1485, 1485, 1488, 1946, 1485, 1946, 1485, 1488, 1488, 1488, 1488, 1491, 1946, 1488, 1946, 1488, 1491, 1491, 1491, 1491, 1494, 1946, 1491, 1946, 1491, 1494, 1494, 1494, 1494, 1497, 1946, 1494, 1946, 1494, 1497, 1497, 1497, 1497, 1500, 1946, 1497, 1946, 1497, 1500, 1500, 1500, 1500, 1503, 1946, 1500, 1946, 1500, 1503, 1503, 1503, 1503, 1506, 1946, 1503, 1946, 1503, 1506, 1506, 1506, 1506, 1509, 1946, 1506, 1946, 1506, 1509, 1509, 1509, 1509, 1512, 1946, 1509, 1946, 1509, 1512, 1512, 1512, 1512, 1515, 1946, 1512, 1946, 1512, 1515, 1515, 1515, 1515, 1518, 1946, 1515, 1946, 1515, 1518, 1518, 1518, 1518, 1521, 1946, 1518, 1946, 1518, 1521, 1521, 1521, 1521, 1524, 1946, 1521, 1946, 1521, 1524, 1524, 1524, 1524, 1527, 1946, 1524, 1946, 1524, 1527, 1527, 1527, 1527, 1530, 1946, 1527, 1946, 1527, 1530, 1530, 1530, 1530, 1533, 1946, 1530, 1946, 1530, 1533, 1533, 1533, 1533, 1536, 1946, 1533, 1946, 1533, 1536, 1536, 1536, 1536, 1539, 1946, 1536, 1946, 1536, 1539, 1539, 1539, 1539, 1542, 1946, 1539, 1946, 1539, 1542, 1542, 1542, 1542, 1545, 519, 1542, 458, 1542, 1545, 1545, 1545, 1545, 1550, 458, 1545, 1550, 1545, 519, 1550, 458, 522, 1552, 1550, 1550, 1550, 1550, 1552, 1552, 1552, 1552, 1555, 1946, 1552, 522, 1552, 1555, 1555, 1555, 1555, 1556, 525, 1555, 461, 1555, 1556, 1556, 1556, 1556, 1560, 461, 1556, 1560, 1556, 525, 1560, 461, 528, 1562, 1560, 1560, 1560, 1560, 1562, 1562, 1562, 1562, 1565, 1946, 1562, 528, 1562, 1565, 1565, 1565, 1565, 1568, 1946, 1565, 1946, 1565, 1568, 1568, 1568, 1568, 1571, 1946, 1568, 1946, 1568, 1571, 1571, 1571, 1571, 1574, 1946, 1571, 1946, 1571, 1574, 1574, 1574, 1574, 1577, 1946, 1574, 1946, 1574, 1577, 1577, 1577, 1577, 1580, 1946, 1577, 1946, 1577, 1580, 1580, 1580, 1580, 1583, 1946, 1580, 1946, 1580, 1583, 1583, 1583, 1583, 1586, 1946, 1583, 1946, 1583, 1586, 1586, 1586, 1586, 1589, 1946, 1586, 1946, 1586, 1589, 1589, 1589, 1589, 1592, 1946, 1589, 1946, 1589, 1592, 1592, 1592, 1592, 1595, 1946, 1592, 1946, 1592, 1595, 1595, 1595, 1595, 1598, 1946, 1595, 1946, 1595, 1598, 1598, 1598, 1598, 1601, 1946, 1598, 1946, 1598, 1601, 1601, 1601, 1601, 1604, 1946, 1601, 1946, 1601, 1604, 1604, 1604, 1604, 1607, 1946, 1604, 1946, 1604, 1607, 1607, 1607, 1607, 1610, 1946, 1607, 1946, 1607, 1610, 1610, 1610, 1610, 1613, 1946, 1610, 1946, 1610, 1613, 1613, 1613, 1613, 1616, 1946, 1613, 1946, 1613, 1616, 1616, 1616, 1616, 1619, 1946, 1616, 1946, 1616, 1619, 1619, 1619, 1619, 1622, 1946, 1619, 1946, 1619, 1622, 1622, 1622, 1622, 1625, 1946, 1622, 1946, 1622, 1625, 1625, 1625, 1625, 1628, 1946, 1625, 1946, 1625, 1628, 1628, 1628, 1628, 1631, 531, 1628, 464, 1628, 1631, 1631, 1631, 1631, 1636, 464, 1631, 1636, 1631, 531, 1636, 464, 534, 1638, 1636, 1636, 1636, 1636, 1638, 1638, 1638, 1638, 1641, 1946, 1638, 534, 1638, 1641, 1641, 1641, 1641, 1642, 537, 1641, 467, 1641, 1642, 1642, 1642, 1642, 1646, 467, 1642, 1646, 1642, 537, 1646, 467, 540, 1648, 1646, 1646, 1646, 1646, 1648, 1648, 1648, 1648, 1651, 1946, 1648, 540, 1648, 1651, 1651, 1651, 1651, 1654, 1946, 1651, 1946, 1651, 1654, 1654, 1654, 1654, 1657, 1946, 1654, 1946, 1654, 1657, 1657, 1657, 1657, 1660, 1946, 1657, 1946, 1657, 1660, 1660, 1660, 1660, 1663, 1946, 1660, 1946, 1660, 1663, 1663, 1663, 1663, 1666, 1946, 1663, 1946, 1663, 1666, 1666, 1666, 1666, 1669, 1946, 1666, 1946, 1666, 1669, 1669, 1669, 1669, 1672, 1946, 1669, 1946, 1669, 1672, 1672, 1672, 1672, 1675, 1946, 1672, 1946, 1672, 1675, 1675, 1675, 1675, 1678, 1946, 1675, 1946, 1675, 1678, 1678, 1678, 1678, 1681, 1946, 1678, 1946, 1678, 1681, 1681, 1681, 1681, 1684, 1946, 1681, 1946, 1681, 1684, 1684, 1684, 1684, 1687, 1946, 1684, 1946, 1684, 1687, 1687, 1687, 1687, 1690, 1946, 1687, 1946, 1687, 1690, 1690, 1690, 1690, 1693, 1946, 1690, 1946, 1690, 1693, 1693, 1693, 1693, 1696, 1946, 1693, 1946, 1693, 1696, 1696, 1696, 1696, 1699, 1946, 1696, 1946, 1696, 1699, 1699, 1699, 1699, 1702, 1946, 1699, 1946, 1699, 1702, 1702, 1702, 1702, 1705, 1946, 1702, 1946, 1702, 1705, 1705, 1705, 1705, 1708, 1946, 1705, 1946, 1705, 1708, 1708, 1708, 1708, 1711, 1946, 1708, 1946, 1708, 1711, 1711, 1711, 1711, 1714, 1946, 1711, 1946, 1711, 1714, 1714, 1714, 1714, 1717, 1946, 1714, 1946, 1714, 1717, 1717, 1717, 1717, 1720, 1946, 1717, 1946, 1717, 1720, 1720, 1720, 1720, 1723, 543, 1720, 470, 1720, 1723, 1723, 1723, 1723, 1728, 470, 1723, 1728, 1723, 543, 1728, 470, 548, 1730, 1728, 1728, 1728, 1728, 1730, 1730, 1730, 1730, 1733, 1946, 1730, 548, 1730, 1733, 1733, 1733, 1733, 1734, 554, 1733, 473, 1733, 1734, 1734, 1734, 1734, 1738, 473, 1734, 1738, 1734, 554, 1738, 473, 558, 1740, 1738, 1738, 1738, 1738, 1740, 1740, 1740, 1740, 1743, 1946, 1740, 558, 1740, 1743, 1743, 1743, 1743, 1746, 1946, 1743, 1946, 1743, 1746, 1746, 1746, 1746, 1749, 1946, 1746, 1946, 1746, 1749, 1749, 1749, 1749, 1752, 1946, 1749, 1946, 1749, 1752, 1752, 1752, 1752, 1755, 1946, 1752, 1946, 1752, 1755, 1755, 1755, 1755, 1758, 1946, 1755, 1946, 1755, 1758, 1758, 1758, 1758, 1761, 1946, 1758, 1946, 1758, 1761, 1761, 1761, 1761, 1764, 1946, 1761, 1946, 1761, 1764, 1764, 1764, 1764, 1767, 1946, 1764, 1946, 1764, 1767, 1767, 1767, 1767, 1770, 1946, 1767, 1946, 1767, 1770, 1770, 1770, 1770, 1773, 1946, 1770, 1946, 1770, 1773, 1773, 1773, 1773, 1776, 1946, 1773, 1946, 1773, 1776, 1776, 1776, 1776, 1779, 1946, 1776, 1946, 1776, 1779, 1779, 1779, 1779, 1782, 1946, 1779, 1946, 1779, 1782, 1782, 1782, 1782, 1785, 1946, 1782, 1946, 1782, 1785, 1785, 1785, 1785, 1788, 1946, 1785, 1946, 1785, 1788, 1788, 1788, 1788, 1791, 1946, 1788, 1946, 1788, 1791, 1791, 1791, 1791, 1794, 1946, 1791, 1946, 1791, 1794, 1794, 1794, 1794, 1797, 1946, 1794, 1946, 1794, 1797, 1797, 1797, 1797, 1800, 1946, 1797, 1946, 1797, 1800, 1800, 1800, 1800, 1803, 1946, 1800, 1946, 1800, 1803, 1803, 1803, 1803, 1806, 1946, 1803, 1946, 1803, 1806, 1806, 1806, 1806, 1809, 1946, 1806, 1946, 1806, 1809, 1809, 1809, 1809, 1812, 1946, 1809, 1946, 1809, 1812, 1812, 1812, 1812, 1815, 1946, 1812, 1946, 1812, 1815, 1815, 1815, 1815, 1818, 1946, 1815, 1946, 1815, 1818, 1818, 1818, 1818, 1821, 561, 1818, 476, 1818, 1821, 1821, 1821, 1821, 1826, 476, 1821, 1826, 1821, 561, 1826, 476, 564, 1828, 1826, 1826, 1826, 1826, 1828, 1828, 1828, 1828, 1831, 1946, 1828, 564, 1828, 1831, 1831, 1831, 1831, 1836, 1946, 1831, 1946, 1831, 1836, 1836, 1836, 1836, 1839, 1946, 1836, 1946, 1836, 1839, 1839, 1839, 1839, 1842, 1946, 1839, 1946, 1839, 1842, 1842, 1842, 1842, 1845, 1946, 1842, 1946, 1842, 1845, 1845, 1845, 1845, 1848, 1946, 1845, 1946, 1845, 1848, 1848, 1848, 1848, 1851, 1946, 1848, 1946, 1848, 1851, 1851, 1851, 1851, 1854, 1946, 1851, 1946, 1851, 1854, 1854, 1854, 1854, 1857, 1946, 1854, 1946, 1854, 1857, 1857, 1857, 1857, 1860, 1946, 1857, 1946, 1857, 1860, 1860, 1860, 1860, 1863, 1946, 1860, 1946, 1860, 1863, 1863, 1863, 1863, 1866, 1946, 1863, 1946, 1863, 1866, 1866, 1866, 1866, 1869, 1946, 1866, 1946, 1866, 1869, 1869, 1869, 1869, 1872, 1946, 1869, 1946, 1869, 1872, 1872, 1872, 1872, 1875, 1946, 1872, 1946, 1872, 1875, 1875, 1875, 1875, 1878, 1946, 1875, 1946, 1875, 1878, 1878, 1878, 1878, 1881, 1946, 1878, 1946, 1878, 1881, 1881, 1881, 1881, 1884, 1946, 1881, 1946, 1881, 1884, 1884, 1884, 1884, 1887, 1946, 1884, 1946, 1884, 1887, 1887, 1887, 1887, 1890, 1946, 1887, 1946, 1887, 1890, 1890, 1890, 1890, 1893, 1946, 1890, 1946, 1890, 1893, 1893, 1893, 1893, 1896, 1946, 1893, 1946, 1893, 1896, 1896, 1896, 1896, 1899, 1946, 1896, 1946, 1896, 1899, 1899, 1899, 1899, 1902, 1946, 1899, 1946, 1899, 1902, 1902, 1902, 1902, 1905, 1946, 1902, 1946, 1902, 1905, 1905, 1905, 1905, 1908, 1946, 1905, 1946, 1905, 1908, 1908, 1908, 1908, 1911, 1946, 1908, 1946, 1908, 1911, 1911, 1911, 1911, 1914, 1946, 1911, 1946, 1911, 1914, 1914, 1914, 1914, 1917, 1946, 1914, 1946, 1914, 1917, 1917, 1917, 1917, 1920, 1946, 1917, 1946, 1917, 1920, 1920, 1920, 1920, 1923, 567, 1920, 1946, 1920, 1923, 1923, 1923, 1923, 1926, 477, 1923, 1926, 1923, 567, 1926, 1926, 477, 1926, 1931, 570, 1926, 1926, 477, 1931, 1931, 1931, 1931, 1932, 483, 1931, 1932, 1931, 570, 1932, 1932, 483, 1932, 1934, 1946, 1932, 1932, 483, 1934, 1934, 1934, 1934, 1940, 573, 1934, 1946, 1934, 1940, 1940, 1940, 1940, 1942, 487, 1940, 1942, 1940, 573, 1942, 1942, 487, 1942, 1945, 1946, 1942, 1942, 487, 1945, 1945, 1945, 1945, 17, 1946, 1945, 17, 1945, 147, 17, 576, 147, 17, 579, 147, 17, 17, 147, 1946, 151, 147, 147, 151, 576, 161, 151, 579, 161, 151, 582, 161, 151, 151, 161, 1946, 171, 161, 161, 171, 1946, 181, 171, 582, 181, 171, 585, 181, 171, 171, 181, 1946, 197, 181, 181, 197, 1946, 207, 197, 585, 207, 197, 588, 207, 197, 197, 207, 1946, 229, 207, 207, 229, 1946, 239, 229, 588, 239, 229, 590, 239, 229, 229, 239, 1946, 267, 239, 239, 267, 1946, 277, 267, 590, 277, 267, 593, 277, 267, 267, 277, 1946, 311, 277, 277, 311, 1946, 321, 311, 593, 321, 311, 596, 321, 311, 311, 321, 1946, 361, 321, 321, 361, 1946, 371, 361, 596, 371, 361, 599, 371, 361, 361, 371, 1946, 417, 371, 371, 417, 1946, 427, 417, 599, 427, 417, 602, 427, 417, 417, 427, 1946, 479, 427, 427, 479, 1946, 489, 479, 602, 489, 479, 605, 489, 479, 479, 489, 1946, 547, 489, 489, 547, 1946, 557, 547, 605, 557, 547, 608, 557, 547, 547, 557, 1946, 621, 557, 557, 621, 1946, 631, 621, 608, 631, 621, 611, 631, 621, 621, 631, 1946, 701, 631, 631, 701, 1946, 711, 701, 611, 711, 701, 614, 711, 701, 701, 711, 1946, 787, 711, 711, 787, 1946, 797, 787, 614, 797, 787, 617, 797, 787, 787, 797, 1946, 879, 797, 797, 879, 1946, 889, 879, 617, 889, 879, 622, 889, 879, 879, 889, 1946, 977, 889, 889, 977, 1946, 1834, 977, 622, 1834, 977, 628, 1834, 977, 977, 1834, 1946, 1929, 1834, 1834, 1929, 1946, 1937, 1929, 628, 1937, 1929, 1946, 1937, 1929, 1929, 1937, 492, 495, 1937, 1937, 498, 501, 1946, 492, 495, 504, 1946, 498, 501, 492, 495, 1946, 504, 498, 501, 507, 510, 513, 504, 516, 520, 1946, 507, 510, 513, 1946, 516, 520, 507, 510, 513, 523, 516, 520, 526, 529, 532, 1946, 523, 535, 1946, 526, 529, 532, 523, 1946, 535, 526, 529, 532, 538, 541, 535, 544, 545, 551, 1946, 538, 541, 1946, 544, 545, 551, 538, 541, 555, 544, 545, 551, 560, 563, 1946, 555, 566, 569, 1946, 560, 563, 555, 1946, 566, 569, 560, 563, 572, 575, 566, 569, 578, 581, 1946, 572, 575, 584, 1946, 578, 581, 572, 575, 1946, 584, 578, 581, 587, 591, 594, 584, 597, 600, 1946, 587, 591, 594, 1946, 597, 600, 587, 591, 594, 603, 597, 600, 606, 609, 612, 1946, 603, 615, 1946, 606, 609, 612, 603, 1946, 615, 606, 609, 612, 618, 619, 615, 625, 629, 634, 1946, 618, 619, 1946, 625, 629, 634, 618, 619, 637, 625, 629, 634, 640, 643, 1946, 637, 646, 649, 1946, 640, 643, 637, 1946, 646, 649, 640, 643, 652, 655, 646, 649, 658, 661, 1946, 652, 655, 664, 1946, 658, 661, 652, 655, 1946, 664, 658, 661, 668, 671, 674, 664, 677, 680, 1946, 668, 671, 674, 1946, 677, 680, 668, 671, 674, 683, 677, 680, 686, 689, 692, 1946, 683, 695, 1946, 686, 689, 692, 683, 1946, 695, 686, 689, 692, 698, 699, 695, 705, 709, 714, 1946, 698, 699, 1946, 705, 709, 714, 698, 699, 717, 705, 709, 714, 720, 723, 1946, 717, 726, 729, 1946, 720, 723, 717, 1946, 726, 729, 720, 723, 732, 735, 726, 729, 738, 741, 1946, 732, 735, 744, 1946, 738, 741, 732, 735, 1946, 744, 738, 741, 747, 751, 754, 744, 757, 760, 1946, 747, 751, 754, 1946, 757, 760, 747, 751, 754, 763, 757, 760, 766, 769, 772, 1946, 763, 775, 1946, 766, 769, 772, 763, 1946, 775, 766, 769, 772, 778, 781, 775, 784, 785, 791, 1946, 778, 781, 1946, 784, 785, 791, 778, 781, 795, 784, 785, 791, 800, 803, 1946, 795, 806, 809, 1946, 800, 803, 795, 1946, 806, 809, 800, 803, 812, 815, 806, 809, 818, 821, 1946, 812, 815, 824, 1946, 818, 821, 812, 815, 1946, 824, 818, 821, 827, 830, 833, 824, 836, 840, 1946, 827, 830, 833, 1946, 836, 840, 827, 830, 833, 843, 836, 840, 846, 849, 852, 1946, 843, 855, 1946, 846, 849, 852, 843, 1946, 855, 846, 849, 852, 858, 861, 855, 864, 867, 870, 1946, 858, 861, 1946, 864, 867, 870, 858, 861, 873, 864, 867, 870, 876, 877, 1946, 873, 883, 887, 1946, 876, 877, 873, 1946, 883, 887, 876, 877, 892, 895, 883, 887, 898, 901, 1946, 892, 895, 904, 1946, 898, 901, 892, 895, 1946, 904, 898, 901, 907, 910, 913, 904, 916, 919, 1946, 907, 910, 913, 1946, 916, 919, 907, 910, 913, 922, 916, 919, 925, 928, 931, 1946, 922, 935, 1946, 925, 928, 931, 922, 1946, 935, 925, 928, 931, 938, 941, 935, 944, 947, 950, 1946, 938, 941, 1946, 944, 947, 950, 938, 941, 953, 944, 947, 950, 956, 959, 1946, 953, 962, 965, 1946, 956, 959, 953, 1946, 962, 965, 956, 959, 968, 971, 962, 965, 974, 975, 1946, 968, 971, 981, 1946, 974, 975, 968, 971, 1946, 981, 974, 975, 983, 989, 990, 981, 994, 998, 1946, 983, 989, 990, 1946, 994, 998, 983, 989, 990, 1004, 994, 998, 1008, 1013, 1017, 1946, 1004, 1018, 1946, 1008, 1013, 1017, 1004, 1946, 1018, 1008, 1013, 1017, 1024, 1028, 1018, 1033, 1036, 1040, 1946, 1024, 1028, 1946, 1033, 1036, 1040, 1024, 1028, 1043, 1033, 1036, 1040, 1044, 1050, 1946, 1043, 1054, 1059, 1946, 1044, 1050, 1043, 1946, 1054, 1059, 1044, 1050, 1062, 1065, 1054, 1059, 1069, 1072, 1946, 1062, 1065, 1075, 1946, 1069, 1072, 1062, 1065, 1946, 1075, 1069, 1072, 1076, 1082, 1086, 1075, 1091, 1094, 1946, 1076, 1082, 1086, 1946, 1091, 1094, 1076, 1082, 1086, 1097, 1091, 1094, 1100, 1104, 1107, 1946, 1097, 1110, 1946, 1100, 1104, 1107, 1097, 1946, 1110, 1100, 1104, 1107, 1113, 1114, 1110, 1120, 1124, 1129, 1946, 1113, 1114, 1946, 1120, 1124, 1129, 1113, 1114, 1132, 1120, 1124, 1129, 1135, 1138, 1946, 1132, 1141, 1145, 1946, 1135, 1138, 1132, 1946, 1141, 1145, 1135, 1138, 1148, 1151, 1141, 1145, 1154, 1157, 1946, 1148, 1151, 1158, 1946, 1154, 1157, 1148, 1151, 1946, 1158, 1154, 1157, 1164, 1168, 1173, 1158, 1176, 1179, 1946, 1164, 1168, 1173, 1946, 1176, 1179, 1164, 1168, 1173, 1182, 1176, 1179, 1185, 1188, 1192, 1946, 1182, 1195, 1946, 1185, 1188, 1192, 1182, 1946, 1195, 1185, 1188, 1192, 1198, 1201, 1195, 1204, 1207, 1208, 1946, 1198, 1201, 1946, 1204, 1207, 1208, 1198, 1201, 1214, 1204, 1207, 1208, 1218, 1223, 1946, 1214, 1226, 1229, 1946, 1218, 1223, 1214, 1946, 1226, 1229, 1218, 1223, 1232, 1235, 1226, 1229, 1238, 1241, 1946, 1232, 1235, 1245, 1946, 1238, 1241, 1232, 1235, 1946, 1245, 1238, 1241, 1248, 1251, 1254, 1245, 1257, 1260, 1946, 1248, 1251, 1254, 1946, 1257, 1260, 1248, 1251, 1254, 1263, 1257, 1260, 1264, 1270, 1274, 1946, 1263, 1279, 1946, 1264, 1270, 1274, 1263, 1946, 1279, 1264, 1270, 1274, 1282, 1285, 1279, 1288, 1291, 1294, 1946, 1282, 1285, 1946, 1288, 1291, 1294, 1282, 1285, 1297, 1288, 1291, 1294, 1300, 1304, 1946, 1297, 1307, 1310, 1946, 1300, 1304, 1297, 1946, 1307, 1310, 1300, 1304, 1313, 1316, 1307, 1310, 1319, 1322, 1946, 1313, 1316, 1325, 1946, 1319, 1322, 1313, 1316, 1946, 1325, 1319, 1322, 1326, 1332, 1336, 1325, 1341, 1344, 1946, 1326, 1332, 1336, 1946, 1341, 1344, 1326, 1332, 1336, 1347, 1341, 1344, 1350, 1353, 1356, 1946, 1347, 1359, 1946, 1350, 1353, 1356, 1347, 1946, 1359, 1350, 1353, 1356, 1362, 1365, 1359, 1369, 1372, 1375, 1946, 1362, 1365, 1946, 1369, 1372, 1375, 1362, 1365, 1378, 1369, 1372, 1375, 1381, 1384, 1946, 1378, 1387, 1390, 1946, 1381, 1384, 1378, 1946, 1387, 1390, 1381, 1384, 1393, 1394, 1387, 1390, 1400, 1404, 1946, 1393, 1394, 1409, 1946, 1400, 1404, 1393, 1394, 1946, 1409, 1400, 1404, 1412, 1415, 1418, 1409, 1421, 1424, 1946, 1412, 1415, 1418, 1946, 1421, 1424, 1412, 1415, 1418, 1427, 1421, 1424, 1430, 1433, 1436, 1946, 1427, 1440, 1946, 1430, 1433, 1436, 1427, 1946, 1440, 1430, 1433, 1436, 1443, 1446, 1440, 1449, 1452, 1455, 1946, 1443, 1446, 1946, 1449, 1452, 1455, 1443, 1446, 1458, 1449, 1452, 1455, 1461, 1464, 1946, 1458, 1467, 1468, 1946, 1461, 1464, 1458, 1946, 1467, 1468, 1461, 1464, 1474, 1478, 1467, 1468, 1483, 1486, 1946, 1474, 1478, 1489, 1946, 1483, 1486, 1474, 1478, 1946, 1489, 1483, 1486, 1492, 1495, 1498, 1489, 1501, 1504, 1946, 1492, 1495, 1498, 1946, 1501, 1504, 1492, 1495, 1498, 1507, 1501, 1504, 1510, 1513, 1517, 1946, 1507, 1520, 1946, 1510, 1513, 1517, 1507, 1946, 1520, 1510, 1513, 1517, 1523, 1526, 1520, 1529, 1532, 1535, 1946, 1523, 1526, 1946, 1529, 1532, 1535, 1523, 1526, 1538, 1529, 1532, 1535, 1541, 1544, 1946, 1538, 1547, 1548, 1946, 1541, 1544, 1538, 1946, 1547, 1548, 1541, 1544, 1554, 1558, 1547, 1548, 1563, 1566, 1946, 1554, 1558, 1569, 1946, 1563, 1566, 1554, 1558, 1946, 1569, 1563, 1566, 1572, 1575, 1578, 1569, 1581, 1584, 1946, 1572, 1575, 1578, 1946, 1581, 1584, 1572, 1575, 1578, 1587, 1581, 1584, 1590, 1593, 1596, 1946, 1587, 1600, 1946, 1590, 1593, 1596, 1587, 1946, 1600, 1590, 1593, 1596, 1603, 1606, 1600, 1609, 1612, 1615, 1946, 1603, 1606, 1946, 1609, 1612, 1615, 1603, 1606, 1618, 1609, 1612, 1615, 1621, 1624, 1946, 1618, 1627, 1630, 1946, 1621, 1624, 1618, 1946, 1627, 1630, 1621, 1624, 1633, 1634, 1627, 1630, 1640, 1644, 1946, 1633, 1634, 1649, 1946, 1640, 1644, 1633, 1634, 1946, 1649, 1640, 1644, 1652, 1655, 1658, 1649, 1661, 1664, 1946, 1652, 1655, 1658, 1946, 1661, 1664, 1652, 1655, 1658, 1667, 1661, 1664, 1670, 1673, 1676, 1946, 1667, 1679, 1946, 1670, 1673, 1676, 1667, 1946, 1679, 1670, 1673, 1676, 1682, 1685, 1679, 1689, 1692, 1695, 1946, 1682, 1685, 1946, 1689, 1692, 1695, 1682, 1685, 1698, 1689, 1692, 1695, 1701, 1704, 1946, 1698, 1707, 1710, 1946, 1701, 1704, 1698, 1946, 1707, 1710, 1701, 1704, 1713, 1716, 1707, 1710, 1719, 1722, 1946, 1713, 1716, 1725, 1946, 1719, 1722, 1713, 1716, 1946, 1725, 1719, 1722, 1726, 1732, 1736, 1725, 1741, 1744, 1946, 1726, 1732, 1736, 1946, 1741, 1744, 1726, 1732, 1736, 1747, 1741, 1744, 1750, 1753, 1756, 1946, 1747, 1759, 1946, 1750, 1753, 1756, 1747, 1946, 1759, 1750, 1753, 1756, 1762, 1765, 1759, 1768, 1771, 1774, 1946, 1762, 1765, 1946, 1768, 1771, 1774, 1762, 1765, 1777, 1768, 1771, 1774, 1780, 1784, 1946, 1777, 1787, 1790, 1946, 1780, 1784, 1777, 1946, 1787, 1790, 1780, 1784, 1793, 1796, 1787, 1790, 1799, 1802, 1946, 1793, 1796, 1805, 1946, 1799, 1802, 1793, 1796, 1946, 1805, 1799, 1802, 1808, 1811, 1814, 1805, 1817, 1820, 1946, 1808, 1811, 1814, 1946, 1817, 1820, 1808, 1811, 1814, 1823, 1817, 1820, 1824, 1830, 1832, 1946, 1823, 1837, 1946, 1824, 1830, 1832, 1823, 1946, 1837, 1824, 1830, 1832, 1840, 1843, 1837, 1846, 1849, 1852, 1946, 1840, 1843, 1946, 1846, 1849, 1852, 1840, 1843, 1855, 1846, 1849, 1852, 1858, 1861, 1946, 1855, 1864, 1867, 1946, 1858, 1861, 1855, 1946, 1864, 1867, 1858, 1861, 1870, 1873, 1864, 1867, 1876, 1879, 1946, 1870, 1873, 1883, 1946, 1876, 1879, 1870, 1873, 1946, 1883, 1876, 1879, 1886, 1889, 1892, 1883, 1895, 1898, 1946, 1886, 1889, 1892, 1946, 1895, 1898, 1886, 1889, 1892, 1901, 1895, 1898, 1904, 1907, 1910, 1946, 1901, 1913, 1946, 1904, 1907, 1910, 1901, 1946, 1913, 1904, 1907, 1910, 1916, 1919, 1913, 1922, 1925, 1927, 1946, 1916, 1919, 1946, 1922, 1925, 1927, 1916, 1919, 1933, 1922, 1925, 1927, 1943, 632, 635, 1933, 638, 641, 644, 1943, 647, 1933, 650, 653, 656, 1943, 632, 635, 659, 638, 641, 644, 662, 647, 665, 650, 653, 656, 667, 670, 673, 659, 676, 679, 682, 662, 685, 665, 688, 691, 694, 667, 670, 673, 697, 676, 679, 682, 702, 685, 708, 688, 691, 694, 712, 715, 718, 697, 721, 724, 727, 702, 730, 708, 733, 736, 739, 712, 715, 718, 742, 721, 724, 727, 745, 730, 748, 733, 736, 739, 750, 753, 756, 742, 759, 762, 765, 745, 768, 748, 771, 774, 777, 750, 753, 756, 780, 759, 762, 765, 783, 768, 788, 771, 774, 777, 794, 798, 801, 780, 804, 807, 810, 783, 813, 788, 816, 819, 822, 794, 798, 801, 825, 804, 807, 810, 828, 813, 831, 816, 819, 822, 834, 837, 839, 825, 842, 845, 848, 828, 851, 831, 854, 857, 860, 834, 837, 839, 863, 842, 845, 848, 866, 851, 869, 854, 857, 860, 872, 875, 880, 863, 886, 890, 893, 866, 896, 869, 899, 902, 905, 872, 875, 880, 908, 886, 890, 893, 911, 896, 914, 899, 902, 905, 917, 920, 923, 908, 926, 929, 932, 911, 934, 914, 937, 940, 943, 917, 920, 923, 946, 926, 929, 932, 949, 934, 952, 937, 940, 943, 955, 958, 961, 946, 964, 967, 970, 949, 973, 952, 978, 986, 993, 955, 958, 961, 997, 964, 967, 970, 1001, 973, 1007, 978, 986, 993, 1011, 1014, 1016, 997, 1021, 1027, 1031, 1001, 1034, 1007, 1037, 1039, 1042, 1011, 1014, 1016, 1047, 1021, 1027, 1031, 1053, 1034, 1057, 1037, 1039, 1042, 1060, 1063, 1066, 1047, 1068, 1071, 1074, 1053, 1079, 1057, 1085, 1089, 1092, 1060, 1063, 1066, 1095, 1068, 1071, 1074, 1098, 1079, 1101, 1085, 1089, 1092, 1103, 1106, 1109, 1095, 1112, 1117, 1123, 1098, 1127, 1101, 1130, 1133, 1136, 1103, 1106, 1109, 1139, 1112, 1117, 1123, 1142, 1127, 1144, 1130, 1133, 1136, 1147, 1150, 1153, 1139, 1156, 1161, 1167, 1142, 1171, 1144, 1174, 1177, 1180, 1147, 1150, 1153, 1183, 1156, 1161, 1167, 1186, 1171, 1189, 1174, 1177, 1180, 1191, 1194, 1197, 1183, 1200, 1203, 1206, 1186, 1211, 1189, 1217, 1221, 1224, 1191, 1194, 1197, 1227, 1200, 1203, 1206, 1230, 1211, 1233, 1217, 1221, 1224, 1236, 1239, 1242, 1227, 1244, 1247, 1250, 1230, 1253, 1233, 1256, 1259, 1262, 1236, 1239, 1242, 1267, 1244, 1247, 1250, 1273, 1253, 1277, 1256, 1259, 1262, 1280, 1283, 1286, 1267, 1289, 1292, 1295, 1273, 1298, 1277, 1301, 1303, 1306, 1280, 1283, 1286, 1309, 1289, 1292, 1295, 1312, 1298, 1315, 1301, 1303, 1306, 1318, 1321, 1324, 1309, 1329, 1335, 1339, 1312, 1342, 1315, 1345, 1348, 1351, 1318, 1321, 1324, 1354, 1329, 1335, 1339, 1357, 1342, 1360, 1345, 1348, 1351, 1363, 1366, 1368, 1354, 1371, 1374, 1377, 1357, 1380, 1360, 1383, 1386, 1389, 1363, 1366, 1368, 1392, 1371, 1374, 1377, 1397, 1380, 1403, 1383, 1386, 1389, 1407, 1410, 1413, 1392, 1416, 1419, 1422, 1397, 1425, 1403, 1428, 1431, 1434, 1407, 1410, 1413, 1437, 1416, 1419, 1422, 1439, 1425, 1442, 1428, 1431, 1434, 1445, 1448, 1451, 1437, 1454, 1457, 1460, 1439, 1463, 1442, 1466, 1471, 1477, 1445, 1448, 1451, 1481, 1454, 1457, 1460, 1484, 1463, 1487, 1466, 1471, 1477, 1490, 1493, 1496, 1481, 1499, 1502, 1505, 1484, 1508, 1487, 1511, 1514, 1516, 1490, 1493, 1496, 1519, 1499, 1502, 1505, 1522, 1508, 1525, 1511, 1514, 1516, 1528, 1531, 1534, 1519, 1537, 1540, 1543, 1522, 1546, 1525, 1551, 1557, 1561, 1528, 1531, 1534, 1564, 1537, 1540, 1543, 1567, 1546, 1570, 1551, 1557, 1561, 1573, 1576, 1579, 1564, 1582, 1585, 1588, 1567, 1591, 1570, 1594, 1597, 1599, 1573, 1576, 1579, 1602, 1582, 1585, 1588, 1605, 1591, 1608, 1594, 1597, 1599, 1611, 1614, 1617, 1602, 1620, 1623, 1626, 1605, 1629, 1608, 1632, 1637, 1643, 1611, 1614, 1617, 1647, 1620, 1623, 1626, 1650, 1629, 1653, 1632, 1637, 1643, 1656, 1659, 1662, 1647, 1665, 1668, 1671, 1650, 1674, 1653, 1677, 1680, 1683, 1656, 1659, 1662, 1686, 1665, 1668, 1671, 1688, 1674, 1691, 1677, 1680, 1683, 1694, 1697, 1700, 1686, 1703, 1706, 1709, 1688, 1712, 1691, 1715, 1718, 1721, 1694, 1697, 1700, 1724, 1703, 1706, 1709, 1729, 1712, 1735, 1715, 1718, 1721, 1739, 1742, 1745, 1724, 1748, 1751, 1754, 1729, 1757, 1735, 1760, 1763, 1766, 1739, 1742, 1745, 1769, 1748, 1751, 1754, 1772, 1757, 1775, 1760, 1763, 1766, 1778, 1781, 1783, 1769, 1786, 1789, 1792, 1772, 1795, 1775, 1798, 1801, 1804, 1778, 1781, 1783, 1807, 1786, 1789, 1792, 1810, 1795, 1813, 1798, 1801, 1804, 1816, 1819, 1822, 1807, 1827, 1835, 1838, 1810, 1841, 1813, 1844, 1847, 1850, 1816, 1819, 1822, 1853, 1827, 1835, 1838, 1856, 1841, 1859, 1844, 1847, 1850, 1862, 1865, 1868, 1853, 1871, 1874, 1877, 1856, 1880, 1859, 1882, 1885, 1888, 1862, 1865, 1868, 1891, 1871, 1874, 1877, 1894, 1880, 1897, 1882, 1885, 1888, 1900, 1903, 1906, 1891, 1909, 1912, 1915, 1894, 1918, 1897, 1921, 1924, 1930, 1900, 1903, 1906, 1938, 1909, 1912, 1915, 1946, 1918, 1946, 1921, 1924, 1930, 1946, 1946, 1946, 1938}; /* Base vector for state transitions. */ static const unsigned short bdver1_fp_base[] = { 0, 16, 30, 268, 282, 296, 310, 324, 338, 352, 28, 1456, 44, 1465, 366, 952, 1474, 7291, 380, 42, 1484, 58, 394, 56, 1493, 72, 408, 70, 1502, 86, 422, 84, 1511, 100, 436, 98, 1520, 114, 450, 112, 1529, 128, 464, 126, 1538, 142, 478, 140, 1547, 156, 492, 154, 1556, 170, 506, 168, 1565, 184, 520, 182, 1574, 198, 534, 196, 1583, 212, 548, 210, 1592, 226, 562, 224, 1601, 240, 576, 238, 1610, 254, 590, 252, 980, 1619, 604, 266, 1628, 688, 618, 280, 1637, 702, 632, 294, 1646, 716, 646, 308, 1655, 730, 660, 322, 1664, 744, 674, 336, 1673, 758, 912, 350, 1682, 772, 926, 364, 1691, 786, 940, 378, 1700, 800, 954, 392, 1709, 814, 957, 406, 1718, 828, 968, 420, 1727, 842, 971, 434, 1736, 856, 985, 448, 1745, 870, 999, 462, 1754, 884, 1013, 1763, 1027, 898, 1772, 7296, 1041, 982, 476, 7307, 1055, 1782, 1791, 996, 1801, 1810, 1069, 1010, 1819, 7312, 1083, 1829, 1024, 1097, 1838, 1111, 1038, 1052, 490, 7323, 1125, 1847, 1856, 1066, 1866, 1875, 1139, 1080, 1884, 7328, 1153, 1894, 1094, 1167, 1903, 1108, 1181, 1912, 1195, 1122, 1921, 1209, 1136, 1150, 504, 7339, 1223, 1930, 1939, 1164, 1949, 1958, 1237, 1178, 1967, 7344, 1251, 1977, 1192, 1265, 1986, 1206, 1279, 1995, 1220, 1293, 2004, 1307, 1234, 2013, 1321, 1248, 2022, 1335, 1262, 1276, 518, 7355, 1349, 2031, 2040, 1290, 2050, 2059, 1363, 1304, 2068, 7360, 1377, 2078, 1318, 1391, 2087, 1332, 1405, 2096, 1346, 1419, 2105, 1360, 1422, 2114, 1433, 1374, 2123, 1444, 1388, 2132, 1447, 1402, 2141, 1466, 1416, 1436, 532, 7371, 1611, 2150, 2159, 1475, 2169, 2178, 1627, 1613, 2187, 7376, 1764, 2197, 1773, 1783, 2206, 1792, 1811, 2215, 1820, 1848, 2224, 1857, 1876, 2233, 1885, 1931, 2242, 1959, 1940, 2251, 2032, 1968, 2260, 2060, 2041, 2269, 2151, 2069, 2278, 2179, 2160, 2188, 546, 7387, 2288, 2287, 2296, 2297, 2306, 2315, 2316, 2325, 2324, 7392, 2443, 2334, 2452, 2471, 2343, 2480, 2616, 2352, 2625, 2644, 2361, 2653, 2807, 2370, 2816, 2835, 2379, 2844, 3016, 2388, 3044, 3025, 2397, 3243, 3053, 2406, 3271, 3252, 2415, 3488, 3280, 2424, 3516, 3497, 2433, 3751, 3525, 3760, 560, 7403, 3779, 2442, 2451, 3788, 2461, 2470, 4032, 4041, 2479, 7408, 4060, 2489, 4069, 4331, 2498, 4340, 4350, 2507, 4388, 4366, 2516, 4402, 4386, 2525, 4403, 4436, 2534, 4438, 4463, 2543, 4465, 4479, 2552, 4499, 4501, 2561, 4515, 4546, 2570, 4544, 4582, 2579, 4560, 4645, 2588, 4580, 4681, 2597, 4596, 4762, 2606, 4643, 4798, 4897, 574, 7419, 4659, 2615, 2624, 4933, 2634, 2643, 4679, 5050, 2652, 7424, 4695, 2662, 5086, 4760, 2671, 5221, 4776, 2680, 5257, 4796, 2689, 5410, 4812, 2698, 5446, 4895, 2707, 5617, 4911, 2716, 5653, 4931, 2725, 5842, 4947, 2734, 5048, 5878, 2743, 5064, 6085, 2752, 5084, 6121, 2761, 5100, 6346, 2770, 5219, 6382, 2779, 5235, 6625, 2788, 5255, 6661, 2797, 5271, 6922, 7226, 588, 7435, 5408, 2806, 2815, 7245, 2825, 2834, 5424, 7273, 2843, 7440, 5444, 2853, 7562, 5460, 2862, 7563, 5615, 2871, 7566, 5631, 2880, 7567, 5651, 2889, 7571, 5667, 2898, 7581, 5840, 2907, 7582, 5856, 2916, 7583, 5876, 2925, 7585, 5892, 2934, 6083, 7586, 2943, 6099, 7597, 2952, 6119, 7600, 2961, 6135, 7601, 2970, 6344, 7602, 2979, 6360, 7605, 2988, 6380, 7616, 2997, 6396, 7617, 3006, 6623, 7619, 7620, 602, 7451, 6639, 3015, 3024, 7621, 3034, 3043, 6659, 7631, 3052, 7456, 6675, 3062, 7635, 6920, 3071, 7636, 6936, 3080, 7639, 7217, 3089, 7640, 7236, 3098, 7650, 7264, 3107, 7651, 7298, 3116, 7654, 7301, 3125, 7655, 7317, 3134, 7659, 7333, 3143, 7669, 7349, 3152, 7365, 7670, 3161, 7381, 7671, 3170, 7397, 7673, 3179, 7413, 7674, 3188, 7429, 7685, 3197, 7445, 7688, 3206, 7461, 7689, 3215, 7477, 7690, 3224, 7493, 7693, 3233, 7509, 7704, 7705, 616, 7467, 7525, 3242, 3251, 7707, 3261, 3270, 7541, 7708, 3279, 7472, 9132, 3289, 7709, 9133, 3298, 7719, 9135, 3307, 7723, 9136, 3316, 7724, 9137, 3325, 7727, 9139, 3334, 7728, 9141, 3343, 7738, 9142, 3352, 7739, 9143, 3361, 7742, 9147, 3370, 7743, 9151, 3379, 7747, 9153, 3388, 9157, 7757, 3397, 9158, 7758, 3406, 9159, 7759, 3415, 9161, 7761, 3424, 9162, 7762, 3433, 9163, 7773, 3442, 9165, 7776, 3451, 9167, 7777, 3460, 9168, 7778, 3469, 9169, 7781, 3478, 9173, 7792, 7793, 630, 7483, 9177, 3487, 3496, 7795, 3506, 3515, 9179, 7796, 3524, 7488, 9183, 3534, 7797, 9184, 3543, 7807, 9185, 3552, 7811, 9187, 3561, 7812, 9188, 3570, 7815, 9189, 3579, 7816, 9191, 3588, 7826, 9193, 3597, 7827, 9194, 3606, 7830, 9195, 3615, 7831, 9199, 3624, 7835, 9203, 3633, 7845, 9205, 3642, 9209, 7846, 3651, 9210, 7847, 3660, 9211, 7849, 3669, 9213, 7850, 3678, 9214, 7861, 3687, 9215, 7864, 3696, 9217, 7865, 3705, 9219, 7866, 3714, 9220, 7869, 3723, 9221, 7880, 3732, 9225, 7881, 3741, 9229, 7883, 7884, 644, 7499, 9231, 3750, 3759, 7885, 3769, 3778, 9235, 7895, 3787, 7504, 9236, 3797, 7899, 9237, 3806, 7900, 9239, 3815, 7903, 9240, 3824, 7904, 9241, 3833, 7914, 9243, 3842, 7915, 9245, 3851, 7918, 9246, 3860, 7919, 9247, 3869, 7923, 9251, 3878, 7933, 9255, 3887, 7934, 9257, 3896, 7935, 9261, 3905, 7937, 9262, 3914, 9263, 7938, 3923, 9265, 7949, 3932, 9266, 7952, 3941, 9267, 7953, 3950, 9269, 7954, 3959, 9271, 7957, 3968, 9272, 7968, 3977, 9273, 7969, 3986, 9277, 7971, 3995, 9281, 7972, 4004, 9283, 7973, 4013, 9287, 7983, 4022, 9288, 7987, 7988, 658, 7515, 9289, 4031, 4040, 7991, 4050, 4059, 9291, 7992, 4068, 7520, 9292, 4078, 8002, 9293, 4087, 8003, 9295, 4096, 8006, 9297, 4105, 8007, 9298, 4114, 8011, 9299, 4123, 8021, 9303, 4132, 8022, 9307, 4141, 8023, 9309, 4150, 8025, 9313, 4159, 8026, 9314, 4168, 8037, 9315, 4177, 8040, 9317, 4186, 8041, 9318, 4195, 8042, 9319, 4204, 9321, 8045, 4213, 9323, 8056, 4222, 9324, 8057, 4231, 9325, 8059, 4240, 9329, 8060, 4249, 9333, 8061, 4258, 9335, 8071, 4267, 9339, 8075, 4276, 9340, 8076, 4285, 9341, 8079, 4294, 9343, 8080, 4303, 9344, 8090, 4312, 9345, 8091, 4321, 9347, 8094, 8095, 672, 7531, 9349, 4330, 4339, 8099, 4349, 8109, 686, 4358, 9350, 4367, 994, 8110, 8111, 4376, 4385, 9351, 8113, 1008, 4394, 9355, 8114, 700, 4408, 9359, 4417, 1022, 8125, 4426, 4435, 9361, 8128, 1036, 4444, 9365, 4453, 8129, 9366, 4462, 9367, 8130, 8133, 714, 4471, 9369, 4480, 1050, 8144, 4489, 4498, 9370, 8145, 1064, 4507, 9371, 4516, 8147, 9373, 4525, 8148, 9375, 4534, 9376, 8149, 4543, 9377, 8159, 8163, 728, 4552, 9381, 4561, 1078, 8164, 4570, 4579, 9385, 8167, 1092, 4588, 9387, 4597, 8168, 9391, 4606, 8178, 9392, 4615, 8179, 9393, 4624, 9395, 8182, 4633, 9396, 8183, 4642, 9397, 8187, 8197, 742, 4651, 9399, 4660, 1106, 8198, 4669, 4678, 9401, 8199, 1120, 4687, 9402, 4696, 8201, 9403, 4705, 8202, 9407, 4714, 8213, 9411, 4723, 8216, 9413, 4732, 9417, 8217, 4741, 9418, 8218, 4750, 9419, 8221, 4759, 9421, 8232, 8233, 756, 4768, 9422, 4777, 1134, 8235, 4786, 4795, 9423, 8236, 1148, 4804, 9425, 4813, 8237, 9427, 4822, 8247, 9428, 4831, 8251, 9429, 4840, 8252, 9433, 4849, 8255, 9437, 4858, 9439, 8256, 4867, 9443, 8266, 4876, 9444, 8267, 4885, 9445, 8270, 4894, 9447, 8271, 8275, 770, 4903, 9448, 4912, 1162, 8285, 4921, 4930, 9449, 8286, 1176, 4939, 9451, 4948, 8287, 9453, 4957, 8289, 9454, 4966, 8290, 9455, 4975, 8301, 9459, 4984, 8304, 9463, 4993, 8305, 9465, 5002, 9469, 8306, 5011, 9470, 8309, 5020, 9471, 8320, 5029, 9473, 8321, 5038, 9474, 8323, 5047, 9475, 8324, 8325, 784, 5056, 9477, 5065, 1190, 8335, 5074, 5083, 9479, 8339, 1204, 5092, 9480, 5101, 8340, 9481, 5110, 8343, 9485, 5119, 8344, 9489, 5128, 8354, 9491, 5137, 8355, 9495, 5146, 8358, 9496, 5155, 8359, 9497, 5164, 9499, 8363, 5173, 9500, 8373, 5182, 9501, 8374, 5191, 9503, 8375, 5200, 9505, 8377, 5209, 9506, 8378, 5218, 9507, 8389, 8392, 798, 5227, 9511, 5236, 1218, 8393, 5245, 5254, 9515, 8394, 1232, 5263, 9517, 5272, 8397, 9521, 5281, 8408, 9522, 5290, 8409, 9523, 5299, 8411, 9525, 5308, 8412, 9526, 5317, 8413, 9527, 5326, 8423, 9529, 5335, 8427, 9531, 5344, 9532, 8428, 5353, 9533, 8431, 5362, 9537, 8432, 5371, 9541, 8442, 5380, 9543, 8443, 5389, 9547, 8446, 5398, 9548, 8447, 5407, 9549, 8451, 8461, 812, 5416, 9551, 5425, 1246, 8462, 5434, 5443, 9552, 8463, 1260, 5452, 9553, 5461, 8465, 9555, 5470, 8466, 9557, 5479, 8477, 9558, 5488, 8480, 9559, 5497, 8481, 9563, 5506, 8482, 9567, 5515, 8485, 9569, 5524, 8496, 9573, 5533, 8497, 9574, 5542, 9575, 8499, 5551, 9577, 8500, 5560, 9578, 8501, 5569, 9579, 8511, 5578, 9581, 8515, 5587, 9583, 8516, 5596, 9584, 8519, 5605, 9585, 8520, 5614, 9589, 8530, 8531, 826, 5623, 9593, 5632, 1274, 8534, 5641, 5650, 9595, 8535, 1288, 5659, 9599, 5668, 8539, 9600, 5677, 8549, 9601, 5686, 8550, 9603, 5695, 8551, 9604, 5704, 8553, 9605, 5713, 8554, 9607, 5722, 8565, 9609, 5731, 8568, 9610, 5740, 8569, 9611, 5749, 8570, 9615, 5758, 9619, 8573, 5767, 9621, 8584, 5776, 9625, 8585, 5785, 9626, 8587, 5794, 9627, 8588, 5803, 9629, 8589, 5812, 9630, 8599, 5821, 9631, 8603, 5830, 9633, 8604, 5839, 9635, 8607, 8608, 840, 5848, 9636, 5857, 1302, 8618, 5866, 5875, 9637, 8619, 1316, 5884, 9641, 5893, 8622, 9645, 5902, 8623, 9647, 5911, 8627, 9651, 5920, 8637, 9652, 5929, 8638, 9653, 5938, 8639, 9655, 5947, 8641, 9656, 5956, 8642, 9657, 5965, 8653, 9659, 5974, 8656, 9661, 5983, 8657, 9662, 5992, 9663, 8658, 6001, 9667, 8661, 6010, 9671, 8672, 6019, 9673, 8673, 6028, 9677, 8675, 6037, 9678, 8676, 6046, 9679, 8677, 6055, 9681, 8687, 6064, 9682, 8691, 6073, 9683, 8692, 6082, 9685, 8695, 8696, 854, 6091, 9687, 6100, 1330, 8706, 6109, 6118, 9688, 8707, 1344, 6127, 9689, 6136, 8710, 9693, 6145, 8711, 9697, 6154, 8715, 9699, 6163, 8725, 9703, 6172, 8726, 9704, 6181, 8727, 9705, 6190, 8729, 9707, 6199, 8730, 9708, 6208, 8741, 9709, 6217, 8744, 9711, 6226, 8745, 9713, 6235, 8746, 9714, 6244, 9715, 8749, 6253, 9719, 8760, 6262, 9723, 8761, 6271, 9725, 8763, 6280, 9729, 8764, 6289, 9730, 8765, 6298, 9731, 8775, 6307, 9733, 8779, 6316, 9734, 8780, 6325, 9735, 8783, 6334, 9737, 8784, 6343, 9739, 8794, 8795, 868, 6352, 9740, 6361, 1358, 8798, 6370, 6379, 9741, 8799, 1372, 6388, 9745, 6397, 8803, 9749, 6406, 8813, 9751, 6415, 8814, 9755, 6424, 8815, 9756, 6433, 8817, 9757, 6442, 8818, 9759, 6451, 8829, 9760, 6460, 8832, 9761, 6469, 8833, 9763, 6478, 8834, 9765, 6487, 8837, 9766, 6496, 8848, 9767, 6505, 8849, 9771, 6514, 9775, 8851, 6523, 9777, 8852, 6532, 9781, 8853, 6541, 9782, 8863, 6550, 9783, 8867, 6559, 9785, 8868, 6568, 9786, 8871, 6577, 9787, 8872, 6586, 9789, 8882, 6595, 9791, 8883, 6604, 9792, 8886, 6613, 9793, 8887, 6622, 9797, 8891, 8901, 882, 6631, 9801, 6640, 1386, 8902, 6649, 6658, 9803, 8903, 1400, 6667, 9807, 6676, 8905, 9808, 6685, 8906, 9809, 6694, 8917, 9811, 6703, 8920, 9812, 6712, 8921, 9813, 6721, 8922, 9815, 6730, 8925, 9817, 6739, 8936, 9818, 6748, 8937, 9819, 6757, 8939, 9823, 6766, 8940, 9827, 6775, 8941, 9829, 6784, 8951, 9833, 6793, 8955, 9834, 6802, 9835, 8956, 6811, 9837, 8959, 6820, 9838, 8960, 6829, 9839, 8970, 6838, 9841, 8971, 6847, 9843, 8974, 6856, 9844, 8975, 6865, 9845, 8979, 6874, 9849, 8989, 6883, 9853, 8990, 6892, 9855, 8991, 6901, 9859, 8993, 6910, 9860, 8994, 6919, 9861, 9005, 9008, 896, 6928, 9863, 6937, 1414, 9009, 6946, 9010, 1428, 7536, 9864, 6955, 9013, 9865, 6964, 9024, 9867, 6973, 9025, 9869, 6982, 9027, 9870, 6991, 9028, 9871, 7000, 9029, 9875, 7009, 9039, 9879, 7018, 9043, 9881, 7027, 9044, 9885, 7036, 9047, 9886, 7045, 9048, 9887, 7054, 9058, 9889, 7063, 9059, 9890, 7072, 9062, 9891, 7081, 9063, 9893, 7090, 9895, 9067, 7099, 9896, 9077, 7108, 9897, 9078, 7117, 9901, 9079, 7126, 9905, 9081, 7135, 9907, 9082, 7144, 9911, 9093, 7153, 9912, 9096, 7162, 9913, 9097, 7171, 9915, 9098, 7180, 9916, 9101, 7189, 9917, 9112, 7198, 9919, 9113, 7207, 9921, 9115, 7216, 9922, 9116, 7225, 9117, 910, 7547, 9923, 7235, 7244, 9127, 7254, 14, 1442, 7552, 9927, 924, 7263, 966, 7272, 9131, 938, 7282}; /* Vector of min issue delay of insns. */ static const unsigned char bdver1_fp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 17, 17, 1, 17, 1, 1, 1, 1, 17, 1, 1, 1, 0, 0, 16, 16, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 16, 16, 1, 16, 0, 0, 0, 0, 16, 1, 0, 1, 0, 0, 16, 16, 1, 16, 1, 1, 0, 1, 16, 1, 1, 1, 0, 0, 16, 16, 1, 16, 1, 1, 1, 1, 16, 1, 1, 1, 0, 0, 15, 15, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 15, 15, 1, 15, 0, 0, 0, 0, 15, 1, 0, 1, 0, 0, 15, 15, 1, 15, 1, 1, 0, 1, 15, 1, 1, 1, 0, 0, 15, 15, 1, 15, 1, 1, 1, 1, 15, 1, 1, 1, 0, 0, 14, 14, 0, 14, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 14, 14, 1, 14, 0, 0, 0, 0, 14, 1, 0, 1, 0, 0, 14, 14, 1, 14, 1, 1, 0, 1, 14, 1, 1, 1, 0, 0, 14, 14, 1, 14, 1, 1, 1, 1, 14, 1, 1, 1, 0, 0, 13, 13, 0, 13, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 13, 13, 1, 13, 0, 0, 0, 0, 13, 1, 0, 1, 0, 0, 13, 13, 1, 13, 1, 1, 0, 1, 13, 1, 1, 1, 0, 0, 13, 13, 1, 13, 1, 1, 1, 1, 13, 1, 1, 1, 0, 0, 12, 12, 0, 12, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 12, 12, 1, 12, 0, 0, 0, 0, 12, 1, 0, 1, 0, 0, 12, 12, 1, 12, 1, 1, 0, 1, 12, 1, 1, 1, 0, 0, 12, 12, 1, 12, 1, 1, 1, 1, 12, 1, 1, 1, 0, 0, 11, 11, 0, 11, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 11, 1, 11, 0, 0, 0, 0, 11, 1, 0, 1, 0, 0, 11, 11, 1, 11, 1, 1, 0, 1, 11, 1, 1, 1, 0, 0, 11, 11, 1, 11, 1, 1, 1, 1, 11, 1, 1, 1, 0, 0, 10, 10, 0, 10, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 10, 10, 1, 10, 0, 0, 0, 0, 10, 1, 0, 1, 0, 0, 10, 10, 1, 10, 1, 1, 0, 1, 10, 1, 1, 1, 0, 0, 10, 10, 1, 10, 1, 1, 1, 1, 10, 1, 1, 1, 0, 0, 9, 9, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 9, 1, 9, 0, 0, 0, 0, 9, 1, 0, 1, 0, 0, 9, 9, 1, 9, 1, 1, 0, 1, 9, 1, 1, 1, 0, 0, 9, 9, 1, 9, 1, 1, 1, 1, 9, 1, 1, 1, 0, 0, 8, 8, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 8, 1, 8, 0, 0, 0, 0, 8, 1, 0, 1, 0, 0, 8, 8, 1, 8, 1, 1, 0, 1, 8, 1, 1, 1, 0, 0, 8, 8, 1, 8, 1, 1, 1, 1, 8, 1, 1, 1, 0, 0, 7, 7, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 7, 1, 7, 0, 0, 0, 0, 7, 1, 0, 1, 0, 0, 7, 7, 1, 7, 1, 1, 0, 1, 7, 1, 1, 1, 0, 0, 7, 7, 1, 7, 1, 1, 1, 1, 7, 1, 1, 1, 0, 0, 6, 6, 0, 6, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 6, 1, 6, 0, 0, 0, 0, 6, 1, 0, 1, 0, 0, 6, 6, 1, 6, 1, 1, 0, 1, 6, 1, 1, 1, 0, 0, 6, 6, 1, 6, 1, 1, 1, 1, 6, 1, 1, 1, 0, 0, 5, 5, 0, 5, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 5, 1, 5, 0, 0, 0, 0, 5, 1, 0, 1, 0, 0, 5, 5, 1, 5, 1, 1, 0, 1, 5, 1, 1, 1, 0, 0, 5, 5, 1, 5, 1, 1, 1, 1, 5, 1, 1, 1, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 4, 1, 4, 0, 0, 0, 0, 4, 1, 0, 1, 0, 0, 4, 4, 1, 4, 1, 1, 0, 1, 4, 1, 1, 1, 0, 0, 4, 4, 1, 4, 1, 1, 1, 1, 4, 1, 1, 1, 0, 0, 3, 3, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 0, 0, 3, 1, 0, 1, 0, 0, 3, 3, 1, 3, 1, 1, 0, 1, 3, 1, 1, 1, 0, 0, 3, 3, 1, 3, 1, 1, 1, 1, 3, 1, 1, 1, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 2, 2, 1, 2, 1, 1, 0, 1, 2, 1, 1, 1, 0, 0, 2, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 17, 17, 1, 17, 1, 1, 1, 1, 1, 17, 1, 1, 0, 0, 16, 16, 0, 16, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 16, 1, 16, 0, 0, 0, 0, 1, 16, 0, 1, 0, 0, 16, 16, 1, 16, 1, 1, 0, 1, 1, 16, 1, 1, 0, 0, 16, 16, 1, 16, 1, 1, 1, 1, 1, 16, 1, 1, 0, 0, 15, 15, 0, 15, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 15, 1, 15, 0, 0, 0, 0, 1, 15, 0, 1, 0, 0, 15, 15, 1, 15, 1, 1, 0, 1, 1, 15, 1, 1, 0, 0, 15, 15, 1, 15, 1, 1, 1, 1, 1, 15, 1, 1, 0, 0, 14, 14, 0, 14, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 14, 14, 1, 14, 0, 0, 0, 0, 1, 14, 0, 1, 0, 0, 14, 14, 1, 14, 1, 1, 0, 1, 1, 14, 1, 1, 0, 0, 14, 14, 1, 14, 1, 1, 1, 1, 1, 14, 1, 1, 0, 0, 13, 13, 0, 13, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 13, 13, 1, 13, 0, 0, 0, 0, 1, 13, 0, 1, 0, 0, 13, 13, 1, 13, 1, 1, 0, 1, 1, 13, 1, 1, 0, 0, 13, 13, 1, 13, 1, 1, 1, 1, 1, 13, 1, 1, 0, 0, 12, 12, 0, 12, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, 12, 1, 12, 0, 0, 0, 0, 1, 12, 0, 1, 0, 0, 12, 12, 1, 12, 1, 1, 0, 1, 1, 12, 1, 1, 0, 0, 12, 12, 1, 12, 1, 1, 1, 1, 1, 12, 1, 1, 0, 0, 11, 11, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 11, 11, 1, 11, 0, 0, 0, 0, 1, 11, 0, 1, 0, 0, 11, 11, 1, 11, 1, 1, 0, 1, 1, 11, 1, 1, 0, 0, 11, 11, 1, 11, 1, 1, 1, 1, 1, 11, 1, 1, 0, 0, 10, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 10, 1, 10, 0, 0, 0, 0, 1, 10, 0, 1, 0, 0, 10, 10, 1, 10, 1, 1, 0, 1, 1, 10, 1, 1, 0, 0, 10, 10, 1, 10, 1, 1, 1, 1, 1, 10, 1, 1, 0, 0, 9, 9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 9, 1, 9, 0, 0, 0, 0, 1, 9, 0, 1, 0, 0, 9, 9, 1, 9, 1, 1, 0, 1, 1, 9, 1, 1, 0, 0, 9, 9, 1, 9, 1, 1, 1, 1, 1, 9, 1, 1, 0, 0, 8, 8, 0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 8, 1, 8, 0, 0, 0, 0, 1, 8, 0, 1, 0, 0, 8, 8, 1, 8, 1, 1, 0, 1, 1, 8, 1, 1, 0, 0, 8, 8, 1, 8, 1, 1, 1, 1, 1, 8, 1, 1, 0, 0, 7, 7, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 7, 1, 7, 0, 0, 0, 0, 1, 7, 0, 1, 0, 0, 7, 7, 1, 7, 1, 1, 0, 1, 1, 7, 1, 1, 0, 0, 7, 7, 1, 7, 1, 1, 1, 1, 1, 7, 1, 1, 0, 0, 6, 6, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 6, 6, 1, 6, 0, 0, 0, 0, 1, 6, 0, 1, 0, 0, 6, 6, 1, 6, 1, 1, 0, 1, 1, 6, 1, 1, 0, 0, 6, 6, 1, 6, 1, 1, 1, 1, 1, 6, 1, 1, 0, 0, 5, 5, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 5, 5, 1, 5, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 5, 5, 1, 5, 1, 1, 0, 1, 1, 5, 1, 1, 0, 0, 5, 5, 1, 5, 1, 1, 1, 1, 1, 5, 1, 1, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4, 1, 4, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 4, 4, 1, 4, 1, 1, 0, 1, 1, 4, 1, 1, 0, 0, 4, 4, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 0, 0, 3, 3, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 3, 1, 3, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 3, 3, 1, 3, 1, 1, 0, 1, 1, 3, 1, 1, 0, 0, 3, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 2, 2, 1, 2, 1, 1, 0, 1, 1, 2, 1, 1, 0, 0, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 1, 0, 0, 2, 2, 1, 2, 2, 1, 0, 2, 1, 2, 2, 1, 0, 0, 2, 2, 0, 2, 1, 0, 0, 1, 0, 2, 1, 0, 0, 0, 2, 2, 0, 2, 1, 0, 1, 1, 0, 2, 1, 0, 0, 0, 17, 17, 2, 17, 1, 1, 1, 1, 17, 2, 1, 2, 0, 0, 17, 17, 2, 17, 1, 1, 0, 1, 17, 2, 1, 2, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 1, 2, 0, 2, 2, 0, 0, 0, 17, 17, 2, 17, 2, 2, 1, 2, 17, 2, 2, 2, 0, 0, 17, 17, 2, 17, 0, 0, 0, 0, 17, 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0, 0, 0, 17, 17, 2, 17, 2, 2, 0, 2, 17, 2, 2, 2, 0, 0, 17, 17, 2, 17, 0, 0, 0, 0, 17, 2, 0, 2, 0, 0, 3, 3, 1, 3, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 3, 3, 1, 3, 2, 1, 1, 2, 1, 3, 2, 1, 0, 0, 3, 3, 1, 3, 2, 1, 0, 2, 1, 3, 2, 1, 0, 0, 3, 3, 0, 3, 1, 0, 0, 1, 0, 3, 1, 0, 0, 0, 3, 3, 0, 3, 1, 0, 1, 1, 0, 3, 1, 0, 0, 0, 17, 17, 3, 17, 1, 1, 1, 1, 17, 3, 1, 3, 0, 0, 16, 16, 2, 16, 0, 0, 0, 0, 16, 2, 0, 2, 0, 0, 16, 16, 2, 16, 1, 1, 0, 1, 16, 2, 1, 2, 0, 0, 16, 16, 2, 16, 1, 1, 1, 1, 16, 2, 1, 2, 0, 0, 16, 16, 2, 16, 0, 0, 0, 0, 16, 2, 0, 2, 0, 0, 16, 16, 2, 16, 2, 2, 1, 2, 16, 2, 2, 2, 0, 0, 16, 16, 2, 16, 2, 2, 0, 2, 16, 2, 2, 2, 0, 0, 17, 17, 3, 17, 1, 1, 0, 1, 17, 3, 1, 3, 0, 0, 3, 3, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 3, 0, 3, 2, 0, 1, 2, 0, 3, 2, 0, 0, 0, 17, 17, 3, 17, 2, 2, 1, 2, 17, 3, 2, 3, 0, 0, 17, 17, 3, 17, 0, 0, 0, 0, 17, 3, 0, 3, 0, 0, 3, 3, 0, 3, 2, 0, 0, 2, 0, 3, 2, 0, 0, 0, 17, 17, 3, 17, 2, 2, 0, 2, 17, 3, 2, 3, 0, 0, 17, 17, 3, 17, 0, 0, 0, 0, 17, 3, 0, 3, 0, 0, 4, 4, 1, 4, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 4, 4, 1, 4, 2, 1, 1, 2, 1, 4, 2, 1, 0, 0, 4, 4, 1, 4, 2, 1, 0, 2, 1, 4, 2, 1, 0, 0, 4, 4, 0, 4, 1, 0, 0, 1, 0, 4, 1, 0, 0, 0, 4, 4, 0, 4, 1, 0, 1, 1, 0, 4, 1, 0, 0, 0, 17, 17, 4, 17, 1, 1, 1, 1, 17, 4, 1, 4, 0, 0, 16, 16, 3, 16, 0, 0, 0, 0, 16, 3, 0, 3, 0, 0, 16, 16, 3, 16, 1, 1, 0, 1, 16, 3, 1, 3, 0, 0, 16, 16, 3, 16, 1, 1, 1, 1, 16, 3, 1, 3, 0, 0, 15, 15, 2, 15, 0, 0, 0, 0, 15, 2, 0, 2, 0, 0, 15, 15, 2, 15, 1, 1, 0, 1, 15, 2, 1, 2, 0, 0, 15, 15, 2, 15, 1, 1, 1, 1, 15, 2, 1, 2, 0, 0, 15, 15, 2, 15, 0, 0, 0, 0, 15, 2, 0, 2, 0, 0, 15, 15, 2, 15, 2, 2, 1, 2, 15, 2, 2, 2, 0, 0, 15, 15, 2, 15, 2, 2, 0, 2, 15, 2, 2, 2, 0, 0, 16, 16, 3, 16, 0, 0, 0, 0, 16, 3, 0, 3, 0, 0, 16, 16, 3, 16, 2, 2, 1, 2, 16, 3, 2, 3, 0, 0, 16, 16, 3, 16, 2, 2, 0, 2, 16, 3, 2, 3, 0, 0, 17, 17, 4, 17, 1, 1, 0, 1, 17, 4, 1, 4, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4, 0, 4, 2, 0, 1, 2, 0, 4, 2, 0, 0, 0, 17, 17, 4, 17, 2, 2, 1, 2, 17, 4, 2, 4, 0, 0, 17, 17, 4, 17, 0, 0, 0, 0, 17, 4, 0, 4, 0, 0, 4, 4, 0, 4, 2, 0, 0, 2, 0, 4, 2, 0, 0, 0, 17, 17, 4, 17, 2, 2, 0, 2, 17, 4, 2, 4, 0, 0, 17, 17, 4, 17, 0, 0, 0, 0, 17, 4, 0, 4, 0, 0, 5, 5, 1, 5, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 5, 5, 1, 5, 2, 1, 1, 2, 1, 5, 2, 1, 0, 0, 5, 5, 1, 5, 2, 1, 0, 2, 1, 5, 2, 1, 0, 0, 5, 5, 0, 5, 1, 0, 0, 1, 0, 5, 1, 0, 0, 0, 5, 5, 0, 5, 1, 0, 1, 1, 0, 5, 1, 0, 0, 0, 17, 17, 5, 17, 1, 1, 1, 1, 17, 5, 1, 5, 0, 0, 16, 16, 4, 16, 0, 0, 0, 0, 16, 4, 0, 4, 0, 0, 16, 16, 4, 16, 1, 1, 0, 1, 16, 4, 1, 4, 0, 0, 16, 16, 4, 16, 1, 1, 1, 1, 16, 4, 1, 4, 0, 0, 15, 15, 3, 15, 0, 0, 0, 0, 15, 3, 0, 3, 0, 0, 15, 15, 3, 15, 1, 1, 0, 1, 15, 3, 1, 3, 0, 0, 15, 15, 3, 15, 1, 1, 1, 1, 15, 3, 1, 3, 0, 0, 14, 14, 2, 14, 0, 0, 0, 0, 14, 2, 0, 2, 0, 0, 14, 14, 2, 14, 1, 1, 0, 1, 14, 2, 1, 2, 0, 0, 14, 14, 2, 14, 1, 1, 1, 1, 14, 2, 1, 2, 0, 0, 14, 14, 2, 14, 0, 0, 0, 0, 14, 2, 0, 2, 0, 0, 14, 14, 2, 14, 2, 2, 1, 2, 14, 2, 2, 2, 0, 0, 14, 14, 2, 14, 2, 2, 0, 2, 14, 2, 2, 2, 0, 0, 15, 15, 3, 15, 0, 0, 0, 0, 15, 3, 0, 3, 0, 0, 15, 15, 3, 15, 2, 2, 1, 2, 15, 3, 2, 3, 0, 0, 15, 15, 3, 15, 2, 2, 0, 2, 15, 3, 2, 3, 0, 0, 16, 16, 4, 16, 0, 0, 0, 0, 16, 4, 0, 4, 0, 0, 16, 16, 4, 16, 2, 2, 1, 2, 16, 4, 2, 4, 0, 0, 16, 16, 4, 16, 2, 2, 0, 2, 16, 4, 2, 4, 0, 0, 17, 17, 5, 17, 1, 1, 0, 1, 17, 5, 1, 5, 0, 0, 5, 5, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 5, 5, 0, 5, 2, 0, 1, 2, 0, 5, 2, 0, 0, 0, 17, 17, 5, 17, 2, 2, 1, 2, 17, 5, 2, 5, 0, 0, 17, 17, 5, 17, 0, 0, 0, 0, 17, 5, 0, 5, 0, 0, 5, 5, 0, 5, 2, 0, 0, 2, 0, 5, 2, 0, 0, 0, 17, 17, 5, 17, 2, 2, 0, 2, 17, 5, 2, 5, 0, 0, 17, 17, 5, 17, 0, 0, 0, 0, 17, 5, 0, 5, 0, 0, 6, 6, 1, 6, 0, 0, 0, 0, 1, 6, 0, 1, 0, 0, 6, 6, 1, 6, 2, 1, 1, 2, 1, 6, 2, 1, 0, 0, 6, 6, 1, 6, 2, 1, 0, 2, 1, 6, 2, 1, 0, 0, 6, 6, 0, 6, 1, 0, 0, 1, 0, 6, 1, 0, 0, 0, 6, 6, 0, 6, 1, 0, 1, 1, 0, 6, 1, 0, 0, 0, 17, 17, 6, 17, 1, 1, 1, 1, 17, 6, 1, 6, 0, 0, 16, 16, 5, 16, 0, 0, 0, 0, 16, 5, 0, 5, 0, 0, 16, 16, 5, 16, 1, 1, 0, 1, 16, 5, 1, 5, 0, 0, 16, 16, 5, 16, 1, 1, 1, 1, 16, 5, 1, 5, 0, 0, 15, 15, 4, 15, 0, 0, 0, 0, 15, 4, 0, 4, 0, 0, 15, 15, 4, 15, 1, 1, 0, 1, 15, 4, 1, 4, 0, 0, 15, 15, 4, 15, 1, 1, 1, 1, 15, 4, 1, 4, 0, 0, 14, 14, 3, 14, 0, 0, 0, 0, 14, 3, 0, 3, 0, 0, 14, 14, 3, 14, 1, 1, 0, 1, 14, 3, 1, 3, 0, 0, 14, 14, 3, 14, 1, 1, 1, 1, 14, 3, 1, 3, 0, 0, 13, 13, 2, 13, 0, 0, 0, 0, 13, 2, 0, 2, 0, 0, 13, 13, 2, 13, 1, 1, 0, 1, 13, 2, 1, 2, 0, 0, 13, 13, 2, 13, 1, 1, 1, 1, 13, 2, 1, 2, 0, 0, 13, 13, 2, 13, 0, 0, 0, 0, 13, 2, 0, 2, 0, 0, 13, 13, 2, 13, 2, 2, 1, 2, 13, 2, 2, 2, 0, 0, 13, 13, 2, 13, 2, 2, 0, 2, 13, 2, 2, 2, 0, 0, 14, 14, 3, 14, 0, 0, 0, 0, 14, 3, 0, 3, 0, 0, 14, 14, 3, 14, 2, 2, 1, 2, 14, 3, 2, 3, 0, 0, 14, 14, 3, 14, 2, 2, 0, 2, 14, 3, 2, 3, 0, 0, 15, 15, 4, 15, 0, 0, 0, 0, 15, 4, 0, 4, 0, 0, 15, 15, 4, 15, 2, 2, 1, 2, 15, 4, 2, 4, 0, 0, 15, 15, 4, 15, 2, 2, 0, 2, 15, 4, 2, 4, 0, 0, 16, 16, 5, 16, 0, 0, 0, 0, 16, 5, 0, 5, 0, 0, 16, 16, 5, 16, 2, 2, 1, 2, 16, 5, 2, 5, 0, 0, 16, 16, 5, 16, 2, 2, 0, 2, 16, 5, 2, 5, 0, 0, 17, 17, 6, 17, 1, 1, 0, 1, 17, 6, 1, 6, 0, 0, 6, 6, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 6, 6, 0, 6, 2, 0, 1, 2, 0, 6, 2, 0, 0, 0, 17, 17, 6, 17, 2, 2, 1, 2, 17, 6, 2, 6, 0, 0, 17, 17, 6, 17, 0, 0, 0, 0, 17, 6, 0, 6, 0, 0, 6, 6, 0, 6, 2, 0, 0, 2, 0, 6, 2, 0, 0, 0, 17, 17, 6, 17, 2, 2, 0, 2, 17, 6, 2, 6, 0, 0, 17, 17, 6, 17, 0, 0, 0, 0, 17, 6, 0, 6, 0, 0, 7, 7, 1, 7, 0, 0, 0, 0, 1, 7, 0, 1, 0, 0, 7, 7, 1, 7, 2, 1, 1, 2, 1, 7, 2, 1, 0, 0, 7, 7, 1, 7, 2, 1, 0, 2, 1, 7, 2, 1, 0, 0, 7, 7, 0, 7, 1, 0, 0, 1, 0, 7, 1, 0, 0, 0, 7, 7, 0, 7, 1, 0, 1, 1, 0, 7, 1, 0, 0, 0, 17, 17, 7, 17, 1, 1, 1, 1, 17, 7, 1, 7, 0, 0, 16, 16, 6, 16, 0, 0, 0, 0, 16, 6, 0, 6, 0, 0, 16, 16, 6, 16, 1, 1, 0, 1, 16, 6, 1, 6, 0, 0, 16, 16, 6, 16, 1, 1, 1, 1, 16, 6, 1, 6, 0, 0, 15, 15, 5, 15, 0, 0, 0, 0, 15, 5, 0, 5, 0, 0, 15, 15, 5, 15, 1, 1, 0, 1, 15, 5, 1, 5, 0, 0, 15, 15, 5, 15, 1, 1, 1, 1, 15, 5, 1, 5, 0, 0, 14, 14, 4, 14, 0, 0, 0, 0, 14, 4, 0, 4, 0, 0, 14, 14, 4, 14, 1, 1, 0, 1, 14, 4, 1, 4, 0, 0, 14, 14, 4, 14, 1, 1, 1, 1, 14, 4, 1, 4, 0, 0, 13, 13, 3, 13, 0, 0, 0, 0, 13, 3, 0, 3, 0, 0, 13, 13, 3, 13, 1, 1, 0, 1, 13, 3, 1, 3, 0, 0, 13, 13, 3, 13, 1, 1, 1, 1, 13, 3, 1, 3, 0, 0, 12, 12, 2, 12, 0, 0, 0, 0, 12, 2, 0, 2, 0, 0, 12, 12, 2, 12, 1, 1, 0, 1, 12, 2, 1, 2, 0, 0, 12, 12, 2, 12, 1, 1, 1, 1, 12, 2, 1, 2, 0, 0, 12, 12, 2, 12, 0, 0, 0, 0, 12, 2, 0, 2, 0, 0, 12, 12, 2, 12, 2, 2, 1, 2, 12, 2, 2, 2, 0, 0, 12, 12, 2, 12, 2, 2, 0, 2, 12, 2, 2, 2, 0, 0, 13, 13, 3, 13, 0, 0, 0, 0, 13, 3, 0, 3, 0, 0, 13, 13, 3, 13, 2, 2, 1, 2, 13, 3, 2, 3, 0, 0, 13, 13, 3, 13, 2, 2, 0, 2, 13, 3, 2, 3, 0, 0, 14, 14, 4, 14, 0, 0, 0, 0, 14, 4, 0, 4, 0, 0, 14, 14, 4, 14, 2, 2, 1, 2, 14, 4, 2, 4, 0, 0, 14, 14, 4, 14, 2, 2, 0, 2, 14, 4, 2, 4, 0, 0, 15, 15, 5, 15, 0, 0, 0, 0, 15, 5, 0, 5, 0, 0, 15, 15, 5, 15, 2, 2, 1, 2, 15, 5, 2, 5, 0, 0, 15, 15, 5, 15, 2, 2, 0, 2, 15, 5, 2, 5, 0, 0, 16, 16, 6, 16, 0, 0, 0, 0, 16, 6, 0, 6, 0, 0, 16, 16, 6, 16, 2, 2, 1, 2, 16, 6, 2, 6, 0, 0, 16, 16, 6, 16, 2, 2, 0, 2, 16, 6, 2, 6, 0, 0, 17, 17, 7, 17, 1, 1, 0, 1, 17, 7, 1, 7, 0, 0, 7, 7, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 7, 0, 7, 2, 0, 1, 2, 0, 7, 2, 0, 0, 0, 17, 17, 7, 17, 2, 2, 1, 2, 17, 7, 2, 7, 0, 0, 17, 17, 7, 17, 0, 0, 0, 0, 17, 7, 0, 7, 0, 0, 7, 7, 0, 7, 2, 0, 0, 2, 0, 7, 2, 0, 0, 0, 17, 17, 7, 17, 2, 2, 0, 2, 17, 7, 2, 7, 0, 0, 17, 17, 7, 17, 0, 0, 0, 0, 17, 7, 0, 7, 0, 0, 8, 8, 1, 8, 0, 0, 0, 0, 1, 8, 0, 1, 0, 0, 8, 8, 1, 8, 2, 1, 1, 2, 1, 8, 2, 1, 0, 0, 8, 8, 1, 8, 2, 1, 0, 2, 1, 8, 2, 1, 0, 0, 8, 8, 0, 8, 1, 0, 0, 1, 0, 8, 1, 0, 0, 0, 8, 8, 0, 8, 1, 0, 1, 1, 0, 8, 1, 0, 0, 0, 17, 17, 8, 17, 1, 1, 1, 1, 17, 8, 1, 8, 0, 0, 16, 16, 7, 16, 0, 0, 0, 0, 16, 7, 0, 7, 0, 0, 16, 16, 7, 16, 1, 1, 0, 1, 16, 7, 1, 7, 0, 0, 16, 16, 7, 16, 1, 1, 1, 1, 16, 7, 1, 7, 0, 0, 15, 15, 6, 15, 0, 0, 0, 0, 15, 6, 0, 6, 0, 0, 15, 15, 6, 15, 1, 1, 0, 1, 15, 6, 1, 6, 0, 0, 15, 15, 6, 15, 1, 1, 1, 1, 15, 6, 1, 6, 0, 0, 14, 14, 5, 14, 0, 0, 0, 0, 14, 5, 0, 5, 0, 0, 14, 14, 5, 14, 1, 1, 0, 1, 14, 5, 1, 5, 0, 0, 14, 14, 5, 14, 1, 1, 1, 1, 14, 5, 1, 5, 0, 0, 13, 13, 4, 13, 0, 0, 0, 0, 13, 4, 0, 4, 0, 0, 13, 13, 4, 13, 1, 1, 0, 1, 13, 4, 1, 4, 0, 0, 13, 13, 4, 13, 1, 1, 1, 1, 13, 4, 1, 4, 0, 0, 12, 12, 3, 12, 0, 0, 0, 0, 12, 3, 0, 3, 0, 0, 12, 12, 3, 12, 1, 1, 0, 1, 12, 3, 1, 3, 0, 0, 12, 12, 3, 12, 1, 1, 1, 1, 12, 3, 1, 3, 0, 0, 11, 11, 2, 11, 0, 0, 0, 0, 11, 2, 0, 2, 0, 0, 11, 11, 2, 11, 1, 1, 0, 1, 11, 2, 1, 2, 0, 0, 11, 11, 2, 11, 1, 1, 1, 1, 11, 2, 1, 2, 0, 0, 11, 11, 2, 11, 0, 0, 0, 0, 11, 2, 0, 2, 0, 0, 11, 11, 2, 11, 2, 2, 1, 2, 11, 2, 2, 2, 0, 0, 11, 11, 2, 11, 2, 2, 0, 2, 11, 2, 2, 2, 0, 0, 12, 12, 3, 12, 0, 0, 0, 0, 12, 3, 0, 3, 0, 0, 12, 12, 3, 12, 2, 2, 1, 2, 12, 3, 2, 3, 0, 0, 12, 12, 3, 12, 2, 2, 0, 2, 12, 3, 2, 3, 0, 0, 13, 13, 4, 13, 0, 0, 0, 0, 13, 4, 0, 4, 0, 0, 13, 13, 4, 13, 2, 2, 1, 2, 13, 4, 2, 4, 0, 0, 13, 13, 4, 13, 2, 2, 0, 2, 13, 4, 2, 4, 0, 0, 14, 14, 5, 14, 0, 0, 0, 0, 14, 5, 0, 5, 0, 0, 14, 14, 5, 14, 2, 2, 1, 2, 14, 5, 2, 5, 0, 0, 14, 14, 5, 14, 2, 2, 0, 2, 14, 5, 2, 5, 0, 0, 15, 15, 6, 15, 0, 0, 0, 0, 15, 6, 0, 6, 0, 0, 15, 15, 6, 15, 2, 2, 1, 2, 15, 6, 2, 6, 0, 0, 15, 15, 6, 15, 2, 2, 0, 2, 15, 6, 2, 6, 0, 0, 16, 16, 7, 16, 0, 0, 0, 0, 16, 7, 0, 7, 0, 0, 16, 16, 7, 16, 2, 2, 1, 2, 16, 7, 2, 7, 0, 0, 16, 16, 7, 16, 2, 2, 0, 2, 16, 7, 2, 7, 0, 0, 17, 17, 8, 17, 1, 1, 0, 1, 17, 8, 1, 8, 0, 0, 8, 8, 0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 8, 0, 8, 2, 0, 1, 2, 0, 8, 2, 0, 0, 0, 17, 17, 8, 17, 2, 2, 1, 2, 17, 8, 2, 8, 0, 0, 17, 17, 8, 17, 0, 0, 0, 0, 17, 8, 0, 8, 0, 0, 8, 8, 0, 8, 2, 0, 0, 2, 0, 8, 2, 0, 0, 0, 17, 17, 8, 17, 2, 2, 0, 2, 17, 8, 2, 8, 0, 0, 17, 17, 8, 17, 0, 0, 0, 0, 17, 8, 0, 8, 0, 0, 9, 9, 1, 9, 0, 0, 0, 0, 1, 9, 0, 1, 0, 0, 9, 9, 1, 9, 2, 1, 1, 2, 1, 9, 2, 1, 0, 0, 9, 9, 1, 9, 2, 1, 0, 2, 1, 9, 2, 1, 0, 0, 9, 9, 0, 9, 1, 0, 0, 1, 0, 9, 1, 0, 0, 0, 9, 9, 0, 9, 1, 0, 1, 1, 0, 9, 1, 0, 0, 0, 17, 17, 9, 17, 1, 1, 1, 1, 17, 9, 1, 9, 0, 0, 16, 16, 8, 16, 0, 0, 0, 0, 16, 8, 0, 8, 0, 0, 16, 16, 8, 16, 1, 1, 0, 1, 16, 8, 1, 8, 0, 0, 16, 16, 8, 16, 1, 1, 1, 1, 16, 8, 1, 8, 0, 0, 15, 15, 7, 15, 0, 0, 0, 0, 15, 7, 0, 7, 0, 0, 15, 15, 7, 15, 1, 1, 0, 1, 15, 7, 1, 7, 0, 0, 15, 15, 7, 15, 1, 1, 1, 1, 15, 7, 1, 7, 0, 0, 14, 14, 6, 14, 0, 0, 0, 0, 14, 6, 0, 6, 0, 0, 14, 14, 6, 14, 1, 1, 0, 1, 14, 6, 1, 6, 0, 0, 14, 14, 6, 14, 1, 1, 1, 1, 14, 6, 1, 6, 0, 0, 13, 13, 5, 13, 0, 0, 0, 0, 13, 5, 0, 5, 0, 0, 13, 13, 5, 13, 1, 1, 0, 1, 13, 5, 1, 5, 0, 0, 13, 13, 5, 13, 1, 1, 1, 1, 13, 5, 1, 5, 0, 0, 12, 12, 4, 12, 0, 0, 0, 0, 12, 4, 0, 4, 0, 0, 12, 12, 4, 12, 1, 1, 0, 1, 12, 4, 1, 4, 0, 0, 12, 12, 4, 12, 1, 1, 1, 1, 12, 4, 1, 4, 0, 0, 11, 11, 3, 11, 0, 0, 0, 0, 11, 3, 0, 3, 0, 0, 11, 11, 3, 11, 1, 1, 0, 1, 11, 3, 1, 3, 0, 0, 11, 11, 3, 11, 1, 1, 1, 1, 11, 3, 1, 3, 0, 0, 10, 10, 2, 10, 0, 0, 0, 0, 10, 2, 0, 2, 0, 0, 10, 10, 2, 10, 1, 1, 0, 1, 10, 2, 1, 2, 0, 0, 10, 10, 2, 10, 1, 1, 1, 1, 10, 2, 1, 2, 0, 0, 10, 10, 2, 10, 0, 0, 0, 0, 10, 2, 0, 2, 0, 0, 10, 10, 2, 10, 2, 2, 1, 2, 10, 2, 2, 2, 0, 0, 10, 10, 2, 10, 2, 2, 0, 2, 10, 2, 2, 2, 0, 0, 11, 11, 3, 11, 0, 0, 0, 0, 11, 3, 0, 3, 0, 0, 11, 11, 3, 11, 2, 2, 1, 2, 11, 3, 2, 3, 0, 0, 11, 11, 3, 11, 2, 2, 0, 2, 11, 3, 2, 3, 0, 0, 12, 12, 4, 12, 0, 0, 0, 0, 12, 4, 0, 4, 0, 0, 12, 12, 4, 12, 2, 2, 1, 2, 12, 4, 2, 4, 0, 0, 12, 12, 4, 12, 2, 2, 0, 2, 12, 4, 2, 4, 0, 0, 13, 13, 5, 13, 0, 0, 0, 0, 13, 5, 0, 5, 0, 0, 13, 13, 5, 13, 2, 2, 1, 2, 13, 5, 2, 5, 0, 0, 13, 13, 5, 13, 2, 2, 0, 2, 13, 5, 2, 5, 0, 0, 14, 14, 6, 14, 0, 0, 0, 0, 14, 6, 0, 6, 0, 0, 14, 14, 6, 14, 2, 2, 1, 2, 14, 6, 2, 6, 0, 0, 14, 14, 6, 14, 2, 2, 0, 2, 14, 6, 2, 6, 0, 0, 15, 15, 7, 15, 0, 0, 0, 0, 15, 7, 0, 7, 0, 0, 15, 15, 7, 15, 2, 2, 1, 2, 15, 7, 2, 7, 0, 0, 15, 15, 7, 15, 2, 2, 0, 2, 15, 7, 2, 7, 0, 0, 16, 16, 8, 16, 0, 0, 0, 0, 16, 8, 0, 8, 0, 0, 16, 16, 8, 16, 2, 2, 1, 2, 16, 8, 2, 8, 0, 0, 16, 16, 8, 16, 2, 2, 0, 2, 16, 8, 2, 8, 0, 0, 17, 17, 9, 17, 1, 1, 0, 1, 17, 9, 1, 9, 0, 0, 9, 9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 9, 0, 9, 2, 0, 1, 2, 0, 9, 2, 0, 0, 0, 17, 17, 9, 17, 2, 2, 1, 2, 17, 9, 2, 9, 0, 0, 17, 17, 9, 17, 0, 0, 0, 0, 17, 9, 0, 9, 0, 0, 9, 9, 0, 9, 2, 0, 0, 2, 0, 9, 2, 0, 0, 0, 17, 17, 9, 17, 2, 2, 0, 2, 17, 9, 2, 9, 0, 0, 17, 17, 9, 17, 0, 0, 0, 0, 17, 9, 0, 9, 0, 0, 10, 10, 1, 10, 0, 0, 0, 0, 1, 10, 0, 1, 0, 0, 10, 10, 1, 10, 2, 1, 1, 2, 1, 10, 2, 1, 0, 0, 10, 10, 1, 10, 2, 1, 0, 2, 1, 10, 2, 1, 0, 0, 10, 10, 0, 10, 1, 0, 0, 1, 0, 10, 1, 0, 0, 0, 10, 10, 0, 10, 1, 0, 1, 1, 0, 10, 1, 0, 0, 0, 17, 17, 10, 17, 1, 1, 1, 1, 17, 10, 1, 10, 0, 0, 16, 16, 9, 16, 0, 0, 0, 0, 16, 9, 0, 9, 0, 0, 16, 16, 9, 16, 1, 1, 0, 1, 16, 9, 1, 9, 0, 0, 16, 16, 9, 16, 1, 1, 1, 1, 16, 9, 1, 9, 0, 0, 15, 15, 8, 15, 0, 0, 0, 0, 15, 8, 0, 8, 0, 0, 15, 15, 8, 15, 1, 1, 0, 1, 15, 8, 1, 8, 0, 0, 15, 15, 8, 15, 1, 1, 1, 1, 15, 8, 1, 8, 0, 0, 14, 14, 7, 14, 0, 0, 0, 0, 14, 7, 0, 7, 0, 0, 14, 14, 7, 14, 1, 1, 0, 1, 14, 7, 1, 7, 0, 0, 14, 14, 7, 14, 1, 1, 1, 1, 14, 7, 1, 7, 0, 0, 13, 13, 6, 13, 0, 0, 0, 0, 13, 6, 0, 6, 0, 0, 13, 13, 6, 13, 1, 1, 0, 1, 13, 6, 1, 6, 0, 0, 13, 13, 6, 13, 1, 1, 1, 1, 13, 6, 1, 6, 0, 0, 12, 12, 5, 12, 0, 0, 0, 0, 12, 5, 0, 5, 0, 0, 12, 12, 5, 12, 1, 1, 0, 1, 12, 5, 1, 5, 0, 0, 12, 12, 5, 12, 1, 1, 1, 1, 12, 5, 1, 5, 0, 0, 11, 11, 4, 11, 0, 0, 0, 0, 11, 4, 0, 4, 0, 0, 11, 11, 4, 11, 1, 1, 0, 1, 11, 4, 1, 4, 0, 0, 11, 11, 4, 11, 1, 1, 1, 1, 11, 4, 1, 4, 0, 0, 10, 10, 3, 10, 0, 0, 0, 0, 10, 3, 0, 3, 0, 0, 10, 10, 3, 10, 1, 1, 0, 1, 10, 3, 1, 3, 0, 0, 10, 10, 3, 10, 1, 1, 1, 1, 10, 3, 1, 3, 0, 0, 9, 9, 2, 9, 0, 0, 0, 0, 9, 2, 0, 2, 0, 0, 9, 9, 2, 9, 1, 1, 0, 1, 9, 2, 1, 2, 0, 0, 9, 9, 2, 9, 1, 1, 1, 1, 9, 2, 1, 2, 0, 0, 9, 9, 2, 9, 0, 0, 0, 0, 9, 2, 0, 2, 0, 0, 9, 9, 2, 9, 2, 2, 1, 2, 9, 2, 2, 2, 0, 0, 9, 9, 2, 9, 2, 2, 0, 2, 9, 2, 2, 2, 0, 0, 10, 10, 3, 10, 0, 0, 0, 0, 10, 3, 0, 3, 0, 0, 10, 10, 3, 10, 2, 2, 1, 2, 10, 3, 2, 3, 0, 0, 10, 10, 3, 10, 2, 2, 0, 2, 10, 3, 2, 3, 0, 0, 11, 11, 4, 11, 0, 0, 0, 0, 11, 4, 0, 4, 0, 0, 11, 11, 4, 11, 2, 2, 1, 2, 11, 4, 2, 4, 0, 0, 11, 11, 4, 11, 2, 2, 0, 2, 11, 4, 2, 4, 0, 0, 12, 12, 5, 12, 0, 0, 0, 0, 12, 5, 0, 5, 0, 0, 12, 12, 5, 12, 2, 2, 1, 2, 12, 5, 2, 5, 0, 0, 12, 12, 5, 12, 2, 2, 0, 2, 12, 5, 2, 5, 0, 0, 13, 13, 6, 13, 0, 0, 0, 0, 13, 6, 0, 6, 0, 0, 13, 13, 6, 13, 2, 2, 1, 2, 13, 6, 2, 6, 0, 0, 13, 13, 6, 13, 2, 2, 0, 2, 13, 6, 2, 6, 0, 0, 14, 14, 7, 14, 0, 0, 0, 0, 14, 7, 0, 7, 0, 0, 14, 14, 7, 14, 2, 2, 1, 2, 14, 7, 2, 7, 0, 0, 14, 14, 7, 14, 2, 2, 0, 2, 14, 7, 2, 7, 0, 0, 15, 15, 8, 15, 0, 0, 0, 0, 15, 8, 0, 8, 0, 0, 15, 15, 8, 15, 2, 2, 1, 2, 15, 8, 2, 8, 0, 0, 15, 15, 8, 15, 2, 2, 0, 2, 15, 8, 2, 8, 0, 0, 16, 16, 9, 16, 0, 0, 0, 0, 16, 9, 0, 9, 0, 0, 16, 16, 9, 16, 2, 2, 1, 2, 16, 9, 2, 9, 0, 0, 16, 16, 9, 16, 2, 2, 0, 2, 16, 9, 2, 9, 0, 0, 17, 17, 10, 17, 1, 1, 0, 1, 17, 10, 1, 10, 0, 0, 10, 10, 0, 10, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 10, 0, 10, 2, 0, 1, 2, 0, 10, 2, 0, 0, 0, 17, 17, 10, 17, 2, 2, 1, 2, 17, 10, 2, 10, 0, 0, 17, 17, 10, 17, 0, 0, 0, 0, 17, 10, 0, 10, 0, 0, 10, 10, 0, 10, 2, 0, 0, 2, 0, 10, 2, 0, 0, 0, 17, 17, 10, 17, 2, 2, 0, 2, 17, 10, 2, 10, 0, 0, 17, 17, 10, 17, 0, 0, 0, 0, 17, 10, 0, 10, 0, 0, 11, 11, 1, 11, 0, 0, 0, 0, 1, 11, 0, 1, 0, 0, 11, 11, 1, 11, 2, 1, 1, 2, 1, 11, 2, 1, 0, 0, 11, 11, 1, 11, 2, 1, 0, 2, 1, 11, 2, 1, 0, 0, 11, 11, 0, 11, 1, 0, 0, 1, 0, 11, 1, 0, 0, 0, 11, 11, 0, 11, 1, 0, 1, 1, 0, 11, 1, 0, 0, 0, 17, 17, 11, 17, 1, 1, 1, 1, 17, 11, 1, 11, 0, 0, 16, 16, 10, 16, 0, 0, 0, 0, 16, 10, 0, 10, 0, 0, 16, 16, 10, 16, 1, 1, 0, 1, 16, 10, 1, 10, 0, 0, 16, 16, 10, 16, 1, 1, 1, 1, 16, 10, 1, 10, 0, 0, 15, 15, 9, 15, 0, 0, 0, 0, 15, 9, 0, 9, 0, 0, 15, 15, 9, 15, 1, 1, 0, 1, 15, 9, 1, 9, 0, 0, 15, 15, 9, 15, 1, 1, 1, 1, 15, 9, 1, 9, 0, 0, 14, 14, 8, 14, 0, 0, 0, 0, 14, 8, 0, 8, 0, 0, 14, 14, 8, 14, 1, 1, 0, 1, 14, 8, 1, 8, 0, 0, 14, 14, 8, 14, 1, 1, 1, 1, 14, 8, 1, 8, 0, 0, 13, 13, 7, 13, 0, 0, 0, 0, 13, 7, 0, 7, 0, 0, 13, 13, 7, 13, 1, 1, 0, 1, 13, 7, 1, 7, 0, 0, 13, 13, 7, 13, 1, 1, 1, 1, 13, 7, 1, 7, 0, 0, 12, 12, 6, 12, 0, 0, 0, 0, 12, 6, 0, 6, 0, 0, 12, 12, 6, 12, 1, 1, 0, 1, 12, 6, 1, 6, 0, 0, 12, 12, 6, 12, 1, 1, 1, 1, 12, 6, 1, 6, 0, 0, 11, 11, 5, 11, 0, 0, 0, 0, 11, 5, 0, 5, 0, 0, 11, 11, 5, 11, 1, 1, 0, 1, 11, 5, 1, 5, 0, 0, 11, 11, 5, 11, 1, 1, 1, 1, 11, 5, 1, 5, 0, 0, 10, 10, 4, 10, 0, 0, 0, 0, 10, 4, 0, 4, 0, 0, 10, 10, 4, 10, 1, 1, 0, 1, 10, 4, 1, 4, 0, 0, 10, 10, 4, 10, 1, 1, 1, 1, 10, 4, 1, 4, 0, 0, 9, 9, 3, 9, 0, 0, 0, 0, 9, 3, 0, 3, 0, 0, 9, 9, 3, 9, 1, 1, 0, 1, 9, 3, 1, 3, 0, 0, 9, 9, 3, 9, 1, 1, 1, 1, 9, 3, 1, 3, 0, 0, 8, 8, 2, 8, 0, 0, 0, 0, 8, 2, 0, 2, 0, 0, 8, 8, 2, 8, 1, 1, 0, 1, 8, 2, 1, 2, 0, 0, 8, 8, 2, 8, 1, 1, 1, 1, 8, 2, 1, 2, 0, 0, 8, 8, 2, 8, 0, 0, 0, 0, 8, 2, 0, 2, 0, 0, 8, 8, 2, 8, 2, 2, 1, 2, 8, 2, 2, 2, 0, 0, 8, 8, 2, 8, 2, 2, 0, 2, 8, 2, 2, 2, 0, 0, 9, 9, 3, 9, 0, 0, 0, 0, 9, 3, 0, 3, 0, 0, 9, 9, 3, 9, 2, 2, 1, 2, 9, 3, 2, 3, 0, 0, 9, 9, 3, 9, 2, 2, 0, 2, 9, 3, 2, 3, 0, 0, 10, 10, 4, 10, 0, 0, 0, 0, 10, 4, 0, 4, 0, 0, 10, 10, 4, 10, 2, 2, 1, 2, 10, 4, 2, 4, 0, 0, 10, 10, 4, 10, 2, 2, 0, 2, 10, 4, 2, 4, 0, 0, 11, 11, 5, 11, 0, 0, 0, 0, 11, 5, 0, 5, 0, 0, 11, 11, 5, 11, 2, 2, 1, 2, 11, 5, 2, 5, 0, 0, 11, 11, 5, 11, 2, 2, 0, 2, 11, 5, 2, 5, 0, 0, 12, 12, 6, 12, 0, 0, 0, 0, 12, 6, 0, 6, 0, 0, 12, 12, 6, 12, 2, 2, 1, 2, 12, 6, 2, 6, 0, 0, 12, 12, 6, 12, 2, 2, 0, 2, 12, 6, 2, 6, 0, 0, 13, 13, 7, 13, 0, 0, 0, 0, 13, 7, 0, 7, 0, 0, 13, 13, 7, 13, 2, 2, 1, 2, 13, 7, 2, 7, 0, 0, 13, 13, 7, 13, 2, 2, 0, 2, 13, 7, 2, 7, 0, 0, 14, 14, 8, 14, 0, 0, 0, 0, 14, 8, 0, 8, 0, 0, 14, 14, 8, 14, 2, 2, 1, 2, 14, 8, 2, 8, 0, 0, 14, 14, 8, 14, 2, 2, 0, 2, 14, 8, 2, 8, 0, 0, 15, 15, 9, 15, 0, 0, 0, 0, 15, 9, 0, 9, 0, 0, 15, 15, 9, 15, 2, 2, 1, 2, 15, 9, 2, 9, 0, 0, 15, 15, 9, 15, 2, 2, 0, 2, 15, 9, 2, 9, 0, 0, 16, 16, 10, 16, 0, 0, 0, 0, 16, 10, 0, 10, 0, 0, 16, 16, 10, 16, 2, 2, 1, 2, 16, 10, 2, 10, 0, 0, 16, 16, 10, 16, 2, 2, 0, 2, 16, 10, 2, 10, 0, 0, 17, 17, 11, 17, 1, 1, 0, 1, 17, 11, 1, 11, 0, 0, 11, 11, 0, 11, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 11, 11, 0, 11, 2, 0, 1, 2, 0, 11, 2, 0, 0, 0, 17, 17, 11, 17, 2, 2, 1, 2, 17, 11, 2, 11, 0, 0, 17, 17, 11, 17, 0, 0, 0, 0, 17, 11, 0, 11, 0, 0, 11, 11, 0, 11, 2, 0, 0, 2, 0, 11, 2, 0, 0, 0, 17, 17, 11, 17, 2, 2, 0, 2, 17, 11, 2, 11, 0, 0, 17, 17, 11, 17, 0, 0, 0, 0, 17, 11, 0, 11, 0, 0, 12, 12, 1, 12, 0, 0, 0, 0, 1, 12, 0, 1, 0, 0, 12, 12, 1, 12, 2, 1, 1, 2, 1, 12, 2, 1, 0, 0, 12, 12, 1, 12, 2, 1, 0, 2, 1, 12, 2, 1, 0, 0, 12, 12, 0, 12, 1, 0, 0, 1, 0, 12, 1, 0, 0, 0, 12, 12, 0, 12, 1, 0, 1, 1, 0, 12, 1, 0, 0, 0, 17, 17, 12, 17, 1, 1, 1, 1, 17, 12, 1, 12, 0, 0, 16, 16, 11, 16, 0, 0, 0, 0, 16, 11, 0, 11, 0, 0, 16, 16, 11, 16, 1, 1, 0, 1, 16, 11, 1, 11, 0, 0, 16, 16, 11, 16, 1, 1, 1, 1, 16, 11, 1, 11, 0, 0, 15, 15, 10, 15, 0, 0, 0, 0, 15, 10, 0, 10, 0, 0, 15, 15, 10, 15, 1, 1, 0, 1, 15, 10, 1, 10, 0, 0, 15, 15, 10, 15, 1, 1, 1, 1, 15, 10, 1, 10, 0, 0, 14, 14, 9, 14, 0, 0, 0, 0, 14, 9, 0, 9, 0, 0, 14, 14, 9, 14, 1, 1, 0, 1, 14, 9, 1, 9, 0, 0, 14, 14, 9, 14, 1, 1, 1, 1, 14, 9, 1, 9, 0, 0, 13, 13, 8, 13, 0, 0, 0, 0, 13, 8, 0, 8, 0, 0, 13, 13, 8, 13, 1, 1, 0, 1, 13, 8, 1, 8, 0, 0, 13, 13, 8, 13, 1, 1, 1, 1, 13, 8, 1, 8, 0, 0, 12, 12, 7, 12, 0, 0, 0, 0, 12, 7, 0, 7, 0, 0, 12, 12, 7, 12, 1, 1, 0, 1, 12, 7, 1, 7, 0, 0, 12, 12, 7, 12, 1, 1, 1, 1, 12, 7, 1, 7, 0, 0, 11, 11, 6, 11, 0, 0, 0, 0, 11, 6, 0, 6, 0, 0, 11, 11, 6, 11, 1, 1, 0, 1, 11, 6, 1, 6, 0, 0, 11, 11, 6, 11, 1, 1, 1, 1, 11, 6, 1, 6, 0, 0, 10, 10, 5, 10, 0, 0, 0, 0, 10, 5, 0, 5, 0, 0, 10, 10, 5, 10, 1, 1, 0, 1, 10, 5, 1, 5, 0, 0, 10, 10, 5, 10, 1, 1, 1, 1, 10, 5, 1, 5, 0, 0, 9, 9, 4, 9, 0, 0, 0, 0, 9, 4, 0, 4, 0, 0, 9, 9, 4, 9, 1, 1, 0, 1, 9, 4, 1, 4, 0, 0, 9, 9, 4, 9, 1, 1, 1, 1, 9, 4, 1, 4, 0, 0, 8, 8, 3, 8, 0, 0, 0, 0, 8, 3, 0, 3, 0, 0, 8, 8, 3, 8, 1, 1, 0, 1, 8, 3, 1, 3, 0, 0, 8, 8, 3, 8, 1, 1, 1, 1, 8, 3, 1, 3, 0, 0, 7, 7, 2, 7, 0, 0, 0, 0, 7, 2, 0, 2, 0, 0, 7, 7, 2, 7, 1, 1, 0, 1, 7, 2, 1, 2, 0, 0, 7, 7, 2, 7, 1, 1, 1, 1, 7, 2, 1, 2, 0, 0, 7, 7, 2, 7, 0, 0, 0, 0, 7, 2, 0, 2, 0, 0, 7, 7, 2, 7, 2, 2, 1, 2, 7, 2, 2, 2, 0, 0, 7, 7, 2, 7, 2, 2, 0, 2, 7, 2, 2, 2, 0, 0, 8, 8, 3, 8, 0, 0, 0, 0, 8, 3, 0, 3, 0, 0, 8, 8, 3, 8, 2, 2, 1, 2, 8, 3, 2, 3, 0, 0, 8, 8, 3, 8, 2, 2, 0, 2, 8, 3, 2, 3, 0, 0, 9, 9, 4, 9, 0, 0, 0, 0, 9, 4, 0, 4, 0, 0, 9, 9, 4, 9, 2, 2, 1, 2, 9, 4, 2, 4, 0, 0, 9, 9, 4, 9, 2, 2, 0, 2, 9, 4, 2, 4, 0, 0, 10, 10, 5, 10, 0, 0, 0, 0, 10, 5, 0, 5, 0, 0, 10, 10, 5, 10, 2, 2, 1, 2, 10, 5, 2, 5, 0, 0, 10, 10, 5, 10, 2, 2, 0, 2, 10, 5, 2, 5, 0, 0, 11, 11, 6, 11, 0, 0, 0, 0, 11, 6, 0, 6, 0, 0, 11, 11, 6, 11, 2, 2, 1, 2, 11, 6, 2, 6, 0, 0, 11, 11, 6, 11, 2, 2, 0, 2, 11, 6, 2, 6, 0, 0, 12, 12, 7, 12, 0, 0, 0, 0, 12, 7, 0, 7, 0, 0, 12, 12, 7, 12, 2, 2, 1, 2, 12, 7, 2, 7, 0, 0, 12, 12, 7, 12, 2, 2, 0, 2, 12, 7, 2, 7, 0, 0, 13, 13, 8, 13, 0, 0, 0, 0, 13, 8, 0, 8, 0, 0, 13, 13, 8, 13, 2, 2, 1, 2, 13, 8, 2, 8, 0, 0, 13, 13, 8, 13, 2, 2, 0, 2, 13, 8, 2, 8, 0, 0, 14, 14, 9, 14, 0, 0, 0, 0, 14, 9, 0, 9, 0, 0, 14, 14, 9, 14, 2, 2, 1, 2, 14, 9, 2, 9, 0, 0, 14, 14, 9, 14, 2, 2, 0, 2, 14, 9, 2, 9, 0, 0, 15, 15, 10, 15, 0, 0, 0, 0, 15, 10, 0, 10, 0, 0, 15, 15, 10, 15, 2, 2, 1, 2, 15, 10, 2, 10, 0, 0, 15, 15, 10, 15, 2, 2, 0, 2, 15, 10, 2, 10, 0, 0, 16, 16, 11, 16, 0, 0, 0, 0, 16, 11, 0, 11, 0, 0, 16, 16, 11, 16, 2, 2, 1, 2, 16, 11, 2, 11, 0, 0, 16, 16, 11, 16, 2, 2, 0, 2, 16, 11, 2, 11, 0, 0, 17, 17, 12, 17, 1, 1, 0, 1, 17, 12, 1, 12, 0, 0, 12, 12, 0, 12, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, 12, 0, 12, 2, 0, 1, 2, 0, 12, 2, 0, 0, 0, 17, 17, 12, 17, 2, 2, 1, 2, 17, 12, 2, 12, 0, 0, 17, 17, 12, 17, 0, 0, 0, 0, 17, 12, 0, 12, 0, 0, 12, 12, 0, 12, 2, 0, 0, 2, 0, 12, 2, 0, 0, 0, 17, 17, 12, 17, 2, 2, 0, 2, 17, 12, 2, 12, 0, 0, 17, 17, 12, 17, 0, 0, 0, 0, 17, 12, 0, 12, 0, 0, 13, 13, 1, 13, 0, 0, 0, 0, 1, 13, 0, 1, 0, 0, 13, 13, 1, 13, 2, 1, 1, 2, 1, 13, 2, 1, 0, 0, 13, 13, 1, 13, 2, 1, 0, 2, 1, 13, 2, 1, 0, 0, 13, 13, 0, 13, 1, 0, 0, 1, 0, 13, 1, 0, 0, 0, 13, 13, 0, 13, 1, 0, 1, 1, 0, 13, 1, 0, 0, 0, 17, 17, 13, 17, 1, 1, 1, 1, 17, 13, 1, 13, 0, 0, 16, 16, 12, 16, 0, 0, 0, 0, 16, 12, 0, 12, 0, 0, 16, 16, 12, 16, 1, 1, 0, 1, 16, 12, 1, 12, 0, 0, 16, 16, 12, 16, 1, 1, 1, 1, 16, 12, 1, 12, 0, 0, 15, 15, 11, 15, 0, 0, 0, 0, 15, 11, 0, 11, 0, 0, 15, 15, 11, 15, 1, 1, 0, 1, 15, 11, 1, 11, 0, 0, 15, 15, 11, 15, 1, 1, 1, 1, 15, 11, 1, 11, 0, 0, 14, 14, 10, 14, 0, 0, 0, 0, 14, 10, 0, 10, 0, 0, 14, 14, 10, 14, 1, 1, 0, 1, 14, 10, 1, 10, 0, 0, 14, 14, 10, 14, 1, 1, 1, 1, 14, 10, 1, 10, 0, 0, 13, 13, 9, 13, 0, 0, 0, 0, 13, 9, 0, 9, 0, 0, 13, 13, 9, 13, 1, 1, 0, 1, 13, 9, 1, 9, 0, 0, 13, 13, 9, 13, 1, 1, 1, 1, 13, 9, 1, 9, 0, 0, 12, 12, 8, 12, 0, 0, 0, 0, 12, 8, 0, 8, 0, 0, 12, 12, 8, 12, 1, 1, 0, 1, 12, 8, 1, 8, 0, 0, 12, 12, 8, 12, 1, 1, 1, 1, 12, 8, 1, 8, 0, 0, 11, 11, 7, 11, 0, 0, 0, 0, 11, 7, 0, 7, 0, 0, 11, 11, 7, 11, 1, 1, 0, 1, 11, 7, 1, 7, 0, 0, 11, 11, 7, 11, 1, 1, 1, 1, 11, 7, 1, 7, 0, 0, 10, 10, 6, 10, 0, 0, 0, 0, 10, 6, 0, 6, 0, 0, 10, 10, 6, 10, 1, 1, 0, 1, 10, 6, 1, 6, 0, 0, 10, 10, 6, 10, 1, 1, 1, 1, 10, 6, 1, 6, 0, 0, 9, 9, 5, 9, 0, 0, 0, 0, 9, 5, 0, 5, 0, 0, 9, 9, 5, 9, 1, 1, 0, 1, 9, 5, 1, 5, 0, 0, 9, 9, 5, 9, 1, 1, 1, 1, 9, 5, 1, 5, 0, 0, 8, 8, 4, 8, 0, 0, 0, 0, 8, 4, 0, 4, 0, 0, 8, 8, 4, 8, 1, 1, 0, 1, 8, 4, 1, 4, 0, 0, 8, 8, 4, 8, 1, 1, 1, 1, 8, 4, 1, 4, 0, 0, 7, 7, 3, 7, 0, 0, 0, 0, 7, 3, 0, 3, 0, 0, 7, 7, 3, 7, 1, 1, 0, 1, 7, 3, 1, 3, 0, 0, 7, 7, 3, 7, 1, 1, 1, 1, 7, 3, 1, 3, 0, 0, 6, 6, 2, 6, 0, 0, 0, 0, 6, 2, 0, 2, 0, 0, 6, 6, 2, 6, 1, 1, 0, 1, 6, 2, 1, 2, 0, 0, 6, 6, 2, 6, 1, 1, 1, 1, 6, 2, 1, 2, 0, 0, 6, 6, 2, 6, 0, 0, 0, 0, 6, 2, 0, 2, 0, 0, 6, 6, 2, 6, 2, 2, 1, 2, 6, 2, 2, 2, 0, 0, 6, 6, 2, 6, 2, 2, 0, 2, 6, 2, 2, 2, 0, 0, 7, 7, 3, 7, 0, 0, 0, 0, 7, 3, 0, 3, 0, 0, 7, 7, 3, 7, 2, 2, 1, 2, 7, 3, 2, 3, 0, 0, 7, 7, 3, 7, 2, 2, 0, 2, 7, 3, 2, 3, 0, 0, 8, 8, 4, 8, 0, 0, 0, 0, 8, 4, 0, 4, 0, 0, 8, 8, 4, 8, 2, 2, 1, 2, 8, 4, 2, 4, 0, 0, 8, 8, 4, 8, 2, 2, 0, 2, 8, 4, 2, 4, 0, 0, 9, 9, 5, 9, 0, 0, 0, 0, 9, 5, 0, 5, 0, 0, 9, 9, 5, 9, 2, 2, 1, 2, 9, 5, 2, 5, 0, 0, 9, 9, 5, 9, 2, 2, 0, 2, 9, 5, 2, 5, 0, 0, 10, 10, 6, 10, 0, 0, 0, 0, 10, 6, 0, 6, 0, 0, 10, 10, 6, 10, 2, 2, 1, 2, 10, 6, 2, 6, 0, 0, 10, 10, 6, 10, 2, 2, 0, 2, 10, 6, 2, 6, 0, 0, 11, 11, 7, 11, 0, 0, 0, 0, 11, 7, 0, 7, 0, 0, 11, 11, 7, 11, 2, 2, 1, 2, 11, 7, 2, 7, 0, 0, 11, 11, 7, 11, 2, 2, 0, 2, 11, 7, 2, 7, 0, 0, 12, 12, 8, 12, 0, 0, 0, 0, 12, 8, 0, 8, 0, 0, 12, 12, 8, 12, 2, 2, 1, 2, 12, 8, 2, 8, 0, 0, 12, 12, 8, 12, 2, 2, 0, 2, 12, 8, 2, 8, 0, 0, 13, 13, 9, 13, 0, 0, 0, 0, 13, 9, 0, 9, 0, 0, 13, 13, 9, 13, 2, 2, 1, 2, 13, 9, 2, 9, 0, 0, 13, 13, 9, 13, 2, 2, 0, 2, 13, 9, 2, 9, 0, 0, 14, 14, 10, 14, 0, 0, 0, 0, 14, 10, 0, 10, 0, 0, 14, 14, 10, 14, 2, 2, 1, 2, 14, 10, 2, 10, 0, 0, 14, 14, 10, 14, 2, 2, 0, 2, 14, 10, 2, 10, 0, 0, 15, 15, 11, 15, 0, 0, 0, 0, 15, 11, 0, 11, 0, 0, 15, 15, 11, 15, 2, 2, 1, 2, 15, 11, 2, 11, 0, 0, 15, 15, 11, 15, 2, 2, 0, 2, 15, 11, 2, 11, 0, 0, 16, 16, 12, 16, 0, 0, 0, 0, 16, 12, 0, 12, 0, 0, 16, 16, 12, 16, 2, 2, 1, 2, 16, 12, 2, 12, 0, 0, 16, 16, 12, 16, 2, 2, 0, 2, 16, 12, 2, 12, 0, 0, 17, 17, 13, 17, 1, 1, 0, 1, 17, 13, 1, 13, 0, 0, 13, 13, 0, 13, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 13, 13, 0, 13, 2, 0, 1, 2, 0, 13, 2, 0, 0, 0, 17, 17, 13, 17, 2, 2, 1, 2, 17, 13, 2, 13, 0, 0, 17, 17, 13, 17, 0, 0, 0, 0, 17, 13, 0, 13, 0, 0, 13, 13, 0, 13, 2, 0, 0, 2, 0, 13, 2, 0, 0, 0, 17, 17, 13, 17, 2, 2, 0, 2, 17, 13, 2, 13, 0, 0, 17, 17, 13, 17, 0, 0, 0, 0, 17, 13, 0, 13, 0, 0, 14, 14, 1, 14, 0, 0, 0, 0, 1, 14, 0, 1, 0, 0, 14, 14, 1, 14, 2, 1, 1, 2, 1, 14, 2, 1, 0, 0, 14, 14, 1, 14, 2, 1, 0, 2, 1, 14, 2, 1, 0, 0, 14, 14, 0, 14, 1, 0, 0, 1, 0, 14, 1, 0, 0, 0, 14, 14, 0, 14, 1, 0, 1, 1, 0, 14, 1, 0, 0, 0, 17, 17, 14, 17, 1, 1, 1, 1, 17, 14, 1, 14, 0, 0, 16, 16, 13, 16, 0, 0, 0, 0, 16, 13, 0, 13, 0, 0, 16, 16, 13, 16, 1, 1, 0, 1, 16, 13, 1, 13, 0, 0, 16, 16, 13, 16, 1, 1, 1, 1, 16, 13, 1, 13, 0, 0, 15, 15, 12, 15, 0, 0, 0, 0, 15, 12, 0, 12, 0, 0, 15, 15, 12, 15, 1, 1, 0, 1, 15, 12, 1, 12, 0, 0, 15, 15, 12, 15, 1, 1, 1, 1, 15, 12, 1, 12, 0, 0, 14, 14, 11, 14, 0, 0, 0, 0, 14, 11, 0, 11, 0, 0, 14, 14, 11, 14, 1, 1, 0, 1, 14, 11, 1, 11, 0, 0, 14, 14, 11, 14, 1, 1, 1, 1, 14, 11, 1, 11, 0, 0, 13, 13, 10, 13, 0, 0, 0, 0, 13, 10, 0, 10, 0, 0, 13, 13, 10, 13, 1, 1, 0, 1, 13, 10, 1, 10, 0, 0, 13, 13, 10, 13, 1, 1, 1, 1, 13, 10, 1, 10, 0, 0, 12, 12, 9, 12, 0, 0, 0, 0, 12, 9, 0, 9, 0, 0, 12, 12, 9, 12, 1, 1, 0, 1, 12, 9, 1, 9, 0, 0, 12, 12, 9, 12, 1, 1, 1, 1, 12, 9, 1, 9, 0, 0, 11, 11, 8, 11, 0, 0, 0, 0, 11, 8, 0, 8, 0, 0, 11, 11, 8, 11, 1, 1, 0, 1, 11, 8, 1, 8, 0, 0, 11, 11, 8, 11, 1, 1, 1, 1, 11, 8, 1, 8, 0, 0, 10, 10, 7, 10, 0, 0, 0, 0, 10, 7, 0, 7, 0, 0, 10, 10, 7, 10, 1, 1, 0, 1, 10, 7, 1, 7, 0, 0, 10, 10, 7, 10, 1, 1, 1, 1, 10, 7, 1, 7, 0, 0, 9, 9, 6, 9, 0, 0, 0, 0, 9, 6, 0, 6, 0, 0, 9, 9, 6, 9, 1, 1, 0, 1, 9, 6, 1, 6, 0, 0, 9, 9, 6, 9, 1, 1, 1, 1, 9, 6, 1, 6, 0, 0, 8, 8, 5, 8, 0, 0, 0, 0, 8, 5, 0, 5, 0, 0, 8, 8, 5, 8, 1, 1, 0, 1, 8, 5, 1, 5, 0, 0, 8, 8, 5, 8, 1, 1, 1, 1, 8, 5, 1, 5, 0, 0, 7, 7, 4, 7, 0, 0, 0, 0, 7, 4, 0, 4, 0, 0, 7, 7, 4, 7, 1, 1, 0, 1, 7, 4, 1, 4, 0, 0, 7, 7, 4, 7, 1, 1, 1, 1, 7, 4, 1, 4, 0, 0, 6, 6, 3, 6, 0, 0, 0, 0, 6, 3, 0, 3, 0, 0, 6, 6, 3, 6, 1, 1, 0, 1, 6, 3, 1, 3, 0, 0, 6, 6, 3, 6, 1, 1, 1, 1, 6, 3, 1, 3, 0, 0, 5, 5, 2, 5, 0, 0, 0, 0, 5, 2, 0, 2, 0, 0, 5, 5, 2, 5, 1, 1, 0, 1, 5, 2, 1, 2, 0, 0, 5, 5, 2, 5, 1, 1, 1, 1, 5, 2, 1, 2, 0, 0, 5, 5, 2, 5, 0, 0, 0, 0, 5, 2, 0, 2, 0, 0, 5, 5, 2, 5, 2, 2, 1, 2, 5, 2, 2, 2, 0, 0, 5, 5, 2, 5, 2, 2, 0, 2, 5, 2, 2, 2, 0, 0, 6, 6, 3, 6, 0, 0, 0, 0, 6, 3, 0, 3, 0, 0, 6, 6, 3, 6, 2, 2, 1, 2, 6, 3, 2, 3, 0, 0, 6, 6, 3, 6, 2, 2, 0, 2, 6, 3, 2, 3, 0, 0, 7, 7, 4, 7, 0, 0, 0, 0, 7, 4, 0, 4, 0, 0, 7, 7, 4, 7, 2, 2, 1, 2, 7, 4, 2, 4, 0, 0, 7, 7, 4, 7, 2, 2, 0, 2, 7, 4, 2, 4, 0, 0, 8, 8, 5, 8, 0, 0, 0, 0, 8, 5, 0, 5, 0, 0, 8, 8, 5, 8, 2, 2, 1, 2, 8, 5, 2, 5, 0, 0, 8, 8, 5, 8, 2, 2, 0, 2, 8, 5, 2, 5, 0, 0, 9, 9, 6, 9, 0, 0, 0, 0, 9, 6, 0, 6, 0, 0, 9, 9, 6, 9, 2, 2, 1, 2, 9, 6, 2, 6, 0, 0, 9, 9, 6, 9, 2, 2, 0, 2, 9, 6, 2, 6, 0, 0, 10, 10, 7, 10, 0, 0, 0, 0, 10, 7, 0, 7, 0, 0, 10, 10, 7, 10, 2, 2, 1, 2, 10, 7, 2, 7, 0, 0, 10, 10, 7, 10, 2, 2, 0, 2, 10, 7, 2, 7, 0, 0, 11, 11, 8, 11, 0, 0, 0, 0, 11, 8, 0, 8, 0, 0, 11, 11, 8, 11, 2, 2, 1, 2, 11, 8, 2, 8, 0, 0, 11, 11, 8, 11, 2, 2, 0, 2, 11, 8, 2, 8, 0, 0, 12, 12, 9, 12, 0, 0, 0, 0, 12, 9, 0, 9, 0, 0, 12, 12, 9, 12, 2, 2, 1, 2, 12, 9, 2, 9, 0, 0, 12, 12, 9, 12, 2, 2, 0, 2, 12, 9, 2, 9, 0, 0, 13, 13, 10, 13, 0, 0, 0, 0, 13, 10, 0, 10, 0, 0, 13, 13, 10, 13, 2, 2, 1, 2, 13, 10, 2, 10, 0, 0, 13, 13, 10, 13, 2, 2, 0, 2, 13, 10, 2, 10, 0, 0, 14, 14, 11, 14, 0, 0, 0, 0, 14, 11, 0, 11, 0, 0, 14, 14, 11, 14, 2, 2, 1, 2, 14, 11, 2, 11, 0, 0, 14, 14, 11, 14, 2, 2, 0, 2, 14, 11, 2, 11, 0, 0, 15, 15, 12, 15, 0, 0, 0, 0, 15, 12, 0, 12, 0, 0, 15, 15, 12, 15, 2, 2, 1, 2, 15, 12, 2, 12, 0, 0, 15, 15, 12, 15, 2, 2, 0, 2, 15, 12, 2, 12, 0, 0, 16, 16, 13, 16, 0, 0, 0, 0, 16, 13, 0, 13, 0, 0, 16, 16, 13, 16, 2, 2, 1, 2, 16, 13, 2, 13, 0, 0, 16, 16, 13, 16, 2, 2, 0, 2, 16, 13, 2, 13, 0, 0, 17, 17, 14, 17, 1, 1, 0, 1, 17, 14, 1, 14, 0, 0, 14, 14, 0, 14, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 14, 14, 0, 14, 2, 0, 1, 2, 0, 14, 2, 0, 0, 0, 17, 17, 14, 17, 2, 2, 1, 2, 17, 14, 2, 14, 0, 0, 17, 17, 14, 17, 0, 0, 0, 0, 17, 14, 0, 14, 0, 0, 14, 14, 0, 14, 2, 0, 0, 2, 0, 14, 2, 0, 0, 0, 17, 17, 14, 17, 2, 2, 0, 2, 17, 14, 2, 14, 0, 0, 17, 17, 14, 17, 0, 0, 0, 0, 17, 14, 0, 14, 0, 0, 15, 15, 1, 15, 0, 0, 0, 0, 1, 15, 0, 1, 0, 0, 15, 15, 1, 15, 2, 1, 1, 2, 1, 15, 2, 1, 0, 0, 15, 15, 1, 15, 2, 1, 0, 2, 1, 15, 2, 1, 0, 0, 15, 15, 0, 15, 1, 0, 0, 1, 0, 15, 1, 0, 0, 0, 15, 15, 0, 15, 1, 0, 1, 1, 0, 15, 1, 0, 0, 0, 17, 17, 15, 17, 1, 1, 1, 1, 17, 15, 1, 15, 0, 0, 16, 16, 14, 16, 0, 0, 0, 0, 16, 14, 0, 14, 0, 0, 16, 16, 14, 16, 1, 1, 0, 1, 16, 14, 1, 14, 0, 0, 16, 16, 14, 16, 1, 1, 1, 1, 16, 14, 1, 14, 0, 0, 15, 15, 13, 15, 0, 0, 0, 0, 15, 13, 0, 13, 0, 0, 15, 15, 13, 15, 1, 1, 0, 1, 15, 13, 1, 13, 0, 0, 15, 15, 13, 15, 1, 1, 1, 1, 15, 13, 1, 13, 0, 0, 14, 14, 12, 14, 0, 0, 0, 0, 14, 12, 0, 12, 0, 0, 14, 14, 12, 14, 1, 1, 0, 1, 14, 12, 1, 12, 0, 0, 14, 14, 12, 14, 1, 1, 1, 1, 14, 12, 1, 12, 0, 0, 13, 13, 11, 13, 0, 0, 0, 0, 13, 11, 0, 11, 0, 0, 13, 13, 11, 13, 1, 1, 0, 1, 13, 11, 1, 11, 0, 0, 13, 13, 11, 13, 1, 1, 1, 1, 13, 11, 1, 11, 0, 0, 12, 12, 10, 12, 0, 0, 0, 0, 12, 10, 0, 10, 0, 0, 12, 12, 10, 12, 1, 1, 0, 1, 12, 10, 1, 10, 0, 0, 12, 12, 10, 12, 1, 1, 1, 1, 12, 10, 1, 10, 0, 0, 11, 11, 9, 11, 0, 0, 0, 0, 11, 9, 0, 9, 0, 0, 11, 11, 9, 11, 1, 1, 0, 1, 11, 9, 1, 9, 0, 0, 11, 11, 9, 11, 1, 1, 1, 1, 11, 9, 1, 9, 0, 0, 10, 10, 8, 10, 0, 0, 0, 0, 10, 8, 0, 8, 0, 0, 10, 10, 8, 10, 1, 1, 0, 1, 10, 8, 1, 8, 0, 0, 10, 10, 8, 10, 1, 1, 1, 1, 10, 8, 1, 8, 0, 0, 9, 9, 7, 9, 0, 0, 0, 0, 9, 7, 0, 7, 0, 0, 9, 9, 7, 9, 1, 1, 0, 1, 9, 7, 1, 7, 0, 0, 9, 9, 7, 9, 1, 1, 1, 1, 9, 7, 1, 7, 0, 0, 8, 8, 6, 8, 0, 0, 0, 0, 8, 6, 0, 6, 0, 0, 8, 8, 6, 8, 1, 1, 0, 1, 8, 6, 1, 6, 0, 0, 8, 8, 6, 8, 1, 1, 1, 1, 8, 6, 1, 6, 0, 0, 7, 7, 5, 7, 0, 0, 0, 0, 7, 5, 0, 5, 0, 0, 7, 7, 5, 7, 1, 1, 0, 1, 7, 5, 1, 5, 0, 0, 7, 7, 5, 7, 1, 1, 1, 1, 7, 5, 1, 5, 0, 0, 6, 6, 4, 6, 0, 0, 0, 0, 6, 4, 0, 4, 0, 0, 6, 6, 4, 6, 1, 1, 0, 1, 6, 4, 1, 4, 0, 0, 6, 6, 4, 6, 1, 1, 1, 1, 6, 4, 1, 4, 0, 0, 5, 5, 3, 5, 0, 0, 0, 0, 5, 3, 0, 3, 0, 0, 5, 5, 3, 5, 1, 1, 0, 1, 5, 3, 1, 3, 0, 0, 5, 5, 3, 5, 1, 1, 1, 1, 5, 3, 1, 3, 0, 0, 4, 4, 2, 4, 0, 0, 0, 0, 4, 2, 0, 2, 0, 0, 4, 4, 2, 4, 1, 1, 0, 1, 4, 2, 1, 2, 0, 0, 4, 4, 2, 4, 1, 1, 1, 1, 4, 2, 1, 2, 0, 0, 4, 4, 2, 4, 0, 0, 0, 0, 4, 2, 0, 2, 0, 0, 4, 4, 2, 4, 2, 2, 1, 2, 4, 2, 2, 2, 0, 0, 4, 4, 2, 4, 2, 2, 0, 2, 4, 2, 2, 2, 0, 0, 5, 5, 3, 5, 0, 0, 0, 0, 5, 3, 0, 3, 0, 0, 5, 5, 3, 5, 2, 2, 1, 2, 5, 3, 2, 3, 0, 0, 5, 5, 3, 5, 2, 2, 0, 2, 5, 3, 2, 3, 0, 0, 6, 6, 4, 6, 0, 0, 0, 0, 6, 4, 0, 4, 0, 0, 6, 6, 4, 6, 2, 2, 1, 2, 6, 4, 2, 4, 0, 0, 6, 6, 4, 6, 2, 2, 0, 2, 6, 4, 2, 4, 0, 0, 7, 7, 5, 7, 0, 0, 0, 0, 7, 5, 0, 5, 0, 0, 7, 7, 5, 7, 2, 2, 1, 2, 7, 5, 2, 5, 0, 0, 7, 7, 5, 7, 2, 2, 0, 2, 7, 5, 2, 5, 0, 0, 8, 8, 6, 8, 0, 0, 0, 0, 8, 6, 0, 6, 0, 0, 8, 8, 6, 8, 2, 2, 1, 2, 8, 6, 2, 6, 0, 0, 8, 8, 6, 8, 2, 2, 0, 2, 8, 6, 2, 6, 0, 0, 9, 9, 7, 9, 0, 0, 0, 0, 9, 7, 0, 7, 0, 0, 9, 9, 7, 9, 2, 2, 1, 2, 9, 7, 2, 7, 0, 0, 9, 9, 7, 9, 2, 2, 0, 2, 9, 7, 2, 7, 0, 0, 10, 10, 8, 10, 0, 0, 0, 0, 10, 8, 0, 8, 0, 0, 10, 10, 8, 10, 2, 2, 1, 2, 10, 8, 2, 8, 0, 0, 10, 10, 8, 10, 2, 2, 0, 2, 10, 8, 2, 8, 0, 0, 11, 11, 9, 11, 0, 0, 0, 0, 11, 9, 0, 9, 0, 0, 11, 11, 9, 11, 2, 2, 1, 2, 11, 9, 2, 9, 0, 0, 11, 11, 9, 11, 2, 2, 0, 2, 11, 9, 2, 9, 0, 0, 12, 12, 10, 12, 0, 0, 0, 0, 12, 10, 0, 10, 0, 0, 12, 12, 10, 12, 2, 2, 1, 2, 12, 10, 2, 10, 0, 0, 12, 12, 10, 12, 2, 2, 0, 2, 12, 10, 2, 10, 0, 0, 13, 13, 11, 13, 0, 0, 0, 0, 13, 11, 0, 11, 0, 0, 13, 13, 11, 13, 2, 2, 1, 2, 13, 11, 2, 11, 0, 0, 13, 13, 11, 13, 2, 2, 0, 2, 13, 11, 2, 11, 0, 0, 14, 14, 12, 14, 0, 0, 0, 0, 14, 12, 0, 12, 0, 0, 14, 14, 12, 14, 2, 2, 1, 2, 14, 12, 2, 12, 0, 0, 14, 14, 12, 14, 2, 2, 0, 2, 14, 12, 2, 12, 0, 0, 15, 15, 13, 15, 0, 0, 0, 0, 15, 13, 0, 13, 0, 0, 15, 15, 13, 15, 2, 2, 1, 2, 15, 13, 2, 13, 0, 0, 15, 15, 13, 15, 2, 2, 0, 2, 15, 13, 2, 13, 0, 0, 16, 16, 14, 16, 0, 0, 0, 0, 16, 14, 0, 14, 0, 0, 16, 16, 14, 16, 2, 2, 1, 2, 16, 14, 2, 14, 0, 0, 16, 16, 14, 16, 2, 2, 0, 2, 16, 14, 2, 14, 0, 0, 17, 17, 15, 17, 1, 1, 0, 1, 17, 15, 1, 15, 0, 0, 15, 15, 0, 15, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 15, 0, 15, 2, 0, 1, 2, 0, 15, 2, 0, 0, 0, 17, 17, 15, 17, 2, 2, 1, 2, 17, 15, 2, 15, 0, 0, 17, 17, 15, 17, 0, 0, 0, 0, 17, 15, 0, 15, 0, 0, 15, 15, 0, 15, 2, 0, 0, 2, 0, 15, 2, 0, 0, 0, 17, 17, 15, 17, 2, 2, 0, 2, 17, 15, 2, 15, 0, 0, 17, 17, 15, 17, 0, 0, 0, 0, 17, 15, 0, 15, 0, 0, 16, 16, 1, 16, 0, 0, 0, 0, 1, 16, 0, 1, 0, 0, 16, 16, 1, 16, 2, 1, 1, 2, 1, 16, 2, 1, 0, 0, 16, 16, 1, 16, 2, 1, 0, 2, 1, 16, 2, 1, 0, 0, 16, 16, 0, 16, 1, 0, 0, 1, 0, 16, 1, 0, 0, 0, 16, 16, 0, 16, 1, 0, 1, 1, 0, 16, 1, 0, 0, 0, 17, 17, 16, 17, 1, 1, 1, 1, 17, 16, 1, 16, 0, 0, 16, 16, 15, 16, 0, 0, 0, 0, 16, 15, 0, 15, 0, 0, 16, 16, 15, 16, 1, 1, 0, 1, 16, 15, 1, 15, 0, 0, 16, 16, 15, 16, 1, 1, 1, 1, 16, 15, 1, 15, 0, 0, 15, 15, 14, 15, 0, 0, 0, 0, 15, 14, 0, 14, 0, 0, 15, 15, 14, 15, 1, 1, 0, 1, 15, 14, 1, 14, 0, 0, 15, 15, 14, 15, 1, 1, 1, 1, 15, 14, 1, 14, 0, 0, 14, 14, 13, 14, 0, 0, 0, 0, 14, 13, 0, 13, 0, 0, 14, 14, 13, 14, 1, 1, 0, 1, 14, 13, 1, 13, 0, 0, 14, 14, 13, 14, 1, 1, 1, 1, 14, 13, 1, 13, 0, 0, 13, 13, 12, 13, 0, 0, 0, 0, 13, 12, 0, 12, 0, 0, 13, 13, 12, 13, 1, 1, 0, 1, 13, 12, 1, 12, 0, 0, 13, 13, 12, 13, 1, 1, 1, 1, 13, 12, 1, 12, 0, 0, 12, 12, 11, 12, 0, 0, 0, 0, 12, 11, 0, 11, 0, 0, 12, 12, 11, 12, 1, 1, 0, 1, 12, 11, 1, 11, 0, 0, 12, 12, 11, 12, 1, 1, 1, 1, 12, 11, 1, 11, 0, 0, 11, 11, 10, 11, 0, 0, 0, 0, 11, 10, 0, 10, 0, 0, 11, 11, 10, 11, 1, 1, 0, 1, 11, 10, 1, 10, 0, 0, 11, 11, 10, 11, 1, 1, 1, 1, 11, 10, 1, 10, 0, 0, 10, 10, 9, 10, 0, 0, 0, 0, 10, 9, 0, 9, 0, 0, 10, 10, 9, 10, 1, 1, 0, 1, 10, 9, 1, 9, 0, 0, 10, 10, 9, 10, 1, 1, 1, 1, 10, 9, 1, 9, 0, 0, 9, 9, 8, 9, 0, 0, 0, 0, 9, 8, 0, 8, 0, 0, 9, 9, 8, 9, 1, 1, 0, 1, 9, 8, 1, 8, 0, 0, 9, 9, 8, 9, 1, 1, 1, 1, 9, 8, 1, 8, 0, 0, 8, 8, 7, 8, 0, 0, 0, 0, 8, 7, 0, 7, 0, 0, 8, 8, 7, 8, 1, 1, 0, 1, 8, 7, 1, 7, 0, 0, 8, 8, 7, 8, 1, 1, 1, 1, 8, 7, 1, 7, 0, 0, 7, 7, 6, 7, 0, 0, 0, 0, 7, 6, 0, 6, 0, 0, 7, 7, 6, 7, 1, 1, 0, 1, 7, 6, 1, 6, 0, 0, 7, 7, 6, 7, 1, 1, 1, 1, 7, 6, 1, 6, 0, 0, 6, 6, 5, 6, 0, 0, 0, 0, 6, 5, 0, 5, 0, 0, 6, 6, 5, 6, 1, 1, 0, 1, 6, 5, 1, 5, 0, 0, 6, 6, 5, 6, 1, 1, 1, 1, 6, 5, 1, 5, 0, 0, 5, 5, 4, 5, 0, 0, 0, 0, 5, 4, 0, 4, 0, 0, 5, 5, 4, 5, 1, 1, 0, 1, 5, 4, 1, 4, 0, 0, 5, 5, 4, 5, 1, 1, 1, 1, 5, 4, 1, 4, 0, 0, 4, 4, 3, 4, 0, 0, 0, 0, 4, 3, 0, 3, 0, 0, 4, 4, 3, 4, 1, 1, 0, 1, 4, 3, 1, 3, 0, 0, 4, 4, 3, 4, 1, 1, 1, 1, 4, 3, 1, 3, 0, 0, 3, 3, 2, 3, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 3, 3, 2, 3, 1, 1, 0, 1, 3, 2, 1, 2, 0, 0, 3, 3, 2, 3, 1, 1, 1, 1, 3, 2, 1, 2, 0, 0, 3, 3, 2, 3, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 3, 3, 2, 3, 2, 2, 1, 2, 3, 2, 2, 2, 0, 0, 3, 3, 2, 3, 2, 2, 0, 2, 3, 2, 2, 2, 0, 0, 4, 4, 3, 4, 0, 0, 0, 0, 4, 3, 0, 3, 0, 0, 4, 4, 3, 4, 2, 2, 1, 2, 4, 3, 2, 3, 0, 0, 4, 4, 3, 4, 2, 2, 0, 2, 4, 3, 2, 3, 0, 0, 5, 5, 4, 5, 0, 0, 0, 0, 5, 4, 0, 4, 0, 0, 5, 5, 4, 5, 2, 2, 1, 2, 5, 4, 2, 4, 0, 0, 5, 5, 4, 5, 2, 2, 0, 2, 5, 4, 2, 4, 0, 0, 6, 6, 5, 6, 0, 0, 0, 0, 6, 5, 0, 5, 0, 0, 6, 6, 5, 6, 2, 2, 1, 2, 6, 5, 2, 5, 0, 0, 6, 6, 5, 6, 2, 2, 0, 2, 6, 5, 2, 5, 0, 0, 7, 7, 6, 7, 0, 0, 0, 0, 7, 6, 0, 6, 0, 0, 7, 7, 6, 7, 2, 2, 1, 2, 7, 6, 2, 6, 0, 0, 7, 7, 6, 7, 2, 2, 0, 2, 7, 6, 2, 6, 0, 0, 8, 8, 7, 8, 0, 0, 0, 0, 8, 7, 0, 7, 0, 0, 8, 8, 7, 8, 2, 2, 1, 2, 8, 7, 2, 7, 0, 0, 8, 8, 7, 8, 2, 2, 0, 2, 8, 7, 2, 7, 0, 0, 9, 9, 8, 9, 0, 0, 0, 0, 9, 8, 0, 8, 0, 0, 9, 9, 8, 9, 2, 2, 1, 2, 9, 8, 2, 8, 0, 0, 9, 9, 8, 9, 2, 2, 0, 2, 9, 8, 2, 8, 0, 0, 10, 10, 9, 10, 0, 0, 0, 0, 10, 9, 0, 9, 0, 0, 10, 10, 9, 10, 2, 2, 1, 2, 10, 9, 2, 9, 0, 0, 10, 10, 9, 10, 2, 2, 0, 2, 10, 9, 2, 9, 0, 0, 11, 11, 10, 11, 0, 0, 0, 0, 11, 10, 0, 10, 0, 0, 11, 11, 10, 11, 2, 2, 1, 2, 11, 10, 2, 10, 0, 0, 11, 11, 10, 11, 2, 2, 0, 2, 11, 10, 2, 10, 0, 0, 12, 12, 11, 12, 0, 0, 0, 0, 12, 11, 0, 11, 0, 0, 12, 12, 11, 12, 2, 2, 1, 2, 12, 11, 2, 11, 0, 0, 12, 12, 11, 12, 2, 2, 0, 2, 12, 11, 2, 11, 0, 0, 13, 13, 12, 13, 0, 0, 0, 0, 13, 12, 0, 12, 0, 0, 13, 13, 12, 13, 2, 2, 1, 2, 13, 12, 2, 12, 0, 0, 13, 13, 12, 13, 2, 2, 0, 2, 13, 12, 2, 12, 0, 0, 14, 14, 13, 14, 0, 0, 0, 0, 14, 13, 0, 13, 0, 0, 14, 14, 13, 14, 2, 2, 1, 2, 14, 13, 2, 13, 0, 0, 14, 14, 13, 14, 2, 2, 0, 2, 14, 13, 2, 13, 0, 0, 15, 15, 14, 15, 0, 0, 0, 0, 15, 14, 0, 14, 0, 0, 15, 15, 14, 15, 2, 2, 1, 2, 15, 14, 2, 14, 0, 0, 15, 15, 14, 15, 2, 2, 0, 2, 15, 14, 2, 14, 0, 0, 16, 16, 15, 16, 0, 0, 0, 0, 16, 15, 0, 15, 0, 0, 16, 16, 15, 16, 2, 2, 1, 2, 16, 15, 2, 15, 0, 0, 16, 16, 15, 16, 2, 2, 0, 2, 16, 15, 2, 15, 0, 0, 17, 17, 16, 17, 1, 1, 0, 1, 17, 16, 1, 16, 0, 0, 16, 16, 0, 16, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 16, 0, 16, 2, 0, 1, 2, 0, 16, 2, 0, 0, 0, 17, 17, 16, 17, 2, 2, 1, 2, 17, 16, 2, 16, 0, 0, 17, 17, 16, 17, 0, 0, 0, 0, 17, 16, 0, 16, 0, 0, 16, 16, 0, 16, 2, 0, 0, 2, 0, 16, 2, 0, 0, 0, 17, 17, 16, 17, 2, 2, 0, 2, 17, 16, 2, 16, 0, 0, 17, 17, 16, 17, 0, 0, 0, 0, 17, 16, 0, 16, 0, 0, 17, 17, 1, 17, 1, 1, 0, 1, 1, 17, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0, 0, 17, 17, 1, 17, 2, 1, 1, 2, 1, 17, 2, 1, 0, 0, 17, 17, 1, 17, 0, 0, 0, 0, 1, 17, 0, 1, 0, 0, 2, 2, 0, 2, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 2, 1, 2, 2, 1, 0, 2, 1, 1, 1, 1, 0, 0, 17, 17, 1, 17, 2, 1, 0, 2, 1, 17, 2, 1, 0, 0, 17, 17, 1, 17, 0, 0, 0, 0, 1, 17, 0, 1, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 2, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 0, 0, 2, 2, 1, 2, 2, 1, 0, 2, 2, 1, 1, 1, 0, 0, 2, 2, 0, 2, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 2, 0, 2, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, 17, 17, 2, 17, 1, 1, 1, 1, 2, 17, 1, 2, 0, 0, 17, 17, 2, 17, 1, 1, 0, 1, 2, 17, 1, 2, 0, 0, 2, 2, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 1, 2, 2, 0, 0, 0, 0, 0, 17, 17, 2, 17, 2, 2, 1, 2, 2, 17, 2, 2, 0, 0, 17, 17, 2, 17, 0, 0, 0, 0, 2, 17, 0, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 17, 17, 2, 17, 2, 2, 0, 2, 2, 17, 2, 2, 0, 0, 17, 17, 2, 17, 0, 0, 0, 0, 2, 17, 0, 2, 0, 0, 3, 3, 1, 3, 0, 0, 0, 0, 3, 1, 0, 1, 0, 0, 3, 3, 1, 3, 2, 1, 1, 2, 3, 1, 1, 1, 0, 0, 3, 3, 1, 3, 2, 1, 0, 2, 3, 1, 1, 1, 0, 0, 3, 3, 0, 3, 1, 0, 0, 1, 3, 0, 0, 0, 0, 0, 3, 3, 0, 3, 1, 0, 1, 1, 3, 0, 0, 0, 0, 0, 17, 17, 3, 17, 1, 1, 1, 1, 3, 17, 1, 3, 0, 0, 16, 16, 2, 16, 0, 0, 0, 0, 2, 16, 0, 2, 0, 0, 16, 16, 2, 16, 1, 1, 0, 1, 2, 16, 1, 2, 0, 0, 16, 16, 2, 16, 1, 1, 1, 1, 2, 16, 1, 2, 0, 0, 16, 16, 2, 16, 0, 0, 0, 0, 2, 16, 0, 2, 0, 0, 16, 16, 2, 16, 2, 2, 1, 2, 2, 16, 2, 2, 0, 0, 16, 16, 2, 16, 2, 2, 0, 2, 2, 16, 2, 2, 0, 0, 17, 17, 3, 17, 1, 1, 0, 1, 3, 17, 1, 3, 0, 0, 3, 3, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 3, 0, 3, 2, 0, 1, 2, 3, 0, 0, 0, 0, 0, 17, 17, 3, 17, 2, 2, 1, 2, 3, 17, 2, 3, 0, 0, 17, 17, 3, 17, 0, 0, 0, 0, 3, 17, 0, 3, 0, 0, 3, 3, 0, 3, 2, 0, 0, 2, 3, 0, 0, 0, 0, 0, 17, 17, 3, 17, 2, 2, 0, 2, 3, 17, 2, 3, 0, 0, 17, 17, 3, 17, 0, 0, 0, 0, 3, 17, 0, 3, 0, 0, 4, 4, 1, 4, 0, 0, 0, 0, 4, 1, 0, 1, 0, 0, 4, 4, 1, 4, 2, 1, 1, 2, 4, 1, 1, 1, 0, 0, 4, 4, 1, 4, 2, 1, 0, 2, 4, 1, 1, 1, 0, 0, 4, 4, 0, 4, 1, 0, 0, 1, 4, 0, 0, 0, 0, 0, 4, 4, 0, 4, 1, 0, 1, 1, 4, 0, 0, 0, 0, 0, 17, 17, 4, 17, 1, 1, 1, 1, 4, 17, 1, 4, 0, 0, 16, 16, 3, 16, 0, 0, 0, 0, 3, 16, 0, 3, 0, 0, 16, 16, 3, 16, 1, 1, 0, 1, 3, 16, 1, 3, 0, 0, 16, 16, 3, 16, 1, 1, 1, 1, 3, 16, 1, 3, 0, 0, 15, 15, 2, 15, 0, 0, 0, 0, 2, 15, 0, 2, 0, 0, 15, 15, 2, 15, 1, 1, 0, 1, 2, 15, 1, 2, 0, 0, 15, 15, 2, 15, 1, 1, 1, 1, 2, 15, 1, 2, 0, 0, 15, 15, 2, 15, 0, 0, 0, 0, 2, 15, 0, 2, 0, 0, 15, 15, 2, 15, 2, 2, 1, 2, 2, 15, 2, 2, 0, 0, 15, 15, 2, 15, 2, 2, 0, 2, 2, 15, 2, 2, 0, 0, 16, 16, 3, 16, 0, 0, 0, 0, 3, 16, 0, 3, 0, 0, 16, 16, 3, 16, 2, 2, 1, 2, 3, 16, 2, 3, 0, 0, 16, 16, 3, 16, 2, 2, 0, 2, 3, 16, 2, 3, 0, 0, 17, 17, 4, 17, 1, 1, 0, 1, 4, 17, 1, 4, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 4, 0, 4, 2, 0, 1, 2, 4, 0, 0, 0, 0, 0, 17, 17, 4, 17, 2, 2, 1, 2, 4, 17, 2, 4, 0, 0, 17, 17, 4, 17, 0, 0, 0, 0, 4, 17, 0, 4, 0, 0, 4, 4, 0, 4, 2, 0, 0, 2, 4, 0, 0, 0, 0, 0, 17, 17, 4, 17, 2, 2, 0, 2, 4, 17, 2, 4, 0, 0, 17, 17, 4, 17, 0, 0, 0, 0, 4, 17, 0, 4, 0, 0, 5, 5, 1, 5, 0, 0, 0, 0, 5, 1, 0, 1, 0, 0, 5, 5, 1, 5, 2, 1, 1, 2, 5, 1, 1, 1, 0, 0, 5, 5, 1, 5, 2, 1, 0, 2, 5, 1, 1, 1, 0, 0, 5, 5, 0, 5, 1, 0, 0, 1, 5, 0, 0, 0, 0, 0, 5, 5, 0, 5, 1, 0, 1, 1, 5, 0, 0, 0, 0, 0, 17, 17, 5, 17, 1, 1, 1, 1, 5, 17, 1, 5, 0, 0, 16, 16, 4, 16, 0, 0, 0, 0, 4, 16, 0, 4, 0, 0, 16, 16, 4, 16, 1, 1, 0, 1, 4, 16, 1, 4, 0, 0, 16, 16, 4, 16, 1, 1, 1, 1, 4, 16, 1, 4, 0, 0, 15, 15, 3, 15, 0, 0, 0, 0, 3, 15, 0, 3, 0, 0, 15, 15, 3, 15, 1, 1, 0, 1, 3, 15, 1, 3, 0, 0, 15, 15, 3, 15, 1, 1, 1, 1, 3, 15, 1, 3, 0, 0, 14, 14, 2, 14, 0, 0, 0, 0, 2, 14, 0, 2, 0, 0, 14, 14, 2, 14, 1, 1, 0, 1, 2, 14, 1, 2, 0, 0, 14, 14, 2, 14, 1, 1, 1, 1, 2, 14, 1, 2, 0, 0, 14, 14, 2, 14, 0, 0, 0, 0, 2, 14, 0, 2, 0, 0, 14, 14, 2, 14, 2, 2, 1, 2, 2, 14, 2, 2, 0, 0, 14, 14, 2, 14, 2, 2, 0, 2, 2, 14, 2, 2, 0, 0, 15, 15, 3, 15, 0, 0, 0, 0, 3, 15, 0, 3, 0, 0, 15, 15, 3, 15, 2, 2, 1, 2, 3, 15, 2, 3, 0, 0, 15, 15, 3, 15, 2, 2, 0, 2, 3, 15, 2, 3, 0, 0, 16, 16, 4, 16, 0, 0, 0, 0, 4, 16, 0, 4, 0, 0, 16, 16, 4, 16, 2, 2, 1, 2, 4, 16, 2, 4, 0, 0, 16, 16, 4, 16, 2, 2, 0, 2, 4, 16, 2, 4, 0, 0, 17, 17, 5, 17, 1, 1, 0, 1, 5, 17, 1, 5, 0, 0, 5, 5, 0, 5, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 5, 0, 5, 2, 0, 1, 2, 5, 0, 0, 0, 0, 0, 17, 17, 5, 17, 2, 2, 1, 2, 5, 17, 2, 5, 0, 0, 17, 17, 5, 17, 0, 0, 0, 0, 5, 17, 0, 5, 0, 0, 5, 5, 0, 5, 2, 0, 0, 2, 5, 0, 0, 0, 0, 0, 17, 17, 5, 17, 2, 2, 0, 2, 5, 17, 2, 5, 0, 0, 17, 17, 5, 17, 0, 0, 0, 0, 5, 17, 0, 5, 0, 0, 6, 6, 1, 6, 0, 0, 0, 0, 6, 1, 0, 1, 0, 0, 6, 6, 1, 6, 2, 1, 1, 2, 6, 1, 1, 1, 0, 0, 6, 6, 1, 6, 2, 1, 0, 2, 6, 1, 1, 1, 0, 0, 6, 6, 0, 6, 1, 0, 0, 1, 6, 0, 0, 0, 0, 0, 6, 6, 0, 6, 1, 0, 1, 1, 6, 0, 0, 0, 0, 0, 17, 17, 6, 17, 1, 1, 1, 1, 6, 17, 1, 6, 0, 0, 16, 16, 5, 16, 0, 0, 0, 0, 5, 16, 0, 5, 0, 0, 16, 16, 5, 16, 1, 1, 0, 1, 5, 16, 1, 5, 0, 0, 16, 16, 5, 16, 1, 1, 1, 1, 5, 16, 1, 5, 0, 0, 15, 15, 4, 15, 0, 0, 0, 0, 4, 15, 0, 4, 0, 0, 15, 15, 4, 15, 1, 1, 0, 1, 4, 15, 1, 4, 0, 0, 15, 15, 4, 15, 1, 1, 1, 1, 4, 15, 1, 4, 0, 0, 14, 14, 3, 14, 0, 0, 0, 0, 3, 14, 0, 3, 0, 0, 14, 14, 3, 14, 1, 1, 0, 1, 3, 14, 1, 3, 0, 0, 14, 14, 3, 14, 1, 1, 1, 1, 3, 14, 1, 3, 0, 0, 13, 13, 2, 13, 0, 0, 0, 0, 2, 13, 0, 2, 0, 0, 13, 13, 2, 13, 1, 1, 0, 1, 2, 13, 1, 2, 0, 0, 13, 13, 2, 13, 1, 1, 1, 1, 2, 13, 1, 2, 0, 0, 13, 13, 2, 13, 0, 0, 0, 0, 2, 13, 0, 2, 0, 0, 13, 13, 2, 13, 2, 2, 1, 2, 2, 13, 2, 2, 0, 0, 13, 13, 2, 13, 2, 2, 0, 2, 2, 13, 2, 2, 0, 0, 14, 14, 3, 14, 0, 0, 0, 0, 3, 14, 0, 3, 0, 0, 14, 14, 3, 14, 2, 2, 1, 2, 3, 14, 2, 3, 0, 0, 14, 14, 3, 14, 2, 2, 0, 2, 3, 14, 2, 3, 0, 0, 15, 15, 4, 15, 0, 0, 0, 0, 4, 15, 0, 4, 0, 0, 15, 15, 4, 15, 2, 2, 1, 2, 4, 15, 2, 4, 0, 0, 15, 15, 4, 15, 2, 2, 0, 2, 4, 15, 2, 4, 0, 0, 16, 16, 5, 16, 0, 0, 0, 0, 5, 16, 0, 5, 0, 0, 16, 16, 5, 16, 2, 2, 1, 2, 5, 16, 2, 5, 0, 0, 16, 16, 5, 16, 2, 2, 0, 2, 5, 16, 2, 5, 0, 0, 17, 17, 6, 17, 1, 1, 0, 1, 6, 17, 1, 6, 0, 0, 6, 6, 0, 6, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 6, 0, 6, 2, 0, 1, 2, 6, 0, 0, 0, 0, 0, 17, 17, 6, 17, 2, 2, 1, 2, 6, 17, 2, 6, 0, 0, 17, 17, 6, 17, 0, 0, 0, 0, 6, 17, 0, 6, 0, 0, 6, 6, 0, 6, 2, 0, 0, 2, 6, 0, 0, 0, 0, 0, 17, 17, 6, 17, 2, 2, 0, 2, 6, 17, 2, 6, 0, 0, 17, 17, 6, 17, 0, 0, 0, 0, 6, 17, 0, 6, 0, 0, 7, 7, 1, 7, 0, 0, 0, 0, 7, 1, 0, 1, 0, 0, 7, 7, 1, 7, 2, 1, 1, 2, 7, 1, 1, 1, 0, 0, 7, 7, 1, 7, 2, 1, 0, 2, 7, 1, 1, 1, 0, 0, 7, 7, 0, 7, 1, 0, 0, 1, 7, 0, 0, 0, 0, 0, 7, 7, 0, 7, 1, 0, 1, 1, 7, 0, 0, 0, 0, 0, 17, 17, 7, 17, 1, 1, 1, 1, 7, 17, 1, 7, 0, 0, 16, 16, 6, 16, 0, 0, 0, 0, 6, 16, 0, 6, 0, 0, 16, 16, 6, 16, 1, 1, 0, 1, 6, 16, 1, 6, 0, 0, 16, 16, 6, 16, 1, 1, 1, 1, 6, 16, 1, 6, 0, 0, 15, 15, 5, 15, 0, 0, 0, 0, 5, 15, 0, 5, 0, 0, 15, 15, 5, 15, 1, 1, 0, 1, 5, 15, 1, 5, 0, 0, 15, 15, 5, 15, 1, 1, 1, 1, 5, 15, 1, 5, 0, 0, 14, 14, 4, 14, 0, 0, 0, 0, 4, 14, 0, 4, 0, 0, 14, 14, 4, 14, 1, 1, 0, 1, 4, 14, 1, 4, 0, 0, 14, 14, 4, 14, 1, 1, 1, 1, 4, 14, 1, 4, 0, 0, 13, 13, 3, 13, 0, 0, 0, 0, 3, 13, 0, 3, 0, 0, 13, 13, 3, 13, 1, 1, 0, 1, 3, 13, 1, 3, 0, 0, 13, 13, 3, 13, 1, 1, 1, 1, 3, 13, 1, 3, 0, 0, 12, 12, 2, 12, 0, 0, 0, 0, 2, 12, 0, 2, 0, 0, 12, 12, 2, 12, 1, 1, 0, 1, 2, 12, 1, 2, 0, 0, 12, 12, 2, 12, 1, 1, 1, 1, 2, 12, 1, 2, 0, 0, 12, 12, 2, 12, 0, 0, 0, 0, 2, 12, 0, 2, 0, 0, 12, 12, 2, 12, 2, 2, 1, 2, 2, 12, 2, 2, 0, 0, 12, 12, 2, 12, 2, 2, 0, 2, 2, 12, 2, 2, 0, 0, 13, 13, 3, 13, 0, 0, 0, 0, 3, 13, 0, 3, 0, 0, 13, 13, 3, 13, 2, 2, 1, 2, 3, 13, 2, 3, 0, 0, 13, 13, 3, 13, 2, 2, 0, 2, 3, 13, 2, 3, 0, 0, 14, 14, 4, 14, 0, 0, 0, 0, 4, 14, 0, 4, 0, 0, 14, 14, 4, 14, 2, 2, 1, 2, 4, 14, 2, 4, 0, 0, 14, 14, 4, 14, 2, 2, 0, 2, 4, 14, 2, 4, 0, 0, 15, 15, 5, 15, 0, 0, 0, 0, 5, 15, 0, 5, 0, 0, 15, 15, 5, 15, 2, 2, 1, 2, 5, 15, 2, 5, 0, 0, 15, 15, 5, 15, 2, 2, 0, 2, 5, 15, 2, 5, 0, 0, 16, 16, 6, 16, 0, 0, 0, 0, 6, 16, 0, 6, 0, 0, 16, 16, 6, 16, 2, 2, 1, 2, 6, 16, 2, 6, 0, 0, 16, 16, 6, 16, 2, 2, 0, 2, 6, 16, 2, 6, 0, 0, 17, 17, 7, 17, 1, 1, 0, 1, 7, 17, 1, 7, 0, 0, 7, 7, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 7, 0, 7, 2, 0, 1, 2, 7, 0, 0, 0, 0, 0, 17, 17, 7, 17, 2, 2, 1, 2, 7, 17, 2, 7, 0, 0, 17, 17, 7, 17, 0, 0, 0, 0, 7, 17, 0, 7, 0, 0, 7, 7, 0, 7, 2, 0, 0, 2, 7, 0, 0, 0, 0, 0, 17, 17, 7, 17, 2, 2, 0, 2, 7, 17, 2, 7, 0, 0, 17, 17, 7, 17, 0, 0, 0, 0, 7, 17, 0, 7, 0, 0, 8, 8, 1, 8, 0, 0, 0, 0, 8, 1, 0, 1, 0, 0, 8, 8, 1, 8, 2, 1, 1, 2, 8, 1, 1, 1, 0, 0, 8, 8, 1, 8, 2, 1, 0, 2, 8, 1, 1, 1, 0, 0, 8, 8, 0, 8, 1, 0, 0, 1, 8, 0, 0, 0, 0, 0, 8, 8, 0, 8, 1, 0, 1, 1, 8, 0, 0, 0, 0, 0, 17, 17, 8, 17, 1, 1, 1, 1, 8, 17, 1, 8, 0, 0, 16, 16, 7, 16, 0, 0, 0, 0, 7, 16, 0, 7, 0, 0, 16, 16, 7, 16, 1, 1, 0, 1, 7, 16, 1, 7, 0, 0, 16, 16, 7, 16, 1, 1, 1, 1, 7, 16, 1, 7, 0, 0, 15, 15, 6, 15, 0, 0, 0, 0, 6, 15, 0, 6, 0, 0, 15, 15, 6, 15, 1, 1, 0, 1, 6, 15, 1, 6, 0, 0, 15, 15, 6, 15, 1, 1, 1, 1, 6, 15, 1, 6, 0, 0, 14, 14, 5, 14, 0, 0, 0, 0, 5, 14, 0, 5, 0, 0, 14, 14, 5, 14, 1, 1, 0, 1, 5, 14, 1, 5, 0, 0, 14, 14, 5, 14, 1, 1, 1, 1, 5, 14, 1, 5, 0, 0, 13, 13, 4, 13, 0, 0, 0, 0, 4, 13, 0, 4, 0, 0, 13, 13, 4, 13, 1, 1, 0, 1, 4, 13, 1, 4, 0, 0, 13, 13, 4, 13, 1, 1, 1, 1, 4, 13, 1, 4, 0, 0, 12, 12, 3, 12, 0, 0, 0, 0, 3, 12, 0, 3, 0, 0, 12, 12, 3, 12, 1, 1, 0, 1, 3, 12, 1, 3, 0, 0, 12, 12, 3, 12, 1, 1, 1, 1, 3, 12, 1, 3, 0, 0, 11, 11, 2, 11, 0, 0, 0, 0, 2, 11, 0, 2, 0, 0, 11, 11, 2, 11, 1, 1, 0, 1, 2, 11, 1, 2, 0, 0, 11, 11, 2, 11, 1, 1, 1, 1, 2, 11, 1, 2, 0, 0, 11, 11, 2, 11, 0, 0, 0, 0, 2, 11, 0, 2, 0, 0, 11, 11, 2, 11, 2, 2, 1, 2, 2, 11, 2, 2, 0, 0, 11, 11, 2, 11, 2, 2, 0, 2, 2, 11, 2, 2, 0, 0, 12, 12, 3, 12, 0, 0, 0, 0, 3, 12, 0, 3, 0, 0, 12, 12, 3, 12, 2, 2, 1, 2, 3, 12, 2, 3, 0, 0, 12, 12, 3, 12, 2, 2, 0, 2, 3, 12, 2, 3, 0, 0, 13, 13, 4, 13, 0, 0, 0, 0, 4, 13, 0, 4, 0, 0, 13, 13, 4, 13, 2, 2, 1, 2, 4, 13, 2, 4, 0, 0, 13, 13, 4, 13, 2, 2, 0, 2, 4, 13, 2, 4, 0, 0, 14, 14, 5, 14, 0, 0, 0, 0, 5, 14, 0, 5, 0, 0, 14, 14, 5, 14, 2, 2, 1, 2, 5, 14, 2, 5, 0, 0, 14, 14, 5, 14, 2, 2, 0, 2, 5, 14, 2, 5, 0, 0, 15, 15, 6, 15, 0, 0, 0, 0, 6, 15, 0, 6, 0, 0, 15, 15, 6, 15, 2, 2, 1, 2, 6, 15, 2, 6, 0, 0, 15, 15, 6, 15, 2, 2, 0, 2, 6, 15, 2, 6, 0, 0, 16, 16, 7, 16, 0, 0, 0, 0, 7, 16, 0, 7, 0, 0, 16, 16, 7, 16, 2, 2, 1, 2, 7, 16, 2, 7, 0, 0, 16, 16, 7, 16, 2, 2, 0, 2, 7, 16, 2, 7, 0, 0, 17, 17, 8, 17, 1, 1, 0, 1, 8, 17, 1, 8, 0, 0, 8, 8, 0, 8, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 8, 0, 8, 2, 0, 1, 2, 8, 0, 0, 0, 0, 0, 17, 17, 8, 17, 2, 2, 1, 2, 8, 17, 2, 8, 0, 0, 17, 17, 8, 17, 0, 0, 0, 0, 8, 17, 0, 8, 0, 0, 8, 8, 0, 8, 2, 0, 0, 2, 8, 0, 0, 0, 0, 0, 17, 17, 8, 17, 2, 2, 0, 2, 8, 17, 2, 8, 0, 0, 17, 17, 8, 17, 0, 0, 0, 0, 8, 17, 0, 8, 0, 0, 9, 9, 1, 9, 0, 0, 0, 0, 9, 1, 0, 1, 0, 0, 9, 9, 1, 9, 2, 1, 1, 2, 9, 1, 1, 1, 0, 0, 9, 9, 1, 9, 2, 1, 0, 2, 9, 1, 1, 1, 0, 0, 9, 9, 0, 9, 1, 0, 0, 1, 9, 0, 0, 0, 0, 0, 9, 9, 0, 9, 1, 0, 1, 1, 9, 0, 0, 0, 0, 0, 17, 17, 9, 17, 1, 1, 1, 1, 9, 17, 1, 9, 0, 0, 16, 16, 8, 16, 0, 0, 0, 0, 8, 16, 0, 8, 0, 0, 16, 16, 8, 16, 1, 1, 0, 1, 8, 16, 1, 8, 0, 0, 16, 16, 8, 16, 1, 1, 1, 1, 8, 16, 1, 8, 0, 0, 15, 15, 7, 15, 0, 0, 0, 0, 7, 15, 0, 7, 0, 0, 15, 15, 7, 15, 1, 1, 0, 1, 7, 15, 1, 7, 0, 0, 15, 15, 7, 15, 1, 1, 1, 1, 7, 15, 1, 7, 0, 0, 14, 14, 6, 14, 0, 0, 0, 0, 6, 14, 0, 6, 0, 0, 14, 14, 6, 14, 1, 1, 0, 1, 6, 14, 1, 6, 0, 0, 14, 14, 6, 14, 1, 1, 1, 1, 6, 14, 1, 6, 0, 0, 13, 13, 5, 13, 0, 0, 0, 0, 5, 13, 0, 5, 0, 0, 13, 13, 5, 13, 1, 1, 0, 1, 5, 13, 1, 5, 0, 0, 13, 13, 5, 13, 1, 1, 1, 1, 5, 13, 1, 5, 0, 0, 12, 12, 4, 12, 0, 0, 0, 0, 4, 12, 0, 4, 0, 0, 12, 12, 4, 12, 1, 1, 0, 1, 4, 12, 1, 4, 0, 0, 12, 12, 4, 12, 1, 1, 1, 1, 4, 12, 1, 4, 0, 0, 11, 11, 3, 11, 0, 0, 0, 0, 3, 11, 0, 3, 0, 0, 11, 11, 3, 11, 1, 1, 0, 1, 3, 11, 1, 3, 0, 0, 11, 11, 3, 11, 1, 1, 1, 1, 3, 11, 1, 3, 0, 0, 10, 10, 2, 10, 0, 0, 0, 0, 2, 10, 0, 2, 0, 0, 10, 10, 2, 10, 1, 1, 0, 1, 2, 10, 1, 2, 0, 0, 10, 10, 2, 10, 1, 1, 1, 1, 2, 10, 1, 2, 0, 0, 10, 10, 2, 10, 0, 0, 0, 0, 2, 10, 0, 2, 0, 0, 10, 10, 2, 10, 2, 2, 1, 2, 2, 10, 2, 2, 0, 0, 10, 10, 2, 10, 2, 2, 0, 2, 2, 10, 2, 2, 0, 0, 11, 11, 3, 11, 0, 0, 0, 0, 3, 11, 0, 3, 0, 0, 11, 11, 3, 11, 2, 2, 1, 2, 3, 11, 2, 3, 0, 0, 11, 11, 3, 11, 2, 2, 0, 2, 3, 11, 2, 3, 0, 0, 12, 12, 4, 12, 0, 0, 0, 0, 4, 12, 0, 4, 0, 0, 12, 12, 4, 12, 2, 2, 1, 2, 4, 12, 2, 4, 0, 0, 12, 12, 4, 12, 2, 2, 0, 2, 4, 12, 2, 4, 0, 0, 13, 13, 5, 13, 0, 0, 0, 0, 5, 13, 0, 5, 0, 0, 13, 13, 5, 13, 2, 2, 1, 2, 5, 13, 2, 5, 0, 0, 13, 13, 5, 13, 2, 2, 0, 2, 5, 13, 2, 5, 0, 0, 14, 14, 6, 14, 0, 0, 0, 0, 6, 14, 0, 6, 0, 0, 14, 14, 6, 14, 2, 2, 1, 2, 6, 14, 2, 6, 0, 0, 14, 14, 6, 14, 2, 2, 0, 2, 6, 14, 2, 6, 0, 0, 15, 15, 7, 15, 0, 0, 0, 0, 7, 15, 0, 7, 0, 0, 15, 15, 7, 15, 2, 2, 1, 2, 7, 15, 2, 7, 0, 0, 15, 15, 7, 15, 2, 2, 0, 2, 7, 15, 2, 7, 0, 0, 16, 16, 8, 16, 0, 0, 0, 0, 8, 16, 0, 8, 0, 0, 16, 16, 8, 16, 2, 2, 1, 2, 8, 16, 2, 8, 0, 0, 16, 16, 8, 16, 2, 2, 0, 2, 8, 16, 2, 8, 0, 0, 17, 17, 9, 17, 1, 1, 0, 1, 9, 17, 1, 9, 0, 0, 9, 9, 0, 9, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 9, 0, 9, 2, 0, 1, 2, 9, 0, 0, 0, 0, 0, 17, 17, 9, 17, 2, 2, 1, 2, 9, 17, 2, 9, 0, 0, 17, 17, 9, 17, 0, 0, 0, 0, 9, 17, 0, 9, 0, 0, 9, 9, 0, 9, 2, 0, 0, 2, 9, 0, 0, 0, 0, 0, 17, 17, 9, 17, 2, 2, 0, 2, 9, 17, 2, 9, 0, 0, 17, 17, 9, 17, 0, 0, 0, 0, 9, 17, 0, 9, 0, 0, 10, 10, 1, 10, 0, 0, 0, 0, 10, 1, 0, 1, 0, 0, 10, 10, 1, 10, 2, 1, 1, 2, 10, 1, 1, 1, 0, 0, 10, 10, 1, 10, 2, 1, 0, 2, 10, 1, 1, 1, 0, 0, 10, 10, 0, 10, 1, 0, 0, 1, 10, 0, 0, 0, 0, 0, 10, 10, 0, 10, 1, 0, 1, 1, 10, 0, 0, 0, 0, 0, 17, 17, 10, 17, 1, 1, 1, 1, 10, 17, 1, 10, 0, 0, 16, 16, 9, 16, 0, 0, 0, 0, 9, 16, 0, 9, 0, 0, 16, 16, 9, 16, 1, 1, 0, 1, 9, 16, 1, 9, 0, 0, 16, 16, 9, 16, 1, 1, 1, 1, 9, 16, 1, 9, 0, 0, 15, 15, 8, 15, 0, 0, 0, 0, 8, 15, 0, 8, 0, 0, 15, 15, 8, 15, 1, 1, 0, 1, 8, 15, 1, 8, 0, 0, 15, 15, 8, 15, 1, 1, 1, 1, 8, 15, 1, 8, 0, 0, 14, 14, 7, 14, 0, 0, 0, 0, 7, 14, 0, 7, 0, 0, 14, 14, 7, 14, 1, 1, 0, 1, 7, 14, 1, 7, 0, 0, 14, 14, 7, 14, 1, 1, 1, 1, 7, 14, 1, 7, 0, 0, 13, 13, 6, 13, 0, 0, 0, 0, 6, 13, 0, 6, 0, 0, 13, 13, 6, 13, 1, 1, 0, 1, 6, 13, 1, 6, 0, 0, 13, 13, 6, 13, 1, 1, 1, 1, 6, 13, 1, 6, 0, 0, 12, 12, 5, 12, 0, 0, 0, 0, 5, 12, 0, 5, 0, 0, 12, 12, 5, 12, 1, 1, 0, 1, 5, 12, 1, 5, 0, 0, 12, 12, 5, 12, 1, 1, 1, 1, 5, 12, 1, 5, 0, 0, 11, 11, 4, 11, 0, 0, 0, 0, 4, 11, 0, 4, 0, 0, 11, 11, 4, 11, 1, 1, 0, 1, 4, 11, 1, 4, 0, 0, 11, 11, 4, 11, 1, 1, 1, 1, 4, 11, 1, 4, 0, 0, 10, 10, 3, 10, 0, 0, 0, 0, 3, 10, 0, 3, 0, 0, 10, 10, 3, 10, 1, 1, 0, 1, 3, 10, 1, 3, 0, 0, 10, 10, 3, 10, 1, 1, 1, 1, 3, 10, 1, 3, 0, 0, 9, 9, 2, 9, 0, 0, 0, 0, 2, 9, 0, 2, 0, 0, 9, 9, 2, 9, 1, 1, 0, 1, 2, 9, 1, 2, 0, 0, 9, 9, 2, 9, 1, 1, 1, 1, 2, 9, 1, 2, 0, 0, 9, 9, 2, 9, 0, 0, 0, 0, 2, 9, 0, 2, 0, 0, 9, 9, 2, 9, 2, 2, 1, 2, 2, 9, 2, 2, 0, 0, 9, 9, 2, 9, 2, 2, 0, 2, 2, 9, 2, 2, 0, 0, 10, 10, 3, 10, 0, 0, 0, 0, 3, 10, 0, 3, 0, 0, 10, 10, 3, 10, 2, 2, 1, 2, 3, 10, 2, 3, 0, 0, 10, 10, 3, 10, 2, 2, 0, 2, 3, 10, 2, 3, 0, 0, 11, 11, 4, 11, 0, 0, 0, 0, 4, 11, 0, 4, 0, 0, 11, 11, 4, 11, 2, 2, 1, 2, 4, 11, 2, 4, 0, 0, 11, 11, 4, 11, 2, 2, 0, 2, 4, 11, 2, 4, 0, 0, 12, 12, 5, 12, 0, 0, 0, 0, 5, 12, 0, 5, 0, 0, 12, 12, 5, 12, 2, 2, 1, 2, 5, 12, 2, 5, 0, 0, 12, 12, 5, 12, 2, 2, 0, 2, 5, 12, 2, 5, 0, 0, 13, 13, 6, 13, 0, 0, 0, 0, 6, 13, 0, 6, 0, 0, 13, 13, 6, 13, 2, 2, 1, 2, 6, 13, 2, 6, 0, 0, 13, 13, 6, 13, 2, 2, 0, 2, 6, 13, 2, 6, 0, 0, 14, 14, 7, 14, 0, 0, 0, 0, 7, 14, 0, 7, 0, 0, 14, 14, 7, 14, 2, 2, 1, 2, 7, 14, 2, 7, 0, 0, 14, 14, 7, 14, 2, 2, 0, 2, 7, 14, 2, 7, 0, 0, 15, 15, 8, 15, 0, 0, 0, 0, 8, 15, 0, 8, 0, 0, 15, 15, 8, 15, 2, 2, 1, 2, 8, 15, 2, 8, 0, 0, 15, 15, 8, 15, 2, 2, 0, 2, 8, 15, 2, 8, 0, 0, 16, 16, 9, 16, 0, 0, 0, 0, 9, 16, 0, 9, 0, 0, 16, 16, 9, 16, 2, 2, 1, 2, 9, 16, 2, 9, 0, 0, 16, 16, 9, 16, 2, 2, 0, 2, 9, 16, 2, 9, 0, 0, 17, 17, 10, 17, 1, 1, 0, 1, 10, 17, 1, 10, 0, 0, 10, 10, 0, 10, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 10, 10, 0, 10, 2, 0, 1, 2, 10, 0, 0, 0, 0, 0, 17, 17, 10, 17, 2, 2, 1, 2, 10, 17, 2, 10, 0, 0, 17, 17, 10, 17, 0, 0, 0, 0, 10, 17, 0, 10, 0, 0, 10, 10, 0, 10, 2, 0, 0, 2, 10, 0, 0, 0, 0, 0, 17, 17, 10, 17, 2, 2, 0, 2, 10, 17, 2, 10, 0, 0, 17, 17, 10, 17, 0, 0, 0, 0, 10, 17, 0, 10, 0, 0, 11, 11, 1, 11, 0, 0, 0, 0, 11, 1, 0, 1, 0, 0, 11, 11, 1, 11, 2, 1, 1, 2, 11, 1, 1, 1, 0, 0, 11, 11, 1, 11, 2, 1, 0, 2, 11, 1, 1, 1, 0, 0, 11, 11, 0, 11, 1, 0, 0, 1, 11, 0, 0, 0, 0, 0, 11, 11, 0, 11, 1, 0, 1, 1, 11, 0, 0, 0, 0, 0, 17, 17, 11, 17, 1, 1, 1, 1, 11, 17, 1, 11, 0, 0, 16, 16, 10, 16, 0, 0, 0, 0, 10, 16, 0, 10, 0, 0, 16, 16, 10, 16, 1, 1, 0, 1, 10, 16, 1, 10, 0, 0, 16, 16, 10, 16, 1, 1, 1, 1, 10, 16, 1, 10, 0, 0, 15, 15, 9, 15, 0, 0, 0, 0, 9, 15, 0, 9, 0, 0, 15, 15, 9, 15, 1, 1, 0, 1, 9, 15, 1, 9, 0, 0, 15, 15, 9, 15, 1, 1, 1, 1, 9, 15, 1, 9, 0, 0, 14, 14, 8, 14, 0, 0, 0, 0, 8, 14, 0, 8, 0, 0, 14, 14, 8, 14, 1, 1, 0, 1, 8, 14, 1, 8, 0, 0, 14, 14, 8, 14, 1, 1, 1, 1, 8, 14, 1, 8, 0, 0, 13, 13, 7, 13, 0, 0, 0, 0, 7, 13, 0, 7, 0, 0, 13, 13, 7, 13, 1, 1, 0, 1, 7, 13, 1, 7, 0, 0, 13, 13, 7, 13, 1, 1, 1, 1, 7, 13, 1, 7, 0, 0, 12, 12, 6, 12, 0, 0, 0, 0, 6, 12, 0, 6, 0, 0, 12, 12, 6, 12, 1, 1, 0, 1, 6, 12, 1, 6, 0, 0, 12, 12, 6, 12, 1, 1, 1, 1, 6, 12, 1, 6, 0, 0, 11, 11, 5, 11, 0, 0, 0, 0, 5, 11, 0, 5, 0, 0, 11, 11, 5, 11, 1, 1, 0, 1, 5, 11, 1, 5, 0, 0, 11, 11, 5, 11, 1, 1, 1, 1, 5, 11, 1, 5, 0, 0, 10, 10, 4, 10, 0, 0, 0, 0, 4, 10, 0, 4, 0, 0, 10, 10, 4, 10, 1, 1, 0, 1, 4, 10, 1, 4, 0, 0, 10, 10, 4, 10, 1, 1, 1, 1, 4, 10, 1, 4, 0, 0, 9, 9, 3, 9, 0, 0, 0, 0, 3, 9, 0, 3, 0, 0, 9, 9, 3, 9, 1, 1, 0, 1, 3, 9, 1, 3, 0, 0, 9, 9, 3, 9, 1, 1, 1, 1, 3, 9, 1, 3, 0, 0, 8, 8, 2, 8, 0, 0, 0, 0, 2, 8, 0, 2, 0, 0, 8, 8, 2, 8, 1, 1, 0, 1, 2, 8, 1, 2, 0, 0, 8, 8, 2, 8, 1, 1, 1, 1, 2, 8, 1, 2, 0, 0, 8, 8, 2, 8, 0, 0, 0, 0, 2, 8, 0, 2, 0, 0, 8, 8, 2, 8, 2, 2, 1, 2, 2, 8, 2, 2, 0, 0, 8, 8, 2, 8, 2, 2, 0, 2, 2, 8, 2, 2, 0, 0, 9, 9, 3, 9, 0, 0, 0, 0, 3, 9, 0, 3, 0, 0, 9, 9, 3, 9, 2, 2, 1, 2, 3, 9, 2, 3, 0, 0, 9, 9, 3, 9, 2, 2, 0, 2, 3, 9, 2, 3, 0, 0, 10, 10, 4, 10, 0, 0, 0, 0, 4, 10, 0, 4, 0, 0, 10, 10, 4, 10, 2, 2, 1, 2, 4, 10, 2, 4, 0, 0, 10, 10, 4, 10, 2, 2, 0, 2, 4, 10, 2, 4, 0, 0, 11, 11, 5, 11, 0, 0, 0, 0, 5, 11, 0, 5, 0, 0, 11, 11, 5, 11, 2, 2, 1, 2, 5, 11, 2, 5, 0, 0, 11, 11, 5, 11, 2, 2, 0, 2, 5, 11, 2, 5, 0, 0, 12, 12, 6, 12, 0, 0, 0, 0, 6, 12, 0, 6, 0, 0, 12, 12, 6, 12, 2, 2, 1, 2, 6, 12, 2, 6, 0, 0, 12, 12, 6, 12, 2, 2, 0, 2, 6, 12, 2, 6, 0, 0, 13, 13, 7, 13, 0, 0, 0, 0, 7, 13, 0, 7, 0, 0, 13, 13, 7, 13, 2, 2, 1, 2, 7, 13, 2, 7, 0, 0, 13, 13, 7, 13, 2, 2, 0, 2, 7, 13, 2, 7, 0, 0, 14, 14, 8, 14, 0, 0, 0, 0, 8, 14, 0, 8, 0, 0, 14, 14, 8, 14, 2, 2, 1, 2, 8, 14, 2, 8, 0, 0, 14, 14, 8, 14, 2, 2, 0, 2, 8, 14, 2, 8, 0, 0, 15, 15, 9, 15, 0, 0, 0, 0, 9, 15, 0, 9, 0, 0, 15, 15, 9, 15, 2, 2, 1, 2, 9, 15, 2, 9, 0, 0, 15, 15, 9, 15, 2, 2, 0, 2, 9, 15, 2, 9, 0, 0, 16, 16, 10, 16, 0, 0, 0, 0, 10, 16, 0, 10, 0, 0, 16, 16, 10, 16, 2, 2, 1, 2, 10, 16, 2, 10, 0, 0, 16, 16, 10, 16, 2, 2, 0, 2, 10, 16, 2, 10, 0, 0, 17, 17, 11, 17, 1, 1, 0, 1, 11, 17, 1, 11, 0, 0, 11, 11, 0, 11, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 11, 0, 11, 2, 0, 1, 2, 11, 0, 0, 0, 0, 0, 17, 17, 11, 17, 2, 2, 1, 2, 11, 17, 2, 11, 0, 0, 17, 17, 11, 17, 0, 0, 0, 0, 11, 17, 0, 11, 0, 0, 11, 11, 0, 11, 2, 0, 0, 2, 11, 0, 0, 0, 0, 0, 17, 17, 11, 17, 2, 2, 0, 2, 11, 17, 2, 11, 0, 0, 17, 17, 11, 17, 0, 0, 0, 0, 11, 17, 0, 11, 0, 0, 12, 12, 1, 12, 0, 0, 0, 0, 12, 1, 0, 1, 0, 0, 12, 12, 1, 12, 2, 1, 1, 2, 12, 1, 1, 1, 0, 0, 12, 12, 1, 12, 2, 1, 0, 2, 12, 1, 1, 1, 0, 0, 12, 12, 0, 12, 1, 0, 0, 1, 12, 0, 0, 0, 0, 0, 12, 12, 0, 12, 1, 0, 1, 1, 12, 0, 0, 0, 0, 0, 17, 17, 12, 17, 1, 1, 1, 1, 12, 17, 1, 12, 0, 0, 16, 16, 11, 16, 0, 0, 0, 0, 11, 16, 0, 11, 0, 0, 16, 16, 11, 16, 1, 1, 0, 1, 11, 16, 1, 11, 0, 0, 16, 16, 11, 16, 1, 1, 1, 1, 11, 16, 1, 11, 0, 0, 15, 15, 10, 15, 0, 0, 0, 0, 10, 15, 0, 10, 0, 0, 15, 15, 10, 15, 1, 1, 0, 1, 10, 15, 1, 10, 0, 0, 15, 15, 10, 15, 1, 1, 1, 1, 10, 15, 1, 10, 0, 0, 14, 14, 9, 14, 0, 0, 0, 0, 9, 14, 0, 9, 0, 0, 14, 14, 9, 14, 1, 1, 0, 1, 9, 14, 1, 9, 0, 0, 14, 14, 9, 14, 1, 1, 1, 1, 9, 14, 1, 9, 0, 0, 13, 13, 8, 13, 0, 0, 0, 0, 8, 13, 0, 8, 0, 0, 13, 13, 8, 13, 1, 1, 0, 1, 8, 13, 1, 8, 0, 0, 13, 13, 8, 13, 1, 1, 1, 1, 8, 13, 1, 8, 0, 0, 12, 12, 7, 12, 0, 0, 0, 0, 7, 12, 0, 7, 0, 0, 12, 12, 7, 12, 1, 1, 0, 1, 7, 12, 1, 7, 0, 0, 12, 12, 7, 12, 1, 1, 1, 1, 7, 12, 1, 7, 0, 0, 11, 11, 6, 11, 0, 0, 0, 0, 6, 11, 0, 6, 0, 0, 11, 11, 6, 11, 1, 1, 0, 1, 6, 11, 1, 6, 0, 0, 11, 11, 6, 11, 1, 1, 1, 1, 6, 11, 1, 6, 0, 0, 10, 10, 5, 10, 0, 0, 0, 0, 5, 10, 0, 5, 0, 0, 10, 10, 5, 10, 1, 1, 0, 1, 5, 10, 1, 5, 0, 0, 10, 10, 5, 10, 1, 1, 1, 1, 5, 10, 1, 5, 0, 0, 9, 9, 4, 9, 0, 0, 0, 0, 4, 9, 0, 4, 0, 0, 9, 9, 4, 9, 1, 1, 0, 1, 4, 9, 1, 4, 0, 0, 9, 9, 4, 9, 1, 1, 1, 1, 4, 9, 1, 4, 0, 0, 8, 8, 3, 8, 0, 0, 0, 0, 3, 8, 0, 3, 0, 0, 8, 8, 3, 8, 1, 1, 0, 1, 3, 8, 1, 3, 0, 0, 8, 8, 3, 8, 1, 1, 1, 1, 3, 8, 1, 3, 0, 0, 7, 7, 2, 7, 0, 0, 0, 0, 2, 7, 0, 2, 0, 0, 7, 7, 2, 7, 1, 1, 0, 1, 2, 7, 1, 2, 0, 0, 7, 7, 2, 7, 1, 1, 1, 1, 2, 7, 1, 2, 0, 0, 7, 7, 2, 7, 0, 0, 0, 0, 2, 7, 0, 2, 0, 0, 7, 7, 2, 7, 2, 2, 1, 2, 2, 7, 2, 2, 0, 0, 7, 7, 2, 7, 2, 2, 0, 2, 2, 7, 2, 2, 0, 0, 8, 8, 3, 8, 0, 0, 0, 0, 3, 8, 0, 3, 0, 0, 8, 8, 3, 8, 2, 2, 1, 2, 3, 8, 2, 3, 0, 0, 8, 8, 3, 8, 2, 2, 0, 2, 3, 8, 2, 3, 0, 0, 9, 9, 4, 9, 0, 0, 0, 0, 4, 9, 0, 4, 0, 0, 9, 9, 4, 9, 2, 2, 1, 2, 4, 9, 2, 4, 0, 0, 9, 9, 4, 9, 2, 2, 0, 2, 4, 9, 2, 4, 0, 0, 10, 10, 5, 10, 0, 0, 0, 0, 5, 10, 0, 5, 0, 0, 10, 10, 5, 10, 2, 2, 1, 2, 5, 10, 2, 5, 0, 0, 10, 10, 5, 10, 2, 2, 0, 2, 5, 10, 2, 5, 0, 0, 11, 11, 6, 11, 0, 0, 0, 0, 6, 11, 0, 6, 0, 0, 11, 11, 6, 11, 2, 2, 1, 2, 6, 11, 2, 6, 0, 0, 11, 11, 6, 11, 2, 2, 0, 2, 6, 11, 2, 6, 0, 0, 12, 12, 7, 12, 0, 0, 0, 0, 7, 12, 0, 7, 0, 0, 12, 12, 7, 12, 2, 2, 1, 2, 7, 12, 2, 7, 0, 0, 12, 12, 7, 12, 2, 2, 0, 2, 7, 12, 2, 7, 0, 0, 13, 13, 8, 13, 0, 0, 0, 0, 8, 13, 0, 8, 0, 0, 13, 13, 8, 13, 2, 2, 1, 2, 8, 13, 2, 8, 0, 0, 13, 13, 8, 13, 2, 2, 0, 2, 8, 13, 2, 8, 0, 0, 14, 14, 9, 14, 0, 0, 0, 0, 9, 14, 0, 9, 0, 0, 14, 14, 9, 14, 2, 2, 1, 2, 9, 14, 2, 9, 0, 0, 14, 14, 9, 14, 2, 2, 0, 2, 9, 14, 2, 9, 0, 0, 15, 15, 10, 15, 0, 0, 0, 0, 10, 15, 0, 10, 0, 0, 15, 15, 10, 15, 2, 2, 1, 2, 10, 15, 2, 10, 0, 0, 15, 15, 10, 15, 2, 2, 0, 2, 10, 15, 2, 10, 0, 0, 16, 16, 11, 16, 0, 0, 0, 0, 11, 16, 0, 11, 0, 0, 16, 16, 11, 16, 2, 2, 1, 2, 11, 16, 2, 11, 0, 0, 16, 16, 11, 16, 2, 2, 0, 2, 11, 16, 2, 11, 0, 0, 17, 17, 12, 17, 1, 1, 0, 1, 12, 17, 1, 12, 0, 0, 12, 12, 0, 12, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 12, 12, 0, 12, 2, 0, 1, 2, 12, 0, 0, 0, 0, 0, 17, 17, 12, 17, 2, 2, 1, 2, 12, 17, 2, 12, 0, 0, 17, 17, 12, 17, 0, 0, 0, 0, 12, 17, 0, 12, 0, 0, 12, 12, 0, 12, 2, 0, 0, 2, 12, 0, 0, 0, 0, 0, 17, 17, 12, 17, 2, 2, 0, 2, 12, 17, 2, 12, 0, 0, 17, 17, 12, 17, 0, 0, 0, 0, 12, 17, 0, 12, 0, 0, 13, 13, 1, 13, 0, 0, 0, 0, 13, 1, 0, 1, 0, 0, 13, 13, 1, 13, 2, 1, 1, 2, 13, 1, 1, 1, 0, 0, 13, 13, 1, 13, 2, 1, 0, 2, 13, 1, 1, 1, 0, 0, 13, 13, 0, 13, 1, 0, 0, 1, 13, 0, 0, 0, 0, 0, 13, 13, 0, 13, 1, 0, 1, 1, 13, 0, 0, 0, 0, 0, 17, 17, 13, 17, 1, 1, 1, 1, 13, 17, 1, 13, 0, 0, 16, 16, 12, 16, 0, 0, 0, 0, 12, 16, 0, 12, 0, 0, 16, 16, 12, 16, 1, 1, 0, 1, 12, 16, 1, 12, 0, 0, 16, 16, 12, 16, 1, 1, 1, 1, 12, 16, 1, 12, 0, 0, 15, 15, 11, 15, 0, 0, 0, 0, 11, 15, 0, 11, 0, 0, 15, 15, 11, 15, 1, 1, 0, 1, 11, 15, 1, 11, 0, 0, 15, 15, 11, 15, 1, 1, 1, 1, 11, 15, 1, 11, 0, 0, 14, 14, 10, 14, 0, 0, 0, 0, 10, 14, 0, 10, 0, 0, 14, 14, 10, 14, 1, 1, 0, 1, 10, 14, 1, 10, 0, 0, 14, 14, 10, 14, 1, 1, 1, 1, 10, 14, 1, 10, 0, 0, 13, 13, 9, 13, 0, 0, 0, 0, 9, 13, 0, 9, 0, 0, 13, 13, 9, 13, 1, 1, 0, 1, 9, 13, 1, 9, 0, 0, 13, 13, 9, 13, 1, 1, 1, 1, 9, 13, 1, 9, 0, 0, 12, 12, 8, 12, 0, 0, 0, 0, 8, 12, 0, 8, 0, 0, 12, 12, 8, 12, 1, 1, 0, 1, 8, 12, 1, 8, 0, 0, 12, 12, 8, 12, 1, 1, 1, 1, 8, 12, 1, 8, 0, 0, 11, 11, 7, 11, 0, 0, 0, 0, 7, 11, 0, 7, 0, 0, 11, 11, 7, 11, 1, 1, 0, 1, 7, 11, 1, 7, 0, 0, 11, 11, 7, 11, 1, 1, 1, 1, 7, 11, 1, 7, 0, 0, 10, 10, 6, 10, 0, 0, 0, 0, 6, 10, 0, 6, 0, 0, 10, 10, 6, 10, 1, 1, 0, 1, 6, 10, 1, 6, 0, 0, 10, 10, 6, 10, 1, 1, 1, 1, 6, 10, 1, 6, 0, 0, 9, 9, 5, 9, 0, 0, 0, 0, 5, 9, 0, 5, 0, 0, 9, 9, 5, 9, 1, 1, 0, 1, 5, 9, 1, 5, 0, 0, 9, 9, 5, 9, 1, 1, 1, 1, 5, 9, 1, 5, 0, 0, 8, 8, 4, 8, 0, 0, 0, 0, 4, 8, 0, 4, 0, 0, 8, 8, 4, 8, 1, 1, 0, 1, 4, 8, 1, 4, 0, 0, 8, 8, 4, 8, 1, 1, 1, 1, 4, 8, 1, 4, 0, 0, 7, 7, 3, 7, 0, 0, 0, 0, 3, 7, 0, 3, 0, 0, 7, 7, 3, 7, 1, 1, 0, 1, 3, 7, 1, 3, 0, 0, 7, 7, 3, 7, 1, 1, 1, 1, 3, 7, 1, 3, 0, 0, 6, 6, 2, 6, 0, 0, 0, 0, 2, 6, 0, 2, 0, 0, 6, 6, 2, 6, 1, 1, 0, 1, 2, 6, 1, 2, 0, 0, 6, 6, 2, 6, 1, 1, 1, 1, 2, 6, 1, 2, 0, 0, 6, 6, 2, 6, 0, 0, 0, 0, 2, 6, 0, 2, 0, 0, 6, 6, 2, 6, 2, 2, 1, 2, 2, 6, 2, 2, 0, 0, 6, 6, 2, 6, 2, 2, 0, 2, 2, 6, 2, 2, 0, 0, 7, 7, 3, 7, 0, 0, 0, 0, 3, 7, 0, 3, 0, 0, 7, 7, 3, 7, 2, 2, 1, 2, 3, 7, 2, 3, 0, 0, 7, 7, 3, 7, 2, 2, 0, 2, 3, 7, 2, 3, 0, 0, 8, 8, 4, 8, 0, 0, 0, 0, 4, 8, 0, 4, 0, 0, 8, 8, 4, 8, 2, 2, 1, 2, 4, 8, 2, 4, 0, 0, 8, 8, 4, 8, 2, 2, 0, 2, 4, 8, 2, 4, 0, 0, 9, 9, 5, 9, 0, 0, 0, 0, 5, 9, 0, 5, 0, 0, 9, 9, 5, 9, 2, 2, 1, 2, 5, 9, 2, 5, 0, 0, 9, 9, 5, 9, 2, 2, 0, 2, 5, 9, 2, 5, 0, 0, 10, 10, 6, 10, 0, 0, 0, 0, 6, 10, 0, 6, 0, 0, 10, 10, 6, 10, 2, 2, 1, 2, 6, 10, 2, 6, 0, 0, 10, 10, 6, 10, 2, 2, 0, 2, 6, 10, 2, 6, 0, 0, 11, 11, 7, 11, 0, 0, 0, 0, 7, 11, 0, 7, 0, 0, 11, 11, 7, 11, 2, 2, 1, 2, 7, 11, 2, 7, 0, 0, 11, 11, 7, 11, 2, 2, 0, 2, 7, 11, 2, 7, 0, 0, 12, 12, 8, 12, 0, 0, 0, 0, 8, 12, 0, 8, 0, 0, 12, 12, 8, 12, 2, 2, 1, 2, 8, 12, 2, 8, 0, 0, 12, 12, 8, 12, 2, 2, 0, 2, 8, 12, 2, 8, 0, 0, 13, 13, 9, 13, 0, 0, 0, 0, 9, 13, 0, 9, 0, 0, 13, 13, 9, 13, 2, 2, 1, 2, 9, 13, 2, 9, 0, 0, 13, 13, 9, 13, 2, 2, 0, 2, 9, 13, 2, 9, 0, 0, 14, 14, 10, 14, 0, 0, 0, 0, 10, 14, 0, 10, 0, 0, 14, 14, 10, 14, 2, 2, 1, 2, 10, 14, 2, 10, 0, 0, 14, 14, 10, 14, 2, 2, 0, 2, 10, 14, 2, 10, 0, 0, 15, 15, 11, 15, 0, 0, 0, 0, 11, 15, 0, 11, 0, 0, 15, 15, 11, 15, 2, 2, 1, 2, 11, 15, 2, 11, 0, 0, 15, 15, 11, 15, 2, 2, 0, 2, 11, 15, 2, 11, 0, 0, 16, 16, 12, 16, 0, 0, 0, 0, 12, 16, 0, 12, 0, 0, 16, 16, 12, 16, 2, 2, 1, 2, 12, 16, 2, 12, 0, 0, 16, 16, 12, 16, 2, 2, 0, 2, 12, 16, 2, 12, 0, 0, 17, 17, 13, 17, 1, 1, 0, 1, 13, 17, 1, 13, 0, 0, 13, 13, 0, 13, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 13, 13, 0, 13, 2, 0, 1, 2, 13, 0, 0, 0, 0, 0, 17, 17, 13, 17, 2, 2, 1, 2, 13, 17, 2, 13, 0, 0, 17, 17, 13, 17, 0, 0, 0, 0, 13, 17, 0, 13, 0, 0, 13, 13, 0, 13, 2, 0, 0, 2, 13, 0, 0, 0, 0, 0, 17, 17, 13, 17, 2, 2, 0, 2, 13, 17, 2, 13, 0, 0, 17, 17, 13, 17, 0, 0, 0, 0, 13, 17, 0, 13, 0, 0, 14, 14, 1, 14, 0, 0, 0, 0, 14, 1, 0, 1, 0, 0, 14, 14, 1, 14, 2, 1, 1, 2, 14, 1, 1, 1, 0, 0, 14, 14, 1, 14, 2, 1, 0, 2, 14, 1, 1, 1, 0, 0, 14, 14, 0, 14, 1, 0, 0, 1, 14, 0, 0, 0, 0, 0, 14, 14, 0, 14, 1, 0, 1, 1, 14, 0, 0, 0, 0, 0, 17, 17, 14, 17, 1, 1, 1, 1, 14, 17, 1, 14, 0, 0, 16, 16, 13, 16, 0, 0, 0, 0, 13, 16, 0, 13, 0, 0, 16, 16, 13, 16, 1, 1, 0, 1, 13, 16, 1, 13, 0, 0, 16, 16, 13, 16, 1, 1, 1, 1, 13, 16, 1, 13, 0, 0, 15, 15, 12, 15, 0, 0, 0, 0, 12, 15, 0, 12, 0, 0, 15, 15, 12, 15, 1, 1, 0, 1, 12, 15, 1, 12, 0, 0, 15, 15, 12, 15, 1, 1, 1, 1, 12, 15, 1, 12, 0, 0, 14, 14, 11, 14, 0, 0, 0, 0, 11, 14, 0, 11, 0, 0, 14, 14, 11, 14, 1, 1, 0, 1, 11, 14, 1, 11, 0, 0, 14, 14, 11, 14, 1, 1, 1, 1, 11, 14, 1, 11, 0, 0, 13, 13, 10, 13, 0, 0, 0, 0, 10, 13, 0, 10, 0, 0, 13, 13, 10, 13, 1, 1, 0, 1, 10, 13, 1, 10, 0, 0, 13, 13, 10, 13, 1, 1, 1, 1, 10, 13, 1, 10, 0, 0, 12, 12, 9, 12, 0, 0, 0, 0, 9, 12, 0, 9, 0, 0, 12, 12, 9, 12, 1, 1, 0, 1, 9, 12, 1, 9, 0, 0, 12, 12, 9, 12, 1, 1, 1, 1, 9, 12, 1, 9, 0, 0, 11, 11, 8, 11, 0, 0, 0, 0, 8, 11, 0, 8, 0, 0, 11, 11, 8, 11, 1, 1, 0, 1, 8, 11, 1, 8, 0, 0, 11, 11, 8, 11, 1, 1, 1, 1, 8, 11, 1, 8, 0, 0, 10, 10, 7, 10, 0, 0, 0, 0, 7, 10, 0, 7, 0, 0, 10, 10, 7, 10, 1, 1, 0, 1, 7, 10, 1, 7, 0, 0, 10, 10, 7, 10, 1, 1, 1, 1, 7, 10, 1, 7, 0, 0, 9, 9, 6, 9, 0, 0, 0, 0, 6, 9, 0, 6, 0, 0, 9, 9, 6, 9, 1, 1, 0, 1, 6, 9, 1, 6, 0, 0, 9, 9, 6, 9, 1, 1, 1, 1, 6, 9, 1, 6, 0, 0, 8, 8, 5, 8, 0, 0, 0, 0, 5, 8, 0, 5, 0, 0, 8, 8, 5, 8, 1, 1, 0, 1, 5, 8, 1, 5, 0, 0, 8, 8, 5, 8, 1, 1, 1, 1, 5, 8, 1, 5, 0, 0, 7, 7, 4, 7, 0, 0, 0, 0, 4, 7, 0, 4, 0, 0, 7, 7, 4, 7, 1, 1, 0, 1, 4, 7, 1, 4, 0, 0, 7, 7, 4, 7, 1, 1, 1, 1, 4, 7, 1, 4, 0, 0, 6, 6, 3, 6, 0, 0, 0, 0, 3, 6, 0, 3, 0, 0, 6, 6, 3, 6, 1, 1, 0, 1, 3, 6, 1, 3, 0, 0, 6, 6, 3, 6, 1, 1, 1, 1, 3, 6, 1, 3, 0, 0, 5, 5, 2, 5, 0, 0, 0, 0, 2, 5, 0, 2, 0, 0, 5, 5, 2, 5, 1, 1, 0, 1, 2, 5, 1, 2, 0, 0, 5, 5, 2, 5, 1, 1, 1, 1, 2, 5, 1, 2, 0, 0, 5, 5, 2, 5, 0, 0, 0, 0, 2, 5, 0, 2, 0, 0, 5, 5, 2, 5, 2, 2, 1, 2, 2, 5, 2, 2, 0, 0, 5, 5, 2, 5, 2, 2, 0, 2, 2, 5, 2, 2, 0, 0, 6, 6, 3, 6, 0, 0, 0, 0, 3, 6, 0, 3, 0, 0, 6, 6, 3, 6, 2, 2, 1, 2, 3, 6, 2, 3, 0, 0, 6, 6, 3, 6, 2, 2, 0, 2, 3, 6, 2, 3, 0, 0, 7, 7, 4, 7, 0, 0, 0, 0, 4, 7, 0, 4, 0, 0, 7, 7, 4, 7, 2, 2, 1, 2, 4, 7, 2, 4, 0, 0, 7, 7, 4, 7, 2, 2, 0, 2, 4, 7, 2, 4, 0, 0, 8, 8, 5, 8, 0, 0, 0, 0, 5, 8, 0, 5, 0, 0, 8, 8, 5, 8, 2, 2, 1, 2, 5, 8, 2, 5, 0, 0, 8, 8, 5, 8, 2, 2, 0, 2, 5, 8, 2, 5, 0, 0, 9, 9, 6, 9, 0, 0, 0, 0, 6, 9, 0, 6, 0, 0, 9, 9, 6, 9, 2, 2, 1, 2, 6, 9, 2, 6, 0, 0, 9, 9, 6, 9, 2, 2, 0, 2, 6, 9, 2, 6, 0, 0, 10, 10, 7, 10, 0, 0, 0, 0, 7, 10, 0, 7, 0, 0, 10, 10, 7, 10, 2, 2, 1, 2, 7, 10, 2, 7, 0, 0, 10, 10, 7, 10, 2, 2, 0, 2, 7, 10, 2, 7, 0, 0, 11, 11, 8, 11, 0, 0, 0, 0, 8, 11, 0, 8, 0, 0, 11, 11, 8, 11, 2, 2, 1, 2, 8, 11, 2, 8, 0, 0, 11, 11, 8, 11, 2, 2, 0, 2, 8, 11, 2, 8, 0, 0, 12, 12, 9, 12, 0, 0, 0, 0, 9, 12, 0, 9, 0, 0, 12, 12, 9, 12, 2, 2, 1, 2, 9, 12, 2, 9, 0, 0, 12, 12, 9, 12, 2, 2, 0, 2, 9, 12, 2, 9, 0, 0, 13, 13, 10, 13, 0, 0, 0, 0, 10, 13, 0, 10, 0, 0, 13, 13, 10, 13, 2, 2, 1, 2, 10, 13, 2, 10, 0, 0, 13, 13, 10, 13, 2, 2, 0, 2, 10, 13, 2, 10, 0, 0, 14, 14, 11, 14, 0, 0, 0, 0, 11, 14, 0, 11, 0, 0, 14, 14, 11, 14, 2, 2, 1, 2, 11, 14, 2, 11, 0, 0, 14, 14, 11, 14, 2, 2, 0, 2, 11, 14, 2, 11, 0, 0, 15, 15, 12, 15, 0, 0, 0, 0, 12, 15, 0, 12, 0, 0, 15, 15, 12, 15, 2, 2, 1, 2, 12, 15, 2, 12, 0, 0, 15, 15, 12, 15, 2, 2, 0, 2, 12, 15, 2, 12, 0, 0, 16, 16, 13, 16, 0, 0, 0, 0, 13, 16, 0, 13, 0, 0, 16, 16, 13, 16, 2, 2, 1, 2, 13, 16, 2, 13, 0, 0, 16, 16, 13, 16, 2, 2, 0, 2, 13, 16, 2, 13, 0, 0, 17, 17, 14, 17, 1, 1, 0, 1, 14, 17, 1, 14, 0, 0, 14, 14, 0, 14, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 14, 14, 0, 14, 2, 0, 1, 2, 14, 0, 0, 0, 0, 0, 17, 17, 14, 17, 2, 2, 1, 2, 14, 17, 2, 14, 0, 0, 17, 17, 14, 17, 0, 0, 0, 0, 14, 17, 0, 14, 0, 0, 14, 14, 0, 14, 2, 0, 0, 2, 14, 0, 0, 0, 0, 0, 17, 17, 14, 17, 2, 2, 0, 2, 14, 17, 2, 14, 0, 0, 17, 17, 14, 17, 0, 0, 0, 0, 14, 17, 0, 14, 0, 0, 15, 15, 1, 15, 0, 0, 0, 0, 15, 1, 0, 1, 0, 0, 15, 15, 1, 15, 2, 1, 1, 2, 15, 1, 1, 1, 0, 0, 15, 15, 1, 15, 2, 1, 0, 2, 15, 1, 1, 1, 0, 0, 15, 15, 0, 15, 1, 0, 0, 1, 15, 0, 0, 0, 0, 0, 15, 15, 0, 15, 1, 0, 1, 1, 15, 0, 0, 0, 0, 0, 17, 17, 15, 17, 1, 1, 1, 1, 15, 17, 1, 15, 0, 0, 16, 16, 14, 16, 0, 0, 0, 0, 14, 16, 0, 14, 0, 0, 16, 16, 14, 16, 1, 1, 0, 1, 14, 16, 1, 14, 0, 0, 16, 16, 14, 16, 1, 1, 1, 1, 14, 16, 1, 14, 0, 0, 15, 15, 13, 15, 0, 0, 0, 0, 13, 15, 0, 13, 0, 0, 15, 15, 13, 15, 1, 1, 0, 1, 13, 15, 1, 13, 0, 0, 15, 15, 13, 15, 1, 1, 1, 1, 13, 15, 1, 13, 0, 0, 14, 14, 12, 14, 0, 0, 0, 0, 12, 14, 0, 12, 0, 0, 14, 14, 12, 14, 1, 1, 0, 1, 12, 14, 1, 12, 0, 0, 14, 14, 12, 14, 1, 1, 1, 1, 12, 14, 1, 12, 0, 0, 13, 13, 11, 13, 0, 0, 0, 0, 11, 13, 0, 11, 0, 0, 13, 13, 11, 13, 1, 1, 0, 1, 11, 13, 1, 11, 0, 0, 13, 13, 11, 13, 1, 1, 1, 1, 11, 13, 1, 11, 0, 0, 12, 12, 10, 12, 0, 0, 0, 0, 10, 12, 0, 10, 0, 0, 12, 12, 10, 12, 1, 1, 0, 1, 10, 12, 1, 10, 0, 0, 12, 12, 10, 12, 1, 1, 1, 1, 10, 12, 1, 10, 0, 0, 11, 11, 9, 11, 0, 0, 0, 0, 9, 11, 0, 9, 0, 0, 11, 11, 9, 11, 1, 1, 0, 1, 9, 11, 1, 9, 0, 0, 11, 11, 9, 11, 1, 1, 1, 1, 9, 11, 1, 9, 0, 0, 10, 10, 8, 10, 0, 0, 0, 0, 8, 10, 0, 8, 0, 0, 10, 10, 8, 10, 1, 1, 0, 1, 8, 10, 1, 8, 0, 0, 10, 10, 8, 10, 1, 1, 1, 1, 8, 10, 1, 8, 0, 0, 9, 9, 7, 9, 0, 0, 0, 0, 7, 9, 0, 7, 0, 0, 9, 9, 7, 9, 1, 1, 0, 1, 7, 9, 1, 7, 0, 0, 9, 9, 7, 9, 1, 1, 1, 1, 7, 9, 1, 7, 0, 0, 8, 8, 6, 8, 0, 0, 0, 0, 6, 8, 0, 6, 0, 0, 8, 8, 6, 8, 1, 1, 0, 1, 6, 8, 1, 6, 0, 0, 8, 8, 6, 8, 1, 1, 1, 1, 6, 8, 1, 6, 0, 0, 7, 7, 5, 7, 0, 0, 0, 0, 5, 7, 0, 5, 0, 0, 7, 7, 5, 7, 1, 1, 0, 1, 5, 7, 1, 5, 0, 0, 7, 7, 5, 7, 1, 1, 1, 1, 5, 7, 1, 5, 0, 0, 6, 6, 4, 6, 0, 0, 0, 0, 4, 6, 0, 4, 0, 0, 6, 6, 4, 6, 1, 1, 0, 1, 4, 6, 1, 4, 0, 0, 6, 6, 4, 6, 1, 1, 1, 1, 4, 6, 1, 4, 0, 0, 5, 5, 3, 5, 0, 0, 0, 0, 3, 5, 0, 3, 0, 0, 5, 5, 3, 5, 1, 1, 0, 1, 3, 5, 1, 3, 0, 0, 5, 5, 3, 5, 1, 1, 1, 1, 3, 5, 1, 3, 0, 0, 4, 4, 2, 4, 0, 0, 0, 0, 2, 4, 0, 2, 0, 0, 4, 4, 2, 4, 1, 1, 0, 1, 2, 4, 1, 2, 0, 0, 4, 4, 2, 4, 1, 1, 1, 1, 2, 4, 1, 2, 0, 0, 4, 4, 2, 4, 0, 0, 0, 0, 2, 4, 0, 2, 0, 0, 4, 4, 2, 4, 2, 2, 1, 2, 2, 4, 2, 2, 0, 0, 4, 4, 2, 4, 2, 2, 0, 2, 2, 4, 2, 2, 0, 0, 5, 5, 3, 5, 0, 0, 0, 0, 3, 5, 0, 3, 0, 0, 5, 5, 3, 5, 2, 2, 1, 2, 3, 5, 2, 3, 0, 0, 5, 5, 3, 5, 2, 2, 0, 2, 3, 5, 2, 3, 0, 0, 6, 6, 4, 6, 0, 0, 0, 0, 4, 6, 0, 4, 0, 0, 6, 6, 4, 6, 2, 2, 1, 2, 4, 6, 2, 4, 0, 0, 6, 6, 4, 6, 2, 2, 0, 2, 4, 6, 2, 4, 0, 0, 7, 7, 5, 7, 0, 0, 0, 0, 5, 7, 0, 5, 0, 0, 7, 7, 5, 7, 2, 2, 1, 2, 5, 7, 2, 5, 0, 0, 7, 7, 5, 7, 2, 2, 0, 2, 5, 7, 2, 5, 0, 0, 8, 8, 6, 8, 0, 0, 0, 0, 6, 8, 0, 6, 0, 0, 8, 8, 6, 8, 2, 2, 1, 2, 6, 8, 2, 6, 0, 0, 8, 8, 6, 8, 2, 2, 0, 2, 6, 8, 2, 6, 0, 0, 9, 9, 7, 9, 0, 0, 0, 0, 7, 9, 0, 7, 0, 0, 9, 9, 7, 9, 2, 2, 1, 2, 7, 9, 2, 7, 0, 0, 9, 9, 7, 9, 2, 2, 0, 2, 7, 9, 2, 7, 0, 0, 10, 10, 8, 10, 0, 0, 0, 0, 8, 10, 0, 8, 0, 0, 10, 10, 8, 10, 2, 2, 1, 2, 8, 10, 2, 8, 0, 0, 10, 10, 8, 10, 2, 2, 0, 2, 8, 10, 2, 8, 0, 0, 11, 11, 9, 11, 0, 0, 0, 0, 9, 11, 0, 9, 0, 0, 11, 11, 9, 11, 2, 2, 1, 2, 9, 11, 2, 9, 0, 0, 11, 11, 9, 11, 2, 2, 0, 2, 9, 11, 2, 9, 0, 0, 12, 12, 10, 12, 0, 0, 0, 0, 10, 12, 0, 10, 0, 0, 12, 12, 10, 12, 2, 2, 1, 2, 10, 12, 2, 10, 0, 0, 12, 12, 10, 12, 2, 2, 0, 2, 10, 12, 2, 10, 0, 0, 13, 13, 11, 13, 0, 0, 0, 0, 11, 13, 0, 11, 0, 0, 13, 13, 11, 13, 2, 2, 1, 2, 11, 13, 2, 11, 0, 0, 13, 13, 11, 13, 2, 2, 0, 2, 11, 13, 2, 11, 0, 0, 14, 14, 12, 14, 0, 0, 0, 0, 12, 14, 0, 12, 0, 0, 14, 14, 12, 14, 2, 2, 1, 2, 12, 14, 2, 12, 0, 0, 14, 14, 12, 14, 2, 2, 0, 2, 12, 14, 2, 12, 0, 0, 15, 15, 13, 15, 0, 0, 0, 0, 13, 15, 0, 13, 0, 0, 15, 15, 13, 15, 2, 2, 1, 2, 13, 15, 2, 13, 0, 0, 15, 15, 13, 15, 2, 2, 0, 2, 13, 15, 2, 13, 0, 0, 16, 16, 14, 16, 0, 0, 0, 0, 14, 16, 0, 14, 0, 0, 16, 16, 14, 16, 2, 2, 1, 2, 14, 16, 2, 14, 0, 0, 16, 16, 14, 16, 2, 2, 0, 2, 14, 16, 2, 14, 0, 0, 17, 17, 15, 17, 1, 1, 0, 1, 15, 17, 1, 15, 0, 0, 15, 15, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 15, 15, 0, 15, 2, 0, 1, 2, 15, 0, 0, 0, 0, 0, 17, 17, 15, 17, 2, 2, 1, 2, 15, 17, 2, 15, 0, 0, 17, 17, 15, 17, 0, 0, 0, 0, 15, 17, 0, 15, 0, 0, 15, 15, 0, 15, 2, 0, 0, 2, 15, 0, 0, 0, 0, 0, 17, 17, 15, 17, 2, 2, 0, 2, 15, 17, 2, 15, 0, 0, 17, 17, 15, 17, 0, 0, 0, 0, 15, 17, 0, 15, 0, 0, 16, 16, 1, 16, 0, 0, 0, 0, 16, 1, 0, 1, 0, 0, 16, 16, 1, 16, 2, 1, 1, 2, 16, 1, 1, 1, 0, 0, 16, 16, 1, 16, 2, 1, 0, 2, 16, 1, 1, 1, 0, 0, 16, 16, 0, 16, 1, 0, 0, 1, 16, 0, 0, 0, 0, 0, 16, 16, 0, 16, 1, 0, 1, 1, 16, 0, 0, 0, 0, 0, 17, 17, 16, 17, 1, 1, 1, 1, 16, 17, 1, 16, 0, 0, 16, 16, 15, 16, 0, 0, 0, 0, 15, 16, 0, 15, 0, 0, 16, 16, 15, 16, 1, 1, 0, 1, 15, 16, 1, 15, 0, 0, 16, 16, 15, 16, 1, 1, 1, 1, 15, 16, 1, 15, 0, 0, 15, 15, 14, 15, 0, 0, 0, 0, 14, 15, 0, 14, 0, 0, 15, 15, 14, 15, 1, 1, 0, 1, 14, 15, 1, 14, 0, 0, 15, 15, 14, 15, 1, 1, 1, 1, 14, 15, 1, 14, 0, 0, 14, 14, 13, 14, 0, 0, 0, 0, 13, 14, 0, 13, 0, 0, 14, 14, 13, 14, 1, 1, 0, 1, 13, 14, 1, 13, 0, 0, 14, 14, 13, 14, 1, 1, 1, 1, 13, 14, 1, 13, 0, 0, 13, 13, 12, 13, 0, 0, 0, 0, 12, 13, 0, 12, 0, 0, 13, 13, 12, 13, 1, 1, 0, 1, 12, 13, 1, 12, 0, 0, 13, 13, 12, 13, 1, 1, 1, 1, 12, 13, 1, 12, 0, 0, 12, 12, 11, 12, 0, 0, 0, 0, 11, 12, 0, 11, 0, 0, 12, 12, 11, 12, 1, 1, 0, 1, 11, 12, 1, 11, 0, 0, 12, 12, 11, 12, 1, 1, 1, 1, 11, 12, 1, 11, 0, 0, 11, 11, 10, 11, 0, 0, 0, 0, 10, 11, 0, 10, 0, 0, 11, 11, 10, 11, 1, 1, 0, 1, 10, 11, 1, 10, 0, 0, 11, 11, 10, 11, 1, 1, 1, 1, 10, 11, 1, 10, 0, 0, 10, 10, 9, 10, 0, 0, 0, 0, 9, 10, 0, 9, 0, 0, 10, 10, 9, 10, 1, 1, 0, 1, 9, 10, 1, 9, 0, 0, 10, 10, 9, 10, 1, 1, 1, 1, 9, 10, 1, 9, 0, 0, 9, 9, 8, 9, 0, 0, 0, 0, 8, 9, 0, 8, 0, 0, 9, 9, 8, 9, 1, 1, 0, 1, 8, 9, 1, 8, 0, 0, 9, 9, 8, 9, 1, 1, 1, 1, 8, 9, 1, 8, 0, 0, 8, 8, 7, 8, 0, 0, 0, 0, 7, 8, 0, 7, 0, 0, 8, 8, 7, 8, 1, 1, 0, 1, 7, 8, 1, 7, 0, 0, 8, 8, 7, 8, 1, 1, 1, 1, 7, 8, 1, 7, 0, 0, 7, 7, 6, 7, 0, 0, 0, 0, 6, 7, 0, 6, 0, 0, 7, 7, 6, 7, 1, 1, 0, 1, 6, 7, 1, 6, 0, 0, 7, 7, 6, 7, 1, 1, 1, 1, 6, 7, 1, 6, 0, 0, 6, 6, 5, 6, 0, 0, 0, 0, 5, 6, 0, 5, 0, 0, 6, 6, 5, 6, 1, 1, 0, 1, 5, 6, 1, 5, 0, 0, 6, 6, 5, 6, 1, 1, 1, 1, 5, 6, 1, 5, 0, 0, 5, 5, 4, 5, 0, 0, 0, 0, 4, 5, 0, 4, 0, 0, 5, 5, 4, 5, 1, 1, 0, 1, 4, 5, 1, 4, 0, 0, 5, 5, 4, 5, 1, 1, 1, 1, 4, 5, 1, 4, 0, 0, 4, 4, 3, 4, 0, 0, 0, 0, 3, 4, 0, 3, 0, 0, 4, 4, 3, 4, 1, 1, 0, 1, 3, 4, 1, 3, 0, 0, 4, 4, 3, 4, 1, 1, 1, 1, 3, 4, 1, 3, 0, 0, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 0, 2, 0, 0, 3, 3, 2, 3, 1, 1, 0, 1, 2, 3, 1, 2, 0, 0, 3, 3, 2, 3, 1, 1, 1, 1, 2, 3, 1, 2, 0, 0, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 0, 2, 0, 0, 3, 3, 2, 3, 2, 2, 1, 2, 2, 3, 2, 2, 0, 0, 3, 3, 2, 3, 2, 2, 0, 2, 2, 3, 2, 2, 0, 0, 4, 4, 3, 4, 0, 0, 0, 0, 3, 4, 0, 3, 0, 0, 4, 4, 3, 4, 2, 2, 1, 2, 3, 4, 2, 3, 0, 0, 4, 4, 3, 4, 2, 2, 0, 2, 3, 4, 2, 3, 0, 0, 5, 5, 4, 5, 0, 0, 0, 0, 4, 5, 0, 4, 0, 0, 5, 5, 4, 5, 2, 2, 1, 2, 4, 5, 2, 4, 0, 0, 5, 5, 4, 5, 2, 2, 0, 2, 4, 5, 2, 4, 0, 0, 6, 6, 5, 6, 0, 0, 0, 0, 5, 6, 0, 5, 0, 0, 6, 6, 5, 6, 2, 2, 1, 2, 5, 6, 2, 5, 0, 0, 6, 6, 5, 6, 2, 2, 0, 2, 5, 6, 2, 5, 0, 0, 7, 7, 6, 7, 0, 0, 0, 0, 6, 7, 0, 6, 0, 0, 7, 7, 6, 7, 2, 2, 1, 2, 6, 7, 2, 6, 0, 0, 7, 7, 6, 7, 2, 2, 0, 2, 6, 7, 2, 6, 0, 0, 8, 8, 7, 8, 0, 0, 0, 0, 7, 8, 0, 7, 0, 0, 8, 8, 7, 8, 2, 2, 1, 2, 7, 8, 2, 7, 0, 0, 8, 8, 7, 8, 2, 2, 0, 2, 7, 8, 2, 7, 0, 0, 9, 9, 8, 9, 0, 0, 0, 0, 8, 9, 0, 8, 0, 0, 9, 9, 8, 9, 2, 2, 1, 2, 8, 9, 2, 8, 0, 0, 9, 9, 8, 9, 2, 2, 0, 2, 8, 9, 2, 8, 0, 0, 10, 10, 9, 10, 0, 0, 0, 0, 9, 10, 0, 9, 0, 0, 10, 10, 9, 10, 2, 2, 1, 2, 9, 10, 2, 9, 0, 0, 10, 10, 9, 10, 2, 2, 0, 2, 9, 10, 2, 9, 0, 0, 11, 11, 10, 11, 0, 0, 0, 0, 10, 11, 0, 10, 0, 0, 11, 11, 10, 11, 2, 2, 1, 2, 10, 11, 2, 10, 0, 0, 11, 11, 10, 11, 2, 2, 0, 2, 10, 11, 2, 10, 0, 0, 12, 12, 11, 12, 0, 0, 0, 0, 11, 12, 0, 11, 0, 0, 12, 12, 11, 12, 2, 2, 1, 2, 11, 12, 2, 11, 0, 0, 12, 12, 11, 12, 2, 2, 0, 2, 11, 12, 2, 11, 0, 0, 13, 13, 12, 13, 0, 0, 0, 0, 12, 13, 0, 12, 0, 0, 13, 13, 12, 13, 2, 2, 1, 2, 12, 13, 2, 12, 0, 0, 13, 13, 12, 13, 2, 2, 0, 2, 12, 13, 2, 12, 0, 0, 14, 14, 13, 14, 0, 0, 0, 0, 13, 14, 0, 13, 0, 0, 14, 14, 13, 14, 2, 2, 1, 2, 13, 14, 2, 13, 0, 0, 14, 14, 13, 14, 2, 2, 0, 2, 13, 14, 2, 13, 0, 0, 15, 15, 14, 15, 0, 0, 0, 0, 14, 15, 0, 14, 0, 0, 15, 15, 14, 15, 2, 2, 1, 2, 14, 15, 2, 14, 0, 0, 15, 15, 14, 15, 2, 2, 0, 2, 14, 15, 2, 14, 0, 0, 16, 16, 15, 16, 0, 0, 0, 0, 15, 16, 0, 15, 0, 0, 16, 16, 15, 16, 2, 2, 1, 2, 15, 16, 2, 15, 0, 0, 16, 16, 15, 16, 2, 2, 0, 2, 15, 16, 2, 15, 0, 0, 17, 17, 16, 17, 1, 1, 0, 1, 16, 17, 1, 16, 0, 0, 16, 16, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 16, 16, 0, 16, 2, 0, 1, 2, 16, 0, 0, 0, 0, 0, 17, 17, 16, 17, 2, 2, 1, 2, 16, 17, 2, 16, 0, 0, 17, 17, 16, 17, 0, 0, 0, 0, 16, 17, 0, 16, 0, 0, 16, 16, 0, 16, 2, 0, 0, 2, 16, 0, 0, 0, 0, 0, 17, 17, 16, 17, 2, 2, 0, 2, 16, 17, 2, 16, 0, 0, 17, 17, 16, 17, 0, 0, 0, 0, 16, 17, 0, 16, 0, 0, 17, 17, 1, 17, 1, 1, 0, 1, 17, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 17, 17, 0, 17, 1, 0, 1, 1, 0, 17, 1, 0, 0, 0, 17, 17, 17, 17, 1, 1, 1, 1, 17, 17, 1, 17, 0, 0, 16, 16, 16, 16, 0, 0, 0, 0, 16, 16, 0, 16, 0, 0, 16, 16, 16, 16, 1, 1, 0, 1, 16, 16, 1, 16, 0, 0, 16, 16, 16, 16, 1, 1, 1, 1, 16, 16, 1, 16, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0, 15, 15, 0, 15, 0, 0, 15, 15, 15, 15, 1, 1, 0, 1, 15, 15, 1, 15, 0, 0, 15, 15, 15, 15, 1, 1, 1, 1, 15, 15, 1, 15, 0, 0, 14, 14, 14, 14, 0, 0, 0, 0, 14, 14, 0, 14, 0, 0, 14, 14, 14, 14, 1, 1, 0, 1, 14, 14, 1, 14, 0, 0, 14, 14, 14, 14, 1, 1, 1, 1, 14, 14, 1, 14, 0, 0, 13, 13, 13, 13, 0, 0, 0, 0, 13, 13, 0, 13, 0, 0, 13, 13, 13, 13, 1, 1, 0, 1, 13, 13, 1, 13, 0, 0, 13, 13, 13, 13, 1, 1, 1, 1, 13, 13, 1, 13, 0, 0, 12, 12, 12, 12, 0, 0, 0, 0, 12, 12, 0, 12, 0, 0, 12, 12, 12, 12, 1, 1, 0, 1, 12, 12, 1, 12, 0, 0, 12, 12, 12, 12, 1, 1, 1, 1, 12, 12, 1, 12, 0, 0, 11, 11, 11, 11, 0, 0, 0, 0, 11, 11, 0, 11, 0, 0, 11, 11, 11, 11, 1, 1, 0, 1, 11, 11, 1, 11, 0, 0, 11, 11, 11, 11, 1, 1, 1, 1, 11, 11, 1, 11, 0, 0, 10, 10, 10, 10, 0, 0, 0, 0, 10, 10, 0, 10, 0, 0, 10, 10, 10, 10, 1, 1, 0, 1, 10, 10, 1, 10, 0, 0, 10, 10, 10, 10, 1, 1, 1, 1, 10, 10, 1, 10, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 0, 9, 0, 0, 9, 9, 9, 9, 1, 1, 0, 1, 9, 9, 1, 9, 0, 0, 9, 9, 9, 9, 1, 1, 1, 1, 9, 9, 1, 9, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 0, 8, 0, 0, 8, 8, 8, 8, 1, 1, 0, 1, 8, 8, 1, 8, 0, 0, 8, 8, 8, 8, 1, 1, 1, 1, 8, 8, 1, 8, 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 7, 7, 0, 7, 0, 0, 7, 7, 7, 7, 1, 1, 0, 1, 7, 7, 1, 7, 0, 0, 7, 7, 7, 7, 1, 1, 1, 1, 7, 7, 1, 7, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 6, 6, 0, 6, 0, 0, 6, 6, 6, 6, 1, 1, 0, 1, 6, 6, 1, 6, 0, 0, 6, 6, 6, 6, 1, 1, 1, 1, 6, 6, 1, 6, 0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 5, 5, 0, 5, 0, 0, 5, 5, 5, 5, 1, 1, 0, 1, 5, 5, 1, 5, 0, 0, 5, 5, 5, 5, 1, 1, 1, 1, 5, 5, 1, 5, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 4, 4, 0, 4, 0, 0, 4, 4, 4, 4, 1, 1, 0, 1, 4, 4, 1, 4, 0, 0, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 1, 4, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 3, 3, 3, 3, 1, 1, 0, 1, 3, 3, 1, 3, 0, 0, 3, 3, 3, 3, 1, 1, 1, 1, 3, 3, 1, 3, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 0, 2, 0, 0, 2, 2, 2, 2, 1, 1, 0, 1, 2, 2, 1, 2, 0, 0, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 0, 3, 0, 0, 3, 3, 3, 3, 2, 2, 1, 2, 3, 3, 2, 3, 0, 0, 3, 3, 3, 3, 2, 2, 0, 2, 3, 3, 2, 3, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 4, 4, 0, 4, 0, 0, 4, 4, 4, 4, 2, 2, 1, 2, 4, 4, 2, 4, 0, 0, 4, 4, 4, 4, 2, 2, 0, 2, 4, 4, 2, 4, 0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 5, 5, 0, 5, 0, 0, 5, 5, 5, 5, 2, 2, 1, 2, 5, 5, 2, 5, 0, 0, 5, 5, 5, 5, 2, 2, 0, 2, 5, 5, 2, 5, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 6, 6, 0, 6, 0, 0, 6, 6, 6, 6, 2, 2, 1, 2, 6, 6, 2, 6, 0, 0, 6, 6, 6, 6, 2, 2, 0, 2, 6, 6, 2, 6, 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 7, 7, 0, 7, 0, 0, 7, 7, 7, 7, 2, 2, 1, 2, 7, 7, 2, 7, 0, 0, 7, 7, 7, 7, 2, 2, 0, 2, 7, 7, 2, 7, 0, 0, 8, 8, 8, 8, 0, 0, 0, 0, 8, 8, 0, 8, 0, 0, 8, 8, 8, 8, 2, 2, 1, 2, 8, 8, 2, 8, 0, 0, 8, 8, 8, 8, 2, 2, 0, 2, 8, 8, 2, 8, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 0, 9, 0, 0, 9, 9, 9, 9, 2, 2, 1, 2, 9, 9, 2, 9, 0, 0, 9, 9, 9, 9, 2, 2, 0, 2, 9, 9, 2, 9, 0, 0, 10, 10, 10, 10, 0, 0, 0, 0, 10, 10, 0, 10, 0, 0, 10, 10, 10, 10, 2, 2, 1, 2, 10, 10, 2, 10, 0, 0, 10, 10, 10, 10, 2, 2, 0, 2, 10, 10, 2, 10, 0, 0, 11, 11, 11, 11, 0, 0, 0, 0, 11, 11, 0, 11, 0, 0, 11, 11, 11, 11, 2, 2, 1, 2, 11, 11, 2, 11, 0, 0, 11, 11, 11, 11, 2, 2, 0, 2, 11, 11, 2, 11, 0, 0, 12, 12, 12, 12, 0, 0, 0, 0, 12, 12, 0, 12, 0, 0, 12, 12, 12, 12, 2, 2, 1, 2, 12, 12, 2, 12, 0, 0, 12, 12, 12, 12, 2, 2, 0, 2, 12, 12, 2, 12, 0, 0, 13, 13, 13, 13, 0, 0, 0, 0, 13, 13, 0, 13, 0, 0, 13, 13, 13, 13, 2, 2, 1, 2, 13, 13, 2, 13, 0, 0, 13, 13, 13, 13, 2, 2, 0, 2, 13, 13, 2, 13, 0, 0, 14, 14, 14, 14, 0, 0, 0, 0, 14, 14, 0, 14, 0, 0, 14, 14, 14, 14, 2, 2, 1, 2, 14, 14, 2, 14, 0, 0, 14, 14, 14, 14, 2, 2, 0, 2, 14, 14, 2, 14, 0, 0, 15, 15, 15, 15, 0, 0, 0, 0, 15, 15, 0, 15, 0, 0, 15, 15, 15, 15, 2, 2, 1, 2, 15, 15, 2, 15, 0, 0, 15, 15, 15, 15, 2, 2, 0, 2, 15, 15, 2, 15, 0, 0, 16, 16, 16, 16, 0, 0, 0, 0, 16, 16, 0, 16, 0, 0, 16, 16, 16, 16, 2, 2, 1, 2, 16, 16, 2, 16, 0, 0, 16, 16, 16, 16, 2, 2, 0, 2, 16, 16, 2, 16, 0, 0, 17, 17, 0, 17, 1, 0, 0, 1, 0, 17, 1, 0, 0, 0, 17, 17, 17, 17, 1, 1, 0, 1, 17, 17, 1, 17, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 1, 2, 0, 1, 1, 0, 0, 0, 17, 17, 1, 17, 2, 1, 1, 2, 17, 1, 1, 1, 0, 0, 17, 17, 1, 17, 0, 0, 0, 0, 17, 1, 0, 1, 0, 0, 2, 2, 0, 2, 2, 0, 0, 2, 0, 1, 1, 0, 0, 0, 17, 17, 1, 17, 2, 1, 0, 2, 17, 1, 1, 1, 0, 0, 17, 17, 1, 17, 0, 0, 0, 0, 17, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 17, 17, 0, 17, 2, 0, 1, 2, 0, 17, 2, 0, 0, 0, 17, 17, 17, 17, 2, 2, 1, 2, 17, 17, 2, 17, 0, 0, 17, 17, 0, 17, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 17, 17, 17, 0, 0, 0, 0, 17, 17, 0, 17, 0, 0, 2, 2, 0, 2, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 17, 17, 0, 17, 2, 0, 0, 2, 0, 17, 2, 0, 0, 0, 17, 17, 17, 17, 2, 2, 0, 2, 17, 17, 2, 17, 0, 0, 17, 17, 0, 17, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 17, 17, 17, 0, 0, 0, 0, 17, 17, 0, 17, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver1_agu_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char bdver1_agu_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 1, 0, 1, 3, 3, 0, 2, 1, 3, 0}; /* Vector of min issue delay of insns. */ static const unsigned char bdver1_agu_min_issue_delay[] ATTRIBUTE_UNUSED = { 6, 32}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver3_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 2, 2, 2, 2, 2, 3, 2, 3, 2, 2, 2, 2, 2, 3, 2, 3, 1, 1, 2, 2, 2, 1, 2, 2, 2, 2, 3, 3, 3, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 3, 3, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, }; /* Vector for state transitions. */ static const unsigned char bdver3_transitions[] ATTRIBUTE_UNUSED = { 0, 11, 2, 1, 0, 1, 15, 15, 15, 0, 2, 3, 9, 15, 0, 3, 4, 10, 15, 2, 4, 5, 8, 15, 9, 5, 15, 15, 15, 6, 6, 7, 1, 15, 0, 7, 15, 15, 15, 2, 8, 15, 15, 15, 9, 9, 10, 6, 15, 0, 10, 8, 7, 15, 2, 11, 12, 3, 15, 2, 12, 13, 4, 15, 9, 13, 14, 5, 15, 6, 14, 15, 15, 15, 1}; /* Vector of min issue delay of insns. */ static const unsigned char bdver3_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 5, 64, 16, 8, 2, 5, 128, 16, 88, 22, 0, 64, 32, 8, 2, 0, 130, 160}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver3_ieu_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 3, 3, 4, 4, 5, 6, 2, 0, 7, 1, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, }; /* Vector for state transitions. */ static const unsigned short bdver3_ieu_transitions[] ATTRIBUTE_UNUSED = { 0, 4, 9, 15, 255, 254, 4, 1, 0, 1, 5, 10, 16, 254, 256, 5, 254, 2, 2, 25, 31, 20, 253, 252, 25, 251, 3, 3, 23, 42, 64, 250, 249, 23, 248, 4, 4, 9, 256, 9, 247, 6, 9, 5, 0, 5, 10, 256, 10, 6, 256, 10, 6, 2, 6, 11, 256, 11, 256, 256, 11, 256, 7, 7, 45, 52, 39, 246, 245, 45, 244, 8, 8, 29, 49, 72, 243, 242, 29, 241, 9, 9, 256, 256, 256, 12, 11, 9, 10, 0, 10, 256, 256, 256, 11, 256, 10, 11, 2, 11, 256, 256, 256, 256, 256, 11, 256, 7, 12, 256, 256, 256, 256, 256, 12, 11, 13, 13, 68, 76, 61, 240, 239, 68, 238, 14, 14, 36, 57, 81, 237, 236, 36, 19, 15, 15, 9, 256, 256, 18, 17, 9, 16, 0, 16, 10, 256, 256, 17, 256, 10, 17, 2, 17, 11, 256, 256, 256, 256, 11, 256, 7, 18, 12, 256, 256, 256, 256, 12, 17, 13, 19, 37, 58, 82, 236, 256, 37, 236, 20, 20, 31, 256, 256, 235, 234, 31, 21, 3, 21, 32, 256, 256, 234, 256, 32, 234, 22, 22, 90, 97, 88, 233, 232, 90, 231, 23, 23, 42, 256, 42, 230, 229, 42, 24, 4, 24, 43, 256, 43, 229, 256, 43, 229, 25, 25, 31, 256, 31, 228, 27, 31, 26, 3, 26, 32, 256, 32, 27, 256, 32, 27, 22, 27, 33, 256, 33, 256, 256, 33, 256, 28, 28, 93, 114, 106, 227, 226, 93, 225, 29, 29, 49, 256, 49, 224, 223, 49, 30, 9, 30, 50, 256, 50, 223, 256, 50, 223, 31, 31, 256, 256, 256, 34, 33, 31, 32, 3, 32, 256, 256, 256, 33, 256, 32, 33, 22, 33, 256, 256, 256, 256, 256, 33, 256, 28, 34, 256, 256, 256, 256, 256, 34, 33, 35, 35, 101, 133, 124, 222, 221, 101, 220, 36, 36, 57, 256, 57, 219, 38, 57, 37, 15, 37, 58, 256, 58, 38, 256, 58, 38, 20, 38, 59, 256, 59, 256, 256, 59, 256, 39, 39, 52, 256, 256, 218, 217, 52, 40, 8, 40, 53, 256, 256, 217, 256, 53, 217, 41, 41, 95, 111, 129, 216, 215, 95, 214, 42, 42, 256, 256, 256, 201, 44, 42, 43, 4, 43, 256, 256, 256, 44, 256, 43, 44, 25, 44, 256, 256, 256, 256, 256, 44, 256, 45, 45, 52, 256, 52, 213, 47, 52, 46, 8, 46, 53, 256, 53, 47, 256, 53, 47, 41, 47, 54, 256, 54, 256, 256, 54, 256, 48, 48, 109, 146, 143, 212, 211, 109, 210, 49, 49, 256, 256, 256, 196, 51, 49, 50, 9, 50, 256, 256, 256, 51, 256, 50, 51, 31, 51, 256, 256, 256, 256, 256, 51, 256, 52, 52, 256, 256, 256, 55, 54, 52, 53, 8, 53, 256, 256, 256, 54, 256, 53, 54, 41, 54, 256, 256, 256, 256, 256, 54, 256, 48, 55, 256, 256, 256, 256, 256, 55, 54, 56, 56, 118, 150, 157, 209, 208, 118, 207, 57, 57, 256, 256, 256, 60, 59, 57, 58, 15, 58, 256, 256, 256, 59, 256, 58, 59, 20, 59, 256, 256, 256, 256, 256, 59, 256, 39, 60, 256, 256, 256, 256, 256, 60, 59, 61, 61, 76, 256, 256, 206, 205, 76, 62, 14, 62, 77, 256, 256, 205, 256, 77, 205, 63, 63, 103, 120, 86, 204, 203, 103, 202, 64, 64, 42, 256, 256, 67, 66, 42, 65, 4, 65, 43, 256, 256, 66, 256, 43, 66, 25, 66, 44, 256, 256, 256, 256, 44, 256, 45, 67, 201, 256, 256, 256, 256, 201, 66, 68, 68, 76, 256, 76, 200, 70, 76, 69, 14, 69, 77, 256, 77, 70, 256, 77, 70, 63, 70, 78, 256, 78, 256, 256, 78, 256, 71, 71, 127, 153, 140, 199, 198, 127, 197, 72, 72, 49, 256, 256, 75, 74, 49, 73, 9, 73, 50, 256, 256, 74, 256, 50, 74, 31, 74, 51, 256, 256, 256, 256, 51, 256, 52, 75, 196, 256, 256, 256, 256, 196, 74, 76, 76, 256, 256, 256, 79, 78, 76, 77, 14, 77, 256, 256, 256, 78, 256, 77, 78, 63, 78, 256, 256, 256, 256, 256, 78, 256, 71, 79, 256, 256, 256, 256, 256, 79, 78, 80, 80, 137, 161, 165, 195, 194, 137, 85, 81, 81, 57, 256, 256, 84, 83, 57, 82, 15, 82, 58, 256, 256, 83, 256, 58, 83, 20, 83, 59, 256, 256, 256, 256, 59, 256, 39, 84, 60, 256, 256, 256, 256, 60, 83, 61, 85, 138, 162, 166, 194, 256, 138, 194, 86, 86, 120, 256, 256, 193, 192, 120, 87, 64, 87, 121, 256, 256, 192, 256, 121, 192, 88, 88, 97, 256, 256, 191, 190, 97, 89, 23, 89, 98, 256, 256, 190, 256, 98, 190, 90, 90, 97, 256, 97, 189, 92, 97, 91, 23, 91, 98, 256, 98, 92, 256, 98, 92, 90, 92, 99, 256, 99, 256, 256, 99, 256, 93, 93, 114, 256, 114, 188, 187, 114, 94, 29, 94, 115, 256, 115, 187, 256, 115, 187, 95, 95, 111, 256, 111, 186, 185, 111, 96, 42, 96, 112, 256, 112, 185, 256, 112, 185, 97, 97, 256, 256, 256, 100, 99, 97, 98, 23, 98, 256, 256, 256, 99, 256, 98, 99, 90, 99, 256, 256, 256, 256, 256, 99, 256, 93, 100, 256, 256, 256, 256, 256, 100, 99, 101, 101, 133, 256, 133, 184, 183, 133, 102, 36, 102, 134, 256, 134, 183, 256, 134, 183, 103, 103, 120, 256, 120, 182, 105, 120, 104, 64, 104, 121, 256, 121, 105, 256, 121, 105, 88, 105, 122, 256, 122, 256, 256, 122, 256, 106, 106, 114, 256, 256, 181, 108, 114, 107, 29, 107, 115, 256, 256, 108, 256, 115, 108, 95, 108, 116, 256, 256, 256, 256, 116, 256, 109, 109, 146, 256, 146, 180, 179, 146, 110, 49, 110, 147, 256, 147, 179, 256, 147, 179, 111, 111, 256, 256, 256, 173, 113, 111, 112, 42, 112, 256, 256, 256, 113, 256, 112, 113, 97, 113, 256, 256, 256, 256, 256, 113, 256, 114, 114, 256, 256, 256, 117, 116, 114, 115, 29, 115, 256, 256, 256, 116, 256, 115, 116, 95, 116, 256, 256, 256, 256, 256, 116, 256, 109, 117, 256, 256, 256, 256, 256, 117, 116, 118, 118, 150, 256, 150, 178, 177, 150, 119, 57, 119, 151, 256, 151, 177, 256, 151, 177, 120, 120, 256, 256, 256, 123, 122, 120, 121, 64, 121, 256, 256, 256, 122, 256, 121, 122, 88, 122, 256, 256, 256, 256, 256, 122, 256, 106, 123, 256, 256, 256, 256, 256, 123, 122, 124, 124, 133, 256, 256, 176, 126, 133, 125, 36, 125, 134, 256, 256, 126, 256, 134, 126, 103, 126, 135, 256, 256, 256, 256, 135, 256, 127, 127, 153, 256, 153, 175, 174, 153, 128, 72, 128, 154, 256, 154, 174, 256, 154, 174, 129, 129, 111, 256, 256, 132, 131, 111, 130, 42, 130, 112, 256, 256, 131, 256, 112, 131, 97, 131, 113, 256, 256, 256, 256, 113, 256, 114, 132, 173, 256, 256, 256, 256, 173, 131, 133, 133, 256, 256, 256, 136, 135, 133, 134, 36, 134, 256, 256, 256, 135, 256, 134, 135, 103, 135, 256, 256, 256, 256, 256, 135, 256, 127, 136, 256, 256, 256, 256, 256, 136, 135, 137, 137, 161, 256, 161, 172, 139, 161, 138, 81, 138, 162, 256, 162, 139, 256, 162, 139, 86, 139, 163, 256, 163, 256, 256, 163, 256, 140, 140, 153, 256, 256, 171, 142, 153, 141, 72, 141, 154, 256, 256, 142, 256, 154, 142, 129, 142, 155, 256, 256, 256, 256, 155, 256, 143, 143, 146, 256, 256, 170, 145, 146, 144, 49, 144, 147, 256, 256, 145, 256, 147, 145, 111, 145, 148, 256, 256, 256, 256, 148, 256, 146, 146, 256, 256, 256, 149, 148, 146, 147, 49, 147, 256, 256, 256, 148, 256, 147, 148, 111, 148, 256, 256, 256, 256, 256, 148, 256, 146, 149, 256, 256, 256, 256, 256, 149, 148, 150, 150, 256, 256, 256, 169, 152, 150, 151, 57, 151, 256, 256, 256, 152, 256, 151, 152, 120, 152, 256, 256, 256, 256, 256, 152, 256, 153, 153, 256, 256, 256, 156, 155, 153, 154, 72, 154, 256, 256, 256, 155, 256, 154, 155, 129, 155, 256, 256, 256, 256, 256, 155, 256, 143, 156, 256, 256, 256, 256, 256, 156, 155, 157, 157, 150, 256, 256, 160, 159, 150, 158, 57, 158, 151, 256, 256, 159, 256, 151, 159, 120, 159, 152, 256, 256, 256, 256, 152, 256, 153, 160, 169, 256, 256, 256, 256, 169, 159, 161, 161, 256, 256, 256, 164, 163, 161, 162, 81, 162, 256, 256, 256, 163, 256, 162, 163, 86, 163, 256, 256, 256, 256, 256, 163, 256, 140, 164, 256, 256, 256, 256, 256, 164, 163, 165, 165, 161, 256, 256, 168, 167, 161, 166, 81, 166, 162, 256, 256, 167, 256, 162, 167, 86, 167, 163, 256, 256, 256, 256, 163, 256, 140, 168, 164, 256, 256, 256, 256, 164, 167, 165, 169, 256, 256, 256, 256, 256, 169, 152, 161, 170, 149, 256, 256, 256, 256, 149, 145, 150, 171, 156, 256, 256, 256, 256, 156, 142, 157, 172, 164, 256, 164, 256, 256, 164, 139, 165, 173, 256, 256, 256, 256, 256, 173, 113, 133, 174, 155, 256, 155, 256, 256, 155, 256, 143, 175, 156, 256, 156, 256, 256, 156, 174, 157, 176, 136, 256, 256, 256, 256, 136, 126, 137, 177, 152, 256, 152, 256, 256, 152, 256, 153, 178, 169, 256, 169, 256, 256, 169, 177, 161, 179, 148, 256, 148, 256, 256, 148, 256, 146, 180, 149, 256, 149, 256, 256, 149, 179, 150, 181, 117, 256, 256, 256, 256, 117, 108, 118, 182, 123, 256, 123, 256, 256, 123, 105, 124, 183, 135, 256, 135, 256, 256, 135, 256, 127, 184, 136, 256, 136, 256, 256, 136, 183, 137, 185, 113, 256, 113, 256, 256, 113, 256, 114, 186, 173, 256, 173, 256, 256, 173, 185, 133, 187, 116, 256, 116, 256, 256, 116, 256, 109, 188, 117, 256, 117, 256, 256, 117, 187, 118, 189, 100, 256, 100, 256, 256, 100, 92, 101, 190, 99, 256, 256, 256, 256, 99, 256, 93, 191, 100, 256, 256, 256, 256, 100, 190, 101, 192, 122, 256, 256, 256, 256, 122, 256, 106, 193, 123, 256, 256, 256, 256, 123, 192, 124, 194, 139, 163, 167, 256, 256, 139, 256, 140, 195, 172, 164, 168, 256, 256, 172, 194, 165, 196, 256, 256, 256, 256, 256, 196, 51, 76, 197, 128, 154, 141, 198, 256, 128, 198, 129, 198, 174, 155, 142, 256, 256, 174, 256, 143, 199, 175, 156, 171, 256, 256, 175, 198, 157, 200, 79, 256, 79, 256, 256, 79, 70, 80, 201, 256, 256, 256, 256, 256, 201, 44, 68, 202, 104, 121, 87, 203, 256, 104, 203, 88, 203, 105, 122, 192, 256, 256, 105, 256, 106, 204, 182, 123, 193, 256, 256, 182, 203, 124, 205, 78, 256, 256, 256, 256, 78, 256, 71, 206, 79, 256, 256, 256, 256, 79, 205, 80, 207, 119, 151, 158, 208, 256, 119, 208, 120, 208, 177, 152, 159, 256, 256, 177, 256, 153, 209, 178, 169, 160, 256, 256, 178, 208, 161, 210, 110, 147, 144, 211, 256, 110, 211, 111, 211, 179, 148, 145, 256, 256, 179, 256, 146, 212, 180, 149, 170, 256, 256, 180, 211, 150, 213, 55, 256, 55, 256, 256, 55, 47, 56, 214, 96, 112, 130, 215, 256, 96, 215, 97, 215, 185, 113, 131, 256, 256, 185, 256, 114, 216, 186, 173, 132, 256, 256, 186, 215, 133, 217, 54, 256, 256, 256, 256, 54, 256, 48, 218, 55, 256, 256, 256, 256, 55, 217, 56, 219, 60, 256, 60, 256, 256, 60, 38, 61, 220, 102, 134, 125, 221, 256, 102, 221, 103, 221, 183, 135, 126, 256, 256, 183, 256, 127, 222, 184, 136, 176, 256, 256, 184, 221, 137, 223, 51, 256, 51, 256, 256, 51, 256, 52, 224, 196, 256, 196, 256, 256, 196, 223, 76, 225, 94, 115, 107, 226, 256, 94, 226, 95, 226, 187, 116, 108, 256, 256, 187, 256, 109, 227, 188, 117, 181, 256, 256, 188, 226, 118, 228, 34, 256, 34, 256, 256, 34, 27, 35, 229, 44, 256, 44, 256, 256, 44, 256, 45, 230, 201, 256, 201, 256, 256, 201, 229, 68, 231, 91, 98, 89, 232, 256, 91, 232, 90, 232, 92, 99, 190, 256, 256, 92, 256, 93, 233, 189, 100, 191, 256, 256, 189, 232, 101, 234, 33, 256, 256, 256, 256, 33, 256, 28, 235, 34, 256, 256, 256, 256, 34, 234, 35, 236, 38, 59, 83, 256, 256, 38, 256, 39, 237, 219, 60, 84, 256, 256, 219, 236, 61, 238, 69, 77, 62, 239, 256, 69, 239, 63, 239, 70, 78, 205, 256, 256, 70, 256, 71, 240, 200, 79, 206, 256, 256, 200, 239, 80, 241, 30, 50, 73, 242, 256, 30, 242, 31, 242, 223, 51, 74, 256, 256, 223, 256, 52, 243, 224, 196, 75, 256, 256, 224, 242, 76, 244, 46, 53, 40, 245, 256, 46, 245, 41, 245, 47, 54, 217, 256, 256, 47, 256, 48, 246, 213, 55, 218, 256, 256, 213, 245, 56, 247, 12, 256, 12, 256, 256, 12, 6, 13, 248, 24, 43, 65, 249, 256, 24, 249, 25, 249, 229, 44, 66, 256, 256, 229, 256, 45, 250, 230, 201, 67, 256, 256, 230, 249, 68, 251, 26, 32, 21, 252, 256, 26, 252, 22, 252, 27, 33, 234, 256, 256, 27, 256, 28, 253, 228, 34, 235, 256, 256, 228, 252, 35, 254, 6, 11, 17, 256, 256, 6, 256, 7, 255, 247, 12, 18, 256, 256, 247, 254, 13}; /* Vector of min issue delay of insns. */ static const unsigned char bdver3_ieu_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 1, 0, 16, 0, 0, 16, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 16, 0, 0, 1, 17, 1, 0, 0, 17, 17, 16, 16, 1, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16, 0, 0, 0, 17, 1, 0, 0, 1, 17, 16, 16, 0, 17, 17, 0, 0, 0, 0, 16, 0, 0, 17, 0, 0, 0, 1, 16, 16, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 32, 1, 0, 0, 1, 0, 0, 0, 0, 16, 1, 0, 0, 1, 1, 16, 16, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 32, 1, 0, 0, 17, 16, 0, 0, 1, 17, 1, 0, 0, 17, 17, 16, 16, 1, 17, 17, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 2, 0, 16, 0, 0, 32, 17, 1, 0, 1, 16, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 1, 33, 0, 0, 0, 18, 16, 16, 0, 1, 33, 17, 1, 0, 1, 0, 0, 0, 0, 16, 1, 0, 0, 1, 1, 16, 16, 0, 0, 0, 0, 0, 34, 32, 0, 0, 2, 34, 1, 0, 0, 34, 33, 16, 16, 1, 17, 0, 0, 0, 17, 16, 16, 0, 1, 17, 17, 1, 0, 17, 17, 16, 0, 0, 0, 0, 0, 0, 18, 32, 0, 0, 1, 34, 1, 0, 0, 18, 33, 16, 16, 1, 34, 17, 0, 0, 1, 16, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 2, 16, 16, 0, 0, 33, 17, 1, 0, 2, 17, 16, 0, 0, 16, 0, 0, 0, 1, 0, 16, 0, 0, 16, 17, 1, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 2, 32, 16, 0, 0, 34, 17, 1, 0, 2, 33, 16, 0, 1, 17, 0, 0, 0, 17, 16, 16, 0, 1, 17, 17, 1, 0, 17, 17, 16, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 0, 34, 1, 0, 0, 2, 33, 16, 16, 0, 34, 17, 0, 0, 0, 0, 16, 0, 0, 50, 0, 0, 0, 4, 32, 16, 0, 0, 49, 0, 0, 0, 4, 16, 16, 0, 0, 48, 0, 0, 0, 4, 0, 16, 0, 0, 64, 17, 1, 0, 3, 0, 0, 0, 0, 64, 1, 0, 0, 3, 0, 0, 0, 0, 64, 1, 0, 0, 19, 16, 0, 0, 1, 65, 1, 0, 0, 20, 17, 16, 16, 1, 65, 17, 0, 0, 3, 0, 0, 0, 0, 64, 1, 0, 0, 3, 0, 0, 0, 0, 64, 1, 0, 0, 4, 1, 16, 16, 0, 49, 0, 0, 0, 4, 16, 16, 0, 0, 65, 17, 1, 0, 3, 0, 0, 0, 0, 64, 1, 0, 0, 35, 32, 0, 0, 2, 66, 1, 0, 0, 36, 33, 16, 16, 1, 49, 0, 0, 0, 20, 16, 16, 0, 1, 65, 17, 1, 0, 20, 17, 16, 0, 0, 48, 0, 0, 0, 4, 0, 16, 0, 1, 50, 0, 0, 0, 20, 32, 16, 0, 1, 66, 17, 1, 0, 20, 33, 16, 0, 0, 49, 0, 0, 0, 4, 16, 16, 0, 0, 65, 17, 1, 0, 3, 0, 0, 0, 0, 64, 1, 0, 0, 3, 32, 0, 0, 0, 66, 1, 0, 0, 4, 33, 16, 16, 0, 66, 17, 0, 0, 19, 16, 0, 0, 1, 65, 1, 0, 0, 20, 17, 16, 16, 1, 65, 17, 0, 0, 3, 0, 0, 0, 0, 64, 1, 0, 0, 4, 1, 16, 16, 0, 51, 0, 0, 0, 4, 48, 16, 0, 0, 68, 17, 1, 0, 3, 48, 0, 0, 0, 67, 1, 0, 0, 4, 65, 16, 16, 3, 51, 0, 0, 0, 52, 48, 16, 0, 4, 68, 17, 1, 0, 52, 65, 16, 0, 2, 51, 0, 0, 0, 36, 48, 16, 0, 2, 68, 17, 1, 0, 19, 48, 0, 0, 1, 67, 1, 0, 0, 20, 65, 16, 16, 1, 68, 17, 0, 0, 3, 48, 0, 0, 0, 67, 1, 0, 0, 4, 65, 16, 16, 0, 68, 17, 0, 0, 19, 48, 0, 0, 1, 67, 1, 0, 0, 20, 65, 16, 16, 1, 68, 17, 0, 0, 3, 48, 0, 0, 0, 67, 1, 0, 0, 4, 65, 16, 16, 0, 68, 17, 0, 0, 36, 65, 16, 0, 0, 68, 17, 0, 0, 4, 65, 16, 0, 0, 64, 17, 0, 0, 36, 33, 16, 0, 0, 64, 17, 1, 0, 4, 1, 16, 0, 0, 65, 17, 0, 0, 4, 1, 16, 16, 0, 64, 17, 0, 0, 4, 1, 16, 16, 0, 64, 17, 0, 0, 4, 17, 16, 0, 0, 64, 17, 0, 0, 4, 1, 16, 16, 0, 64, 17, 0, 0, 4, 1, 16, 16, 0, 64, 17, 0, 0, 4, 1, 16, 16, 0, 64, 17, 0, 0, 4, 1, 16, 0, 0, 65, 17, 1, 0, 4, 17, 16, 0, 0, 66, 17, 1, 0, 4, 33, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 2, 34, 17, 0, 0, 0, 0, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 0, 16, 17, 0, 0, 18, 17, 16, 0, 0, 0, 1, 0, 0, 0, 1, 16, 16, 0, 0, 17, 0, 0, 1, 17, 16, 16, 0, 17, 17, 0, 0, 0, 0, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 0, 0, 1, 0, 0, 0, 1, 16, 16, 0, 0, 17, 0, 0, 1, 1, 16, 0, 0, 0, 1, 0, 0, 0, 1, 16, 16, 0, 0, 17, 0, 0, 1, 17, 16, 16, 0, 17, 17, 0, 0, 2, 1, 16, 0, 0, 0, 1, 0, 0, 0, 1, 16, 16, 0, 0, 17, 0, 0, 2, 1, 16, 16, 0, 32, 17, 0, 0, 0, 0, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 0, 16, 17, 0, 0, 2, 1, 16, 16, 0, 32, 17, 0, 0, 0, 0, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 0, 17, 17, 1, 0, 1, 17, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 0, 0, 1, 0, 0, 0, 1, 16, 16, 0, 0, 17, 0, 0, 0, 0, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 0, 0, 1, 0, 0, 0, 1, 16, 16, 0, 0, 17, 0, 0, 1, 1, 16, 0, 0, 0, 1, 0, 0, 0, 1, 16, 16, 0, 0, 17, 0, 0, 0, 0, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0, 0, 0, 17, 1, 0, 0, 1, 16, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver3_load_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 1, 3, 0, 2, 1, 1, 1, 4, 1, 5, 1, 6, 7, 7, 0, 1, 0, 8, 0, 0, 1, 0, 3, 3, 9, 8, 0, 1, 0, 0, 1, 8, 1, 1, 8, 1, 1, 1, 1, 1, 10, 11, 12, 0, 0, 0, 8, 0, 1, 0, 8, 1, 0, 0, 1, 0, 8, 0, 3, 9, 1, 0, 1, 0, 8, 0, 1, 0, 8, 0, 8, 0, 8, 0, 8, 0, 8, 0, 1, 0, 8, 0, 1, 0, 1, 0, 1, 0, 8, 0, 8, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, }; /* Vector for state transitions. */ static const unsigned short bdver3_load_transitions[] ATTRIBUTE_UNUSED = { 0, 3, 4, 299, 339, 360, 359, 357, 2, 327, 354, 336, 1, 0, 1, 306, 266, 361, 307, 361, 361, 336, 254, 361, 352, 331, 327, 2, 2, 179, 166, 141, 180, 351, 350, 348, 272, 234, 345, 258, 254, 3, 3, 219, 5, 204, 220, 361, 344, 342, 179, 299, 339, 310, 306, 4, 4, 5, 361, 192, 318, 320, 323, 325, 166, 271, 334, 221, 266, 0, 5, 6, 361, 33, 264, 361, 314, 315, 80, 192, 318, 171, 187, 4, 6, 361, 361, 361, 361, 361, 7, 284, 47, 33, 264, 95, 133, 4, 7, 361, 361, 361, 361, 361, 361, 361, 8, 361, 361, 361, 361, 286, 8, 361, 361, 361, 361, 361, 361, 361, 9, 361, 361, 361, 361, 248, 9, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 10, 10, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 11, 11, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 12, 12, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 13, 13, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 14, 14, 361, 361, 361, 361, 361, 361, 15, 361, 361, 24, 361, 361, 30, 15, 361, 361, 361, 361, 361, 361, 13, 361, 361, 16, 361, 361, 17, 16, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 15, 17, 361, 361, 361, 361, 361, 361, 18, 361, 361, 66, 15, 14, 47, 18, 361, 361, 361, 361, 361, 361, 19, 361, 361, 56, 13, 15, 59, 19, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 13, 20, 20, 361, 361, 361, 361, 361, 361, 21, 14, 361, 52, 361, 361, 92, 21, 361, 361, 361, 361, 361, 361, 22, 15, 361, 53, 361, 361, 65, 22, 361, 361, 361, 361, 361, 361, 361, 13, 361, 361, 361, 361, 23, 23, 14, 361, 361, 24, 361, 361, 25, 361, 361, 28, 361, 361, 30, 24, 361, 361, 361, 361, 361, 361, 16, 361, 361, 12, 361, 361, 18, 25, 15, 361, 361, 16, 361, 361, 26, 361, 361, 27, 361, 361, 17, 26, 13, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 14, 27, 16, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 15, 28, 24, 361, 361, 12, 361, 361, 27, 361, 361, 29, 361, 361, 18, 29, 12, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 13, 30, 361, 361, 361, 361, 361, 9, 31, 361, 14, 93, 18, 17, 6, 31, 361, 361, 361, 361, 361, 361, 32, 361, 15, 83, 19, 18, 133, 32, 361, 361, 361, 361, 361, 361, 361, 361, 13, 361, 361, 19, 33, 33, 361, 361, 361, 361, 361, 361, 34, 20, 361, 138, 361, 361, 193, 34, 361, 361, 361, 361, 361, 361, 35, 21, 361, 85, 361, 361, 88, 35, 361, 361, 361, 361, 361, 361, 361, 22, 361, 361, 361, 361, 36, 36, 23, 361, 361, 28, 361, 361, 37, 361, 361, 119, 361, 361, 225, 37, 25, 361, 361, 27, 361, 361, 38, 361, 361, 45, 361, 361, 46, 38, 26, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 39, 39, 361, 14, 361, 361, 361, 361, 43, 361, 361, 40, 361, 361, 30, 40, 361, 24, 361, 361, 361, 361, 42, 361, 361, 41, 361, 361, 18, 41, 361, 12, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 13, 42, 361, 16, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 15, 43, 361, 15, 361, 361, 361, 361, 44, 361, 361, 42, 361, 361, 17, 44, 361, 13, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 14, 45, 27, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 43, 46, 361, 17, 361, 361, 361, 361, 117, 361, 361, 113, 43, 39, 47, 47, 361, 361, 361, 361, 361, 8, 48, 30, 20, 81, 60, 59, 5, 48, 361, 361, 361, 361, 361, 361, 49, 31, 21, 82, 50, 60, 187, 49, 361, 361, 361, 361, 361, 361, 361, 32, 22, 361, 361, 50, 192, 50, 361, 361, 361, 361, 361, 361, 361, 19, 361, 361, 361, 22, 51, 51, 20, 361, 361, 52, 361, 361, 62, 23, 361, 79, 361, 361, 92, 52, 361, 361, 361, 361, 361, 361, 53, 24, 361, 54, 361, 361, 55, 53, 361, 361, 361, 361, 361, 361, 361, 16, 361, 361, 361, 361, 25, 54, 361, 361, 361, 361, 361, 361, 361, 12, 361, 361, 361, 361, 26, 55, 18, 361, 361, 56, 361, 361, 57, 361, 361, 58, 26, 25, 59, 56, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 16, 21, 57, 19, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 26, 20, 58, 56, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 27, 21, 59, 361, 361, 361, 361, 361, 361, 60, 17, 361, 71, 21, 20, 80, 60, 361, 361, 361, 361, 361, 361, 50, 18, 361, 61, 22, 21, 70, 61, 361, 361, 361, 361, 361, 361, 361, 56, 361, 361, 361, 53, 62, 62, 21, 361, 361, 53, 361, 361, 63, 25, 361, 64, 361, 361, 65, 63, 22, 361, 361, 361, 361, 361, 361, 26, 361, 361, 361, 361, 23, 64, 53, 361, 361, 361, 361, 361, 361, 27, 361, 361, 361, 361, 25, 65, 17, 361, 361, 66, 361, 361, 55, 361, 361, 68, 25, 23, 47, 66, 361, 361, 361, 361, 361, 361, 56, 361, 361, 67, 16, 24, 60, 67, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 12, 22, 68, 66, 361, 361, 67, 361, 361, 58, 361, 361, 69, 27, 28, 60, 69, 67, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 29, 22, 70, 59, 361, 361, 71, 361, 361, 73, 65, 361, 76, 62, 51, 80, 71, 361, 361, 361, 361, 361, 361, 61, 66, 361, 72, 53, 52, 73, 72, 361, 361, 361, 361, 361, 361, 361, 67, 361, 361, 361, 54, 63, 73, 60, 361, 361, 61, 361, 361, 74, 55, 361, 75, 63, 62, 70, 74, 50, 361, 361, 361, 361, 361, 361, 57, 361, 361, 361, 63, 51, 75, 61, 361, 361, 361, 361, 361, 361, 58, 361, 361, 361, 64, 62, 76, 71, 361, 361, 72, 361, 361, 75, 68, 361, 77, 64, 79, 73, 77, 72, 361, 361, 361, 361, 361, 361, 69, 361, 361, 361, 78, 63, 78, 54, 361, 361, 361, 361, 361, 361, 29, 361, 361, 361, 361, 26, 79, 52, 361, 361, 54, 361, 361, 64, 28, 361, 78, 361, 361, 55, 80, 47, 361, 20, 81, 361, 292, 290, 92, 51, 167, 73, 70, 5, 81, 361, 361, 361, 361, 361, 361, 82, 93, 52, 168, 61, 71, 171, 82, 361, 361, 361, 361, 361, 361, 361, 83, 53, 361, 361, 61, 84, 83, 361, 361, 361, 361, 361, 361, 361, 361, 16, 361, 361, 56, 34, 84, 34, 361, 361, 85, 361, 361, 86, 62, 361, 87, 361, 361, 88, 85, 361, 361, 361, 361, 361, 361, 361, 53, 361, 361, 361, 361, 37, 86, 35, 361, 361, 361, 361, 361, 361, 63, 361, 361, 361, 361, 36, 87, 85, 361, 361, 361, 361, 361, 361, 64, 361, 361, 361, 361, 37, 88, 65, 361, 361, 68, 361, 361, 89, 361, 361, 176, 37, 36, 244, 89, 55, 361, 361, 58, 361, 361, 90, 361, 361, 153, 38, 37, 165, 90, 57, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 38, 91, 91, 361, 20, 361, 361, 361, 361, 151, 39, 361, 147, 361, 361, 92, 92, 30, 361, 14, 93, 361, 198, 201, 361, 23, 130, 55, 65, 6, 93, 361, 361, 361, 361, 361, 361, 83, 361, 24, 94, 56, 66, 95, 94, 361, 361, 361, 361, 361, 361, 361, 361, 12, 361, 361, 67, 35, 95, 361, 361, 361, 361, 361, 361, 96, 60, 361, 135, 35, 34, 174, 96, 361, 361, 361, 361, 361, 361, 361, 50, 361, 361, 361, 35, 97, 97, 51, 361, 361, 79, 361, 361, 98, 36, 361, 118, 361, 361, 122, 98, 62, 361, 361, 64, 361, 361, 99, 37, 361, 106, 361, 361, 107, 99, 63, 361, 361, 361, 361, 361, 361, 38, 361, 361, 361, 361, 100, 100, 39, 23, 361, 40, 361, 361, 104, 361, 361, 101, 361, 361, 30, 101, 40, 28, 361, 41, 361, 361, 103, 361, 361, 102, 361, 361, 18, 102, 41, 29, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 13, 103, 42, 27, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 15, 104, 43, 25, 361, 42, 361, 361, 105, 361, 361, 103, 361, 361, 17, 105, 44, 26, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 14, 106, 64, 361, 361, 361, 361, 361, 361, 45, 361, 361, 361, 361, 104, 107, 46, 65, 361, 113, 361, 361, 114, 361, 361, 108, 104, 100, 47, 108, 113, 68, 361, 110, 361, 361, 111, 361, 361, 109, 103, 101, 60, 109, 110, 69, 361, 361, 361, 361, 361, 361, 361, 361, 361, 102, 22, 110, 361, 67, 361, 361, 361, 361, 361, 361, 361, 361, 361, 41, 22, 111, 112, 58, 361, 361, 361, 361, 361, 361, 361, 361, 361, 103, 21, 112, 361, 56, 361, 361, 361, 361, 361, 361, 361, 361, 361, 42, 21, 113, 361, 66, 361, 361, 361, 361, 112, 361, 361, 110, 42, 40, 60, 114, 117, 55, 361, 112, 361, 361, 115, 361, 361, 111, 105, 104, 59, 115, 116, 57, 361, 361, 361, 361, 361, 361, 361, 361, 361, 105, 20, 116, 361, 19, 361, 361, 361, 361, 361, 361, 361, 361, 361, 44, 20, 117, 361, 18, 361, 361, 361, 361, 116, 361, 361, 112, 44, 43, 59, 118, 79, 361, 361, 78, 361, 361, 106, 119, 361, 121, 361, 361, 114, 119, 28, 361, 361, 29, 361, 361, 45, 361, 361, 120, 361, 361, 117, 120, 29, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 44, 121, 78, 361, 361, 361, 361, 361, 361, 120, 361, 361, 361, 361, 105, 122, 225, 92, 39, 131, 361, 280, 132, 361, 100, 123, 114, 107, 6, 123, 131, 130, 40, 126, 361, 361, 127, 361, 101, 124, 111, 108, 95, 124, 126, 125, 41, 361, 361, 361, 361, 361, 102, 361, 361, 109, 35, 125, 94, 361, 12, 361, 361, 361, 361, 361, 29, 361, 361, 69, 35, 126, 361, 94, 361, 361, 361, 361, 361, 361, 41, 361, 361, 110, 35, 127, 129, 128, 42, 361, 361, 361, 361, 361, 103, 361, 361, 111, 34, 128, 83, 361, 16, 361, 361, 361, 361, 361, 27, 361, 361, 58, 34, 129, 361, 83, 361, 361, 361, 361, 361, 361, 42, 361, 361, 112, 34, 130, 93, 361, 24, 94, 361, 361, 128, 361, 28, 125, 58, 68, 95, 131, 361, 93, 361, 361, 361, 361, 129, 361, 40, 126, 112, 113, 95, 132, 226, 201, 43, 129, 361, 361, 278, 361, 104, 127, 115, 114, 133, 133, 361, 361, 361, 361, 361, 361, 95, 59, 361, 134, 34, 33, 166, 134, 361, 361, 361, 361, 361, 361, 135, 71, 361, 136, 85, 138, 139, 135, 361, 361, 361, 361, 361, 361, 361, 61, 361, 361, 361, 85, 98, 136, 361, 361, 361, 361, 361, 361, 361, 72, 361, 361, 361, 137, 99, 137, 361, 361, 361, 361, 361, 361, 361, 54, 361, 361, 361, 361, 38, 138, 361, 361, 361, 361, 361, 361, 85, 52, 361, 137, 361, 361, 89, 139, 73, 361, 361, 75, 361, 361, 140, 89, 361, 152, 99, 98, 154, 140, 74, 361, 361, 361, 361, 361, 361, 90, 361, 361, 361, 99, 141, 141, 91, 51, 361, 147, 361, 361, 148, 100, 361, 142, 361, 361, 92, 142, 147, 79, 361, 144, 361, 361, 145, 101, 361, 143, 361, 361, 55, 143, 144, 78, 361, 361, 361, 361, 361, 102, 361, 361, 361, 361, 26, 144, 361, 54, 361, 361, 361, 361, 361, 41, 361, 361, 361, 361, 26, 145, 146, 64, 361, 361, 361, 361, 361, 103, 361, 361, 361, 361, 25, 146, 361, 53, 361, 361, 361, 361, 361, 42, 361, 361, 361, 361, 25, 147, 361, 52, 361, 361, 361, 361, 146, 40, 361, 144, 361, 361, 55, 148, 151, 62, 361, 146, 361, 361, 149, 104, 361, 145, 361, 361, 65, 149, 150, 63, 361, 361, 361, 361, 361, 105, 361, 361, 361, 361, 23, 150, 361, 22, 361, 361, 361, 361, 361, 44, 361, 361, 361, 361, 23, 151, 361, 21, 361, 361, 361, 361, 150, 43, 361, 146, 361, 361, 65, 152, 75, 361, 361, 361, 361, 361, 361, 153, 361, 361, 361, 106, 148, 153, 58, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 45, 151, 154, 165, 70, 361, 160, 361, 361, 161, 107, 361, 155, 148, 141, 80, 155, 160, 76, 361, 157, 361, 361, 158, 108, 361, 156, 145, 142, 73, 156, 157, 77, 361, 361, 361, 361, 361, 109, 361, 361, 361, 143, 63, 157, 361, 72, 361, 361, 361, 361, 361, 110, 361, 361, 361, 144, 63, 158, 159, 75, 361, 361, 361, 361, 361, 111, 361, 361, 361, 145, 62, 159, 361, 61, 361, 361, 361, 361, 361, 112, 361, 361, 361, 146, 62, 160, 361, 71, 361, 361, 361, 361, 159, 113, 361, 157, 146, 147, 73, 161, 164, 73, 361, 159, 361, 361, 162, 114, 361, 158, 149, 148, 70, 162, 163, 74, 361, 361, 361, 361, 361, 115, 361, 361, 361, 149, 51, 163, 361, 50, 361, 361, 361, 361, 361, 116, 361, 361, 361, 150, 51, 164, 361, 60, 361, 361, 361, 361, 163, 117, 361, 159, 150, 151, 70, 165, 361, 59, 361, 361, 361, 361, 164, 46, 361, 160, 151, 91, 80, 166, 80, 361, 51, 167, 293, 295, 297, 193, 97, 312, 139, 174, 3, 167, 81, 361, 52, 168, 361, 361, 169, 130, 79, 170, 75, 76, 171, 168, 361, 361, 361, 361, 361, 361, 361, 94, 54, 361, 361, 72, 86, 169, 82, 361, 53, 361, 361, 361, 361, 128, 64, 361, 361, 75, 84, 170, 168, 361, 54, 361, 361, 361, 361, 125, 78, 361, 361, 77, 86, 171, 95, 361, 361, 135, 361, 361, 172, 73, 361, 173, 86, 84, 174, 172, 96, 361, 361, 361, 361, 361, 361, 74, 361, 361, 361, 86, 97, 173, 135, 361, 361, 361, 361, 361, 361, 75, 361, 361, 361, 87, 98, 174, 70, 361, 361, 76, 361, 361, 139, 88, 361, 175, 98, 97, 179, 175, 76, 361, 361, 77, 361, 361, 152, 176, 361, 178, 106, 118, 161, 176, 68, 361, 361, 69, 361, 361, 153, 361, 361, 177, 45, 119, 164, 177, 69, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 120, 150, 178, 77, 361, 361, 361, 361, 361, 361, 177, 361, 361, 361, 121, 149, 179, 244, 80, 91, 185, 361, 291, 186, 122, 141, 180, 161, 154, 5, 180, 185, 167, 147, 182, 361, 361, 183, 123, 142, 181, 158, 155, 171, 181, 182, 170, 144, 361, 361, 361, 361, 124, 143, 361, 361, 156, 86, 182, 361, 168, 361, 361, 361, 361, 361, 126, 144, 361, 361, 157, 86, 183, 184, 169, 146, 361, 361, 361, 361, 127, 145, 361, 361, 158, 84, 184, 361, 82, 361, 361, 361, 361, 361, 129, 146, 361, 361, 159, 84, 185, 361, 81, 361, 361, 361, 361, 184, 131, 147, 182, 159, 160, 171, 186, 245, 290, 151, 184, 361, 361, 288, 132, 148, 183, 162, 161, 187, 187, 133, 361, 361, 134, 361, 361, 171, 70, 361, 188, 84, 192, 166, 188, 134, 361, 361, 136, 361, 361, 173, 76, 361, 189, 87, 191, 139, 189, 136, 361, 361, 361, 361, 361, 361, 77, 361, 361, 361, 190, 99, 190, 137, 361, 361, 361, 361, 361, 361, 78, 361, 361, 361, 361, 38, 191, 138, 361, 361, 137, 361, 361, 87, 79, 361, 190, 361, 361, 89, 192, 33, 361, 361, 138, 361, 361, 84, 51, 361, 191, 361, 361, 193, 193, 92, 361, 23, 130, 194, 197, 200, 361, 36, 217, 89, 88, 219, 194, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 195, 195, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 196, 196, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 9, 197, 198, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 199, 198, 9, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 10, 199, 361, 10, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 11, 200, 201, 361, 25, 128, 361, 361, 203, 361, 37, 210, 90, 89, 211, 201, 31, 361, 15, 83, 361, 361, 202, 361, 25, 128, 57, 55, 133, 202, 32, 361, 13, 361, 361, 361, 361, 361, 26, 361, 361, 57, 33, 203, 202, 361, 26, 361, 361, 361, 361, 361, 38, 361, 361, 90, 204, 204, 361, 33, 361, 361, 361, 361, 208, 91, 361, 205, 361, 361, 193, 205, 361, 138, 361, 361, 361, 361, 207, 147, 361, 206, 361, 361, 89, 206, 361, 137, 361, 361, 361, 361, 361, 144, 361, 361, 361, 361, 38, 207, 361, 85, 361, 361, 361, 361, 361, 146, 361, 361, 361, 361, 37, 208, 361, 34, 361, 361, 361, 361, 209, 151, 361, 207, 361, 361, 88, 209, 361, 35, 361, 361, 361, 361, 361, 150, 361, 361, 361, 361, 36, 210, 128, 361, 27, 361, 361, 361, 361, 361, 45, 361, 361, 153, 208, 211, 361, 133, 361, 361, 361, 361, 215, 165, 361, 212, 208, 204, 166, 212, 361, 134, 361, 361, 361, 361, 214, 160, 361, 213, 207, 205, 139, 213, 361, 136, 361, 361, 361, 361, 361, 157, 361, 361, 361, 206, 99, 214, 361, 135, 361, 361, 361, 361, 361, 159, 361, 361, 361, 207, 98, 215, 361, 95, 361, 361, 361, 361, 216, 164, 361, 214, 209, 208, 174, 216, 361, 96, 361, 361, 361, 361, 361, 163, 361, 361, 361, 209, 97, 217, 130, 361, 28, 125, 361, 361, 210, 361, 119, 218, 153, 176, 215, 218, 125, 361, 29, 361, 361, 361, 361, 361, 120, 361, 361, 177, 209, 219, 361, 6, 361, 361, 361, 285, 265, 244, 204, 220, 215, 211, 4, 220, 361, 264, 361, 361, 361, 361, 262, 185, 205, 260, 214, 212, 221, 221, 171, 361, 361, 173, 361, 361, 222, 139, 361, 240, 223, 242, 254, 222, 172, 361, 361, 361, 361, 361, 361, 140, 361, 361, 361, 223, 234, 223, 86, 361, 361, 361, 361, 361, 361, 99, 361, 361, 361, 361, 224, 224, 100, 36, 361, 101, 361, 361, 232, 361, 361, 229, 361, 361, 225, 225, 361, 30, 361, 361, 361, 228, 226, 361, 39, 131, 117, 46, 6, 226, 361, 31, 361, 361, 361, 361, 227, 361, 43, 129, 116, 117, 133, 227, 361, 32, 361, 361, 361, 361, 361, 361, 44, 361, 361, 116, 33, 228, 361, 9, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 10, 229, 101, 119, 361, 102, 361, 361, 231, 361, 361, 230, 361, 361, 117, 230, 102, 120, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 44, 231, 103, 45, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 43, 232, 104, 37, 361, 103, 361, 361, 233, 361, 361, 231, 361, 361, 46, 233, 105, 38, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 39, 234, 141, 97, 361, 142, 361, 361, 238, 224, 361, 235, 361, 361, 122, 235, 142, 118, 361, 143, 361, 361, 237, 229, 361, 236, 361, 361, 114, 236, 143, 121, 361, 361, 361, 361, 361, 230, 361, 361, 361, 361, 105, 237, 145, 106, 361, 361, 361, 361, 361, 231, 361, 361, 361, 361, 104, 238, 148, 98, 361, 145, 361, 361, 239, 232, 361, 237, 361, 361, 107, 239, 149, 99, 361, 361, 361, 361, 361, 233, 361, 361, 361, 361, 100, 240, 173, 361, 361, 361, 361, 361, 361, 152, 361, 361, 361, 241, 238, 241, 87, 361, 361, 361, 361, 361, 361, 106, 361, 361, 361, 361, 232, 242, 84, 361, 361, 87, 361, 361, 223, 98, 361, 241, 361, 361, 243, 243, 107, 88, 361, 108, 361, 361, 252, 361, 361, 249, 232, 224, 244, 244, 361, 47, 361, 361, 361, 247, 245, 225, 91, 185, 164, 165, 5, 245, 361, 48, 361, 361, 361, 361, 246, 226, 151, 184, 163, 164, 187, 246, 361, 49, 361, 361, 361, 361, 361, 227, 150, 361, 361, 163, 192, 247, 361, 8, 361, 361, 361, 361, 361, 228, 361, 361, 361, 361, 248, 248, 10, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 11, 249, 108, 176, 361, 109, 361, 361, 251, 361, 361, 250, 231, 229, 164, 250, 109, 177, 361, 361, 361, 361, 361, 361, 361, 361, 361, 230, 150, 251, 111, 153, 361, 361, 361, 361, 361, 361, 361, 361, 361, 231, 151, 252, 114, 89, 361, 111, 361, 361, 253, 361, 361, 251, 233, 232, 165, 253, 115, 90, 361, 361, 361, 361, 361, 361, 361, 361, 361, 233, 91, 254, 154, 174, 361, 155, 361, 361, 258, 243, 361, 255, 238, 234, 179, 255, 155, 175, 361, 156, 361, 361, 257, 249, 361, 256, 237, 235, 161, 256, 156, 178, 361, 361, 361, 361, 361, 250, 361, 361, 361, 236, 149, 257, 158, 152, 361, 361, 361, 361, 361, 251, 361, 361, 361, 237, 148, 258, 161, 139, 361, 158, 361, 361, 259, 252, 361, 257, 239, 238, 154, 259, 162, 140, 361, 361, 361, 361, 361, 253, 361, 361, 361, 239, 141, 260, 361, 261, 361, 361, 361, 361, 361, 182, 206, 361, 361, 213, 223, 261, 361, 361, 361, 361, 361, 361, 361, 168, 137, 361, 361, 136, 223, 262, 361, 263, 361, 361, 361, 361, 361, 184, 207, 361, 361, 214, 242, 263, 361, 361, 361, 361, 361, 361, 361, 82, 85, 361, 361, 135, 242, 264, 361, 361, 361, 361, 361, 361, 263, 81, 138, 261, 135, 134, 221, 265, 361, 284, 361, 361, 361, 361, 282, 245, 208, 262, 216, 215, 266, 266, 187, 361, 361, 188, 361, 361, 221, 174, 361, 267, 242, 271, 2, 267, 188, 361, 361, 189, 361, 361, 240, 175, 361, 268, 241, 270, 258, 268, 189, 361, 361, 361, 361, 361, 361, 178, 361, 361, 361, 269, 239, 269, 190, 361, 361, 361, 361, 361, 361, 121, 361, 361, 361, 361, 233, 270, 191, 361, 361, 190, 361, 361, 241, 118, 361, 269, 361, 361, 252, 271, 192, 361, 361, 191, 361, 361, 242, 97, 361, 270, 361, 361, 272, 272, 122, 193, 100, 123, 281, 279, 276, 361, 224, 273, 252, 243, 219, 273, 123, 217, 101, 124, 361, 361, 275, 361, 229, 274, 251, 249, 215, 274, 124, 218, 102, 361, 361, 361, 361, 361, 230, 361, 361, 250, 209, 275, 127, 210, 103, 361, 361, 361, 361, 361, 231, 361, 361, 251, 208, 276, 132, 200, 104, 127, 361, 361, 277, 361, 232, 275, 253, 252, 211, 277, 278, 203, 105, 361, 361, 361, 361, 361, 233, 361, 361, 253, 204, 278, 227, 202, 44, 361, 361, 361, 361, 361, 105, 361, 361, 115, 33, 279, 280, 197, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 199, 280, 228, 198, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 10, 281, 361, 194, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 195, 282, 361, 283, 361, 361, 361, 361, 361, 246, 209, 361, 361, 216, 271, 283, 361, 361, 361, 361, 361, 361, 361, 49, 35, 361, 361, 96, 271, 284, 361, 361, 361, 361, 361, 361, 283, 48, 34, 263, 96, 95, 266, 285, 361, 7, 361, 361, 361, 361, 361, 247, 361, 361, 361, 361, 286, 286, 248, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 287, 287, 361, 11, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 12, 288, 246, 289, 150, 361, 361, 361, 361, 278, 149, 361, 361, 162, 192, 289, 49, 361, 22, 361, 361, 361, 361, 202, 63, 361, 361, 74, 192, 290, 48, 361, 21, 82, 361, 361, 289, 201, 62, 169, 74, 73, 187, 291, 247, 292, 361, 361, 361, 361, 361, 280, 361, 361, 361, 361, 248, 292, 8, 361, 361, 361, 361, 361, 361, 198, 361, 361, 361, 361, 248, 293, 361, 361, 361, 361, 361, 361, 361, 194, 361, 361, 361, 361, 294, 294, 195, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 196, 295, 292, 361, 361, 361, 361, 361, 361, 197, 361, 361, 361, 361, 296, 296, 199, 248, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 11, 297, 290, 361, 62, 169, 361, 361, 298, 200, 98, 305, 140, 139, 306, 298, 289, 361, 63, 361, 361, 361, 361, 203, 99, 361, 361, 140, 299, 299, 204, 192, 361, 205, 361, 361, 303, 141, 361, 300, 361, 361, 193, 300, 205, 191, 361, 206, 361, 361, 302, 142, 361, 301, 361, 361, 89, 301, 206, 190, 361, 361, 361, 361, 361, 143, 361, 361, 361, 361, 38, 302, 207, 87, 361, 361, 361, 361, 361, 145, 361, 361, 361, 361, 37, 303, 208, 84, 361, 207, 361, 361, 304, 148, 361, 302, 361, 361, 88, 304, 209, 86, 361, 361, 361, 361, 361, 149, 361, 361, 361, 361, 36, 305, 169, 361, 64, 361, 361, 361, 361, 210, 106, 361, 361, 152, 303, 306, 211, 187, 361, 212, 361, 361, 310, 154, 361, 307, 303, 299, 166, 307, 212, 188, 361, 213, 361, 361, 309, 155, 361, 308, 302, 300, 139, 308, 213, 189, 361, 361, 361, 361, 361, 156, 361, 361, 361, 301, 99, 309, 214, 173, 361, 361, 361, 361, 361, 158, 361, 361, 361, 302, 98, 310, 215, 171, 361, 214, 361, 361, 311, 161, 361, 309, 304, 303, 174, 311, 216, 172, 361, 361, 361, 361, 361, 162, 361, 361, 361, 304, 97, 312, 167, 361, 79, 170, 361, 361, 305, 217, 118, 313, 152, 175, 310, 313, 170, 361, 78, 361, 361, 361, 361, 218, 121, 361, 361, 178, 304, 314, 7, 361, 361, 361, 361, 361, 361, 292, 361, 361, 361, 361, 286, 315, 284, 361, 34, 263, 361, 361, 316, 290, 84, 317, 172, 171, 266, 316, 283, 361, 35, 361, 361, 361, 361, 289, 86, 361, 361, 172, 271, 317, 263, 361, 85, 361, 361, 361, 361, 169, 87, 361, 361, 173, 242, 318, 264, 361, 138, 261, 361, 361, 317, 167, 191, 319, 173, 188, 221, 319, 261, 361, 137, 361, 361, 361, 361, 170, 190, 361, 361, 189, 223, 320, 361, 361, 361, 361, 361, 361, 361, 293, 361, 361, 361, 361, 321, 321, 294, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 322, 322, 361, 196, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 9, 323, 314, 361, 361, 361, 361, 361, 361, 295, 361, 361, 361, 361, 324, 324, 296, 286, 361, 361, 361, 361, 361, 361, 361, 361, 361, 361, 287, 325, 315, 361, 84, 317, 361, 361, 326, 297, 242, 333, 222, 221, 1, 326, 316, 361, 86, 361, 361, 361, 361, 298, 223, 361, 361, 222, 327, 327, 299, 271, 361, 300, 361, 361, 331, 234, 361, 328, 361, 361, 272, 328, 300, 270, 361, 301, 361, 361, 330, 235, 361, 329, 361, 361, 252, 329, 301, 269, 361, 361, 361, 361, 361, 236, 361, 361, 361, 361, 233, 330, 302, 241, 361, 361, 361, 361, 361, 237, 361, 361, 361, 361, 232, 331, 303, 242, 361, 302, 361, 361, 332, 238, 361, 330, 361, 361, 243, 332, 304, 223, 361, 361, 361, 361, 361, 239, 361, 361, 361, 361, 224, 333, 317, 361, 87, 361, 361, 361, 361, 305, 241, 361, 361, 240, 331, 334, 318, 361, 191, 319, 361, 361, 333, 312, 270, 335, 240, 267, 336, 335, 319, 361, 190, 361, 361, 361, 361, 313, 269, 361, 361, 268, 332, 336, 310, 221, 361, 309, 361, 361, 338, 258, 361, 337, 332, 331, 254, 337, 309, 240, 361, 361, 361, 361, 361, 257, 361, 361, 361, 330, 238, 338, 311, 222, 361, 361, 361, 361, 361, 259, 361, 361, 361, 332, 234, 339, 220, 318, 205, 260, 361, 361, 341, 180, 300, 340, 309, 307, 221, 340, 260, 319, 206, 361, 361, 361, 361, 181, 301, 361, 361, 308, 223, 341, 262, 317, 207, 361, 361, 361, 361, 183, 302, 361, 361, 309, 242, 342, 265, 315, 208, 262, 361, 361, 343, 186, 303, 341, 311, 310, 266, 343, 282, 316, 209, 361, 361, 361, 361, 288, 304, 361, 361, 311, 271, 344, 285, 314, 361, 361, 361, 361, 361, 291, 361, 361, 361, 361, 286, 345, 180, 312, 142, 181, 361, 361, 347, 273, 235, 346, 257, 255, 310, 346, 181, 313, 143, 361, 361, 361, 361, 274, 236, 361, 361, 256, 304, 347, 183, 305, 145, 361, 361, 361, 361, 275, 237, 361, 361, 257, 303, 348, 186, 297, 148, 183, 361, 361, 349, 276, 238, 347, 259, 258, 306, 349, 288, 298, 149, 361, 361, 361, 361, 277, 239, 361, 361, 259, 299, 350, 291, 295, 361, 361, 361, 361, 361, 279, 361, 361, 361, 361, 296, 351, 361, 293, 361, 361, 361, 361, 361, 281, 361, 361, 361, 361, 294, 352, 307, 267, 361, 308, 361, 361, 337, 255, 361, 353, 330, 328, 258, 353, 308, 268, 361, 361, 361, 361, 361, 256, 361, 361, 361, 329, 239, 354, 339, 334, 300, 340, 361, 361, 356, 345, 328, 355, 337, 352, 336, 355, 340, 335, 301, 361, 361, 361, 361, 346, 329, 361, 361, 353, 332, 356, 341, 333, 302, 361, 361, 361, 361, 347, 330, 361, 361, 337, 331, 357, 342, 325, 303, 341, 361, 361, 358, 348, 331, 356, 338, 336, 1, 358, 343, 326, 304, 361, 361, 361, 361, 349, 332, 361, 361, 338, 327, 359, 344, 323, 361, 361, 361, 361, 361, 350, 361, 361, 361, 361, 324, 360, 361, 320, 361, 361, 361, 361, 361, 351, 361, 361, 361, 361, 321}; /* Vector of min issue delay of insns. */ static const unsigned char bdver3_load_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 32, 1, 0, 0, 0, 0, 1, 33, 17, 0, 0, 0, 0, 1, 40, 136, 101, 6, 86, 96, 1, 152, 136, 101, 6, 86, 96, 8, 152, 136, 101, 118, 86, 96, 7, 135, 119, 84, 101, 69, 80, 6, 118, 102, 67, 84, 52, 64, 5, 101, 85, 50, 67, 35, 48, 4, 84, 68, 33, 50, 18, 32, 3, 67, 51, 16, 33, 1, 16, 3, 83, 52, 32, 34, 1, 16, 4, 100, 69, 49, 51, 18, 32, 2, 66, 35, 16, 17, 0, 0, 2, 82, 36, 32, 18, 0, 0, 2, 82, 36, 33, 18, 18, 0, 1, 65, 19, 16, 1, 1, 16, 1, 83, 20, 32, 2, 1, 16, 1, 84, 20, 33, 2, 18, 32, 0, 67, 3, 16, 33, 1, 16, 3, 99, 53, 48, 35, 1, 16, 0, 83, 4, 32, 34, 1, 16, 0, 84, 68, 33, 50, 18, 32, 0, 100, 69, 49, 51, 18, 32, 0, 99, 5, 48, 35, 1, 16, 0, 101, 85, 50, 67, 35, 48, 2, 50, 34, 0, 16, 0, 0, 2, 50, 34, 32, 16, 0, 0, 2, 50, 34, 33, 16, 18, 0, 1, 33, 17, 16, 1, 1, 16, 1, 35, 20, 32, 2, 1, 16, 1, 36, 20, 33, 2, 18, 32, 0, 19, 3, 16, 33, 1, 16, 0, 19, 4, 32, 34, 1, 16, 0, 20, 68, 33, 50, 18, 32, 3, 3, 51, 16, 33, 1, 16, 3, 3, 53, 48, 35, 1, 16, 5, 5, 85, 50, 67, 35, 48, 4, 4, 69, 49, 51, 18, 32, 3, 3, 52, 32, 34, 1, 16, 4, 4, 68, 33, 50, 18, 32, 0, 20, 69, 49, 51, 18, 32, 2, 2, 35, 16, 17, 0, 0, 1, 49, 18, 0, 0, 0, 0, 1, 50, 18, 32, 0, 0, 0, 1, 50, 18, 33, 0, 18, 0, 1, 82, 20, 33, 2, 18, 0, 0, 65, 3, 16, 1, 1, 16, 1, 99, 21, 48, 3, 1, 16, 1, 100, 21, 49, 3, 18, 32, 1, 101, 85, 50, 3, 35, 48, 0, 82, 4, 32, 18, 0, 0, 2, 100, 37, 49, 19, 18, 0, 0, 82, 36, 33, 18, 18, 0, 0, 100, 37, 49, 19, 18, 0, 1, 65, 19, 16, 1, 0, 0, 1, 82, 20, 32, 2, 0, 0, 1, 100, 21, 49, 3, 18, 0, 0, 83, 4, 32, 2, 1, 16, 0, 84, 20, 33, 2, 18, 32, 0, 100, 21, 49, 3, 18, 32, 0, 66, 3, 16, 17, 0, 0, 2, 99, 37, 48, 19, 0, 0, 2, 101, 37, 50, 19, 35, 0, 0, 99, 5, 48, 19, 0, 0, 0, 101, 37, 50, 19, 35, 0, 0, 65, 3, 16, 1, 0, 0, 1, 99, 21, 48, 3, 0, 0, 1, 101, 37, 50, 3, 35, 0, 0, 82, 4, 32, 2, 0, 0, 0, 82, 20, 33, 2, 18, 0, 0, 100, 21, 49, 3, 18, 0, 0, 99, 5, 48, 3, 0, 0, 0, 101, 37, 50, 3, 35, 0, 0, 101, 85, 50, 3, 35, 48, 0, 99, 5, 48, 3, 1, 16, 0, 48, 2, 0, 0, 0, 0, 1, 51, 21, 48, 0, 0, 0, 1, 52, 21, 49, 0, 18, 0, 2, 52, 37, 49, 16, 18, 0, 0, 35, 4, 32, 2, 1, 16, 1, 36, 21, 49, 3, 18, 32, 0, 36, 20, 33, 2, 18, 32, 0, 36, 21, 49, 3, 18, 32, 0, 18, 3, 16, 17, 0, 0, 0, 18, 4, 32, 18, 0, 0, 0, 18, 36, 33, 18, 18, 0, 1, 1, 19, 16, 1, 1, 16, 0, 48, 2, 0, 16, 0, 0, 2, 51, 37, 48, 16, 0, 0, 2, 53, 37, 50, 16, 35, 0, 1, 34, 20, 32, 2, 0, 0, 1, 34, 20, 33, 2, 18, 0, 0, 17, 3, 16, 1, 1, 16, 0, 19, 4, 32, 2, 1, 16, 0, 20, 20, 33, 2, 18, 32, 0, 3, 3, 16, 33, 1, 16, 0, 3, 5, 48, 35, 1, 16, 0, 5, 85, 50, 67, 35, 48, 0, 4, 69, 49, 51, 18, 32, 0, 3, 4, 32, 34, 1, 16, 0, 4, 68, 33, 50, 18, 32, 0, 20, 21, 49, 3, 18, 32, 0, 2, 3, 16, 17, 0, 0, 0, 3, 5, 48, 19, 0, 0, 0, 5, 37, 50, 19, 35, 0, 2, 5, 37, 50, 19, 35, 0, 0, 4, 37, 49, 19, 18, 0, 2, 4, 37, 49, 19, 18, 0, 2, 3, 37, 48, 19, 0, 0, 0, 2, 4, 32, 18, 0, 0, 0, 2, 36, 33, 18, 18, 0, 2, 2, 36, 33, 18, 18, 0, 2, 2, 36, 32, 18, 0, 0, 0, 19, 5, 48, 3, 1, 16, 0, 19, 5, 48, 35, 1, 16, 0, 21, 85, 50, 67, 35, 48, 0, 21, 85, 50, 3, 35, 48, 0, 0, 2, 0, 16, 0, 0, 0, 0, 5, 48, 16, 0, 0, 0, 0, 37, 50, 16, 35, 0, 0, 48, 37, 50, 16, 35, 0, 2, 5, 37, 50, 16, 35, 0, 0, 0, 37, 49, 16, 18, 0, 0, 48, 37, 49, 16, 18, 0, 2, 4, 37, 49, 16, 18, 0, 0, 48, 5, 48, 16, 0, 0, 2, 3, 37, 48, 16, 0, 0, 0, 0, 2, 32, 16, 0, 0, 1, 33, 17, 16, 1, 0, 0, 1, 35, 21, 48, 3, 0, 0, 1, 36, 21, 49, 3, 18, 0, 1, 37, 37, 50, 3, 35, 0, 1, 37, 85, 50, 3, 35, 48, 1, 35, 21, 48, 3, 1, 16, 0, 18, 4, 32, 2, 0, 0, 0, 18, 20, 33, 2, 18, 0, 0, 1, 3, 16, 1, 1, 16, 0, 3, 5, 48, 3, 1, 16, 0, 5, 85, 50, 3, 35, 48, 1, 5, 85, 50, 3, 35, 48, 0, 4, 21, 49, 3, 18, 32, 1, 4, 21, 49, 3, 18, 32, 1, 3, 21, 48, 3, 1, 16, 0, 3, 4, 32, 2, 1, 16, 0, 4, 20, 33, 2, 18, 32, 1, 4, 20, 33, 2, 18, 32, 1, 3, 20, 32, 2, 1, 16, 0, 20, 21, 49, 3, 18, 0, 0, 20, 37, 49, 19, 18, 0, 0, 1, 3, 16, 1, 0, 0, 0, 3, 5, 48, 3, 0, 0, 0, 5, 37, 50, 3, 35, 0, 1, 5, 37, 50, 3, 35, 0, 0, 4, 21, 49, 3, 18, 0, 1, 4, 21, 49, 3, 18, 0, 1, 3, 21, 48, 3, 0, 0, 0, 2, 4, 32, 2, 0, 0, 0, 2, 20, 33, 2, 18, 0, 1, 2, 20, 33, 2, 18, 0, 1, 2, 20, 32, 2, 0, 0, 1, 1, 19, 16, 1, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 48, 5, 48, 0, 0, 0, 1, 53, 37, 50, 0, 35, 0, 0, 48, 21, 49, 0, 18, 0, 0, 48, 37, 50, 0, 35, 0, 0, 34, 4, 32, 2, 0, 0, 0, 34, 20, 33, 2, 18, 0, 0, 36, 21, 49, 3, 18, 0, 0, 17, 3, 16, 1, 0, 0, 0, 19, 5, 48, 3, 0, 0, 0, 19, 5, 48, 19, 0, 0, 0, 21, 37, 50, 19, 35, 0, 0, 21, 37, 50, 3, 35, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 5, 48, 0, 0, 0, 0, 0, 37, 50, 0, 35, 0, 1, 5, 37, 50, 0, 35, 0, 0, 0, 21, 49, 0, 18, 0, 1, 4, 21, 49, 0, 18, 0, 1, 3, 21, 48, 0, 0, 0, 0, 0, 2, 32, 0, 0, 0, 0, 33, 1, 16, 1, 0, 0, 0, 35, 5, 48, 3, 0, 0, 0, 37, 37, 50, 3, 35, 0, 0, 37, 85, 50, 3, 35, 48, 0, 35, 5, 48, 3, 1, 16, 0, 33, 1, 16, 1, 1, 16, 0, 16, 0, 0, 16, 0, 0, 11, 203, 187, 152, 169, 137, 144, 10, 186, 170, 135, 152, 120, 128, 9, 169, 153, 118, 135, 103, 112, 0, 24, 136, 101, 118, 86, 96, 0, 152, 136, 101, 118, 86, 96, 7, 7, 119, 84, 101, 69, 80, 0, 16, 2, 32, 16, 0, 0, 0, 48, 2, 32, 16, 0, 0, 0, 48, 34, 33, 16, 18, 0, 0, 16, 34, 33, 16, 18, 0, 1, 1, 17, 16, 1, 1, 16, 1, 3, 21, 48, 3, 1, 16, 1, 5, 85, 50, 3, 35, 48, 1, 4, 21, 49, 3, 18, 32, 1, 3, 20, 32, 2, 1, 16, 1, 4, 20, 33, 2, 18, 32, 0, 16, 37, 49, 16, 18, 0, 1, 1, 17, 16, 1, 0, 0, 1, 3, 21, 48, 3, 0, 0, 1, 5, 37, 50, 3, 35, 0, 1, 4, 21, 49, 3, 18, 0, 1, 2, 20, 32, 2, 0, 0, 1, 2, 20, 33, 2, 18, 0, 0, 16, 5, 48, 16, 0, 0, 0, 16, 37, 50, 16, 35, 0, 1, 1, 17, 0, 0, 0, 0, 1, 3, 21, 48, 0, 0, 0, 0, 18, 4, 32, 2, 0, 0, 0, 18, 20, 33, 2, 18, 0, 0, 20, 20, 33, 2, 18, 32, 0, 3, 3, 16, 33, 1, 16, 2, 2, 34, 0, 16, 0, 0, 2, 2, 34, 32, 16, 0, 0, 2, 2, 34, 33, 16, 18, 0, 8, 8, 136, 101, 118, 86, 96, 0, 3, 5, 48, 35, 1, 16, 0, 5, 85, 50, 67, 35, 48, 0, 4, 69, 49, 51, 18, 32, 0, 3, 4, 32, 34, 1, 16, 0, 4, 68, 33, 50, 18, 32, 0, 1, 3, 16, 1, 1, 16, 0, 3, 5, 48, 3, 1, 16, 0, 5, 85, 50, 3, 35, 48, 0, 4, 21, 49, 3, 18, 32, 0, 3, 4, 32, 2, 1, 16, 0, 4, 20, 33, 2, 18, 32, 0, 20, 21, 49, 3, 18, 0, 0, 20, 21, 49, 3, 18, 32, 0, 19, 4, 32, 2, 1, 16, 0, 2, 3, 16, 17, 0, 0, 1, 1, 18, 0, 0, 0, 0, 1, 2, 18, 32, 0, 0, 0, 1, 2, 18, 33, 0, 18, 0, 1, 8, 136, 101, 6, 86, 96, 0, 135, 119, 84, 101, 69, 80, 0, 3, 5, 48, 19, 0, 0, 0, 5, 37, 50, 19, 35, 0, 0, 4, 37, 49, 19, 18, 0, 0, 2, 4, 32, 18, 0, 0, 0, 2, 36, 33, 18, 18, 0, 0, 1, 3, 16, 1, 0, 0, 0, 3, 5, 48, 3, 0, 0, 0, 5, 37, 50, 3, 35, 0, 0, 4, 21, 49, 3, 18, 0, 0, 2, 4, 32, 2, 0, 0, 0, 2, 20, 33, 2, 18, 0, 1, 5, 37, 50, 0, 35, 0, 1, 37, 37, 50, 0, 35, 0, 1, 4, 21, 49, 0, 18, 0, 1, 36, 21, 49, 0, 18, 0, 1, 35, 21, 48, 0, 0, 0, 1, 2, 18, 32, 0, 0, 0, 0, 17, 1, 16, 1, 0, 0, 0, 19, 5, 48, 3, 0, 0, 0, 21, 37, 50, 3, 35, 0, 0, 21, 85, 50, 3, 35, 48, 0, 19, 5, 48, 3, 1, 16, 0, 17, 1, 16, 1, 1, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 48, 16, 0, 0, 0, 0, 37, 50, 16, 35, 0, 0, 0, 37, 49, 16, 18, 0, 0, 0, 2, 32, 16, 0, 0, 0, 0, 34, 33, 16, 18, 0, 0, 0, 34, 33, 16, 18, 0, 0, 8, 136, 101, 118, 86, 96, 0, 8, 136, 101, 118, 86, 96, 11, 11, 187, 152, 169, 137, 144, 1, 2, 18, 33, 0, 18, 0, 1, 34, 18, 33, 0, 18, 0, 1, 34, 18, 32, 0, 0, 0, 1, 8, 136, 101, 6, 86, 96, 0, 23, 119, 84, 101, 69, 80, 6, 6, 102, 67, 84, 52, 64, 0, 0, 18, 33, 0, 18, 0, 0, 48, 18, 33, 0, 18, 0, 0, 48, 2, 32, 0, 0, 0, 0, 8, 136, 101, 6, 86, 96, 0, 152, 136, 101, 6, 86, 96, 1, 203, 187, 152, 9, 137, 144, 0, 186, 170, 135, 152, 120, 128, 0, 24, 136, 101, 6, 86, 96, 0, 7, 119, 84, 101, 69, 80, 0, 16, 2, 32, 0, 0, 0, 0, 16, 18, 33, 0, 18, 0, 0, 1, 1, 16, 1, 1, 16, 0, 3, 5, 48, 3, 1, 16, 0, 5, 85, 50, 3, 35, 48, 0, 4, 21, 49, 3, 18, 32, 0, 3, 4, 32, 2, 1, 16, 0, 4, 20, 33, 2, 18, 32, 0, 16, 21, 49, 0, 18, 0, 0, 1, 1, 16, 1, 0, 0, 0, 3, 5, 48, 3, 0, 0, 0, 5, 37, 50, 3, 35, 0, 0, 4, 21, 49, 3, 18, 0, 0, 2, 4, 32, 2, 0, 0, 0, 2, 20, 33, 2, 18, 0, 0, 16, 5, 48, 0, 0, 0, 0, 16, 37, 50, 0, 35, 0, 0, 40, 136, 101, 6, 86, 96, 0, 32, 2, 32, 0, 0, 0, 0, 32, 18, 33, 0, 18, 0, 0, 32, 21, 49, 0, 18, 0, 0, 32, 5, 48, 0, 0, 0, 0, 32, 37, 50, 0, 35, 0, 1, 43, 187, 152, 9, 137, 144, 0, 26, 170, 135, 152, 120, 128, 9, 9, 153, 118, 135, 103, 112, 0, 24, 136, 101, 6, 86, 96, 0, 7, 119, 84, 101, 69, 80, 0, 16, 2, 32, 0, 0, 0, 0, 16, 18, 33, 0, 18, 0, 0, 1, 1, 16, 1, 1, 16, 0, 3, 5, 48, 3, 1, 16, 0, 5, 85, 50, 3, 35, 48, 0, 4, 21, 49, 3, 18, 32, 0, 3, 4, 32, 2, 1, 16, 0, 4, 20, 33, 2, 18, 32, 0, 16, 21, 49, 0, 18, 0, 0, 16, 5, 48, 0, 0, 0, 0, 16, 37, 50, 0, 35, 0, 0, 2, 4, 32, 2, 0, 0, 0, 4, 21, 49, 3, 18, 0, 0, 2, 20, 33, 2, 18, 0, 0, 0, 5, 48, 0, 0, 0, 0, 0, 37, 50, 0, 35, 0, 0, 0, 21, 49, 0, 18, 0, 0, 0, 2, 32, 0, 0, 0, 0, 0, 18, 33, 0, 18, 0, 0, 8, 136, 101, 6, 86, 96, 0, 0, 5, 48, 0, 0, 0, 0, 0, 37, 50, 0, 35, 0, 0, 0, 21, 49, 0, 18, 0, 0, 0, 2, 32, 0, 0, 0, 0, 0, 18, 33, 0, 18, 0, 0, 8, 136, 101, 6, 86, 96, 1, 11, 187, 152, 9, 137, 144, 0, 3, 5, 48, 3, 0, 0, 0, 5, 37, 50, 3, 35, 0, 0, 0, 5, 48, 0, 0, 0, 0, 0, 37, 50, 0, 35, 0, 0, 0, 21, 49, 0, 18, 0, 0, 0, 2, 32, 0, 0, 0, 0, 0, 18, 33, 0, 18, 0, 0, 8, 136, 101, 6, 86, 96, 1, 11, 187, 152, 9, 137, 144}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver3_fp_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 4, 2, 2, 2, 5, 2, 2, 2, 2, 6, 6, 6, 7, 7, 2, 2, 2, 0, 0, 8, 8, 9, 0, 8, 0, 2, 8, 10, 11, 12, 9, 2, 8, 9, 9, 13, 13, 4, 12, 4, 12, 2, 2, 7, 7, 6, 6, 14, 14, 14, 0, 5, 5, 14, 14, 5, 5, 5, 5, 9, 9, 5, 5, 5, 5, 14, 14, 5, 5, 2, 2, 14, 14, 8, 8, 15, 15, 15, 15, 16, 16, 16, 16, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, }; /* Vector for state transitions. */ static const unsigned short bdver3_fp_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 1002, 4, 2584, 2593, 9, 2593, 1002, 2593, 2601, 257, 256, 1889, 1002, 2606, 1047, 0, 1, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2, 2, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 3, 3, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 4, 4, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 5, 5, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 6, 6, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 7, 7, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 8, 8, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 9, 9, 2610, 2610, 2610, 10, 106, 2610, 106, 2610, 106, 1022, 2610, 2610, 2610, 2610, 1042, 2610, 0, 10, 2610, 2610, 2610, 2610, 11, 2610, 11, 2610, 11, 2610, 2610, 2610, 2610, 2610, 120, 2610, 256, 11, 2610, 2610, 2610, 2610, 8, 2610, 8, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 12, 2610, 114, 12, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 13, 13, 2610, 2610, 2610, 14, 348, 2610, 348, 2610, 348, 1033, 2610, 2610, 2610, 2610, 1830, 2610, 2558, 14, 2610, 2610, 2610, 2610, 15, 2610, 15, 2610, 15, 2610, 2610, 2610, 2610, 2610, 268, 2610, 310, 15, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 16, 16, 2610, 2610, 2610, 17, 392, 2610, 392, 2610, 392, 2488, 2610, 2610, 2610, 2610, 2492, 2610, 2544, 17, 2610, 2610, 2610, 2610, 18, 2610, 18, 2610, 18, 2610, 2610, 2610, 2610, 2610, 314, 2610, 354, 18, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 19, 19, 2610, 2610, 2610, 20, 436, 2610, 436, 2610, 436, 2420, 2610, 2610, 2610, 2610, 2424, 2610, 2472, 20, 2610, 2610, 2610, 2610, 21, 2610, 21, 2610, 21, 2610, 2610, 2610, 2610, 2610, 358, 2610, 398, 21, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 22, 22, 2610, 2610, 2610, 23, 480, 2610, 480, 2610, 480, 2356, 2610, 2610, 2610, 2610, 2360, 2610, 2404, 23, 2610, 2610, 2610, 2610, 24, 2610, 24, 2610, 24, 2610, 2610, 2610, 2610, 2610, 402, 2610, 442, 24, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 25, 25, 2610, 2610, 2610, 26, 524, 2610, 524, 2610, 524, 2296, 2610, 2610, 2610, 2610, 2300, 2610, 2340, 26, 2610, 2610, 2610, 2610, 27, 2610, 27, 2610, 27, 2610, 2610, 2610, 2610, 2610, 446, 2610, 486, 27, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 28, 28, 2610, 2610, 2610, 29, 568, 2610, 568, 2610, 568, 2240, 2610, 2610, 2610, 2610, 2244, 2610, 2280, 29, 2610, 2610, 2610, 2610, 30, 2610, 30, 2610, 30, 2610, 2610, 2610, 2610, 2610, 490, 2610, 530, 30, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 31, 31, 2610, 2610, 2610, 32, 612, 2610, 612, 2610, 612, 2188, 2610, 2610, 2610, 2610, 2192, 2610, 2224, 32, 2610, 2610, 2610, 2610, 33, 2610, 33, 2610, 33, 2610, 2610, 2610, 2610, 2610, 534, 2610, 574, 33, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 34, 34, 2610, 2610, 2610, 35, 656, 2610, 656, 2610, 656, 2140, 2610, 2610, 2610, 2610, 2144, 2610, 2172, 35, 2610, 2610, 2610, 2610, 36, 2610, 36, 2610, 36, 2610, 2610, 2610, 2610, 2610, 578, 2610, 618, 36, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 37, 37, 2610, 2610, 2610, 38, 700, 2610, 700, 2610, 700, 2096, 2610, 2610, 2610, 2610, 2100, 2610, 2124, 38, 2610, 2610, 2610, 2610, 39, 2610, 39, 2610, 39, 2610, 2610, 2610, 2610, 2610, 622, 2610, 662, 39, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 40, 40, 2610, 2610, 2610, 41, 744, 2610, 744, 2610, 744, 2056, 2610, 2610, 2610, 2610, 2060, 2610, 2080, 41, 2610, 2610, 2610, 2610, 42, 2610, 42, 2610, 42, 2610, 2610, 2610, 2610, 2610, 666, 2610, 706, 42, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 43, 43, 2610, 2610, 2610, 44, 788, 2610, 788, 2610, 788, 2020, 2610, 2610, 2610, 2610, 2024, 2610, 2040, 44, 2610, 2610, 2610, 2610, 45, 2610, 45, 2610, 45, 2610, 2610, 2610, 2610, 2610, 710, 2610, 750, 45, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 46, 46, 2610, 2610, 2610, 47, 832, 2610, 832, 2610, 832, 1988, 2610, 2610, 2610, 2610, 1992, 2610, 2004, 47, 2610, 2610, 2610, 2610, 48, 2610, 48, 2610, 48, 2610, 2610, 2610, 2610, 2610, 754, 2610, 794, 48, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 49, 49, 2610, 2610, 2610, 50, 876, 2610, 876, 2610, 876, 1960, 2610, 2610, 2610, 2610, 1964, 2610, 1972, 50, 2610, 2610, 2610, 2610, 51, 2610, 51, 2610, 51, 2610, 2610, 2610, 2610, 2610, 798, 2610, 838, 51, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 52, 52, 2610, 2610, 2610, 53, 920, 2610, 920, 2610, 920, 1936, 2610, 2610, 2610, 2610, 1940, 2610, 1944, 53, 2610, 2610, 2610, 2610, 54, 2610, 54, 2610, 54, 2610, 2610, 2610, 2610, 2610, 842, 2610, 882, 54, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 55, 55, 2610, 2610, 2610, 56, 243, 2610, 243, 2610, 243, 1920, 2610, 2610, 2610, 2610, 1924, 2610, 1925, 56, 2610, 2610, 2610, 2610, 57, 2610, 57, 2610, 57, 2610, 2610, 2610, 2610, 2610, 886, 2610, 926, 57, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 58, 58, 2610, 2610, 2610, 59, 107, 2610, 107, 2610, 107, 931, 2610, 2610, 2610, 2610, 935, 2610, 1889, 59, 2610, 2610, 2610, 2610, 8, 2610, 8, 2610, 8, 2610, 2610, 2610, 2610, 2610, 60, 2610, 248, 60, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 61, 61, 2610, 2610, 2610, 62, 887, 2610, 887, 2610, 62, 1059, 2610, 2610, 2610, 2610, 1067, 2610, 1127, 62, 2610, 2610, 2610, 2610, 63, 2610, 63, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 214, 2610, 940, 63, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 64, 64, 2610, 2610, 2610, 65, 845, 2610, 845, 2610, 65, 1139, 2610, 2610, 2610, 2610, 1147, 2610, 1203, 65, 2610, 2610, 2610, 2610, 66, 2610, 66, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 893, 2610, 944, 66, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 67, 67, 2610, 2610, 2610, 68, 803, 2610, 803, 2610, 68, 1215, 2610, 2610, 2610, 2610, 1223, 2610, 1275, 68, 2610, 2610, 2610, 2610, 69, 2610, 69, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 851, 2610, 948, 69, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 70, 70, 2610, 2610, 2610, 71, 761, 2610, 761, 2610, 71, 1287, 2610, 2610, 2610, 2610, 1295, 2610, 1343, 71, 2610, 2610, 2610, 2610, 72, 2610, 72, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 809, 2610, 952, 72, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 73, 73, 2610, 2610, 2610, 74, 719, 2610, 719, 2610, 74, 1355, 2610, 2610, 2610, 2610, 1363, 2610, 1407, 74, 2610, 2610, 2610, 2610, 75, 2610, 75, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 767, 2610, 956, 75, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 76, 76, 2610, 2610, 2610, 77, 677, 2610, 677, 2610, 77, 1419, 2610, 2610, 2610, 2610, 1427, 2610, 1467, 77, 2610, 2610, 2610, 2610, 78, 2610, 78, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 725, 2610, 960, 78, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 79, 79, 2610, 2610, 2610, 80, 635, 2610, 635, 2610, 80, 1479, 2610, 2610, 2610, 2610, 1487, 2610, 1523, 80, 2610, 2610, 2610, 2610, 81, 2610, 81, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 683, 2610, 964, 81, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 82, 82, 2610, 2610, 2610, 83, 593, 2610, 593, 2610, 83, 1535, 2610, 2610, 2610, 2610, 1543, 2610, 1575, 83, 2610, 2610, 2610, 2610, 84, 2610, 84, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 641, 2610, 968, 84, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 85, 85, 2610, 2610, 2610, 86, 551, 2610, 551, 2610, 86, 1587, 2610, 2610, 2610, 2610, 1595, 2610, 1623, 86, 2610, 2610, 2610, 2610, 87, 2610, 87, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 599, 2610, 972, 87, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 88, 88, 2610, 2610, 2610, 89, 509, 2610, 509, 2610, 89, 1635, 2610, 2610, 2610, 2610, 1643, 2610, 1667, 89, 2610, 2610, 2610, 2610, 90, 2610, 90, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 557, 2610, 976, 90, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 91, 91, 2610, 2610, 2610, 92, 467, 2610, 467, 2610, 92, 1679, 2610, 2610, 2610, 2610, 1687, 2610, 1707, 92, 2610, 2610, 2610, 2610, 93, 2610, 93, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 515, 2610, 980, 93, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 94, 94, 2610, 2610, 2610, 95, 425, 2610, 425, 2610, 95, 1719, 2610, 2610, 2610, 2610, 1727, 2610, 1743, 95, 2610, 2610, 2610, 2610, 96, 2610, 96, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 473, 2610, 984, 96, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 97, 97, 2610, 2610, 2610, 98, 383, 2610, 383, 2610, 98, 1755, 2610, 2610, 2610, 2610, 1763, 2610, 1775, 98, 2610, 2610, 2610, 2610, 99, 2610, 99, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 431, 2610, 988, 99, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 100, 100, 2610, 2610, 2610, 101, 341, 2610, 341, 2610, 101, 1787, 2610, 2610, 2610, 2610, 1795, 2610, 1803, 101, 2610, 2610, 2610, 2610, 102, 2610, 102, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 389, 2610, 992, 102, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 103, 103, 2610, 2610, 2610, 104, 297, 2610, 297, 2610, 104, 1815, 2610, 2610, 2610, 2610, 1823, 2610, 1012, 104, 2610, 2610, 2610, 2610, 105, 2610, 105, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 347, 2610, 996, 105, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 106, 106, 2610, 2610, 2610, 11, 107, 2610, 107, 2610, 11, 301, 2610, 2610, 2610, 2610, 305, 2610, 1002, 107, 2610, 2610, 2610, 8, 2610, 2610, 8, 2610, 8, 108, 2610, 2610, 2610, 2610, 2610, 2610, 109, 108, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 10, 109, 2610, 2610, 2610, 110, 299, 2610, 299, 9, 299, 1021, 10, 9, 2610, 2610, 1040, 2610, 0, 110, 2610, 2610, 2610, 2610, 111, 2610, 111, 10, 111, 2610, 2610, 10, 2610, 2610, 1008, 2610, 256, 111, 2610, 2610, 2610, 2610, 112, 2610, 112, 11, 2610, 2610, 2610, 11, 2610, 2610, 113, 2610, 114, 112, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 8, 2610, 2610, 2610, 8, 2610, 2610, 2610, 2610, 9, 113, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 12, 2610, 2610, 2610, 12, 2610, 2610, 2610, 2610, 13, 114, 2610, 9, 2610, 115, 996, 2610, 996, 2610, 996, 1028, 2610, 2610, 9, 2610, 1828, 13, 0, 115, 2610, 10, 2610, 2610, 116, 2610, 116, 2610, 116, 2610, 2610, 2610, 10, 2610, 119, 14, 256, 116, 2610, 11, 2610, 2610, 117, 2610, 117, 2610, 2610, 2610, 2610, 2610, 11, 2610, 118, 15, 114, 117, 2610, 8, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 8, 2610, 2610, 2610, 9, 118, 2610, 12, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 12, 2610, 2610, 2610, 13, 119, 2610, 120, 2610, 2610, 264, 2610, 264, 2610, 2610, 2610, 2610, 2610, 120, 2610, 266, 268, 210, 120, 2610, 2610, 2610, 2610, 60, 2610, 60, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 121, 2610, 210, 121, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 122, 122, 2610, 2610, 2610, 123, 2610, 2610, 123, 2610, 123, 206, 2610, 2610, 2610, 2610, 2610, 2610, 207, 123, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 124, 124, 2610, 2610, 2610, 125, 2610, 2610, 125, 2610, 125, 202, 2610, 2610, 2610, 2610, 2610, 2610, 203, 125, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 126, 126, 2610, 2610, 2610, 127, 2610, 2610, 127, 2610, 127, 198, 2610, 2610, 2610, 2610, 2610, 2610, 199, 127, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 128, 128, 2610, 2610, 2610, 129, 2610, 2610, 129, 2610, 129, 194, 2610, 2610, 2610, 2610, 2610, 2610, 195, 129, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 130, 130, 2610, 2610, 2610, 131, 2610, 2610, 131, 2610, 131, 190, 2610, 2610, 2610, 2610, 2610, 2610, 191, 131, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 132, 132, 2610, 2610, 2610, 133, 2610, 2610, 133, 2610, 133, 186, 2610, 2610, 2610, 2610, 2610, 2610, 187, 133, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 134, 134, 2610, 2610, 2610, 135, 2610, 2610, 135, 2610, 135, 182, 2610, 2610, 2610, 2610, 2610, 2610, 183, 135, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 136, 136, 2610, 2610, 2610, 137, 2610, 2610, 137, 2610, 137, 178, 2610, 2610, 2610, 2610, 2610, 2610, 179, 137, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 138, 138, 2610, 2610, 2610, 139, 2610, 2610, 139, 2610, 139, 174, 2610, 2610, 2610, 2610, 2610, 2610, 175, 139, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 140, 140, 2610, 2610, 2610, 141, 2610, 2610, 141, 2610, 141, 170, 2610, 2610, 2610, 2610, 2610, 2610, 171, 141, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 142, 142, 2610, 2610, 2610, 143, 2610, 2610, 143, 2610, 143, 166, 2610, 2610, 2610, 2610, 2610, 2610, 167, 143, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 144, 144, 2610, 2610, 2610, 145, 2610, 2610, 145, 2610, 145, 162, 2610, 2610, 2610, 2610, 2610, 2610, 163, 145, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 146, 146, 2610, 2610, 2610, 147, 2610, 2610, 147, 2610, 147, 158, 2610, 2610, 2610, 2610, 2610, 2610, 159, 147, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 148, 148, 2610, 2610, 2610, 149, 2610, 2610, 149, 2610, 149, 154, 2610, 2610, 2610, 2610, 2610, 2610, 155, 149, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 150, 150, 2610, 2610, 2610, 151, 2610, 2610, 151, 2610, 151, 7, 2610, 2610, 2610, 2610, 2610, 2610, 152, 151, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 107, 152, 2610, 2610, 2610, 112, 2610, 2610, 112, 107, 112, 153, 8, 107, 2610, 2610, 2610, 2610, 109, 153, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 108, 2610, 2610, 2610, 108, 2610, 2610, 2610, 2610, 10, 154, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 151, 155, 2610, 2610, 2610, 156, 2610, 2610, 156, 150, 156, 157, 151, 150, 2610, 2610, 2610, 2610, 152, 156, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 151, 2610, 2610, 2610, 151, 2610, 2610, 2610, 2610, 107, 157, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 7, 2610, 2610, 2610, 7, 2610, 2610, 2610, 2610, 8, 158, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 149, 159, 2610, 2610, 2610, 160, 2610, 2610, 160, 148, 160, 161, 149, 148, 2610, 2610, 2610, 2610, 155, 160, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 149, 2610, 2610, 2610, 149, 2610, 2610, 2610, 2610, 150, 161, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 154, 2610, 2610, 2610, 154, 2610, 2610, 2610, 2610, 151, 162, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 147, 163, 2610, 2610, 2610, 164, 2610, 2610, 164, 146, 164, 165, 147, 146, 2610, 2610, 2610, 2610, 159, 164, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 147, 2610, 2610, 2610, 147, 2610, 2610, 2610, 2610, 148, 165, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 158, 2610, 2610, 2610, 158, 2610, 2610, 2610, 2610, 149, 166, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 145, 167, 2610, 2610, 2610, 168, 2610, 2610, 168, 144, 168, 169, 145, 144, 2610, 2610, 2610, 2610, 163, 168, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 145, 2610, 2610, 2610, 145, 2610, 2610, 2610, 2610, 146, 169, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 162, 2610, 2610, 2610, 162, 2610, 2610, 2610, 2610, 147, 170, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 143, 171, 2610, 2610, 2610, 172, 2610, 2610, 172, 142, 172, 173, 143, 142, 2610, 2610, 2610, 2610, 167, 172, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 143, 2610, 2610, 2610, 143, 2610, 2610, 2610, 2610, 144, 173, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 166, 2610, 2610, 2610, 166, 2610, 2610, 2610, 2610, 145, 174, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 141, 175, 2610, 2610, 2610, 176, 2610, 2610, 176, 140, 176, 177, 141, 140, 2610, 2610, 2610, 2610, 171, 176, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 141, 2610, 2610, 2610, 141, 2610, 2610, 2610, 2610, 142, 177, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 170, 2610, 2610, 2610, 170, 2610, 2610, 2610, 2610, 143, 178, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 139, 179, 2610, 2610, 2610, 180, 2610, 2610, 180, 138, 180, 181, 139, 138, 2610, 2610, 2610, 2610, 175, 180, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 139, 2610, 2610, 2610, 139, 2610, 2610, 2610, 2610, 140, 181, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 174, 2610, 2610, 2610, 174, 2610, 2610, 2610, 2610, 141, 182, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 137, 183, 2610, 2610, 2610, 184, 2610, 2610, 184, 136, 184, 185, 137, 136, 2610, 2610, 2610, 2610, 179, 184, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 137, 2610, 2610, 2610, 137, 2610, 2610, 2610, 2610, 138, 185, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 178, 2610, 2610, 2610, 178, 2610, 2610, 2610, 2610, 139, 186, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 135, 187, 2610, 2610, 2610, 188, 2610, 2610, 188, 134, 188, 189, 135, 134, 2610, 2610, 2610, 2610, 183, 188, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 135, 2610, 2610, 2610, 135, 2610, 2610, 2610, 2610, 136, 189, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 182, 2610, 2610, 2610, 182, 2610, 2610, 2610, 2610, 137, 190, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 133, 191, 2610, 2610, 2610, 192, 2610, 2610, 192, 132, 192, 193, 133, 132, 2610, 2610, 2610, 2610, 187, 192, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 133, 2610, 2610, 2610, 133, 2610, 2610, 2610, 2610, 134, 193, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 186, 2610, 2610, 2610, 186, 2610, 2610, 2610, 2610, 135, 194, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 131, 195, 2610, 2610, 2610, 196, 2610, 2610, 196, 130, 196, 197, 131, 130, 2610, 2610, 2610, 2610, 191, 196, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 131, 2610, 2610, 2610, 131, 2610, 2610, 2610, 2610, 132, 197, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 190, 2610, 2610, 2610, 190, 2610, 2610, 2610, 2610, 133, 198, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 129, 199, 2610, 2610, 2610, 200, 2610, 2610, 200, 128, 200, 201, 129, 128, 2610, 2610, 2610, 2610, 195, 200, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 129, 2610, 2610, 2610, 129, 2610, 2610, 2610, 2610, 130, 201, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 194, 2610, 2610, 2610, 194, 2610, 2610, 2610, 2610, 131, 202, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 127, 203, 2610, 2610, 2610, 204, 2610, 2610, 204, 126, 204, 205, 127, 126, 2610, 2610, 2610, 2610, 199, 204, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 127, 2610, 2610, 2610, 127, 2610, 2610, 2610, 2610, 128, 205, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 198, 2610, 2610, 2610, 198, 2610, 2610, 2610, 2610, 129, 206, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 125, 207, 2610, 2610, 2610, 208, 2610, 2610, 208, 124, 208, 209, 125, 124, 2610, 2610, 2610, 2610, 203, 208, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 125, 2610, 2610, 2610, 125, 2610, 2610, 2610, 2610, 126, 209, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 202, 2610, 2610, 2610, 202, 2610, 2610, 2610, 2610, 127, 210, 2610, 61, 2610, 211, 1054, 2610, 1054, 2610, 211, 1062, 2610, 2610, 61, 2610, 1126, 122, 1127, 211, 2610, 62, 2610, 2610, 212, 2610, 212, 2610, 2610, 2610, 2610, 2610, 62, 2610, 213, 123, 940, 212, 2610, 63, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 63, 2610, 2610, 2610, 64, 213, 2610, 214, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 214, 2610, 2610, 2610, 215, 214, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 215, 215, 2610, 2610, 2610, 216, 2610, 2610, 216, 2610, 216, 1071, 2610, 2610, 2610, 2610, 2610, 2610, 1072, 216, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 217, 217, 2610, 2610, 2610, 218, 2610, 2610, 218, 2610, 218, 1075, 2610, 2610, 2610, 2610, 2610, 2610, 1076, 218, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 219, 219, 2610, 2610, 2610, 220, 2610, 2610, 220, 2610, 220, 1079, 2610, 2610, 2610, 2610, 2610, 2610, 1080, 220, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 221, 221, 2610, 2610, 2610, 222, 2610, 2610, 222, 2610, 222, 1083, 2610, 2610, 2610, 2610, 2610, 2610, 1084, 222, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 223, 223, 2610, 2610, 2610, 224, 2610, 2610, 224, 2610, 224, 1087, 2610, 2610, 2610, 2610, 2610, 2610, 1088, 224, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 225, 225, 2610, 2610, 2610, 226, 2610, 2610, 226, 2610, 226, 1091, 2610, 2610, 2610, 2610, 2610, 2610, 1092, 226, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 227, 227, 2610, 2610, 2610, 228, 2610, 2610, 228, 2610, 228, 1095, 2610, 2610, 2610, 2610, 2610, 2610, 1096, 228, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 229, 229, 2610, 2610, 2610, 230, 2610, 2610, 230, 2610, 230, 1099, 2610, 2610, 2610, 2610, 2610, 2610, 1100, 230, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 231, 231, 2610, 2610, 2610, 232, 2610, 2610, 232, 2610, 232, 1103, 2610, 2610, 2610, 2610, 2610, 2610, 1104, 232, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 233, 233, 2610, 2610, 2610, 234, 2610, 2610, 234, 2610, 234, 1107, 2610, 2610, 2610, 2610, 2610, 2610, 1108, 234, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 235, 235, 2610, 2610, 2610, 236, 2610, 2610, 236, 2610, 236, 1111, 2610, 2610, 2610, 2610, 2610, 2610, 1112, 236, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 237, 237, 2610, 2610, 2610, 238, 2610, 2610, 238, 2610, 238, 1115, 2610, 2610, 2610, 2610, 2610, 2610, 1116, 238, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 239, 239, 2610, 2610, 2610, 240, 2610, 2610, 240, 2610, 240, 1119, 2610, 2610, 2610, 2610, 2610, 2610, 1120, 240, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 241, 241, 2610, 2610, 2610, 242, 2610, 2610, 242, 2610, 242, 1123, 2610, 2610, 2610, 2610, 2610, 2610, 1124, 242, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 243, 243, 2610, 2610, 2610, 57, 2610, 2610, 57, 2610, 57, 244, 2610, 2610, 2610, 2610, 2610, 2610, 245, 244, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 59, 245, 2610, 2610, 2610, 246, 152, 2610, 152, 58, 152, 1928, 59, 58, 2610, 2610, 1041, 2610, 1889, 246, 2610, 2610, 2610, 2610, 112, 2610, 112, 59, 112, 2610, 2610, 59, 2610, 2610, 247, 2610, 248, 247, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 60, 2610, 2610, 2610, 60, 2610, 2610, 2610, 2610, 61, 248, 2610, 9, 2610, 249, 1904, 2610, 1904, 9, 1904, 1908, 2610, 2610, 2610, 9, 1916, 61, 0, 249, 2610, 10, 2610, 2610, 250, 2610, 250, 10, 250, 2610, 2610, 2610, 2610, 10, 253, 62, 256, 250, 2610, 11, 2610, 2610, 251, 2610, 251, 11, 2610, 2610, 2610, 2610, 2610, 11, 252, 2610, 114, 251, 2610, 8, 2610, 2610, 2610, 2610, 2610, 8, 2610, 2610, 2610, 2610, 2610, 8, 2610, 2610, 9, 252, 2610, 12, 2610, 2610, 2610, 2610, 2610, 12, 2610, 2610, 2610, 2610, 2610, 12, 2610, 2610, 13, 253, 2610, 120, 2610, 2610, 254, 2610, 254, 120, 2610, 2610, 2610, 2610, 2610, 120, 255, 2610, 210, 254, 2610, 60, 2610, 2610, 2610, 2610, 2610, 60, 2610, 2610, 2610, 2610, 2610, 60, 2610, 2610, 61, 255, 2610, 121, 2610, 2610, 2610, 2610, 2610, 121, 2610, 2610, 2610, 2610, 2610, 121, 2610, 2610, 122, 256, 2610, 114, 2610, 257, 2567, 2610, 2567, 114, 2567, 2575, 2610, 2610, 248, 114, 2580, 210, 0, 257, 2610, 115, 2610, 2610, 258, 2610, 258, 115, 258, 2610, 2610, 2610, 249, 115, 262, 211, 256, 258, 2610, 116, 2610, 2610, 259, 2610, 259, 116, 2610, 2610, 2610, 2610, 250, 116, 260, 261, 114, 259, 2610, 117, 2610, 2610, 2610, 2610, 2610, 117, 2610, 2610, 2610, 2610, 251, 117, 2610, 2610, 9, 260, 2610, 118, 2610, 2610, 2610, 2610, 2610, 118, 2610, 2610, 2610, 2610, 252, 118, 2610, 2610, 13, 261, 2610, 15, 2610, 2610, 2610, 2610, 2610, 15, 2610, 2610, 2610, 2610, 2610, 15, 2610, 2610, 16, 262, 2610, 119, 2610, 2610, 263, 2610, 263, 119, 2610, 2610, 2610, 2610, 253, 119, 265, 267, 210, 263, 2610, 264, 2610, 2610, 2610, 2610, 2610, 264, 2610, 2610, 2610, 2610, 254, 264, 2610, 2610, 61, 264, 2610, 60, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 60, 2610, 2610, 2610, 61, 265, 2610, 266, 2610, 2610, 2610, 2610, 2610, 266, 2610, 2610, 2610, 2610, 255, 266, 2610, 2610, 122, 266, 2610, 121, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 121, 2610, 2610, 2610, 122, 267, 2610, 268, 2610, 2610, 2610, 2610, 2610, 268, 2610, 2610, 2610, 2610, 2610, 268, 2610, 2610, 269, 268, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 269, 269, 2610, 2610, 2610, 270, 2610, 2610, 270, 2610, 270, 1834, 2610, 2610, 2610, 2610, 2610, 2610, 1835, 270, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 271, 271, 2610, 2610, 2610, 272, 2610, 2610, 272, 2610, 272, 1838, 2610, 2610, 2610, 2610, 2610, 2610, 1839, 272, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 273, 273, 2610, 2610, 2610, 274, 2610, 2610, 274, 2610, 274, 1842, 2610, 2610, 2610, 2610, 2610, 2610, 1843, 274, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 275, 275, 2610, 2610, 2610, 276, 2610, 2610, 276, 2610, 276, 1846, 2610, 2610, 2610, 2610, 2610, 2610, 1847, 276, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 277, 277, 2610, 2610, 2610, 278, 2610, 2610, 278, 2610, 278, 1850, 2610, 2610, 2610, 2610, 2610, 2610, 1851, 278, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 279, 279, 2610, 2610, 2610, 280, 2610, 2610, 280, 2610, 280, 1854, 2610, 2610, 2610, 2610, 2610, 2610, 1855, 280, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 281, 281, 2610, 2610, 2610, 282, 2610, 2610, 282, 2610, 282, 1858, 2610, 2610, 2610, 2610, 2610, 2610, 1859, 282, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 283, 283, 2610, 2610, 2610, 284, 2610, 2610, 284, 2610, 284, 1862, 2610, 2610, 2610, 2610, 2610, 2610, 1863, 284, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 285, 285, 2610, 2610, 2610, 286, 2610, 2610, 286, 2610, 286, 1866, 2610, 2610, 2610, 2610, 2610, 2610, 1867, 286, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 287, 287, 2610, 2610, 2610, 288, 2610, 2610, 288, 2610, 288, 1870, 2610, 2610, 2610, 2610, 2610, 2610, 1871, 288, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 289, 289, 2610, 2610, 2610, 290, 2610, 2610, 290, 2610, 290, 1874, 2610, 2610, 2610, 2610, 2610, 2610, 1875, 290, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 291, 291, 2610, 2610, 2610, 292, 2610, 2610, 292, 2610, 292, 1878, 2610, 2610, 2610, 2610, 2610, 2610, 1879, 292, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 293, 293, 2610, 2610, 2610, 294, 2610, 2610, 294, 2610, 294, 1882, 2610, 2610, 2610, 2610, 2610, 2610, 1883, 294, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 295, 295, 2610, 2610, 2610, 296, 2610, 2610, 296, 2610, 296, 1886, 2610, 2610, 2610, 2610, 2610, 2610, 1808, 296, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 297, 297, 2610, 2610, 2610, 105, 2610, 2610, 105, 2610, 105, 298, 2610, 2610, 2610, 2610, 2610, 2610, 299, 298, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 11, 299, 2610, 2610, 2610, 111, 152, 2610, 152, 106, 111, 300, 11, 106, 2610, 2610, 304, 2610, 1002, 300, 2610, 2610, 2610, 2610, 153, 2610, 153, 301, 2610, 2610, 2610, 301, 2610, 2610, 303, 2610, 115, 301, 2610, 2610, 2610, 2610, 108, 2610, 108, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 302, 2610, 115, 302, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 14, 303, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 302, 2610, 2610, 2610, 302, 2610, 2610, 2610, 2610, 14, 304, 2610, 2610, 2610, 113, 2610, 2610, 113, 305, 113, 303, 12, 305, 2610, 2610, 2610, 2610, 306, 305, 2610, 2610, 2610, 12, 2610, 2610, 12, 2610, 12, 302, 2610, 2610, 2610, 2610, 2610, 2610, 306, 306, 2610, 2610, 2610, 307, 1019, 2610, 1019, 13, 1019, 1038, 14, 13, 2610, 2610, 1888, 2610, 2558, 307, 2610, 2610, 2610, 2610, 308, 2610, 308, 14, 308, 2610, 2610, 14, 2610, 2610, 309, 2610, 310, 308, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 15, 2610, 2610, 2610, 15, 2610, 2610, 2610, 2610, 16, 309, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 268, 2610, 2610, 2610, 268, 2610, 2610, 2610, 2610, 269, 310, 2610, 16, 2610, 311, 2553, 2610, 2553, 16, 2553, 2555, 2610, 2610, 2610, 16, 2557, 269, 2544, 311, 2610, 17, 2610, 2610, 312, 2610, 312, 17, 312, 2610, 2610, 2610, 2610, 17, 313, 270, 354, 312, 2610, 18, 2610, 2610, 2610, 2610, 2610, 18, 2610, 2610, 2610, 2610, 2610, 18, 2610, 2610, 19, 313, 2610, 314, 2610, 2610, 2610, 2610, 2610, 314, 2610, 2610, 2610, 2610, 2610, 314, 2610, 2610, 315, 314, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 315, 315, 2610, 2610, 2610, 316, 2610, 2610, 316, 2610, 316, 2485, 2610, 2610, 2610, 2610, 2610, 2610, 2496, 316, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 317, 317, 2610, 2610, 2610, 318, 2610, 2610, 318, 2610, 318, 2499, 2610, 2610, 2610, 2610, 2610, 2610, 2500, 318, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 319, 319, 2610, 2610, 2610, 320, 2610, 2610, 320, 2610, 320, 2503, 2610, 2610, 2610, 2610, 2610, 2610, 2504, 320, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 321, 321, 2610, 2610, 2610, 322, 2610, 2610, 322, 2610, 322, 2507, 2610, 2610, 2610, 2610, 2610, 2610, 2508, 322, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 323, 323, 2610, 2610, 2610, 324, 2610, 2610, 324, 2610, 324, 2511, 2610, 2610, 2610, 2610, 2610, 2610, 2512, 324, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 325, 325, 2610, 2610, 2610, 326, 2610, 2610, 326, 2610, 326, 2515, 2610, 2610, 2610, 2610, 2610, 2610, 2516, 326, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 327, 327, 2610, 2610, 2610, 328, 2610, 2610, 328, 2610, 328, 2519, 2610, 2610, 2610, 2610, 2610, 2610, 2520, 328, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 329, 329, 2610, 2610, 2610, 330, 2610, 2610, 330, 2610, 330, 2523, 2610, 2610, 2610, 2610, 2610, 2610, 2524, 330, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 331, 331, 2610, 2610, 2610, 332, 2610, 2610, 332, 2610, 332, 2527, 2610, 2610, 2610, 2610, 2610, 2610, 2528, 332, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 333, 333, 2610, 2610, 2610, 334, 2610, 2610, 334, 2610, 334, 2531, 2610, 2610, 2610, 2610, 2610, 2610, 2532, 334, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 335, 335, 2610, 2610, 2610, 336, 2610, 2610, 336, 2610, 336, 2535, 2610, 2610, 2610, 2610, 2610, 2610, 2536, 336, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 337, 337, 2610, 2610, 2610, 338, 2610, 2610, 338, 2610, 338, 2539, 2610, 2610, 2610, 2610, 2610, 2610, 2540, 338, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 339, 339, 2610, 2610, 2610, 340, 2610, 2610, 340, 2610, 340, 2543, 2610, 2610, 2610, 2610, 2610, 2610, 1780, 340, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 341, 341, 2610, 2610, 2610, 102, 2610, 2610, 102, 2610, 102, 342, 2610, 2610, 2610, 2610, 2610, 2610, 343, 342, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 104, 343, 2610, 2610, 2610, 344, 1808, 2610, 1808, 103, 344, 1814, 104, 103, 2610, 2610, 1822, 2610, 1012, 344, 2610, 2610, 2610, 2610, 345, 2610, 345, 104, 2610, 2610, 2610, 104, 2610, 2610, 346, 2610, 996, 345, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 105, 2610, 2610, 2610, 105, 2610, 2610, 2610, 2610, 106, 346, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 347, 2610, 2610, 2610, 347, 2610, 2610, 2610, 2610, 348, 347, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 348, 348, 2610, 2610, 2610, 15, 2610, 2610, 15, 2610, 15, 349, 2610, 2610, 2610, 2610, 2610, 2610, 350, 349, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 17, 350, 2610, 2610, 2610, 351, 1800, 2610, 1800, 16, 1800, 2487, 17, 16, 2610, 2610, 2491, 2610, 2544, 351, 2610, 2610, 2610, 2610, 352, 2610, 352, 17, 352, 2610, 2610, 17, 2610, 2610, 353, 2610, 354, 352, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 18, 2610, 2610, 2610, 18, 2610, 2610, 2610, 2610, 19, 353, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 314, 2610, 2610, 2610, 314, 2610, 2610, 2610, 2610, 315, 354, 2610, 19, 2610, 355, 2481, 2610, 2481, 19, 2481, 2483, 2610, 2610, 2610, 19, 2486, 315, 2472, 355, 2610, 20, 2610, 2610, 356, 2610, 356, 20, 356, 2610, 2610, 2610, 2610, 20, 357, 316, 398, 356, 2610, 21, 2610, 2610, 2610, 2610, 2610, 21, 2610, 2610, 2610, 2610, 2610, 21, 2610, 2610, 22, 357, 2610, 358, 2610, 2610, 2610, 2610, 2610, 358, 2610, 2610, 2610, 2610, 2610, 358, 2610, 2610, 359, 358, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 359, 359, 2610, 2610, 2610, 360, 2610, 2610, 360, 2610, 360, 2417, 2610, 2610, 2610, 2610, 2610, 2610, 2428, 360, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 361, 361, 2610, 2610, 2610, 362, 2610, 2610, 362, 2610, 362, 2431, 2610, 2610, 2610, 2610, 2610, 2610, 2432, 362, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 363, 363, 2610, 2610, 2610, 364, 2610, 2610, 364, 2610, 364, 2435, 2610, 2610, 2610, 2610, 2610, 2610, 2436, 364, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 365, 365, 2610, 2610, 2610, 366, 2610, 2610, 366, 2610, 366, 2439, 2610, 2610, 2610, 2610, 2610, 2610, 2440, 366, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 367, 367, 2610, 2610, 2610, 368, 2610, 2610, 368, 2610, 368, 2443, 2610, 2610, 2610, 2610, 2610, 2610, 2444, 368, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 369, 369, 2610, 2610, 2610, 370, 2610, 2610, 370, 2610, 370, 2447, 2610, 2610, 2610, 2610, 2610, 2610, 2448, 370, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 371, 371, 2610, 2610, 2610, 372, 2610, 2610, 372, 2610, 372, 2451, 2610, 2610, 2610, 2610, 2610, 2610, 2452, 372, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 373, 373, 2610, 2610, 2610, 374, 2610, 2610, 374, 2610, 374, 2455, 2610, 2610, 2610, 2610, 2610, 2610, 2456, 374, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 375, 375, 2610, 2610, 2610, 376, 2610, 2610, 376, 2610, 376, 2459, 2610, 2610, 2610, 2610, 2610, 2610, 2460, 376, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 377, 377, 2610, 2610, 2610, 378, 2610, 2610, 378, 2610, 378, 2463, 2610, 2610, 2610, 2610, 2610, 2610, 2464, 378, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 379, 379, 2610, 2610, 2610, 380, 2610, 2610, 380, 2610, 380, 2467, 2610, 2610, 2610, 2610, 2610, 2610, 2468, 380, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 381, 381, 2610, 2610, 2610, 382, 2610, 2610, 382, 2610, 382, 2471, 2610, 2610, 2610, 2610, 2610, 2610, 1748, 382, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 383, 383, 2610, 2610, 2610, 99, 2610, 2610, 99, 2610, 99, 384, 2610, 2610, 2610, 2610, 2610, 2610, 385, 384, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 101, 385, 2610, 2610, 2610, 386, 1780, 2610, 1780, 100, 386, 1786, 101, 100, 2610, 2610, 1794, 2610, 1803, 386, 2610, 2610, 2610, 2610, 387, 2610, 387, 101, 2610, 2610, 2610, 101, 2610, 2610, 388, 2610, 992, 387, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 102, 2610, 2610, 2610, 102, 2610, 2610, 2610, 2610, 103, 388, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 389, 2610, 2610, 2610, 389, 2610, 2610, 2610, 2610, 390, 389, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 390, 390, 2610, 2610, 2610, 391, 2610, 2610, 391, 2610, 391, 1799, 2610, 2610, 2610, 2610, 2610, 2610, 1800, 391, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 392, 392, 2610, 2610, 2610, 18, 2610, 2610, 18, 2610, 18, 393, 2610, 2610, 2610, 2610, 2610, 2610, 394, 393, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 20, 394, 2610, 2610, 2610, 395, 1772, 2610, 1772, 19, 1772, 2419, 20, 19, 2610, 2610, 2423, 2610, 2472, 395, 2610, 2610, 2610, 2610, 396, 2610, 396, 20, 396, 2610, 2610, 20, 2610, 2610, 397, 2610, 398, 396, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 21, 2610, 2610, 2610, 21, 2610, 2610, 2610, 2610, 22, 397, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 358, 2610, 2610, 2610, 358, 2610, 2610, 2610, 2610, 359, 398, 2610, 22, 2610, 399, 2413, 2610, 2413, 22, 2413, 2415, 2610, 2610, 2610, 22, 2418, 359, 2404, 399, 2610, 23, 2610, 2610, 400, 2610, 400, 23, 400, 2610, 2610, 2610, 2610, 23, 401, 360, 442, 400, 2610, 24, 2610, 2610, 2610, 2610, 2610, 24, 2610, 2610, 2610, 2610, 2610, 24, 2610, 2610, 25, 401, 2610, 402, 2610, 2610, 2610, 2610, 2610, 402, 2610, 2610, 2610, 2610, 2610, 402, 2610, 2610, 403, 402, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 403, 403, 2610, 2610, 2610, 404, 2610, 2610, 404, 2610, 404, 2353, 2610, 2610, 2610, 2610, 2610, 2610, 2364, 404, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 405, 405, 2610, 2610, 2610, 406, 2610, 2610, 406, 2610, 406, 2367, 2610, 2610, 2610, 2610, 2610, 2610, 2368, 406, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 407, 407, 2610, 2610, 2610, 408, 2610, 2610, 408, 2610, 408, 2371, 2610, 2610, 2610, 2610, 2610, 2610, 2372, 408, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 409, 409, 2610, 2610, 2610, 410, 2610, 2610, 410, 2610, 410, 2375, 2610, 2610, 2610, 2610, 2610, 2610, 2376, 410, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 411, 411, 2610, 2610, 2610, 412, 2610, 2610, 412, 2610, 412, 2379, 2610, 2610, 2610, 2610, 2610, 2610, 2380, 412, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 413, 413, 2610, 2610, 2610, 414, 2610, 2610, 414, 2610, 414, 2383, 2610, 2610, 2610, 2610, 2610, 2610, 2384, 414, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 415, 415, 2610, 2610, 2610, 416, 2610, 2610, 416, 2610, 416, 2387, 2610, 2610, 2610, 2610, 2610, 2610, 2388, 416, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 417, 417, 2610, 2610, 2610, 418, 2610, 2610, 418, 2610, 418, 2391, 2610, 2610, 2610, 2610, 2610, 2610, 2392, 418, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 419, 419, 2610, 2610, 2610, 420, 2610, 2610, 420, 2610, 420, 2395, 2610, 2610, 2610, 2610, 2610, 2610, 2396, 420, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 421, 421, 2610, 2610, 2610, 422, 2610, 2610, 422, 2610, 422, 2399, 2610, 2610, 2610, 2610, 2610, 2610, 2400, 422, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 423, 423, 2610, 2610, 2610, 424, 2610, 2610, 424, 2610, 424, 2403, 2610, 2610, 2610, 2610, 2610, 2610, 1712, 424, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 425, 425, 2610, 2610, 2610, 96, 2610, 2610, 96, 2610, 96, 426, 2610, 2610, 2610, 2610, 2610, 2610, 427, 426, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 98, 427, 2610, 2610, 2610, 428, 1748, 2610, 1748, 97, 428, 1754, 98, 97, 2610, 2610, 1762, 2610, 1775, 428, 2610, 2610, 2610, 2610, 429, 2610, 429, 98, 2610, 2610, 2610, 98, 2610, 2610, 430, 2610, 988, 429, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 99, 2610, 2610, 2610, 99, 2610, 2610, 2610, 2610, 100, 430, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 431, 2610, 2610, 2610, 431, 2610, 2610, 2610, 2610, 432, 431, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 432, 432, 2610, 2610, 2610, 433, 2610, 2610, 433, 2610, 433, 1767, 2610, 2610, 2610, 2610, 2610, 2610, 1768, 433, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 434, 434, 2610, 2610, 2610, 435, 2610, 2610, 435, 2610, 435, 1771, 2610, 2610, 2610, 2610, 2610, 2610, 1772, 435, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 436, 436, 2610, 2610, 2610, 21, 2610, 2610, 21, 2610, 21, 437, 2610, 2610, 2610, 2610, 2610, 2610, 438, 437, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 23, 438, 2610, 2610, 2610, 439, 1740, 2610, 1740, 22, 1740, 2355, 23, 22, 2610, 2610, 2359, 2610, 2404, 439, 2610, 2610, 2610, 2610, 440, 2610, 440, 23, 440, 2610, 2610, 23, 2610, 2610, 441, 2610, 442, 440, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 24, 2610, 2610, 2610, 24, 2610, 2610, 2610, 2610, 25, 441, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 402, 2610, 2610, 2610, 402, 2610, 2610, 2610, 2610, 403, 442, 2610, 25, 2610, 443, 2349, 2610, 2349, 25, 2349, 2351, 2610, 2610, 2610, 25, 2354, 403, 2340, 443, 2610, 26, 2610, 2610, 444, 2610, 444, 26, 444, 2610, 2610, 2610, 2610, 26, 445, 404, 486, 444, 2610, 27, 2610, 2610, 2610, 2610, 2610, 27, 2610, 2610, 2610, 2610, 2610, 27, 2610, 2610, 28, 445, 2610, 446, 2610, 2610, 2610, 2610, 2610, 446, 2610, 2610, 2610, 2610, 2610, 446, 2610, 2610, 447, 446, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 447, 447, 2610, 2610, 2610, 448, 2610, 2610, 448, 2610, 448, 2293, 2610, 2610, 2610, 2610, 2610, 2610, 2304, 448, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 449, 449, 2610, 2610, 2610, 450, 2610, 2610, 450, 2610, 450, 2307, 2610, 2610, 2610, 2610, 2610, 2610, 2308, 450, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 451, 451, 2610, 2610, 2610, 452, 2610, 2610, 452, 2610, 452, 2311, 2610, 2610, 2610, 2610, 2610, 2610, 2312, 452, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 453, 453, 2610, 2610, 2610, 454, 2610, 2610, 454, 2610, 454, 2315, 2610, 2610, 2610, 2610, 2610, 2610, 2316, 454, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 455, 455, 2610, 2610, 2610, 456, 2610, 2610, 456, 2610, 456, 2319, 2610, 2610, 2610, 2610, 2610, 2610, 2320, 456, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 457, 457, 2610, 2610, 2610, 458, 2610, 2610, 458, 2610, 458, 2323, 2610, 2610, 2610, 2610, 2610, 2610, 2324, 458, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 459, 459, 2610, 2610, 2610, 460, 2610, 2610, 460, 2610, 460, 2327, 2610, 2610, 2610, 2610, 2610, 2610, 2328, 460, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 461, 461, 2610, 2610, 2610, 462, 2610, 2610, 462, 2610, 462, 2331, 2610, 2610, 2610, 2610, 2610, 2610, 2332, 462, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 463, 463, 2610, 2610, 2610, 464, 2610, 2610, 464, 2610, 464, 2335, 2610, 2610, 2610, 2610, 2610, 2610, 2336, 464, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 465, 465, 2610, 2610, 2610, 466, 2610, 2610, 466, 2610, 466, 2339, 2610, 2610, 2610, 2610, 2610, 2610, 1672, 466, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 467, 467, 2610, 2610, 2610, 93, 2610, 2610, 93, 2610, 93, 468, 2610, 2610, 2610, 2610, 2610, 2610, 469, 468, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 95, 469, 2610, 2610, 2610, 470, 1712, 2610, 1712, 94, 470, 1718, 95, 94, 2610, 2610, 1726, 2610, 1743, 470, 2610, 2610, 2610, 2610, 471, 2610, 471, 95, 2610, 2610, 2610, 95, 2610, 2610, 472, 2610, 984, 471, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 96, 2610, 2610, 2610, 96, 2610, 2610, 2610, 2610, 97, 472, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 473, 2610, 2610, 2610, 473, 2610, 2610, 2610, 2610, 474, 473, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 474, 474, 2610, 2610, 2610, 475, 2610, 2610, 475, 2610, 475, 1731, 2610, 2610, 2610, 2610, 2610, 2610, 1732, 475, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 476, 476, 2610, 2610, 2610, 477, 2610, 2610, 477, 2610, 477, 1735, 2610, 2610, 2610, 2610, 2610, 2610, 1736, 477, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 478, 478, 2610, 2610, 2610, 479, 2610, 2610, 479, 2610, 479, 1739, 2610, 2610, 2610, 2610, 2610, 2610, 1740, 479, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 480, 480, 2610, 2610, 2610, 24, 2610, 2610, 24, 2610, 24, 481, 2610, 2610, 2610, 2610, 2610, 2610, 482, 481, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 26, 482, 2610, 2610, 2610, 483, 1704, 2610, 1704, 25, 1704, 2295, 26, 25, 2610, 2610, 2299, 2610, 2340, 483, 2610, 2610, 2610, 2610, 484, 2610, 484, 26, 484, 2610, 2610, 26, 2610, 2610, 485, 2610, 486, 484, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 27, 2610, 2610, 2610, 27, 2610, 2610, 2610, 2610, 28, 485, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 446, 2610, 2610, 2610, 446, 2610, 2610, 2610, 2610, 447, 486, 2610, 28, 2610, 487, 2289, 2610, 2289, 28, 2289, 2291, 2610, 2610, 2610, 28, 2294, 447, 2280, 487, 2610, 29, 2610, 2610, 488, 2610, 488, 29, 488, 2610, 2610, 2610, 2610, 29, 489, 448, 530, 488, 2610, 30, 2610, 2610, 2610, 2610, 2610, 30, 2610, 2610, 2610, 2610, 2610, 30, 2610, 2610, 31, 489, 2610, 490, 2610, 2610, 2610, 2610, 2610, 490, 2610, 2610, 2610, 2610, 2610, 490, 2610, 2610, 491, 490, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 491, 491, 2610, 2610, 2610, 492, 2610, 2610, 492, 2610, 492, 2237, 2610, 2610, 2610, 2610, 2610, 2610, 2248, 492, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 493, 493, 2610, 2610, 2610, 494, 2610, 2610, 494, 2610, 494, 2251, 2610, 2610, 2610, 2610, 2610, 2610, 2252, 494, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 495, 495, 2610, 2610, 2610, 496, 2610, 2610, 496, 2610, 496, 2255, 2610, 2610, 2610, 2610, 2610, 2610, 2256, 496, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 497, 497, 2610, 2610, 2610, 498, 2610, 2610, 498, 2610, 498, 2259, 2610, 2610, 2610, 2610, 2610, 2610, 2260, 498, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 499, 499, 2610, 2610, 2610, 500, 2610, 2610, 500, 2610, 500, 2263, 2610, 2610, 2610, 2610, 2610, 2610, 2264, 500, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 501, 501, 2610, 2610, 2610, 502, 2610, 2610, 502, 2610, 502, 2267, 2610, 2610, 2610, 2610, 2610, 2610, 2268, 502, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 503, 503, 2610, 2610, 2610, 504, 2610, 2610, 504, 2610, 504, 2271, 2610, 2610, 2610, 2610, 2610, 2610, 2272, 504, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 505, 505, 2610, 2610, 2610, 506, 2610, 2610, 506, 2610, 506, 2275, 2610, 2610, 2610, 2610, 2610, 2610, 2276, 506, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 507, 507, 2610, 2610, 2610, 508, 2610, 2610, 508, 2610, 508, 2279, 2610, 2610, 2610, 2610, 2610, 2610, 1628, 508, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 509, 509, 2610, 2610, 2610, 90, 2610, 2610, 90, 2610, 90, 510, 2610, 2610, 2610, 2610, 2610, 2610, 511, 510, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 92, 511, 2610, 2610, 2610, 512, 1672, 2610, 1672, 91, 512, 1678, 92, 91, 2610, 2610, 1686, 2610, 1707, 512, 2610, 2610, 2610, 2610, 513, 2610, 513, 92, 2610, 2610, 2610, 92, 2610, 2610, 514, 2610, 980, 513, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 93, 2610, 2610, 2610, 93, 2610, 2610, 2610, 2610, 94, 514, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 515, 2610, 2610, 2610, 515, 2610, 2610, 2610, 2610, 516, 515, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 516, 516, 2610, 2610, 2610, 517, 2610, 2610, 517, 2610, 517, 1691, 2610, 2610, 2610, 2610, 2610, 2610, 1692, 517, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 518, 518, 2610, 2610, 2610, 519, 2610, 2610, 519, 2610, 519, 1695, 2610, 2610, 2610, 2610, 2610, 2610, 1696, 519, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 520, 520, 2610, 2610, 2610, 521, 2610, 2610, 521, 2610, 521, 1699, 2610, 2610, 2610, 2610, 2610, 2610, 1700, 521, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 522, 522, 2610, 2610, 2610, 523, 2610, 2610, 523, 2610, 523, 1703, 2610, 2610, 2610, 2610, 2610, 2610, 1704, 523, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 524, 524, 2610, 2610, 2610, 27, 2610, 2610, 27, 2610, 27, 525, 2610, 2610, 2610, 2610, 2610, 2610, 526, 525, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 29, 526, 2610, 2610, 2610, 527, 1664, 2610, 1664, 28, 1664, 2239, 29, 28, 2610, 2610, 2243, 2610, 2280, 527, 2610, 2610, 2610, 2610, 528, 2610, 528, 29, 528, 2610, 2610, 29, 2610, 2610, 529, 2610, 530, 528, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 30, 2610, 2610, 2610, 30, 2610, 2610, 2610, 2610, 31, 529, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 490, 2610, 2610, 2610, 490, 2610, 2610, 2610, 2610, 491, 530, 2610, 31, 2610, 531, 2233, 2610, 2233, 31, 2233, 2235, 2610, 2610, 2610, 31, 2238, 491, 2224, 531, 2610, 32, 2610, 2610, 532, 2610, 532, 32, 532, 2610, 2610, 2610, 2610, 32, 533, 492, 574, 532, 2610, 33, 2610, 2610, 2610, 2610, 2610, 33, 2610, 2610, 2610, 2610, 2610, 33, 2610, 2610, 34, 533, 2610, 534, 2610, 2610, 2610, 2610, 2610, 534, 2610, 2610, 2610, 2610, 2610, 534, 2610, 2610, 535, 534, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 535, 535, 2610, 2610, 2610, 536, 2610, 2610, 536, 2610, 536, 2185, 2610, 2610, 2610, 2610, 2610, 2610, 2196, 536, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 537, 537, 2610, 2610, 2610, 538, 2610, 2610, 538, 2610, 538, 2199, 2610, 2610, 2610, 2610, 2610, 2610, 2200, 538, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 539, 539, 2610, 2610, 2610, 540, 2610, 2610, 540, 2610, 540, 2203, 2610, 2610, 2610, 2610, 2610, 2610, 2204, 540, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 541, 541, 2610, 2610, 2610, 542, 2610, 2610, 542, 2610, 542, 2207, 2610, 2610, 2610, 2610, 2610, 2610, 2208, 542, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 543, 543, 2610, 2610, 2610, 544, 2610, 2610, 544, 2610, 544, 2211, 2610, 2610, 2610, 2610, 2610, 2610, 2212, 544, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 545, 545, 2610, 2610, 2610, 546, 2610, 2610, 546, 2610, 546, 2215, 2610, 2610, 2610, 2610, 2610, 2610, 2216, 546, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 547, 547, 2610, 2610, 2610, 548, 2610, 2610, 548, 2610, 548, 2219, 2610, 2610, 2610, 2610, 2610, 2610, 2220, 548, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 549, 549, 2610, 2610, 2610, 550, 2610, 2610, 550, 2610, 550, 2223, 2610, 2610, 2610, 2610, 2610, 2610, 1580, 550, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 551, 551, 2610, 2610, 2610, 87, 2610, 2610, 87, 2610, 87, 552, 2610, 2610, 2610, 2610, 2610, 2610, 553, 552, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 89, 553, 2610, 2610, 2610, 554, 1628, 2610, 1628, 88, 554, 1634, 89, 88, 2610, 2610, 1642, 2610, 1667, 554, 2610, 2610, 2610, 2610, 555, 2610, 555, 89, 2610, 2610, 2610, 89, 2610, 2610, 556, 2610, 976, 555, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 90, 2610, 2610, 2610, 90, 2610, 2610, 2610, 2610, 91, 556, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 557, 2610, 2610, 2610, 557, 2610, 2610, 2610, 2610, 558, 557, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 558, 558, 2610, 2610, 2610, 559, 2610, 2610, 559, 2610, 559, 1647, 2610, 2610, 2610, 2610, 2610, 2610, 1648, 559, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 560, 560, 2610, 2610, 2610, 561, 2610, 2610, 561, 2610, 561, 1651, 2610, 2610, 2610, 2610, 2610, 2610, 1652, 561, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 562, 562, 2610, 2610, 2610, 563, 2610, 2610, 563, 2610, 563, 1655, 2610, 2610, 2610, 2610, 2610, 2610, 1656, 563, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 564, 564, 2610, 2610, 2610, 565, 2610, 2610, 565, 2610, 565, 1659, 2610, 2610, 2610, 2610, 2610, 2610, 1660, 565, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 566, 566, 2610, 2610, 2610, 567, 2610, 2610, 567, 2610, 567, 1663, 2610, 2610, 2610, 2610, 2610, 2610, 1664, 567, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 568, 568, 2610, 2610, 2610, 30, 2610, 2610, 30, 2610, 30, 569, 2610, 2610, 2610, 2610, 2610, 2610, 570, 569, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 32, 570, 2610, 2610, 2610, 571, 1620, 2610, 1620, 31, 1620, 2187, 32, 31, 2610, 2610, 2191, 2610, 2224, 571, 2610, 2610, 2610, 2610, 572, 2610, 572, 32, 572, 2610, 2610, 32, 2610, 2610, 573, 2610, 574, 572, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 33, 2610, 2610, 2610, 33, 2610, 2610, 2610, 2610, 34, 573, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 534, 2610, 2610, 2610, 534, 2610, 2610, 2610, 2610, 535, 574, 2610, 34, 2610, 575, 2181, 2610, 2181, 34, 2181, 2183, 2610, 2610, 2610, 34, 2186, 535, 2172, 575, 2610, 35, 2610, 2610, 576, 2610, 576, 35, 576, 2610, 2610, 2610, 2610, 35, 577, 536, 618, 576, 2610, 36, 2610, 2610, 2610, 2610, 2610, 36, 2610, 2610, 2610, 2610, 2610, 36, 2610, 2610, 37, 577, 2610, 578, 2610, 2610, 2610, 2610, 2610, 578, 2610, 2610, 2610, 2610, 2610, 578, 2610, 2610, 579, 578, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 579, 579, 2610, 2610, 2610, 580, 2610, 2610, 580, 2610, 580, 2137, 2610, 2610, 2610, 2610, 2610, 2610, 2148, 580, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 581, 581, 2610, 2610, 2610, 582, 2610, 2610, 582, 2610, 582, 2151, 2610, 2610, 2610, 2610, 2610, 2610, 2152, 582, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 583, 583, 2610, 2610, 2610, 584, 2610, 2610, 584, 2610, 584, 2155, 2610, 2610, 2610, 2610, 2610, 2610, 2156, 584, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 585, 585, 2610, 2610, 2610, 586, 2610, 2610, 586, 2610, 586, 2159, 2610, 2610, 2610, 2610, 2610, 2610, 2160, 586, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 587, 587, 2610, 2610, 2610, 588, 2610, 2610, 588, 2610, 588, 2163, 2610, 2610, 2610, 2610, 2610, 2610, 2164, 588, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 589, 589, 2610, 2610, 2610, 590, 2610, 2610, 590, 2610, 590, 2167, 2610, 2610, 2610, 2610, 2610, 2610, 2168, 590, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 591, 591, 2610, 2610, 2610, 592, 2610, 2610, 592, 2610, 592, 2171, 2610, 2610, 2610, 2610, 2610, 2610, 1528, 592, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 593, 593, 2610, 2610, 2610, 84, 2610, 2610, 84, 2610, 84, 594, 2610, 2610, 2610, 2610, 2610, 2610, 595, 594, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 86, 595, 2610, 2610, 2610, 596, 1580, 2610, 1580, 85, 596, 1586, 86, 85, 2610, 2610, 1594, 2610, 1623, 596, 2610, 2610, 2610, 2610, 597, 2610, 597, 86, 2610, 2610, 2610, 86, 2610, 2610, 598, 2610, 972, 597, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 87, 2610, 2610, 2610, 87, 2610, 2610, 2610, 2610, 88, 598, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 599, 2610, 2610, 2610, 599, 2610, 2610, 2610, 2610, 600, 599, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 600, 600, 2610, 2610, 2610, 601, 2610, 2610, 601, 2610, 601, 1599, 2610, 2610, 2610, 2610, 2610, 2610, 1600, 601, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 602, 602, 2610, 2610, 2610, 603, 2610, 2610, 603, 2610, 603, 1603, 2610, 2610, 2610, 2610, 2610, 2610, 1604, 603, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 604, 604, 2610, 2610, 2610, 605, 2610, 2610, 605, 2610, 605, 1607, 2610, 2610, 2610, 2610, 2610, 2610, 1608, 605, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 606, 606, 2610, 2610, 2610, 607, 2610, 2610, 607, 2610, 607, 1611, 2610, 2610, 2610, 2610, 2610, 2610, 1612, 607, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 608, 608, 2610, 2610, 2610, 609, 2610, 2610, 609, 2610, 609, 1615, 2610, 2610, 2610, 2610, 2610, 2610, 1616, 609, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 610, 610, 2610, 2610, 2610, 611, 2610, 2610, 611, 2610, 611, 1619, 2610, 2610, 2610, 2610, 2610, 2610, 1620, 611, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 612, 612, 2610, 2610, 2610, 33, 2610, 2610, 33, 2610, 33, 613, 2610, 2610, 2610, 2610, 2610, 2610, 614, 613, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 35, 614, 2610, 2610, 2610, 615, 1572, 2610, 1572, 34, 1572, 2139, 35, 34, 2610, 2610, 2143, 2610, 2172, 615, 2610, 2610, 2610, 2610, 616, 2610, 616, 35, 616, 2610, 2610, 35, 2610, 2610, 617, 2610, 618, 616, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 36, 2610, 2610, 2610, 36, 2610, 2610, 2610, 2610, 37, 617, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 578, 2610, 2610, 2610, 578, 2610, 2610, 2610, 2610, 579, 618, 2610, 37, 2610, 619, 2133, 2610, 2133, 37, 2133, 2135, 2610, 2610, 2610, 37, 2138, 579, 2124, 619, 2610, 38, 2610, 2610, 620, 2610, 620, 38, 620, 2610, 2610, 2610, 2610, 38, 621, 580, 662, 620, 2610, 39, 2610, 2610, 2610, 2610, 2610, 39, 2610, 2610, 2610, 2610, 2610, 39, 2610, 2610, 40, 621, 2610, 622, 2610, 2610, 2610, 2610, 2610, 622, 2610, 2610, 2610, 2610, 2610, 622, 2610, 2610, 623, 622, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 623, 623, 2610, 2610, 2610, 624, 2610, 2610, 624, 2610, 624, 2093, 2610, 2610, 2610, 2610, 2610, 2610, 2104, 624, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 625, 625, 2610, 2610, 2610, 626, 2610, 2610, 626, 2610, 626, 2107, 2610, 2610, 2610, 2610, 2610, 2610, 2108, 626, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 627, 627, 2610, 2610, 2610, 628, 2610, 2610, 628, 2610, 628, 2111, 2610, 2610, 2610, 2610, 2610, 2610, 2112, 628, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 629, 629, 2610, 2610, 2610, 630, 2610, 2610, 630, 2610, 630, 2115, 2610, 2610, 2610, 2610, 2610, 2610, 2116, 630, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 631, 631, 2610, 2610, 2610, 632, 2610, 2610, 632, 2610, 632, 2119, 2610, 2610, 2610, 2610, 2610, 2610, 2120, 632, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 633, 633, 2610, 2610, 2610, 634, 2610, 2610, 634, 2610, 634, 2123, 2610, 2610, 2610, 2610, 2610, 2610, 1472, 634, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 635, 635, 2610, 2610, 2610, 81, 2610, 2610, 81, 2610, 81, 636, 2610, 2610, 2610, 2610, 2610, 2610, 637, 636, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 83, 637, 2610, 2610, 2610, 638, 1528, 2610, 1528, 82, 638, 1534, 83, 82, 2610, 2610, 1542, 2610, 1575, 638, 2610, 2610, 2610, 2610, 639, 2610, 639, 83, 2610, 2610, 2610, 83, 2610, 2610, 640, 2610, 968, 639, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 84, 2610, 2610, 2610, 84, 2610, 2610, 2610, 2610, 85, 640, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 641, 2610, 2610, 2610, 641, 2610, 2610, 2610, 2610, 642, 641, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 642, 642, 2610, 2610, 2610, 643, 2610, 2610, 643, 2610, 643, 1547, 2610, 2610, 2610, 2610, 2610, 2610, 1548, 643, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 644, 644, 2610, 2610, 2610, 645, 2610, 2610, 645, 2610, 645, 1551, 2610, 2610, 2610, 2610, 2610, 2610, 1552, 645, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 646, 646, 2610, 2610, 2610, 647, 2610, 2610, 647, 2610, 647, 1555, 2610, 2610, 2610, 2610, 2610, 2610, 1556, 647, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 648, 648, 2610, 2610, 2610, 649, 2610, 2610, 649, 2610, 649, 1559, 2610, 2610, 2610, 2610, 2610, 2610, 1560, 649, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 650, 650, 2610, 2610, 2610, 651, 2610, 2610, 651, 2610, 651, 1563, 2610, 2610, 2610, 2610, 2610, 2610, 1564, 651, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 652, 652, 2610, 2610, 2610, 653, 2610, 2610, 653, 2610, 653, 1567, 2610, 2610, 2610, 2610, 2610, 2610, 1568, 653, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 654, 654, 2610, 2610, 2610, 655, 2610, 2610, 655, 2610, 655, 1571, 2610, 2610, 2610, 2610, 2610, 2610, 1572, 655, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 656, 656, 2610, 2610, 2610, 36, 2610, 2610, 36, 2610, 36, 657, 2610, 2610, 2610, 2610, 2610, 2610, 658, 657, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 38, 658, 2610, 2610, 2610, 659, 1520, 2610, 1520, 37, 1520, 2095, 38, 37, 2610, 2610, 2099, 2610, 2124, 659, 2610, 2610, 2610, 2610, 660, 2610, 660, 38, 660, 2610, 2610, 38, 2610, 2610, 661, 2610, 662, 660, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 39, 2610, 2610, 2610, 39, 2610, 2610, 2610, 2610, 40, 661, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 622, 2610, 2610, 2610, 622, 2610, 2610, 2610, 2610, 623, 662, 2610, 40, 2610, 663, 2089, 2610, 2089, 40, 2089, 2091, 2610, 2610, 2610, 40, 2094, 623, 2080, 663, 2610, 41, 2610, 2610, 664, 2610, 664, 41, 664, 2610, 2610, 2610, 2610, 41, 665, 624, 706, 664, 2610, 42, 2610, 2610, 2610, 2610, 2610, 42, 2610, 2610, 2610, 2610, 2610, 42, 2610, 2610, 43, 665, 2610, 666, 2610, 2610, 2610, 2610, 2610, 666, 2610, 2610, 2610, 2610, 2610, 666, 2610, 2610, 667, 666, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 667, 667, 2610, 2610, 2610, 668, 2610, 2610, 668, 2610, 668, 2053, 2610, 2610, 2610, 2610, 2610, 2610, 2064, 668, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 669, 669, 2610, 2610, 2610, 670, 2610, 2610, 670, 2610, 670, 2067, 2610, 2610, 2610, 2610, 2610, 2610, 2068, 670, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 671, 671, 2610, 2610, 2610, 672, 2610, 2610, 672, 2610, 672, 2071, 2610, 2610, 2610, 2610, 2610, 2610, 2072, 672, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 673, 673, 2610, 2610, 2610, 674, 2610, 2610, 674, 2610, 674, 2075, 2610, 2610, 2610, 2610, 2610, 2610, 2076, 674, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 675, 675, 2610, 2610, 2610, 676, 2610, 2610, 676, 2610, 676, 2079, 2610, 2610, 2610, 2610, 2610, 2610, 1412, 676, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 677, 677, 2610, 2610, 2610, 78, 2610, 2610, 78, 2610, 78, 678, 2610, 2610, 2610, 2610, 2610, 2610, 679, 678, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 80, 679, 2610, 2610, 2610, 680, 1472, 2610, 1472, 79, 680, 1478, 80, 79, 2610, 2610, 1486, 2610, 1523, 680, 2610, 2610, 2610, 2610, 681, 2610, 681, 80, 2610, 2610, 2610, 80, 2610, 2610, 682, 2610, 964, 681, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 81, 2610, 2610, 2610, 81, 2610, 2610, 2610, 2610, 82, 682, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 683, 2610, 2610, 2610, 683, 2610, 2610, 2610, 2610, 684, 683, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 684, 684, 2610, 2610, 2610, 685, 2610, 2610, 685, 2610, 685, 1491, 2610, 2610, 2610, 2610, 2610, 2610, 1492, 685, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 686, 686, 2610, 2610, 2610, 687, 2610, 2610, 687, 2610, 687, 1495, 2610, 2610, 2610, 2610, 2610, 2610, 1496, 687, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 688, 688, 2610, 2610, 2610, 689, 2610, 2610, 689, 2610, 689, 1499, 2610, 2610, 2610, 2610, 2610, 2610, 1500, 689, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 690, 690, 2610, 2610, 2610, 691, 2610, 2610, 691, 2610, 691, 1503, 2610, 2610, 2610, 2610, 2610, 2610, 1504, 691, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 692, 692, 2610, 2610, 2610, 693, 2610, 2610, 693, 2610, 693, 1507, 2610, 2610, 2610, 2610, 2610, 2610, 1508, 693, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 694, 694, 2610, 2610, 2610, 695, 2610, 2610, 695, 2610, 695, 1511, 2610, 2610, 2610, 2610, 2610, 2610, 1512, 695, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 696, 696, 2610, 2610, 2610, 697, 2610, 2610, 697, 2610, 697, 1515, 2610, 2610, 2610, 2610, 2610, 2610, 1516, 697, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 698, 698, 2610, 2610, 2610, 699, 2610, 2610, 699, 2610, 699, 1519, 2610, 2610, 2610, 2610, 2610, 2610, 1520, 699, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 700, 700, 2610, 2610, 2610, 39, 2610, 2610, 39, 2610, 39, 701, 2610, 2610, 2610, 2610, 2610, 2610, 702, 701, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 41, 702, 2610, 2610, 2610, 703, 1464, 2610, 1464, 40, 1464, 2055, 41, 40, 2610, 2610, 2059, 2610, 2080, 703, 2610, 2610, 2610, 2610, 704, 2610, 704, 41, 704, 2610, 2610, 41, 2610, 2610, 705, 2610, 706, 704, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 42, 2610, 2610, 2610, 42, 2610, 2610, 2610, 2610, 43, 705, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 666, 2610, 2610, 2610, 666, 2610, 2610, 2610, 2610, 667, 706, 2610, 43, 2610, 707, 2049, 2610, 2049, 43, 2049, 2051, 2610, 2610, 2610, 43, 2054, 667, 2040, 707, 2610, 44, 2610, 2610, 708, 2610, 708, 44, 708, 2610, 2610, 2610, 2610, 44, 709, 668, 750, 708, 2610, 45, 2610, 2610, 2610, 2610, 2610, 45, 2610, 2610, 2610, 2610, 2610, 45, 2610, 2610, 46, 709, 2610, 710, 2610, 2610, 2610, 2610, 2610, 710, 2610, 2610, 2610, 2610, 2610, 710, 2610, 2610, 711, 710, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 711, 711, 2610, 2610, 2610, 712, 2610, 2610, 712, 2610, 712, 2017, 2610, 2610, 2610, 2610, 2610, 2610, 2028, 712, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 713, 713, 2610, 2610, 2610, 714, 2610, 2610, 714, 2610, 714, 2031, 2610, 2610, 2610, 2610, 2610, 2610, 2032, 714, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 715, 715, 2610, 2610, 2610, 716, 2610, 2610, 716, 2610, 716, 2035, 2610, 2610, 2610, 2610, 2610, 2610, 2036, 716, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 717, 717, 2610, 2610, 2610, 718, 2610, 2610, 718, 2610, 718, 2039, 2610, 2610, 2610, 2610, 2610, 2610, 1348, 718, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 719, 719, 2610, 2610, 2610, 75, 2610, 2610, 75, 2610, 75, 720, 2610, 2610, 2610, 2610, 2610, 2610, 721, 720, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 77, 721, 2610, 2610, 2610, 722, 1412, 2610, 1412, 76, 722, 1418, 77, 76, 2610, 2610, 1426, 2610, 1467, 722, 2610, 2610, 2610, 2610, 723, 2610, 723, 77, 2610, 2610, 2610, 77, 2610, 2610, 724, 2610, 960, 723, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 78, 2610, 2610, 2610, 78, 2610, 2610, 2610, 2610, 79, 724, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 725, 2610, 2610, 2610, 725, 2610, 2610, 2610, 2610, 726, 725, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 726, 726, 2610, 2610, 2610, 727, 2610, 2610, 727, 2610, 727, 1431, 2610, 2610, 2610, 2610, 2610, 2610, 1432, 727, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 728, 728, 2610, 2610, 2610, 729, 2610, 2610, 729, 2610, 729, 1435, 2610, 2610, 2610, 2610, 2610, 2610, 1436, 729, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 730, 730, 2610, 2610, 2610, 731, 2610, 2610, 731, 2610, 731, 1439, 2610, 2610, 2610, 2610, 2610, 2610, 1440, 731, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 732, 732, 2610, 2610, 2610, 733, 2610, 2610, 733, 2610, 733, 1443, 2610, 2610, 2610, 2610, 2610, 2610, 1444, 733, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 734, 734, 2610, 2610, 2610, 735, 2610, 2610, 735, 2610, 735, 1447, 2610, 2610, 2610, 2610, 2610, 2610, 1448, 735, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 736, 736, 2610, 2610, 2610, 737, 2610, 2610, 737, 2610, 737, 1451, 2610, 2610, 2610, 2610, 2610, 2610, 1452, 737, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 738, 738, 2610, 2610, 2610, 739, 2610, 2610, 739, 2610, 739, 1455, 2610, 2610, 2610, 2610, 2610, 2610, 1456, 739, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 740, 740, 2610, 2610, 2610, 741, 2610, 2610, 741, 2610, 741, 1459, 2610, 2610, 2610, 2610, 2610, 2610, 1460, 741, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 742, 742, 2610, 2610, 2610, 743, 2610, 2610, 743, 2610, 743, 1463, 2610, 2610, 2610, 2610, 2610, 2610, 1464, 743, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 744, 744, 2610, 2610, 2610, 42, 2610, 2610, 42, 2610, 42, 745, 2610, 2610, 2610, 2610, 2610, 2610, 746, 745, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 44, 746, 2610, 2610, 2610, 747, 1404, 2610, 1404, 43, 1404, 2019, 44, 43, 2610, 2610, 2023, 2610, 2040, 747, 2610, 2610, 2610, 2610, 748, 2610, 748, 44, 748, 2610, 2610, 44, 2610, 2610, 749, 2610, 750, 748, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 45, 2610, 2610, 2610, 45, 2610, 2610, 2610, 2610, 46, 749, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 710, 2610, 2610, 2610, 710, 2610, 2610, 2610, 2610, 711, 750, 2610, 46, 2610, 751, 2013, 2610, 2013, 46, 2013, 2015, 2610, 2610, 2610, 46, 2018, 711, 2004, 751, 2610, 47, 2610, 2610, 752, 2610, 752, 47, 752, 2610, 2610, 2610, 2610, 47, 753, 712, 794, 752, 2610, 48, 2610, 2610, 2610, 2610, 2610, 48, 2610, 2610, 2610, 2610, 2610, 48, 2610, 2610, 49, 753, 2610, 754, 2610, 2610, 2610, 2610, 2610, 754, 2610, 2610, 2610, 2610, 2610, 754, 2610, 2610, 755, 754, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 755, 755, 2610, 2610, 2610, 756, 2610, 2610, 756, 2610, 756, 1985, 2610, 2610, 2610, 2610, 2610, 2610, 1996, 756, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 757, 757, 2610, 2610, 2610, 758, 2610, 2610, 758, 2610, 758, 1999, 2610, 2610, 2610, 2610, 2610, 2610, 2000, 758, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 759, 759, 2610, 2610, 2610, 760, 2610, 2610, 760, 2610, 760, 2003, 2610, 2610, 2610, 2610, 2610, 2610, 1280, 760, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 761, 761, 2610, 2610, 2610, 72, 2610, 2610, 72, 2610, 72, 762, 2610, 2610, 2610, 2610, 2610, 2610, 763, 762, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 74, 763, 2610, 2610, 2610, 764, 1348, 2610, 1348, 73, 764, 1354, 74, 73, 2610, 2610, 1362, 2610, 1407, 764, 2610, 2610, 2610, 2610, 765, 2610, 765, 74, 2610, 2610, 2610, 74, 2610, 2610, 766, 2610, 956, 765, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 75, 2610, 2610, 2610, 75, 2610, 2610, 2610, 2610, 76, 766, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 767, 2610, 2610, 2610, 767, 2610, 2610, 2610, 2610, 768, 767, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 768, 768, 2610, 2610, 2610, 769, 2610, 2610, 769, 2610, 769, 1367, 2610, 2610, 2610, 2610, 2610, 2610, 1368, 769, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 770, 770, 2610, 2610, 2610, 771, 2610, 2610, 771, 2610, 771, 1371, 2610, 2610, 2610, 2610, 2610, 2610, 1372, 771, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 772, 772, 2610, 2610, 2610, 773, 2610, 2610, 773, 2610, 773, 1375, 2610, 2610, 2610, 2610, 2610, 2610, 1376, 773, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 774, 774, 2610, 2610, 2610, 775, 2610, 2610, 775, 2610, 775, 1379, 2610, 2610, 2610, 2610, 2610, 2610, 1380, 775, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 776, 776, 2610, 2610, 2610, 777, 2610, 2610, 777, 2610, 777, 1383, 2610, 2610, 2610, 2610, 2610, 2610, 1384, 777, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 778, 778, 2610, 2610, 2610, 779, 2610, 2610, 779, 2610, 779, 1387, 2610, 2610, 2610, 2610, 2610, 2610, 1388, 779, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 780, 780, 2610, 2610, 2610, 781, 2610, 2610, 781, 2610, 781, 1391, 2610, 2610, 2610, 2610, 2610, 2610, 1392, 781, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 782, 782, 2610, 2610, 2610, 783, 2610, 2610, 783, 2610, 783, 1395, 2610, 2610, 2610, 2610, 2610, 2610, 1396, 783, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 784, 784, 2610, 2610, 2610, 785, 2610, 2610, 785, 2610, 785, 1399, 2610, 2610, 2610, 2610, 2610, 2610, 1400, 785, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 786, 786, 2610, 2610, 2610, 787, 2610, 2610, 787, 2610, 787, 1403, 2610, 2610, 2610, 2610, 2610, 2610, 1404, 787, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 788, 788, 2610, 2610, 2610, 45, 2610, 2610, 45, 2610, 45, 789, 2610, 2610, 2610, 2610, 2610, 2610, 790, 789, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 47, 790, 2610, 2610, 2610, 791, 1340, 2610, 1340, 46, 1340, 1987, 47, 46, 2610, 2610, 1991, 2610, 2004, 791, 2610, 2610, 2610, 2610, 792, 2610, 792, 47, 792, 2610, 2610, 47, 2610, 2610, 793, 2610, 794, 792, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 48, 2610, 2610, 2610, 48, 2610, 2610, 2610, 2610, 49, 793, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 754, 2610, 2610, 2610, 754, 2610, 2610, 2610, 2610, 755, 794, 2610, 49, 2610, 795, 1981, 2610, 1981, 49, 1981, 1983, 2610, 2610, 2610, 49, 1986, 755, 1972, 795, 2610, 50, 2610, 2610, 796, 2610, 796, 50, 796, 2610, 2610, 2610, 2610, 50, 797, 756, 838, 796, 2610, 51, 2610, 2610, 2610, 2610, 2610, 51, 2610, 2610, 2610, 2610, 2610, 51, 2610, 2610, 52, 797, 2610, 798, 2610, 2610, 2610, 2610, 2610, 798, 2610, 2610, 2610, 2610, 2610, 798, 2610, 2610, 799, 798, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 799, 799, 2610, 2610, 2610, 800, 2610, 2610, 800, 2610, 800, 1957, 2610, 2610, 2610, 2610, 2610, 2610, 1968, 800, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 801, 801, 2610, 2610, 2610, 802, 2610, 2610, 802, 2610, 802, 1971, 2610, 2610, 2610, 2610, 2610, 2610, 1208, 802, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 803, 803, 2610, 2610, 2610, 69, 2610, 2610, 69, 2610, 69, 804, 2610, 2610, 2610, 2610, 2610, 2610, 805, 804, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 71, 805, 2610, 2610, 2610, 806, 1280, 2610, 1280, 70, 806, 1286, 71, 70, 2610, 2610, 1294, 2610, 1343, 806, 2610, 2610, 2610, 2610, 807, 2610, 807, 71, 2610, 2610, 2610, 71, 2610, 2610, 808, 2610, 952, 807, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 72, 2610, 2610, 2610, 72, 2610, 2610, 2610, 2610, 73, 808, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 809, 2610, 2610, 2610, 809, 2610, 2610, 2610, 2610, 810, 809, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 810, 810, 2610, 2610, 2610, 811, 2610, 2610, 811, 2610, 811, 1299, 2610, 2610, 2610, 2610, 2610, 2610, 1300, 811, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 812, 812, 2610, 2610, 2610, 813, 2610, 2610, 813, 2610, 813, 1303, 2610, 2610, 2610, 2610, 2610, 2610, 1304, 813, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 814, 814, 2610, 2610, 2610, 815, 2610, 2610, 815, 2610, 815, 1307, 2610, 2610, 2610, 2610, 2610, 2610, 1308, 815, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 816, 816, 2610, 2610, 2610, 817, 2610, 2610, 817, 2610, 817, 1311, 2610, 2610, 2610, 2610, 2610, 2610, 1312, 817, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 818, 818, 2610, 2610, 2610, 819, 2610, 2610, 819, 2610, 819, 1315, 2610, 2610, 2610, 2610, 2610, 2610, 1316, 819, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 820, 820, 2610, 2610, 2610, 821, 2610, 2610, 821, 2610, 821, 1319, 2610, 2610, 2610, 2610, 2610, 2610, 1320, 821, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 822, 822, 2610, 2610, 2610, 823, 2610, 2610, 823, 2610, 823, 1323, 2610, 2610, 2610, 2610, 2610, 2610, 1324, 823, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 824, 824, 2610, 2610, 2610, 825, 2610, 2610, 825, 2610, 825, 1327, 2610, 2610, 2610, 2610, 2610, 2610, 1328, 825, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 826, 826, 2610, 2610, 2610, 827, 2610, 2610, 827, 2610, 827, 1331, 2610, 2610, 2610, 2610, 2610, 2610, 1332, 827, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 828, 828, 2610, 2610, 2610, 829, 2610, 2610, 829, 2610, 829, 1335, 2610, 2610, 2610, 2610, 2610, 2610, 1336, 829, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 830, 830, 2610, 2610, 2610, 831, 2610, 2610, 831, 2610, 831, 1339, 2610, 2610, 2610, 2610, 2610, 2610, 1340, 831, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 832, 832, 2610, 2610, 2610, 48, 2610, 2610, 48, 2610, 48, 833, 2610, 2610, 2610, 2610, 2610, 2610, 834, 833, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 50, 834, 2610, 2610, 2610, 835, 1272, 2610, 1272, 49, 1272, 1959, 50, 49, 2610, 2610, 1963, 2610, 1972, 835, 2610, 2610, 2610, 2610, 836, 2610, 836, 50, 836, 2610, 2610, 50, 2610, 2610, 837, 2610, 838, 836, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 51, 2610, 2610, 2610, 51, 2610, 2610, 2610, 2610, 52, 837, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 798, 2610, 2610, 2610, 798, 2610, 2610, 2610, 2610, 799, 838, 2610, 52, 2610, 839, 1953, 2610, 1953, 52, 1953, 1955, 2610, 2610, 2610, 52, 1958, 799, 1944, 839, 2610, 53, 2610, 2610, 840, 2610, 840, 53, 840, 2610, 2610, 2610, 2610, 53, 841, 800, 882, 840, 2610, 54, 2610, 2610, 2610, 2610, 2610, 54, 2610, 2610, 2610, 2610, 2610, 54, 2610, 2610, 55, 841, 2610, 842, 2610, 2610, 2610, 2610, 2610, 842, 2610, 2610, 2610, 2610, 2610, 842, 2610, 2610, 843, 842, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 843, 843, 2610, 2610, 2610, 844, 2610, 2610, 844, 2610, 844, 1933, 2610, 2610, 2610, 2610, 2610, 2610, 1132, 844, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 845, 845, 2610, 2610, 2610, 66, 2610, 2610, 66, 2610, 66, 846, 2610, 2610, 2610, 2610, 2610, 2610, 847, 846, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 68, 847, 2610, 2610, 2610, 848, 1208, 2610, 1208, 67, 848, 1214, 68, 67, 2610, 2610, 1222, 2610, 1275, 848, 2610, 2610, 2610, 2610, 849, 2610, 849, 68, 2610, 2610, 2610, 68, 2610, 2610, 850, 2610, 948, 849, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 69, 2610, 2610, 2610, 69, 2610, 2610, 2610, 2610, 70, 850, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 851, 2610, 2610, 2610, 851, 2610, 2610, 2610, 2610, 852, 851, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 852, 852, 2610, 2610, 2610, 853, 2610, 2610, 853, 2610, 853, 1227, 2610, 2610, 2610, 2610, 2610, 2610, 1228, 853, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 854, 854, 2610, 2610, 2610, 855, 2610, 2610, 855, 2610, 855, 1231, 2610, 2610, 2610, 2610, 2610, 2610, 1232, 855, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 856, 856, 2610, 2610, 2610, 857, 2610, 2610, 857, 2610, 857, 1235, 2610, 2610, 2610, 2610, 2610, 2610, 1236, 857, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 858, 858, 2610, 2610, 2610, 859, 2610, 2610, 859, 2610, 859, 1239, 2610, 2610, 2610, 2610, 2610, 2610, 1240, 859, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 860, 860, 2610, 2610, 2610, 861, 2610, 2610, 861, 2610, 861, 1243, 2610, 2610, 2610, 2610, 2610, 2610, 1244, 861, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 862, 862, 2610, 2610, 2610, 863, 2610, 2610, 863, 2610, 863, 1247, 2610, 2610, 2610, 2610, 2610, 2610, 1248, 863, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 864, 864, 2610, 2610, 2610, 865, 2610, 2610, 865, 2610, 865, 1251, 2610, 2610, 2610, 2610, 2610, 2610, 1252, 865, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 866, 866, 2610, 2610, 2610, 867, 2610, 2610, 867, 2610, 867, 1255, 2610, 2610, 2610, 2610, 2610, 2610, 1256, 867, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 868, 868, 2610, 2610, 2610, 869, 2610, 2610, 869, 2610, 869, 1259, 2610, 2610, 2610, 2610, 2610, 2610, 1260, 869, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 870, 870, 2610, 2610, 2610, 871, 2610, 2610, 871, 2610, 871, 1263, 2610, 2610, 2610, 2610, 2610, 2610, 1264, 871, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 872, 872, 2610, 2610, 2610, 873, 2610, 2610, 873, 2610, 873, 1267, 2610, 2610, 2610, 2610, 2610, 2610, 1268, 873, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 874, 874, 2610, 2610, 2610, 875, 2610, 2610, 875, 2610, 875, 1271, 2610, 2610, 2610, 2610, 2610, 2610, 1272, 875, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 876, 876, 2610, 2610, 2610, 51, 2610, 2610, 51, 2610, 51, 877, 2610, 2610, 2610, 2610, 2610, 2610, 878, 877, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 53, 878, 2610, 2610, 2610, 879, 1200, 2610, 1200, 52, 1200, 1935, 53, 52, 2610, 2610, 1939, 2610, 1944, 879, 2610, 2610, 2610, 2610, 880, 2610, 880, 53, 880, 2610, 2610, 53, 2610, 2610, 881, 2610, 882, 880, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 54, 2610, 2610, 2610, 54, 2610, 2610, 2610, 2610, 55, 881, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 842, 2610, 2610, 2610, 842, 2610, 2610, 2610, 2610, 843, 882, 2610, 55, 2610, 883, 1929, 2610, 1929, 55, 1929, 1931, 2610, 2610, 2610, 55, 1934, 843, 1925, 883, 2610, 56, 2610, 2610, 884, 2610, 884, 56, 884, 2610, 2610, 2610, 2610, 56, 885, 844, 926, 884, 2610, 57, 2610, 2610, 2610, 2610, 2610, 57, 2610, 2610, 2610, 2610, 2610, 57, 2610, 2610, 58, 885, 2610, 886, 2610, 2610, 2610, 2610, 2610, 886, 2610, 2610, 2610, 2610, 2610, 886, 2610, 2610, 887, 886, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 887, 887, 2610, 2610, 2610, 63, 2610, 2610, 63, 2610, 63, 888, 2610, 2610, 2610, 2610, 2610, 2610, 889, 888, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 65, 889, 2610, 2610, 2610, 890, 1132, 2610, 1132, 64, 890, 1138, 65, 64, 2610, 2610, 1146, 2610, 1203, 890, 2610, 2610, 2610, 2610, 891, 2610, 891, 65, 2610, 2610, 2610, 65, 2610, 2610, 892, 2610, 944, 891, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 66, 2610, 2610, 2610, 66, 2610, 2610, 2610, 2610, 67, 892, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 893, 2610, 2610, 2610, 893, 2610, 2610, 2610, 2610, 894, 893, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 894, 894, 2610, 2610, 2610, 895, 2610, 2610, 895, 2610, 895, 1151, 2610, 2610, 2610, 2610, 2610, 2610, 1152, 895, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 896, 896, 2610, 2610, 2610, 897, 2610, 2610, 897, 2610, 897, 1155, 2610, 2610, 2610, 2610, 2610, 2610, 1156, 897, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 898, 898, 2610, 2610, 2610, 899, 2610, 2610, 899, 2610, 899, 1159, 2610, 2610, 2610, 2610, 2610, 2610, 1160, 899, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 900, 900, 2610, 2610, 2610, 901, 2610, 2610, 901, 2610, 901, 1163, 2610, 2610, 2610, 2610, 2610, 2610, 1164, 901, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 902, 902, 2610, 2610, 2610, 903, 2610, 2610, 903, 2610, 903, 1167, 2610, 2610, 2610, 2610, 2610, 2610, 1168, 903, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 904, 904, 2610, 2610, 2610, 905, 2610, 2610, 905, 2610, 905, 1171, 2610, 2610, 2610, 2610, 2610, 2610, 1172, 905, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 906, 906, 2610, 2610, 2610, 907, 2610, 2610, 907, 2610, 907, 1175, 2610, 2610, 2610, 2610, 2610, 2610, 1176, 907, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 908, 908, 2610, 2610, 2610, 909, 2610, 2610, 909, 2610, 909, 1179, 2610, 2610, 2610, 2610, 2610, 2610, 1180, 909, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 910, 910, 2610, 2610, 2610, 911, 2610, 2610, 911, 2610, 911, 1183, 2610, 2610, 2610, 2610, 2610, 2610, 1184, 911, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 912, 912, 2610, 2610, 2610, 913, 2610, 2610, 913, 2610, 913, 1187, 2610, 2610, 2610, 2610, 2610, 2610, 1188, 913, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 914, 914, 2610, 2610, 2610, 915, 2610, 2610, 915, 2610, 915, 1191, 2610, 2610, 2610, 2610, 2610, 2610, 1192, 915, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 916, 916, 2610, 2610, 2610, 917, 2610, 2610, 917, 2610, 917, 1195, 2610, 2610, 2610, 2610, 2610, 2610, 1196, 917, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 918, 918, 2610, 2610, 2610, 919, 2610, 2610, 919, 2610, 919, 1199, 2610, 2610, 2610, 2610, 2610, 2610, 1200, 919, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 920, 920, 2610, 2610, 2610, 54, 2610, 2610, 54, 2610, 54, 921, 2610, 2610, 2610, 2610, 2610, 2610, 922, 921, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 56, 922, 2610, 2610, 2610, 923, 1124, 2610, 1124, 55, 1124, 1919, 56, 55, 2610, 2610, 1923, 2610, 1925, 923, 2610, 2610, 2610, 2610, 924, 2610, 924, 56, 924, 2610, 2610, 56, 2610, 2610, 925, 2610, 926, 924, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 57, 2610, 2610, 2610, 57, 2610, 2610, 2610, 2610, 58, 925, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 886, 2610, 2610, 2610, 886, 2610, 2610, 2610, 2610, 887, 926, 2610, 58, 2610, 927, 928, 2610, 928, 58, 928, 930, 2610, 2610, 2610, 58, 934, 887, 1889, 927, 2610, 59, 2610, 2610, 251, 2610, 251, 59, 251, 2610, 2610, 2610, 2610, 59, 254, 63, 248, 928, 2610, 107, 2610, 251, 2610, 2610, 251, 107, 251, 929, 2610, 2610, 2610, 107, 2610, 2610, 109, 929, 2610, 108, 2610, 2610, 2610, 2610, 2610, 108, 2610, 2610, 2610, 2610, 2610, 108, 2610, 2610, 10, 930, 2610, 931, 2610, 2610, 929, 2610, 929, 931, 929, 2610, 2610, 2610, 2610, 931, 933, 888, 249, 931, 2610, 2610, 2610, 2610, 108, 2610, 108, 2610, 108, 2610, 2610, 2610, 2610, 2610, 932, 2610, 249, 932, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 62, 933, 2610, 932, 2610, 2610, 2610, 2610, 2610, 932, 2610, 2610, 2610, 2610, 2610, 932, 2610, 2610, 62, 934, 2610, 935, 2610, 254, 2610, 2610, 254, 935, 254, 933, 2610, 2610, 2610, 935, 2610, 2610, 936, 935, 2610, 2610, 2610, 60, 2610, 2610, 60, 2610, 60, 932, 2610, 2610, 2610, 2610, 2610, 2610, 936, 936, 2610, 2610, 2610, 937, 1052, 2610, 1052, 61, 937, 1058, 62, 61, 2610, 2610, 1066, 2610, 1127, 937, 2610, 2610, 2610, 2610, 938, 2610, 938, 62, 2610, 2610, 2610, 62, 2610, 2610, 939, 2610, 940, 938, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 63, 2610, 2610, 2610, 63, 2610, 2610, 2610, 2610, 64, 939, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 214, 2610, 2610, 2610, 214, 2610, 2610, 2610, 2610, 215, 940, 2610, 64, 2610, 941, 1134, 2610, 1134, 2610, 941, 1142, 2610, 2610, 64, 2610, 1202, 215, 1203, 941, 2610, 65, 2610, 2610, 942, 2610, 942, 2610, 2610, 2610, 2610, 2610, 65, 2610, 943, 216, 944, 942, 2610, 66, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 66, 2610, 2610, 2610, 67, 943, 2610, 893, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 893, 2610, 2610, 2610, 894, 944, 2610, 67, 2610, 945, 1210, 2610, 1210, 2610, 945, 1218, 2610, 2610, 67, 2610, 1274, 894, 1275, 945, 2610, 68, 2610, 2610, 946, 2610, 946, 2610, 2610, 2610, 2610, 2610, 68, 2610, 947, 895, 948, 946, 2610, 69, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 69, 2610, 2610, 2610, 70, 947, 2610, 851, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 851, 2610, 2610, 2610, 852, 948, 2610, 70, 2610, 949, 1282, 2610, 1282, 2610, 949, 1290, 2610, 2610, 70, 2610, 1342, 852, 1343, 949, 2610, 71, 2610, 2610, 950, 2610, 950, 2610, 2610, 2610, 2610, 2610, 71, 2610, 951, 853, 952, 950, 2610, 72, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 72, 2610, 2610, 2610, 73, 951, 2610, 809, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 809, 2610, 2610, 2610, 810, 952, 2610, 73, 2610, 953, 1350, 2610, 1350, 2610, 953, 1358, 2610, 2610, 73, 2610, 1406, 810, 1407, 953, 2610, 74, 2610, 2610, 954, 2610, 954, 2610, 2610, 2610, 2610, 2610, 74, 2610, 955, 811, 956, 954, 2610, 75, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 75, 2610, 2610, 2610, 76, 955, 2610, 767, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 767, 2610, 2610, 2610, 768, 956, 2610, 76, 2610, 957, 1414, 2610, 1414, 2610, 957, 1422, 2610, 2610, 76, 2610, 1466, 768, 1467, 957, 2610, 77, 2610, 2610, 958, 2610, 958, 2610, 2610, 2610, 2610, 2610, 77, 2610, 959, 769, 960, 958, 2610, 78, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 78, 2610, 2610, 2610, 79, 959, 2610, 725, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 725, 2610, 2610, 2610, 726, 960, 2610, 79, 2610, 961, 1474, 2610, 1474, 2610, 961, 1482, 2610, 2610, 79, 2610, 1522, 726, 1523, 961, 2610, 80, 2610, 2610, 962, 2610, 962, 2610, 2610, 2610, 2610, 2610, 80, 2610, 963, 727, 964, 962, 2610, 81, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 81, 2610, 2610, 2610, 82, 963, 2610, 683, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 683, 2610, 2610, 2610, 684, 964, 2610, 82, 2610, 965, 1530, 2610, 1530, 2610, 965, 1538, 2610, 2610, 82, 2610, 1574, 684, 1575, 965, 2610, 83, 2610, 2610, 966, 2610, 966, 2610, 2610, 2610, 2610, 2610, 83, 2610, 967, 685, 968, 966, 2610, 84, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 84, 2610, 2610, 2610, 85, 967, 2610, 641, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 641, 2610, 2610, 2610, 642, 968, 2610, 85, 2610, 969, 1582, 2610, 1582, 2610, 969, 1590, 2610, 2610, 85, 2610, 1622, 642, 1623, 969, 2610, 86, 2610, 2610, 970, 2610, 970, 2610, 2610, 2610, 2610, 2610, 86, 2610, 971, 643, 972, 970, 2610, 87, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 87, 2610, 2610, 2610, 88, 971, 2610, 599, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 599, 2610, 2610, 2610, 600, 972, 2610, 88, 2610, 973, 1630, 2610, 1630, 2610, 973, 1638, 2610, 2610, 88, 2610, 1666, 600, 1667, 973, 2610, 89, 2610, 2610, 974, 2610, 974, 2610, 2610, 2610, 2610, 2610, 89, 2610, 975, 601, 976, 974, 2610, 90, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 90, 2610, 2610, 2610, 91, 975, 2610, 557, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 557, 2610, 2610, 2610, 558, 976, 2610, 91, 2610, 977, 1674, 2610, 1674, 2610, 977, 1682, 2610, 2610, 91, 2610, 1706, 558, 1707, 977, 2610, 92, 2610, 2610, 978, 2610, 978, 2610, 2610, 2610, 2610, 2610, 92, 2610, 979, 559, 980, 978, 2610, 93, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 93, 2610, 2610, 2610, 94, 979, 2610, 515, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 515, 2610, 2610, 2610, 516, 980, 2610, 94, 2610, 981, 1714, 2610, 1714, 2610, 981, 1722, 2610, 2610, 94, 2610, 1742, 516, 1743, 981, 2610, 95, 2610, 2610, 982, 2610, 982, 2610, 2610, 2610, 2610, 2610, 95, 2610, 983, 517, 984, 982, 2610, 96, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 96, 2610, 2610, 2610, 97, 983, 2610, 473, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 473, 2610, 2610, 2610, 474, 984, 2610, 97, 2610, 985, 1750, 2610, 1750, 2610, 985, 1758, 2610, 2610, 97, 2610, 1774, 474, 1775, 985, 2610, 98, 2610, 2610, 986, 2610, 986, 2610, 2610, 2610, 2610, 2610, 98, 2610, 987, 475, 988, 986, 2610, 99, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 99, 2610, 2610, 2610, 100, 987, 2610, 431, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 431, 2610, 2610, 2610, 432, 988, 2610, 100, 2610, 989, 1782, 2610, 1782, 2610, 989, 1790, 2610, 2610, 100, 2610, 1802, 432, 1803, 989, 2610, 101, 2610, 2610, 990, 2610, 990, 2610, 2610, 2610, 2610, 2610, 101, 2610, 991, 433, 992, 990, 2610, 102, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 102, 2610, 2610, 2610, 103, 991, 2610, 389, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 389, 2610, 2610, 2610, 390, 992, 2610, 103, 2610, 993, 1810, 2610, 1810, 2610, 993, 1818, 2610, 2610, 103, 2610, 1824, 390, 1012, 993, 2610, 104, 2610, 2610, 994, 2610, 994, 2610, 2610, 2610, 2610, 2610, 104, 2610, 995, 391, 996, 994, 2610, 105, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 105, 2610, 2610, 2610, 106, 995, 2610, 347, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 347, 2610, 2610, 2610, 348, 996, 2610, 106, 2610, 116, 997, 2610, 997, 2610, 116, 999, 2610, 2610, 106, 2610, 1001, 348, 1002, 997, 2610, 107, 2610, 117, 2610, 2610, 117, 2610, 117, 998, 2610, 2610, 107, 2610, 2610, 2610, 109, 998, 2610, 108, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 108, 2610, 2610, 2610, 10, 999, 2610, 301, 2610, 2610, 998, 2610, 998, 2610, 2610, 2610, 2610, 2610, 301, 2610, 1000, 349, 115, 1000, 2610, 302, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 302, 2610, 2610, 2610, 14, 1001, 2610, 305, 2610, 118, 2610, 2610, 118, 2610, 118, 1000, 2610, 2610, 305, 2610, 2610, 2610, 306, 1002, 2610, 109, 2610, 1003, 1012, 2610, 1012, 114, 1012, 1020, 115, 114, 109, 2610, 1039, 306, 0, 1003, 2610, 110, 2610, 2610, 1004, 2610, 1004, 115, 1004, 2610, 2610, 115, 110, 2610, 1007, 307, 256, 1004, 2610, 111, 2610, 2610, 1005, 2610, 1005, 116, 2610, 2610, 2610, 116, 111, 2610, 1006, 308, 114, 1005, 2610, 112, 2610, 2610, 2610, 2610, 2610, 117, 2610, 2610, 2610, 117, 112, 2610, 2610, 2610, 9, 1006, 2610, 113, 2610, 2610, 2610, 2610, 2610, 118, 2610, 2610, 2610, 118, 113, 2610, 2610, 2610, 13, 1007, 2610, 1008, 2610, 2610, 1010, 2610, 1010, 119, 2610, 2610, 2610, 119, 1008, 2610, 1011, 309, 210, 1008, 2610, 2610, 2610, 2610, 247, 2610, 247, 120, 2610, 2610, 2610, 120, 2610, 2610, 1009, 2610, 210, 1009, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 121, 2610, 2610, 2610, 121, 2610, 2610, 2610, 2610, 122, 1010, 2610, 247, 2610, 2610, 2610, 2610, 2610, 264, 2610, 2610, 2610, 264, 247, 2610, 2610, 2610, 61, 1011, 2610, 1009, 2610, 2610, 2610, 2610, 2610, 266, 2610, 2610, 2610, 266, 1009, 2610, 2610, 2610, 122, 1012, 2610, 299, 2610, 1004, 1013, 2610, 1013, 996, 1004, 1015, 116, 996, 299, 2610, 1018, 1019, 1002, 1013, 2610, 152, 2610, 1005, 2610, 2610, 1005, 997, 1005, 1014, 117, 997, 152, 2610, 2610, 2610, 109, 1014, 2610, 153, 2610, 2610, 2610, 2610, 2610, 998, 2610, 2610, 2610, 998, 153, 2610, 2610, 2610, 10, 1015, 2610, 300, 2610, 2610, 1014, 2610, 1014, 999, 2610, 2610, 2610, 999, 300, 2610, 1016, 1017, 115, 1016, 2610, 303, 2610, 2610, 2610, 2610, 2610, 1000, 2610, 2610, 2610, 1000, 303, 2610, 2610, 2610, 14, 1017, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 349, 2610, 2610, 2610, 349, 2610, 2610, 2610, 2610, 17, 1018, 2610, 304, 2610, 1006, 2610, 2610, 1006, 1001, 1006, 1016, 118, 1001, 304, 2610, 2610, 2610, 306, 1019, 2610, 2610, 2610, 308, 2610, 2610, 308, 348, 308, 1017, 15, 348, 2610, 2610, 2610, 2610, 350, 1020, 2610, 1021, 2610, 2610, 1015, 2610, 1015, 1028, 1015, 2610, 2610, 1028, 1021, 2610, 1034, 1038, 257, 1021, 2610, 2610, 2610, 2610, 300, 2610, 300, 1022, 300, 2610, 2610, 1022, 2610, 2610, 1025, 2610, 257, 1022, 2610, 2610, 2610, 2610, 301, 2610, 301, 2610, 301, 2610, 2610, 2610, 2610, 2610, 1023, 2610, 257, 1023, 2610, 2610, 2610, 2610, 932, 2610, 932, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1024, 2610, 211, 1024, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 123, 1025, 2610, 2610, 2610, 2610, 1026, 2610, 1026, 1023, 2610, 2610, 2610, 1023, 2610, 2610, 1027, 2610, 211, 1026, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 932, 2610, 2610, 2610, 932, 2610, 2610, 2610, 2610, 62, 1027, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1024, 2610, 2610, 2610, 1024, 2610, 2610, 2610, 2610, 123, 1028, 2610, 1022, 2610, 2610, 999, 2610, 999, 2610, 999, 2610, 2610, 2610, 1022, 2610, 1029, 1033, 257, 1029, 2610, 1023, 2610, 2610, 1030, 2610, 1030, 2610, 2610, 2610, 2610, 2610, 1023, 2610, 1031, 1032, 211, 1030, 2610, 932, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 932, 2610, 2610, 2610, 62, 1031, 2610, 1024, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1024, 2610, 2610, 2610, 123, 1032, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 270, 1033, 2610, 2610, 2610, 2610, 349, 2610, 349, 2610, 349, 2610, 2610, 2610, 2610, 2610, 1032, 2610, 311, 1034, 2610, 1025, 2610, 2610, 1035, 2610, 1035, 1029, 2610, 2610, 2610, 1029, 1025, 2610, 1036, 1037, 211, 1035, 2610, 1026, 2610, 2610, 2610, 2610, 2610, 1030, 2610, 2610, 2610, 1030, 1026, 2610, 2610, 2610, 62, 1036, 2610, 1027, 2610, 2610, 2610, 2610, 2610, 1031, 2610, 2610, 2610, 1031, 1027, 2610, 2610, 2610, 123, 1037, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1032, 2610, 2610, 2610, 1032, 2610, 2610, 2610, 2610, 270, 1038, 2610, 2610, 2610, 2610, 1017, 2610, 1017, 1033, 1017, 2610, 2610, 1033, 2610, 2610, 1037, 2610, 311, 1039, 2610, 1040, 2610, 1007, 1826, 2610, 1826, 1828, 1007, 1034, 119, 1828, 1040, 2610, 1887, 1888, 1047, 1040, 2610, 2610, 2610, 1008, 1041, 2610, 1041, 1042, 1008, 1025, 120, 1042, 2610, 2610, 1825, 2610, 1047, 1041, 2610, 2610, 2610, 247, 2610, 2610, 247, 935, 247, 1026, 60, 935, 2610, 2610, 2610, 2610, 936, 1042, 2610, 2610, 2610, 120, 935, 2610, 935, 2610, 120, 1023, 2610, 2610, 2610, 2610, 1043, 2610, 1047, 1043, 2610, 2610, 2610, 121, 2610, 2610, 121, 2610, 121, 1024, 2610, 2610, 2610, 2610, 2610, 2610, 1044, 1044, 2610, 2610, 2610, 1045, 2610, 2610, 1045, 122, 1045, 1046, 123, 122, 2610, 2610, 2610, 2610, 207, 1045, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 123, 2610, 2610, 2610, 123, 2610, 2610, 2610, 2610, 124, 1046, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 206, 2610, 2610, 2610, 206, 2610, 2610, 2610, 2610, 125, 1047, 2610, 936, 2610, 1048, 1051, 2610, 1051, 210, 1048, 1057, 211, 210, 936, 2610, 1065, 1044, 1127, 1048, 2610, 937, 2610, 2610, 1049, 2610, 1049, 211, 2610, 2610, 2610, 211, 937, 2610, 1050, 1045, 940, 1049, 2610, 938, 2610, 2610, 2610, 2610, 2610, 212, 2610, 2610, 2610, 212, 938, 2610, 2610, 2610, 64, 1050, 2610, 939, 2610, 2610, 2610, 2610, 2610, 213, 2610, 2610, 2610, 213, 939, 2610, 2610, 2610, 215, 1051, 2610, 1052, 2610, 1049, 2610, 2610, 1049, 1054, 1049, 1056, 212, 1054, 1052, 2610, 2610, 2610, 889, 1052, 2610, 2610, 2610, 938, 2610, 2610, 938, 887, 938, 1053, 63, 887, 2610, 2610, 2610, 2610, 889, 1053, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 888, 2610, 2610, 2610, 888, 2610, 2610, 2610, 2610, 65, 1054, 2610, 887, 2610, 212, 2610, 2610, 212, 2610, 212, 1055, 2610, 2610, 887, 2610, 2610, 2610, 889, 1055, 2610, 888, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 888, 2610, 2610, 2610, 65, 1056, 2610, 1053, 2610, 2610, 2610, 2610, 2610, 1055, 2610, 2610, 2610, 1055, 1053, 2610, 2610, 2610, 65, 1057, 2610, 1058, 2610, 2610, 1056, 2610, 1056, 1062, 2610, 2610, 2610, 1062, 1058, 2610, 1064, 1046, 941, 1058, 2610, 2610, 2610, 2610, 1053, 2610, 1053, 1059, 2610, 2610, 2610, 1059, 2610, 2610, 1061, 2610, 941, 1059, 2610, 2610, 2610, 2610, 888, 2610, 888, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1060, 2610, 941, 1060, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 216, 1061, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1060, 2610, 2610, 2610, 1060, 2610, 2610, 2610, 2610, 216, 1062, 2610, 1059, 2610, 2610, 1055, 2610, 1055, 2610, 2610, 2610, 2610, 2610, 1059, 2610, 1063, 206, 941, 1063, 2610, 1060, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1060, 2610, 2610, 2610, 216, 1064, 2610, 1061, 2610, 2610, 2610, 2610, 2610, 1063, 2610, 2610, 2610, 1063, 1061, 2610, 2610, 2610, 216, 1065, 2610, 1066, 2610, 1050, 2610, 2610, 1050, 1126, 1050, 1064, 213, 1126, 1066, 2610, 2610, 2610, 1068, 1066, 2610, 2610, 2610, 939, 2610, 2610, 939, 1067, 939, 1061, 214, 1067, 2610, 2610, 2610, 2610, 1068, 1067, 2610, 2610, 2610, 214, 2610, 2610, 214, 2610, 214, 1060, 2610, 2610, 2610, 2610, 2610, 2610, 1068, 1068, 2610, 2610, 2610, 1069, 2610, 2610, 1069, 215, 1069, 1070, 216, 215, 2610, 2610, 2610, 2610, 1072, 1069, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 216, 2610, 2610, 2610, 216, 2610, 2610, 2610, 2610, 217, 1070, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1071, 2610, 2610, 2610, 1071, 2610, 2610, 2610, 2610, 218, 1071, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 218, 1072, 2610, 2610, 2610, 1073, 2610, 2610, 1073, 217, 1073, 1074, 218, 217, 2610, 2610, 2610, 2610, 1076, 1073, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 218, 2610, 2610, 2610, 218, 2610, 2610, 2610, 2610, 219, 1074, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1075, 2610, 2610, 2610, 1075, 2610, 2610, 2610, 2610, 220, 1075, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 220, 1076, 2610, 2610, 2610, 1077, 2610, 2610, 1077, 219, 1077, 1078, 220, 219, 2610, 2610, 2610, 2610, 1080, 1077, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 220, 2610, 2610, 2610, 220, 2610, 2610, 2610, 2610, 221, 1078, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1079, 2610, 2610, 2610, 1079, 2610, 2610, 2610, 2610, 222, 1079, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 222, 1080, 2610, 2610, 2610, 1081, 2610, 2610, 1081, 221, 1081, 1082, 222, 221, 2610, 2610, 2610, 2610, 1084, 1081, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 222, 2610, 2610, 2610, 222, 2610, 2610, 2610, 2610, 223, 1082, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1083, 2610, 2610, 2610, 1083, 2610, 2610, 2610, 2610, 224, 1083, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 224, 1084, 2610, 2610, 2610, 1085, 2610, 2610, 1085, 223, 1085, 1086, 224, 223, 2610, 2610, 2610, 2610, 1088, 1085, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 224, 2610, 2610, 2610, 224, 2610, 2610, 2610, 2610, 225, 1086, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1087, 2610, 2610, 2610, 1087, 2610, 2610, 2610, 2610, 226, 1087, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 226, 1088, 2610, 2610, 2610, 1089, 2610, 2610, 1089, 225, 1089, 1090, 226, 225, 2610, 2610, 2610, 2610, 1092, 1089, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 226, 2610, 2610, 2610, 226, 2610, 2610, 2610, 2610, 227, 1090, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1091, 2610, 2610, 2610, 1091, 2610, 2610, 2610, 2610, 228, 1091, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 228, 1092, 2610, 2610, 2610, 1093, 2610, 2610, 1093, 227, 1093, 1094, 228, 227, 2610, 2610, 2610, 2610, 1096, 1093, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 228, 2610, 2610, 2610, 228, 2610, 2610, 2610, 2610, 229, 1094, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1095, 2610, 2610, 2610, 1095, 2610, 2610, 2610, 2610, 230, 1095, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 230, 1096, 2610, 2610, 2610, 1097, 2610, 2610, 1097, 229, 1097, 1098, 230, 229, 2610, 2610, 2610, 2610, 1100, 1097, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 230, 2610, 2610, 2610, 230, 2610, 2610, 2610, 2610, 231, 1098, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1099, 2610, 2610, 2610, 1099, 2610, 2610, 2610, 2610, 232, 1099, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 232, 1100, 2610, 2610, 2610, 1101, 2610, 2610, 1101, 231, 1101, 1102, 232, 231, 2610, 2610, 2610, 2610, 1104, 1101, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 232, 2610, 2610, 2610, 232, 2610, 2610, 2610, 2610, 233, 1102, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1103, 2610, 2610, 2610, 1103, 2610, 2610, 2610, 2610, 234, 1103, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 234, 1104, 2610, 2610, 2610, 1105, 2610, 2610, 1105, 233, 1105, 1106, 234, 233, 2610, 2610, 2610, 2610, 1108, 1105, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 234, 2610, 2610, 2610, 234, 2610, 2610, 2610, 2610, 235, 1106, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1107, 2610, 2610, 2610, 1107, 2610, 2610, 2610, 2610, 236, 1107, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 236, 1108, 2610, 2610, 2610, 1109, 2610, 2610, 1109, 235, 1109, 1110, 236, 235, 2610, 2610, 2610, 2610, 1112, 1109, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 236, 2610, 2610, 2610, 236, 2610, 2610, 2610, 2610, 237, 1110, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1111, 2610, 2610, 2610, 1111, 2610, 2610, 2610, 2610, 238, 1111, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 238, 1112, 2610, 2610, 2610, 1113, 2610, 2610, 1113, 237, 1113, 1114, 238, 237, 2610, 2610, 2610, 2610, 1116, 1113, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 238, 2610, 2610, 2610, 238, 2610, 2610, 2610, 2610, 239, 1114, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1115, 2610, 2610, 2610, 1115, 2610, 2610, 2610, 2610, 240, 1115, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 240, 1116, 2610, 2610, 2610, 1117, 2610, 2610, 1117, 239, 1117, 1118, 240, 239, 2610, 2610, 2610, 2610, 1120, 1117, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 240, 2610, 2610, 2610, 240, 2610, 2610, 2610, 2610, 241, 1118, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1119, 2610, 2610, 2610, 1119, 2610, 2610, 2610, 2610, 242, 1119, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 242, 1120, 2610, 2610, 2610, 1121, 2610, 2610, 1121, 241, 1121, 1122, 242, 241, 2610, 2610, 2610, 2610, 1124, 1121, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 242, 2610, 2610, 2610, 242, 2610, 2610, 2610, 2610, 243, 1122, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1123, 2610, 2610, 2610, 1123, 2610, 2610, 2610, 2610, 57, 1123, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 57, 1124, 2610, 2610, 2610, 924, 2610, 2610, 924, 243, 924, 1125, 57, 243, 2610, 2610, 2610, 2610, 245, 1125, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 244, 2610, 2610, 2610, 244, 2610, 2610, 2610, 2610, 59, 1126, 2610, 1067, 2610, 213, 2610, 2610, 213, 2610, 213, 1063, 2610, 2610, 1067, 2610, 2610, 2610, 1068, 1127, 2610, 889, 2610, 1128, 1131, 2610, 1131, 940, 1128, 1137, 941, 940, 889, 2610, 1145, 1068, 1203, 1128, 2610, 890, 2610, 2610, 1129, 2610, 1129, 941, 2610, 2610, 2610, 941, 890, 2610, 1130, 1069, 944, 1129, 2610, 891, 2610, 2610, 2610, 2610, 2610, 942, 2610, 2610, 2610, 942, 891, 2610, 2610, 2610, 67, 1130, 2610, 892, 2610, 2610, 2610, 2610, 2610, 943, 2610, 2610, 2610, 943, 892, 2610, 2610, 2610, 894, 1131, 2610, 1132, 2610, 1129, 2610, 2610, 1129, 1134, 1129, 1136, 942, 1134, 1132, 2610, 2610, 2610, 847, 1132, 2610, 2610, 2610, 891, 2610, 2610, 891, 845, 891, 1133, 66, 845, 2610, 2610, 2610, 2610, 847, 1133, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 846, 2610, 2610, 2610, 846, 2610, 2610, 2610, 2610, 68, 1134, 2610, 845, 2610, 942, 2610, 2610, 942, 2610, 942, 1135, 2610, 2610, 845, 2610, 2610, 2610, 847, 1135, 2610, 846, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 846, 2610, 2610, 2610, 68, 1136, 2610, 1133, 2610, 2610, 2610, 2610, 2610, 1135, 2610, 2610, 2610, 1135, 1133, 2610, 2610, 2610, 68, 1137, 2610, 1138, 2610, 2610, 1136, 2610, 1136, 1142, 2610, 2610, 2610, 1142, 1138, 2610, 1144, 1070, 945, 1138, 2610, 2610, 2610, 2610, 1133, 2610, 1133, 1139, 2610, 2610, 2610, 1139, 2610, 2610, 1141, 2610, 945, 1139, 2610, 2610, 2610, 2610, 846, 2610, 846, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1140, 2610, 945, 1140, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 895, 1141, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1140, 2610, 2610, 2610, 1140, 2610, 2610, 2610, 2610, 895, 1142, 2610, 1139, 2610, 2610, 1135, 2610, 1135, 2610, 2610, 2610, 2610, 2610, 1139, 2610, 1143, 1071, 945, 1143, 2610, 1140, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1140, 2610, 2610, 2610, 895, 1144, 2610, 1141, 2610, 2610, 2610, 2610, 2610, 1143, 2610, 2610, 2610, 1143, 1141, 2610, 2610, 2610, 895, 1145, 2610, 1146, 2610, 1130, 2610, 2610, 1130, 1202, 1130, 1144, 943, 1202, 1146, 2610, 2610, 2610, 1148, 1146, 2610, 2610, 2610, 892, 2610, 2610, 892, 1147, 892, 1141, 893, 1147, 2610, 2610, 2610, 2610, 1148, 1147, 2610, 2610, 2610, 893, 2610, 2610, 893, 2610, 893, 1140, 2610, 2610, 2610, 2610, 2610, 2610, 1148, 1148, 2610, 2610, 2610, 1149, 2610, 2610, 1149, 894, 1149, 1150, 895, 894, 2610, 2610, 2610, 2610, 1152, 1149, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 895, 2610, 2610, 2610, 895, 2610, 2610, 2610, 2610, 896, 1150, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1151, 2610, 2610, 2610, 1151, 2610, 2610, 2610, 2610, 897, 1151, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 897, 1152, 2610, 2610, 2610, 1153, 2610, 2610, 1153, 896, 1153, 1154, 897, 896, 2610, 2610, 2610, 2610, 1156, 1153, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 897, 2610, 2610, 2610, 897, 2610, 2610, 2610, 2610, 898, 1154, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1155, 2610, 2610, 2610, 1155, 2610, 2610, 2610, 2610, 899, 1155, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 899, 1156, 2610, 2610, 2610, 1157, 2610, 2610, 1157, 898, 1157, 1158, 899, 898, 2610, 2610, 2610, 2610, 1160, 1157, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 899, 2610, 2610, 2610, 899, 2610, 2610, 2610, 2610, 900, 1158, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1159, 2610, 2610, 2610, 1159, 2610, 2610, 2610, 2610, 901, 1159, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 901, 1160, 2610, 2610, 2610, 1161, 2610, 2610, 1161, 900, 1161, 1162, 901, 900, 2610, 2610, 2610, 2610, 1164, 1161, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 901, 2610, 2610, 2610, 901, 2610, 2610, 2610, 2610, 902, 1162, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1163, 2610, 2610, 2610, 1163, 2610, 2610, 2610, 2610, 903, 1163, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 903, 1164, 2610, 2610, 2610, 1165, 2610, 2610, 1165, 902, 1165, 1166, 903, 902, 2610, 2610, 2610, 2610, 1168, 1165, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 903, 2610, 2610, 2610, 903, 2610, 2610, 2610, 2610, 904, 1166, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1167, 2610, 2610, 2610, 1167, 2610, 2610, 2610, 2610, 905, 1167, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 905, 1168, 2610, 2610, 2610, 1169, 2610, 2610, 1169, 904, 1169, 1170, 905, 904, 2610, 2610, 2610, 2610, 1172, 1169, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 905, 2610, 2610, 2610, 905, 2610, 2610, 2610, 2610, 906, 1170, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1171, 2610, 2610, 2610, 1171, 2610, 2610, 2610, 2610, 907, 1171, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 907, 1172, 2610, 2610, 2610, 1173, 2610, 2610, 1173, 906, 1173, 1174, 907, 906, 2610, 2610, 2610, 2610, 1176, 1173, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 907, 2610, 2610, 2610, 907, 2610, 2610, 2610, 2610, 908, 1174, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1175, 2610, 2610, 2610, 1175, 2610, 2610, 2610, 2610, 909, 1175, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 909, 1176, 2610, 2610, 2610, 1177, 2610, 2610, 1177, 908, 1177, 1178, 909, 908, 2610, 2610, 2610, 2610, 1180, 1177, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 909, 2610, 2610, 2610, 909, 2610, 2610, 2610, 2610, 910, 1178, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1179, 2610, 2610, 2610, 1179, 2610, 2610, 2610, 2610, 911, 1179, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 911, 1180, 2610, 2610, 2610, 1181, 2610, 2610, 1181, 910, 1181, 1182, 911, 910, 2610, 2610, 2610, 2610, 1184, 1181, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 911, 2610, 2610, 2610, 911, 2610, 2610, 2610, 2610, 912, 1182, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1183, 2610, 2610, 2610, 1183, 2610, 2610, 2610, 2610, 913, 1183, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 913, 1184, 2610, 2610, 2610, 1185, 2610, 2610, 1185, 912, 1185, 1186, 913, 912, 2610, 2610, 2610, 2610, 1188, 1185, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 913, 2610, 2610, 2610, 913, 2610, 2610, 2610, 2610, 914, 1186, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1187, 2610, 2610, 2610, 1187, 2610, 2610, 2610, 2610, 915, 1187, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 915, 1188, 2610, 2610, 2610, 1189, 2610, 2610, 1189, 914, 1189, 1190, 915, 914, 2610, 2610, 2610, 2610, 1192, 1189, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 915, 2610, 2610, 2610, 915, 2610, 2610, 2610, 2610, 916, 1190, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1191, 2610, 2610, 2610, 1191, 2610, 2610, 2610, 2610, 917, 1191, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 917, 1192, 2610, 2610, 2610, 1193, 2610, 2610, 1193, 916, 1193, 1194, 917, 916, 2610, 2610, 2610, 2610, 1196, 1193, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 917, 2610, 2610, 2610, 917, 2610, 2610, 2610, 2610, 918, 1194, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1195, 2610, 2610, 2610, 1195, 2610, 2610, 2610, 2610, 919, 1195, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 919, 1196, 2610, 2610, 2610, 1197, 2610, 2610, 1197, 918, 1197, 1198, 919, 918, 2610, 2610, 2610, 2610, 1200, 1197, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 919, 2610, 2610, 2610, 919, 2610, 2610, 2610, 2610, 920, 1198, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1199, 2610, 2610, 2610, 1199, 2610, 2610, 2610, 2610, 54, 1199, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 54, 1200, 2610, 2610, 2610, 880, 2610, 2610, 880, 920, 880, 1201, 54, 920, 2610, 2610, 2610, 2610, 922, 1201, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 921, 2610, 2610, 2610, 921, 2610, 2610, 2610, 2610, 56, 1202, 2610, 1147, 2610, 943, 2610, 2610, 943, 2610, 943, 1143, 2610, 2610, 1147, 2610, 2610, 2610, 1148, 1203, 2610, 847, 2610, 1204, 1207, 2610, 1207, 944, 1204, 1213, 945, 944, 847, 2610, 1221, 1148, 1275, 1204, 2610, 848, 2610, 2610, 1205, 2610, 1205, 945, 2610, 2610, 2610, 945, 848, 2610, 1206, 1149, 948, 1205, 2610, 849, 2610, 2610, 2610, 2610, 2610, 946, 2610, 2610, 2610, 946, 849, 2610, 2610, 2610, 70, 1206, 2610, 850, 2610, 2610, 2610, 2610, 2610, 947, 2610, 2610, 2610, 947, 850, 2610, 2610, 2610, 852, 1207, 2610, 1208, 2610, 1205, 2610, 2610, 1205, 1210, 1205, 1212, 946, 1210, 1208, 2610, 2610, 2610, 805, 1208, 2610, 2610, 2610, 849, 2610, 2610, 849, 803, 849, 1209, 69, 803, 2610, 2610, 2610, 2610, 805, 1209, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 804, 2610, 2610, 2610, 804, 2610, 2610, 2610, 2610, 71, 1210, 2610, 803, 2610, 946, 2610, 2610, 946, 2610, 946, 1211, 2610, 2610, 803, 2610, 2610, 2610, 805, 1211, 2610, 804, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 804, 2610, 2610, 2610, 71, 1212, 2610, 1209, 2610, 2610, 2610, 2610, 2610, 1211, 2610, 2610, 2610, 1211, 1209, 2610, 2610, 2610, 71, 1213, 2610, 1214, 2610, 2610, 1212, 2610, 1212, 1218, 2610, 2610, 2610, 1218, 1214, 2610, 1220, 1150, 949, 1214, 2610, 2610, 2610, 2610, 1209, 2610, 1209, 1215, 2610, 2610, 2610, 1215, 2610, 2610, 1217, 2610, 949, 1215, 2610, 2610, 2610, 2610, 804, 2610, 804, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1216, 2610, 949, 1216, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 853, 1217, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1216, 2610, 2610, 2610, 1216, 2610, 2610, 2610, 2610, 853, 1218, 2610, 1215, 2610, 2610, 1211, 2610, 1211, 2610, 2610, 2610, 2610, 2610, 1215, 2610, 1219, 1151, 949, 1219, 2610, 1216, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1216, 2610, 2610, 2610, 853, 1220, 2610, 1217, 2610, 2610, 2610, 2610, 2610, 1219, 2610, 2610, 2610, 1219, 1217, 2610, 2610, 2610, 853, 1221, 2610, 1222, 2610, 1206, 2610, 2610, 1206, 1274, 1206, 1220, 947, 1274, 1222, 2610, 2610, 2610, 1224, 1222, 2610, 2610, 2610, 850, 2610, 2610, 850, 1223, 850, 1217, 851, 1223, 2610, 2610, 2610, 2610, 1224, 1223, 2610, 2610, 2610, 851, 2610, 2610, 851, 2610, 851, 1216, 2610, 2610, 2610, 2610, 2610, 2610, 1224, 1224, 2610, 2610, 2610, 1225, 2610, 2610, 1225, 852, 1225, 1226, 853, 852, 2610, 2610, 2610, 2610, 1228, 1225, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 853, 2610, 2610, 2610, 853, 2610, 2610, 2610, 2610, 854, 1226, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1227, 2610, 2610, 2610, 1227, 2610, 2610, 2610, 2610, 855, 1227, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 855, 1228, 2610, 2610, 2610, 1229, 2610, 2610, 1229, 854, 1229, 1230, 855, 854, 2610, 2610, 2610, 2610, 1232, 1229, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 855, 2610, 2610, 2610, 855, 2610, 2610, 2610, 2610, 856, 1230, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1231, 2610, 2610, 2610, 1231, 2610, 2610, 2610, 2610, 857, 1231, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 857, 1232, 2610, 2610, 2610, 1233, 2610, 2610, 1233, 856, 1233, 1234, 857, 856, 2610, 2610, 2610, 2610, 1236, 1233, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 857, 2610, 2610, 2610, 857, 2610, 2610, 2610, 2610, 858, 1234, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1235, 2610, 2610, 2610, 1235, 2610, 2610, 2610, 2610, 859, 1235, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 859, 1236, 2610, 2610, 2610, 1237, 2610, 2610, 1237, 858, 1237, 1238, 859, 858, 2610, 2610, 2610, 2610, 1240, 1237, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 859, 2610, 2610, 2610, 859, 2610, 2610, 2610, 2610, 860, 1238, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1239, 2610, 2610, 2610, 1239, 2610, 2610, 2610, 2610, 861, 1239, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 861, 1240, 2610, 2610, 2610, 1241, 2610, 2610, 1241, 860, 1241, 1242, 861, 860, 2610, 2610, 2610, 2610, 1244, 1241, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 861, 2610, 2610, 2610, 861, 2610, 2610, 2610, 2610, 862, 1242, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1243, 2610, 2610, 2610, 1243, 2610, 2610, 2610, 2610, 863, 1243, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 863, 1244, 2610, 2610, 2610, 1245, 2610, 2610, 1245, 862, 1245, 1246, 863, 862, 2610, 2610, 2610, 2610, 1248, 1245, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 863, 2610, 2610, 2610, 863, 2610, 2610, 2610, 2610, 864, 1246, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1247, 2610, 2610, 2610, 1247, 2610, 2610, 2610, 2610, 865, 1247, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 865, 1248, 2610, 2610, 2610, 1249, 2610, 2610, 1249, 864, 1249, 1250, 865, 864, 2610, 2610, 2610, 2610, 1252, 1249, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 865, 2610, 2610, 2610, 865, 2610, 2610, 2610, 2610, 866, 1250, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1251, 2610, 2610, 2610, 1251, 2610, 2610, 2610, 2610, 867, 1251, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 867, 1252, 2610, 2610, 2610, 1253, 2610, 2610, 1253, 866, 1253, 1254, 867, 866, 2610, 2610, 2610, 2610, 1256, 1253, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 867, 2610, 2610, 2610, 867, 2610, 2610, 2610, 2610, 868, 1254, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1255, 2610, 2610, 2610, 1255, 2610, 2610, 2610, 2610, 869, 1255, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 869, 1256, 2610, 2610, 2610, 1257, 2610, 2610, 1257, 868, 1257, 1258, 869, 868, 2610, 2610, 2610, 2610, 1260, 1257, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 869, 2610, 2610, 2610, 869, 2610, 2610, 2610, 2610, 870, 1258, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1259, 2610, 2610, 2610, 1259, 2610, 2610, 2610, 2610, 871, 1259, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 871, 1260, 2610, 2610, 2610, 1261, 2610, 2610, 1261, 870, 1261, 1262, 871, 870, 2610, 2610, 2610, 2610, 1264, 1261, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 871, 2610, 2610, 2610, 871, 2610, 2610, 2610, 2610, 872, 1262, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1263, 2610, 2610, 2610, 1263, 2610, 2610, 2610, 2610, 873, 1263, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 873, 1264, 2610, 2610, 2610, 1265, 2610, 2610, 1265, 872, 1265, 1266, 873, 872, 2610, 2610, 2610, 2610, 1268, 1265, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 873, 2610, 2610, 2610, 873, 2610, 2610, 2610, 2610, 874, 1266, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1267, 2610, 2610, 2610, 1267, 2610, 2610, 2610, 2610, 875, 1267, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 875, 1268, 2610, 2610, 2610, 1269, 2610, 2610, 1269, 874, 1269, 1270, 875, 874, 2610, 2610, 2610, 2610, 1272, 1269, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 875, 2610, 2610, 2610, 875, 2610, 2610, 2610, 2610, 876, 1270, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1271, 2610, 2610, 2610, 1271, 2610, 2610, 2610, 2610, 51, 1271, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 51, 1272, 2610, 2610, 2610, 836, 2610, 2610, 836, 876, 836, 1273, 51, 876, 2610, 2610, 2610, 2610, 878, 1273, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 877, 2610, 2610, 2610, 877, 2610, 2610, 2610, 2610, 53, 1274, 2610, 1223, 2610, 947, 2610, 2610, 947, 2610, 947, 1219, 2610, 2610, 1223, 2610, 2610, 2610, 1224, 1275, 2610, 805, 2610, 1276, 1279, 2610, 1279, 948, 1276, 1285, 949, 948, 805, 2610, 1293, 1224, 1343, 1276, 2610, 806, 2610, 2610, 1277, 2610, 1277, 949, 2610, 2610, 2610, 949, 806, 2610, 1278, 1225, 952, 1277, 2610, 807, 2610, 2610, 2610, 2610, 2610, 950, 2610, 2610, 2610, 950, 807, 2610, 2610, 2610, 73, 1278, 2610, 808, 2610, 2610, 2610, 2610, 2610, 951, 2610, 2610, 2610, 951, 808, 2610, 2610, 2610, 810, 1279, 2610, 1280, 2610, 1277, 2610, 2610, 1277, 1282, 1277, 1284, 950, 1282, 1280, 2610, 2610, 2610, 763, 1280, 2610, 2610, 2610, 807, 2610, 2610, 807, 761, 807, 1281, 72, 761, 2610, 2610, 2610, 2610, 763, 1281, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 762, 2610, 2610, 2610, 762, 2610, 2610, 2610, 2610, 74, 1282, 2610, 761, 2610, 950, 2610, 2610, 950, 2610, 950, 1283, 2610, 2610, 761, 2610, 2610, 2610, 763, 1283, 2610, 762, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 762, 2610, 2610, 2610, 74, 1284, 2610, 1281, 2610, 2610, 2610, 2610, 2610, 1283, 2610, 2610, 2610, 1283, 1281, 2610, 2610, 2610, 74, 1285, 2610, 1286, 2610, 2610, 1284, 2610, 1284, 1290, 2610, 2610, 2610, 1290, 1286, 2610, 1292, 1226, 953, 1286, 2610, 2610, 2610, 2610, 1281, 2610, 1281, 1287, 2610, 2610, 2610, 1287, 2610, 2610, 1289, 2610, 953, 1287, 2610, 2610, 2610, 2610, 762, 2610, 762, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1288, 2610, 953, 1288, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 811, 1289, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1288, 2610, 2610, 2610, 1288, 2610, 2610, 2610, 2610, 811, 1290, 2610, 1287, 2610, 2610, 1283, 2610, 1283, 2610, 2610, 2610, 2610, 2610, 1287, 2610, 1291, 1227, 953, 1291, 2610, 1288, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1288, 2610, 2610, 2610, 811, 1292, 2610, 1289, 2610, 2610, 2610, 2610, 2610, 1291, 2610, 2610, 2610, 1291, 1289, 2610, 2610, 2610, 811, 1293, 2610, 1294, 2610, 1278, 2610, 2610, 1278, 1342, 1278, 1292, 951, 1342, 1294, 2610, 2610, 2610, 1296, 1294, 2610, 2610, 2610, 808, 2610, 2610, 808, 1295, 808, 1289, 809, 1295, 2610, 2610, 2610, 2610, 1296, 1295, 2610, 2610, 2610, 809, 2610, 2610, 809, 2610, 809, 1288, 2610, 2610, 2610, 2610, 2610, 2610, 1296, 1296, 2610, 2610, 2610, 1297, 2610, 2610, 1297, 810, 1297, 1298, 811, 810, 2610, 2610, 2610, 2610, 1300, 1297, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 811, 2610, 2610, 2610, 811, 2610, 2610, 2610, 2610, 812, 1298, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1299, 2610, 2610, 2610, 1299, 2610, 2610, 2610, 2610, 813, 1299, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 813, 1300, 2610, 2610, 2610, 1301, 2610, 2610, 1301, 812, 1301, 1302, 813, 812, 2610, 2610, 2610, 2610, 1304, 1301, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 813, 2610, 2610, 2610, 813, 2610, 2610, 2610, 2610, 814, 1302, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1303, 2610, 2610, 2610, 1303, 2610, 2610, 2610, 2610, 815, 1303, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 815, 1304, 2610, 2610, 2610, 1305, 2610, 2610, 1305, 814, 1305, 1306, 815, 814, 2610, 2610, 2610, 2610, 1308, 1305, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 815, 2610, 2610, 2610, 815, 2610, 2610, 2610, 2610, 816, 1306, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1307, 2610, 2610, 2610, 1307, 2610, 2610, 2610, 2610, 817, 1307, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 817, 1308, 2610, 2610, 2610, 1309, 2610, 2610, 1309, 816, 1309, 1310, 817, 816, 2610, 2610, 2610, 2610, 1312, 1309, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 817, 2610, 2610, 2610, 817, 2610, 2610, 2610, 2610, 818, 1310, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1311, 2610, 2610, 2610, 1311, 2610, 2610, 2610, 2610, 819, 1311, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 819, 1312, 2610, 2610, 2610, 1313, 2610, 2610, 1313, 818, 1313, 1314, 819, 818, 2610, 2610, 2610, 2610, 1316, 1313, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 819, 2610, 2610, 2610, 819, 2610, 2610, 2610, 2610, 820, 1314, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1315, 2610, 2610, 2610, 1315, 2610, 2610, 2610, 2610, 821, 1315, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 821, 1316, 2610, 2610, 2610, 1317, 2610, 2610, 1317, 820, 1317, 1318, 821, 820, 2610, 2610, 2610, 2610, 1320, 1317, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 821, 2610, 2610, 2610, 821, 2610, 2610, 2610, 2610, 822, 1318, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1319, 2610, 2610, 2610, 1319, 2610, 2610, 2610, 2610, 823, 1319, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 823, 1320, 2610, 2610, 2610, 1321, 2610, 2610, 1321, 822, 1321, 1322, 823, 822, 2610, 2610, 2610, 2610, 1324, 1321, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 823, 2610, 2610, 2610, 823, 2610, 2610, 2610, 2610, 824, 1322, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1323, 2610, 2610, 2610, 1323, 2610, 2610, 2610, 2610, 825, 1323, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 825, 1324, 2610, 2610, 2610, 1325, 2610, 2610, 1325, 824, 1325, 1326, 825, 824, 2610, 2610, 2610, 2610, 1328, 1325, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 825, 2610, 2610, 2610, 825, 2610, 2610, 2610, 2610, 826, 1326, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1327, 2610, 2610, 2610, 1327, 2610, 2610, 2610, 2610, 827, 1327, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 827, 1328, 2610, 2610, 2610, 1329, 2610, 2610, 1329, 826, 1329, 1330, 827, 826, 2610, 2610, 2610, 2610, 1332, 1329, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 827, 2610, 2610, 2610, 827, 2610, 2610, 2610, 2610, 828, 1330, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1331, 2610, 2610, 2610, 1331, 2610, 2610, 2610, 2610, 829, 1331, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 829, 1332, 2610, 2610, 2610, 1333, 2610, 2610, 1333, 828, 1333, 1334, 829, 828, 2610, 2610, 2610, 2610, 1336, 1333, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 829, 2610, 2610, 2610, 829, 2610, 2610, 2610, 2610, 830, 1334, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1335, 2610, 2610, 2610, 1335, 2610, 2610, 2610, 2610, 831, 1335, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 831, 1336, 2610, 2610, 2610, 1337, 2610, 2610, 1337, 830, 1337, 1338, 831, 830, 2610, 2610, 2610, 2610, 1340, 1337, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 831, 2610, 2610, 2610, 831, 2610, 2610, 2610, 2610, 832, 1338, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1339, 2610, 2610, 2610, 1339, 2610, 2610, 2610, 2610, 48, 1339, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 48, 1340, 2610, 2610, 2610, 792, 2610, 2610, 792, 832, 792, 1341, 48, 832, 2610, 2610, 2610, 2610, 834, 1341, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 833, 2610, 2610, 2610, 833, 2610, 2610, 2610, 2610, 50, 1342, 2610, 1295, 2610, 951, 2610, 2610, 951, 2610, 951, 1291, 2610, 2610, 1295, 2610, 2610, 2610, 1296, 1343, 2610, 763, 2610, 1344, 1347, 2610, 1347, 952, 1344, 1353, 953, 952, 763, 2610, 1361, 1296, 1407, 1344, 2610, 764, 2610, 2610, 1345, 2610, 1345, 953, 2610, 2610, 2610, 953, 764, 2610, 1346, 1297, 956, 1345, 2610, 765, 2610, 2610, 2610, 2610, 2610, 954, 2610, 2610, 2610, 954, 765, 2610, 2610, 2610, 76, 1346, 2610, 766, 2610, 2610, 2610, 2610, 2610, 955, 2610, 2610, 2610, 955, 766, 2610, 2610, 2610, 768, 1347, 2610, 1348, 2610, 1345, 2610, 2610, 1345, 1350, 1345, 1352, 954, 1350, 1348, 2610, 2610, 2610, 721, 1348, 2610, 2610, 2610, 765, 2610, 2610, 765, 719, 765, 1349, 75, 719, 2610, 2610, 2610, 2610, 721, 1349, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 720, 2610, 2610, 2610, 720, 2610, 2610, 2610, 2610, 77, 1350, 2610, 719, 2610, 954, 2610, 2610, 954, 2610, 954, 1351, 2610, 2610, 719, 2610, 2610, 2610, 721, 1351, 2610, 720, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 720, 2610, 2610, 2610, 77, 1352, 2610, 1349, 2610, 2610, 2610, 2610, 2610, 1351, 2610, 2610, 2610, 1351, 1349, 2610, 2610, 2610, 77, 1353, 2610, 1354, 2610, 2610, 1352, 2610, 1352, 1358, 2610, 2610, 2610, 1358, 1354, 2610, 1360, 1298, 957, 1354, 2610, 2610, 2610, 2610, 1349, 2610, 1349, 1355, 2610, 2610, 2610, 1355, 2610, 2610, 1357, 2610, 957, 1355, 2610, 2610, 2610, 2610, 720, 2610, 720, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1356, 2610, 957, 1356, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 769, 1357, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1356, 2610, 2610, 2610, 1356, 2610, 2610, 2610, 2610, 769, 1358, 2610, 1355, 2610, 2610, 1351, 2610, 1351, 2610, 2610, 2610, 2610, 2610, 1355, 2610, 1359, 1299, 957, 1359, 2610, 1356, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1356, 2610, 2610, 2610, 769, 1360, 2610, 1357, 2610, 2610, 2610, 2610, 2610, 1359, 2610, 2610, 2610, 1359, 1357, 2610, 2610, 2610, 769, 1361, 2610, 1362, 2610, 1346, 2610, 2610, 1346, 1406, 1346, 1360, 955, 1406, 1362, 2610, 2610, 2610, 1364, 1362, 2610, 2610, 2610, 766, 2610, 2610, 766, 1363, 766, 1357, 767, 1363, 2610, 2610, 2610, 2610, 1364, 1363, 2610, 2610, 2610, 767, 2610, 2610, 767, 2610, 767, 1356, 2610, 2610, 2610, 2610, 2610, 2610, 1364, 1364, 2610, 2610, 2610, 1365, 2610, 2610, 1365, 768, 1365, 1366, 769, 768, 2610, 2610, 2610, 2610, 1368, 1365, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 769, 2610, 2610, 2610, 769, 2610, 2610, 2610, 2610, 770, 1366, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1367, 2610, 2610, 2610, 1367, 2610, 2610, 2610, 2610, 771, 1367, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 771, 1368, 2610, 2610, 2610, 1369, 2610, 2610, 1369, 770, 1369, 1370, 771, 770, 2610, 2610, 2610, 2610, 1372, 1369, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 771, 2610, 2610, 2610, 771, 2610, 2610, 2610, 2610, 772, 1370, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1371, 2610, 2610, 2610, 1371, 2610, 2610, 2610, 2610, 773, 1371, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 773, 1372, 2610, 2610, 2610, 1373, 2610, 2610, 1373, 772, 1373, 1374, 773, 772, 2610, 2610, 2610, 2610, 1376, 1373, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 773, 2610, 2610, 2610, 773, 2610, 2610, 2610, 2610, 774, 1374, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1375, 2610, 2610, 2610, 1375, 2610, 2610, 2610, 2610, 775, 1375, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 775, 1376, 2610, 2610, 2610, 1377, 2610, 2610, 1377, 774, 1377, 1378, 775, 774, 2610, 2610, 2610, 2610, 1380, 1377, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 775, 2610, 2610, 2610, 775, 2610, 2610, 2610, 2610, 776, 1378, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1379, 2610, 2610, 2610, 1379, 2610, 2610, 2610, 2610, 777, 1379, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 777, 1380, 2610, 2610, 2610, 1381, 2610, 2610, 1381, 776, 1381, 1382, 777, 776, 2610, 2610, 2610, 2610, 1384, 1381, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 777, 2610, 2610, 2610, 777, 2610, 2610, 2610, 2610, 778, 1382, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1383, 2610, 2610, 2610, 1383, 2610, 2610, 2610, 2610, 779, 1383, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 779, 1384, 2610, 2610, 2610, 1385, 2610, 2610, 1385, 778, 1385, 1386, 779, 778, 2610, 2610, 2610, 2610, 1388, 1385, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 779, 2610, 2610, 2610, 779, 2610, 2610, 2610, 2610, 780, 1386, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1387, 2610, 2610, 2610, 1387, 2610, 2610, 2610, 2610, 781, 1387, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 781, 1388, 2610, 2610, 2610, 1389, 2610, 2610, 1389, 780, 1389, 1390, 781, 780, 2610, 2610, 2610, 2610, 1392, 1389, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 781, 2610, 2610, 2610, 781, 2610, 2610, 2610, 2610, 782, 1390, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1391, 2610, 2610, 2610, 1391, 2610, 2610, 2610, 2610, 783, 1391, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 783, 1392, 2610, 2610, 2610, 1393, 2610, 2610, 1393, 782, 1393, 1394, 783, 782, 2610, 2610, 2610, 2610, 1396, 1393, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 783, 2610, 2610, 2610, 783, 2610, 2610, 2610, 2610, 784, 1394, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1395, 2610, 2610, 2610, 1395, 2610, 2610, 2610, 2610, 785, 1395, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 785, 1396, 2610, 2610, 2610, 1397, 2610, 2610, 1397, 784, 1397, 1398, 785, 784, 2610, 2610, 2610, 2610, 1400, 1397, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 785, 2610, 2610, 2610, 785, 2610, 2610, 2610, 2610, 786, 1398, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1399, 2610, 2610, 2610, 1399, 2610, 2610, 2610, 2610, 787, 1399, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 787, 1400, 2610, 2610, 2610, 1401, 2610, 2610, 1401, 786, 1401, 1402, 787, 786, 2610, 2610, 2610, 2610, 1404, 1401, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 787, 2610, 2610, 2610, 787, 2610, 2610, 2610, 2610, 788, 1402, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1403, 2610, 2610, 2610, 1403, 2610, 2610, 2610, 2610, 45, 1403, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 45, 1404, 2610, 2610, 2610, 748, 2610, 2610, 748, 788, 748, 1405, 45, 788, 2610, 2610, 2610, 2610, 790, 1405, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 789, 2610, 2610, 2610, 789, 2610, 2610, 2610, 2610, 47, 1406, 2610, 1363, 2610, 955, 2610, 2610, 955, 2610, 955, 1359, 2610, 2610, 1363, 2610, 2610, 2610, 1364, 1407, 2610, 721, 2610, 1408, 1411, 2610, 1411, 956, 1408, 1417, 957, 956, 721, 2610, 1425, 1364, 1467, 1408, 2610, 722, 2610, 2610, 1409, 2610, 1409, 957, 2610, 2610, 2610, 957, 722, 2610, 1410, 1365, 960, 1409, 2610, 723, 2610, 2610, 2610, 2610, 2610, 958, 2610, 2610, 2610, 958, 723, 2610, 2610, 2610, 79, 1410, 2610, 724, 2610, 2610, 2610, 2610, 2610, 959, 2610, 2610, 2610, 959, 724, 2610, 2610, 2610, 726, 1411, 2610, 1412, 2610, 1409, 2610, 2610, 1409, 1414, 1409, 1416, 958, 1414, 1412, 2610, 2610, 2610, 679, 1412, 2610, 2610, 2610, 723, 2610, 2610, 723, 677, 723, 1413, 78, 677, 2610, 2610, 2610, 2610, 679, 1413, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 678, 2610, 2610, 2610, 678, 2610, 2610, 2610, 2610, 80, 1414, 2610, 677, 2610, 958, 2610, 2610, 958, 2610, 958, 1415, 2610, 2610, 677, 2610, 2610, 2610, 679, 1415, 2610, 678, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 678, 2610, 2610, 2610, 80, 1416, 2610, 1413, 2610, 2610, 2610, 2610, 2610, 1415, 2610, 2610, 2610, 1415, 1413, 2610, 2610, 2610, 80, 1417, 2610, 1418, 2610, 2610, 1416, 2610, 1416, 1422, 2610, 2610, 2610, 1422, 1418, 2610, 1424, 1366, 961, 1418, 2610, 2610, 2610, 2610, 1413, 2610, 1413, 1419, 2610, 2610, 2610, 1419, 2610, 2610, 1421, 2610, 961, 1419, 2610, 2610, 2610, 2610, 678, 2610, 678, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1420, 2610, 961, 1420, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 727, 1421, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1420, 2610, 2610, 2610, 1420, 2610, 2610, 2610, 2610, 727, 1422, 2610, 1419, 2610, 2610, 1415, 2610, 1415, 2610, 2610, 2610, 2610, 2610, 1419, 2610, 1423, 1367, 961, 1423, 2610, 1420, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1420, 2610, 2610, 2610, 727, 1424, 2610, 1421, 2610, 2610, 2610, 2610, 2610, 1423, 2610, 2610, 2610, 1423, 1421, 2610, 2610, 2610, 727, 1425, 2610, 1426, 2610, 1410, 2610, 2610, 1410, 1466, 1410, 1424, 959, 1466, 1426, 2610, 2610, 2610, 1428, 1426, 2610, 2610, 2610, 724, 2610, 2610, 724, 1427, 724, 1421, 725, 1427, 2610, 2610, 2610, 2610, 1428, 1427, 2610, 2610, 2610, 725, 2610, 2610, 725, 2610, 725, 1420, 2610, 2610, 2610, 2610, 2610, 2610, 1428, 1428, 2610, 2610, 2610, 1429, 2610, 2610, 1429, 726, 1429, 1430, 727, 726, 2610, 2610, 2610, 2610, 1432, 1429, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 727, 2610, 2610, 2610, 727, 2610, 2610, 2610, 2610, 728, 1430, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1431, 2610, 2610, 2610, 1431, 2610, 2610, 2610, 2610, 729, 1431, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 729, 1432, 2610, 2610, 2610, 1433, 2610, 2610, 1433, 728, 1433, 1434, 729, 728, 2610, 2610, 2610, 2610, 1436, 1433, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 729, 2610, 2610, 2610, 729, 2610, 2610, 2610, 2610, 730, 1434, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1435, 2610, 2610, 2610, 1435, 2610, 2610, 2610, 2610, 731, 1435, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 731, 1436, 2610, 2610, 2610, 1437, 2610, 2610, 1437, 730, 1437, 1438, 731, 730, 2610, 2610, 2610, 2610, 1440, 1437, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 731, 2610, 2610, 2610, 731, 2610, 2610, 2610, 2610, 732, 1438, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1439, 2610, 2610, 2610, 1439, 2610, 2610, 2610, 2610, 733, 1439, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 733, 1440, 2610, 2610, 2610, 1441, 2610, 2610, 1441, 732, 1441, 1442, 733, 732, 2610, 2610, 2610, 2610, 1444, 1441, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 733, 2610, 2610, 2610, 733, 2610, 2610, 2610, 2610, 734, 1442, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1443, 2610, 2610, 2610, 1443, 2610, 2610, 2610, 2610, 735, 1443, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 735, 1444, 2610, 2610, 2610, 1445, 2610, 2610, 1445, 734, 1445, 1446, 735, 734, 2610, 2610, 2610, 2610, 1448, 1445, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 735, 2610, 2610, 2610, 735, 2610, 2610, 2610, 2610, 736, 1446, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1447, 2610, 2610, 2610, 1447, 2610, 2610, 2610, 2610, 737, 1447, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 737, 1448, 2610, 2610, 2610, 1449, 2610, 2610, 1449, 736, 1449, 1450, 737, 736, 2610, 2610, 2610, 2610, 1452, 1449, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 737, 2610, 2610, 2610, 737, 2610, 2610, 2610, 2610, 738, 1450, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1451, 2610, 2610, 2610, 1451, 2610, 2610, 2610, 2610, 739, 1451, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 739, 1452, 2610, 2610, 2610, 1453, 2610, 2610, 1453, 738, 1453, 1454, 739, 738, 2610, 2610, 2610, 2610, 1456, 1453, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 739, 2610, 2610, 2610, 739, 2610, 2610, 2610, 2610, 740, 1454, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1455, 2610, 2610, 2610, 1455, 2610, 2610, 2610, 2610, 741, 1455, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 741, 1456, 2610, 2610, 2610, 1457, 2610, 2610, 1457, 740, 1457, 1458, 741, 740, 2610, 2610, 2610, 2610, 1460, 1457, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 741, 2610, 2610, 2610, 741, 2610, 2610, 2610, 2610, 742, 1458, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1459, 2610, 2610, 2610, 1459, 2610, 2610, 2610, 2610, 743, 1459, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 743, 1460, 2610, 2610, 2610, 1461, 2610, 2610, 1461, 742, 1461, 1462, 743, 742, 2610, 2610, 2610, 2610, 1464, 1461, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 743, 2610, 2610, 2610, 743, 2610, 2610, 2610, 2610, 744, 1462, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1463, 2610, 2610, 2610, 1463, 2610, 2610, 2610, 2610, 42, 1463, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 42, 1464, 2610, 2610, 2610, 704, 2610, 2610, 704, 744, 704, 1465, 42, 744, 2610, 2610, 2610, 2610, 746, 1465, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 745, 2610, 2610, 2610, 745, 2610, 2610, 2610, 2610, 44, 1466, 2610, 1427, 2610, 959, 2610, 2610, 959, 2610, 959, 1423, 2610, 2610, 1427, 2610, 2610, 2610, 1428, 1467, 2610, 679, 2610, 1468, 1471, 2610, 1471, 960, 1468, 1477, 961, 960, 679, 2610, 1485, 1428, 1523, 1468, 2610, 680, 2610, 2610, 1469, 2610, 1469, 961, 2610, 2610, 2610, 961, 680, 2610, 1470, 1429, 964, 1469, 2610, 681, 2610, 2610, 2610, 2610, 2610, 962, 2610, 2610, 2610, 962, 681, 2610, 2610, 2610, 82, 1470, 2610, 682, 2610, 2610, 2610, 2610, 2610, 963, 2610, 2610, 2610, 963, 682, 2610, 2610, 2610, 684, 1471, 2610, 1472, 2610, 1469, 2610, 2610, 1469, 1474, 1469, 1476, 962, 1474, 1472, 2610, 2610, 2610, 637, 1472, 2610, 2610, 2610, 681, 2610, 2610, 681, 635, 681, 1473, 81, 635, 2610, 2610, 2610, 2610, 637, 1473, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 636, 2610, 2610, 2610, 636, 2610, 2610, 2610, 2610, 83, 1474, 2610, 635, 2610, 962, 2610, 2610, 962, 2610, 962, 1475, 2610, 2610, 635, 2610, 2610, 2610, 637, 1475, 2610, 636, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 636, 2610, 2610, 2610, 83, 1476, 2610, 1473, 2610, 2610, 2610, 2610, 2610, 1475, 2610, 2610, 2610, 1475, 1473, 2610, 2610, 2610, 83, 1477, 2610, 1478, 2610, 2610, 1476, 2610, 1476, 1482, 2610, 2610, 2610, 1482, 1478, 2610, 1484, 1430, 965, 1478, 2610, 2610, 2610, 2610, 1473, 2610, 1473, 1479, 2610, 2610, 2610, 1479, 2610, 2610, 1481, 2610, 965, 1479, 2610, 2610, 2610, 2610, 636, 2610, 636, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1480, 2610, 965, 1480, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 685, 1481, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1480, 2610, 2610, 2610, 1480, 2610, 2610, 2610, 2610, 685, 1482, 2610, 1479, 2610, 2610, 1475, 2610, 1475, 2610, 2610, 2610, 2610, 2610, 1479, 2610, 1483, 1431, 965, 1483, 2610, 1480, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1480, 2610, 2610, 2610, 685, 1484, 2610, 1481, 2610, 2610, 2610, 2610, 2610, 1483, 2610, 2610, 2610, 1483, 1481, 2610, 2610, 2610, 685, 1485, 2610, 1486, 2610, 1470, 2610, 2610, 1470, 1522, 1470, 1484, 963, 1522, 1486, 2610, 2610, 2610, 1488, 1486, 2610, 2610, 2610, 682, 2610, 2610, 682, 1487, 682, 1481, 683, 1487, 2610, 2610, 2610, 2610, 1488, 1487, 2610, 2610, 2610, 683, 2610, 2610, 683, 2610, 683, 1480, 2610, 2610, 2610, 2610, 2610, 2610, 1488, 1488, 2610, 2610, 2610, 1489, 2610, 2610, 1489, 684, 1489, 1490, 685, 684, 2610, 2610, 2610, 2610, 1492, 1489, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 685, 2610, 2610, 2610, 685, 2610, 2610, 2610, 2610, 686, 1490, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1491, 2610, 2610, 2610, 1491, 2610, 2610, 2610, 2610, 687, 1491, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 687, 1492, 2610, 2610, 2610, 1493, 2610, 2610, 1493, 686, 1493, 1494, 687, 686, 2610, 2610, 2610, 2610, 1496, 1493, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 687, 2610, 2610, 2610, 687, 2610, 2610, 2610, 2610, 688, 1494, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1495, 2610, 2610, 2610, 1495, 2610, 2610, 2610, 2610, 689, 1495, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 689, 1496, 2610, 2610, 2610, 1497, 2610, 2610, 1497, 688, 1497, 1498, 689, 688, 2610, 2610, 2610, 2610, 1500, 1497, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 689, 2610, 2610, 2610, 689, 2610, 2610, 2610, 2610, 690, 1498, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1499, 2610, 2610, 2610, 1499, 2610, 2610, 2610, 2610, 691, 1499, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 691, 1500, 2610, 2610, 2610, 1501, 2610, 2610, 1501, 690, 1501, 1502, 691, 690, 2610, 2610, 2610, 2610, 1504, 1501, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 691, 2610, 2610, 2610, 691, 2610, 2610, 2610, 2610, 692, 1502, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1503, 2610, 2610, 2610, 1503, 2610, 2610, 2610, 2610, 693, 1503, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 693, 1504, 2610, 2610, 2610, 1505, 2610, 2610, 1505, 692, 1505, 1506, 693, 692, 2610, 2610, 2610, 2610, 1508, 1505, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 693, 2610, 2610, 2610, 693, 2610, 2610, 2610, 2610, 694, 1506, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1507, 2610, 2610, 2610, 1507, 2610, 2610, 2610, 2610, 695, 1507, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 695, 1508, 2610, 2610, 2610, 1509, 2610, 2610, 1509, 694, 1509, 1510, 695, 694, 2610, 2610, 2610, 2610, 1512, 1509, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 695, 2610, 2610, 2610, 695, 2610, 2610, 2610, 2610, 696, 1510, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1511, 2610, 2610, 2610, 1511, 2610, 2610, 2610, 2610, 697, 1511, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 697, 1512, 2610, 2610, 2610, 1513, 2610, 2610, 1513, 696, 1513, 1514, 697, 696, 2610, 2610, 2610, 2610, 1516, 1513, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 697, 2610, 2610, 2610, 697, 2610, 2610, 2610, 2610, 698, 1514, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1515, 2610, 2610, 2610, 1515, 2610, 2610, 2610, 2610, 699, 1515, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 699, 1516, 2610, 2610, 2610, 1517, 2610, 2610, 1517, 698, 1517, 1518, 699, 698, 2610, 2610, 2610, 2610, 1520, 1517, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 699, 2610, 2610, 2610, 699, 2610, 2610, 2610, 2610, 700, 1518, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1519, 2610, 2610, 2610, 1519, 2610, 2610, 2610, 2610, 39, 1519, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 39, 1520, 2610, 2610, 2610, 660, 2610, 2610, 660, 700, 660, 1521, 39, 700, 2610, 2610, 2610, 2610, 702, 1521, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 701, 2610, 2610, 2610, 701, 2610, 2610, 2610, 2610, 41, 1522, 2610, 1487, 2610, 963, 2610, 2610, 963, 2610, 963, 1483, 2610, 2610, 1487, 2610, 2610, 2610, 1488, 1523, 2610, 637, 2610, 1524, 1527, 2610, 1527, 964, 1524, 1533, 965, 964, 637, 2610, 1541, 1488, 1575, 1524, 2610, 638, 2610, 2610, 1525, 2610, 1525, 965, 2610, 2610, 2610, 965, 638, 2610, 1526, 1489, 968, 1525, 2610, 639, 2610, 2610, 2610, 2610, 2610, 966, 2610, 2610, 2610, 966, 639, 2610, 2610, 2610, 85, 1526, 2610, 640, 2610, 2610, 2610, 2610, 2610, 967, 2610, 2610, 2610, 967, 640, 2610, 2610, 2610, 642, 1527, 2610, 1528, 2610, 1525, 2610, 2610, 1525, 1530, 1525, 1532, 966, 1530, 1528, 2610, 2610, 2610, 595, 1528, 2610, 2610, 2610, 639, 2610, 2610, 639, 593, 639, 1529, 84, 593, 2610, 2610, 2610, 2610, 595, 1529, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 594, 2610, 2610, 2610, 594, 2610, 2610, 2610, 2610, 86, 1530, 2610, 593, 2610, 966, 2610, 2610, 966, 2610, 966, 1531, 2610, 2610, 593, 2610, 2610, 2610, 595, 1531, 2610, 594, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 594, 2610, 2610, 2610, 86, 1532, 2610, 1529, 2610, 2610, 2610, 2610, 2610, 1531, 2610, 2610, 2610, 1531, 1529, 2610, 2610, 2610, 86, 1533, 2610, 1534, 2610, 2610, 1532, 2610, 1532, 1538, 2610, 2610, 2610, 1538, 1534, 2610, 1540, 1490, 969, 1534, 2610, 2610, 2610, 2610, 1529, 2610, 1529, 1535, 2610, 2610, 2610, 1535, 2610, 2610, 1537, 2610, 969, 1535, 2610, 2610, 2610, 2610, 594, 2610, 594, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1536, 2610, 969, 1536, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 643, 1537, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1536, 2610, 2610, 2610, 1536, 2610, 2610, 2610, 2610, 643, 1538, 2610, 1535, 2610, 2610, 1531, 2610, 1531, 2610, 2610, 2610, 2610, 2610, 1535, 2610, 1539, 1491, 969, 1539, 2610, 1536, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1536, 2610, 2610, 2610, 643, 1540, 2610, 1537, 2610, 2610, 2610, 2610, 2610, 1539, 2610, 2610, 2610, 1539, 1537, 2610, 2610, 2610, 643, 1541, 2610, 1542, 2610, 1526, 2610, 2610, 1526, 1574, 1526, 1540, 967, 1574, 1542, 2610, 2610, 2610, 1544, 1542, 2610, 2610, 2610, 640, 2610, 2610, 640, 1543, 640, 1537, 641, 1543, 2610, 2610, 2610, 2610, 1544, 1543, 2610, 2610, 2610, 641, 2610, 2610, 641, 2610, 641, 1536, 2610, 2610, 2610, 2610, 2610, 2610, 1544, 1544, 2610, 2610, 2610, 1545, 2610, 2610, 1545, 642, 1545, 1546, 643, 642, 2610, 2610, 2610, 2610, 1548, 1545, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 643, 2610, 2610, 2610, 643, 2610, 2610, 2610, 2610, 644, 1546, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1547, 2610, 2610, 2610, 1547, 2610, 2610, 2610, 2610, 645, 1547, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 645, 1548, 2610, 2610, 2610, 1549, 2610, 2610, 1549, 644, 1549, 1550, 645, 644, 2610, 2610, 2610, 2610, 1552, 1549, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 645, 2610, 2610, 2610, 645, 2610, 2610, 2610, 2610, 646, 1550, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1551, 2610, 2610, 2610, 1551, 2610, 2610, 2610, 2610, 647, 1551, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 647, 1552, 2610, 2610, 2610, 1553, 2610, 2610, 1553, 646, 1553, 1554, 647, 646, 2610, 2610, 2610, 2610, 1556, 1553, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 647, 2610, 2610, 2610, 647, 2610, 2610, 2610, 2610, 648, 1554, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1555, 2610, 2610, 2610, 1555, 2610, 2610, 2610, 2610, 649, 1555, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 649, 1556, 2610, 2610, 2610, 1557, 2610, 2610, 1557, 648, 1557, 1558, 649, 648, 2610, 2610, 2610, 2610, 1560, 1557, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 649, 2610, 2610, 2610, 649, 2610, 2610, 2610, 2610, 650, 1558, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1559, 2610, 2610, 2610, 1559, 2610, 2610, 2610, 2610, 651, 1559, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 651, 1560, 2610, 2610, 2610, 1561, 2610, 2610, 1561, 650, 1561, 1562, 651, 650, 2610, 2610, 2610, 2610, 1564, 1561, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 651, 2610, 2610, 2610, 651, 2610, 2610, 2610, 2610, 652, 1562, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1563, 2610, 2610, 2610, 1563, 2610, 2610, 2610, 2610, 653, 1563, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 653, 1564, 2610, 2610, 2610, 1565, 2610, 2610, 1565, 652, 1565, 1566, 653, 652, 2610, 2610, 2610, 2610, 1568, 1565, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 653, 2610, 2610, 2610, 653, 2610, 2610, 2610, 2610, 654, 1566, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1567, 2610, 2610, 2610, 1567, 2610, 2610, 2610, 2610, 655, 1567, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 655, 1568, 2610, 2610, 2610, 1569, 2610, 2610, 1569, 654, 1569, 1570, 655, 654, 2610, 2610, 2610, 2610, 1572, 1569, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 655, 2610, 2610, 2610, 655, 2610, 2610, 2610, 2610, 656, 1570, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1571, 2610, 2610, 2610, 1571, 2610, 2610, 2610, 2610, 36, 1571, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 36, 1572, 2610, 2610, 2610, 616, 2610, 2610, 616, 656, 616, 1573, 36, 656, 2610, 2610, 2610, 2610, 658, 1573, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 657, 2610, 2610, 2610, 657, 2610, 2610, 2610, 2610, 38, 1574, 2610, 1543, 2610, 967, 2610, 2610, 967, 2610, 967, 1539, 2610, 2610, 1543, 2610, 2610, 2610, 1544, 1575, 2610, 595, 2610, 1576, 1579, 2610, 1579, 968, 1576, 1585, 969, 968, 595, 2610, 1593, 1544, 1623, 1576, 2610, 596, 2610, 2610, 1577, 2610, 1577, 969, 2610, 2610, 2610, 969, 596, 2610, 1578, 1545, 972, 1577, 2610, 597, 2610, 2610, 2610, 2610, 2610, 970, 2610, 2610, 2610, 970, 597, 2610, 2610, 2610, 88, 1578, 2610, 598, 2610, 2610, 2610, 2610, 2610, 971, 2610, 2610, 2610, 971, 598, 2610, 2610, 2610, 600, 1579, 2610, 1580, 2610, 1577, 2610, 2610, 1577, 1582, 1577, 1584, 970, 1582, 1580, 2610, 2610, 2610, 553, 1580, 2610, 2610, 2610, 597, 2610, 2610, 597, 551, 597, 1581, 87, 551, 2610, 2610, 2610, 2610, 553, 1581, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 552, 2610, 2610, 2610, 552, 2610, 2610, 2610, 2610, 89, 1582, 2610, 551, 2610, 970, 2610, 2610, 970, 2610, 970, 1583, 2610, 2610, 551, 2610, 2610, 2610, 553, 1583, 2610, 552, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 552, 2610, 2610, 2610, 89, 1584, 2610, 1581, 2610, 2610, 2610, 2610, 2610, 1583, 2610, 2610, 2610, 1583, 1581, 2610, 2610, 2610, 89, 1585, 2610, 1586, 2610, 2610, 1584, 2610, 1584, 1590, 2610, 2610, 2610, 1590, 1586, 2610, 1592, 1546, 973, 1586, 2610, 2610, 2610, 2610, 1581, 2610, 1581, 1587, 2610, 2610, 2610, 1587, 2610, 2610, 1589, 2610, 973, 1587, 2610, 2610, 2610, 2610, 552, 2610, 552, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1588, 2610, 973, 1588, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 601, 1589, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1588, 2610, 2610, 2610, 1588, 2610, 2610, 2610, 2610, 601, 1590, 2610, 1587, 2610, 2610, 1583, 2610, 1583, 2610, 2610, 2610, 2610, 2610, 1587, 2610, 1591, 1547, 973, 1591, 2610, 1588, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1588, 2610, 2610, 2610, 601, 1592, 2610, 1589, 2610, 2610, 2610, 2610, 2610, 1591, 2610, 2610, 2610, 1591, 1589, 2610, 2610, 2610, 601, 1593, 2610, 1594, 2610, 1578, 2610, 2610, 1578, 1622, 1578, 1592, 971, 1622, 1594, 2610, 2610, 2610, 1596, 1594, 2610, 2610, 2610, 598, 2610, 2610, 598, 1595, 598, 1589, 599, 1595, 2610, 2610, 2610, 2610, 1596, 1595, 2610, 2610, 2610, 599, 2610, 2610, 599, 2610, 599, 1588, 2610, 2610, 2610, 2610, 2610, 2610, 1596, 1596, 2610, 2610, 2610, 1597, 2610, 2610, 1597, 600, 1597, 1598, 601, 600, 2610, 2610, 2610, 2610, 1600, 1597, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 601, 2610, 2610, 2610, 601, 2610, 2610, 2610, 2610, 602, 1598, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1599, 2610, 2610, 2610, 1599, 2610, 2610, 2610, 2610, 603, 1599, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 603, 1600, 2610, 2610, 2610, 1601, 2610, 2610, 1601, 602, 1601, 1602, 603, 602, 2610, 2610, 2610, 2610, 1604, 1601, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 603, 2610, 2610, 2610, 603, 2610, 2610, 2610, 2610, 604, 1602, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1603, 2610, 2610, 2610, 1603, 2610, 2610, 2610, 2610, 605, 1603, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 605, 1604, 2610, 2610, 2610, 1605, 2610, 2610, 1605, 604, 1605, 1606, 605, 604, 2610, 2610, 2610, 2610, 1608, 1605, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 605, 2610, 2610, 2610, 605, 2610, 2610, 2610, 2610, 606, 1606, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1607, 2610, 2610, 2610, 1607, 2610, 2610, 2610, 2610, 607, 1607, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 607, 1608, 2610, 2610, 2610, 1609, 2610, 2610, 1609, 606, 1609, 1610, 607, 606, 2610, 2610, 2610, 2610, 1612, 1609, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 607, 2610, 2610, 2610, 607, 2610, 2610, 2610, 2610, 608, 1610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1611, 2610, 2610, 2610, 1611, 2610, 2610, 2610, 2610, 609, 1611, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 609, 1612, 2610, 2610, 2610, 1613, 2610, 2610, 1613, 608, 1613, 1614, 609, 608, 2610, 2610, 2610, 2610, 1616, 1613, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 609, 2610, 2610, 2610, 609, 2610, 2610, 2610, 2610, 610, 1614, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1615, 2610, 2610, 2610, 1615, 2610, 2610, 2610, 2610, 611, 1615, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 611, 1616, 2610, 2610, 2610, 1617, 2610, 2610, 1617, 610, 1617, 1618, 611, 610, 2610, 2610, 2610, 2610, 1620, 1617, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 611, 2610, 2610, 2610, 611, 2610, 2610, 2610, 2610, 612, 1618, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1619, 2610, 2610, 2610, 1619, 2610, 2610, 2610, 2610, 33, 1619, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 33, 1620, 2610, 2610, 2610, 572, 2610, 2610, 572, 612, 572, 1621, 33, 612, 2610, 2610, 2610, 2610, 614, 1621, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 613, 2610, 2610, 2610, 613, 2610, 2610, 2610, 2610, 35, 1622, 2610, 1595, 2610, 971, 2610, 2610, 971, 2610, 971, 1591, 2610, 2610, 1595, 2610, 2610, 2610, 1596, 1623, 2610, 553, 2610, 1624, 1627, 2610, 1627, 972, 1624, 1633, 973, 972, 553, 2610, 1641, 1596, 1667, 1624, 2610, 554, 2610, 2610, 1625, 2610, 1625, 973, 2610, 2610, 2610, 973, 554, 2610, 1626, 1597, 976, 1625, 2610, 555, 2610, 2610, 2610, 2610, 2610, 974, 2610, 2610, 2610, 974, 555, 2610, 2610, 2610, 91, 1626, 2610, 556, 2610, 2610, 2610, 2610, 2610, 975, 2610, 2610, 2610, 975, 556, 2610, 2610, 2610, 558, 1627, 2610, 1628, 2610, 1625, 2610, 2610, 1625, 1630, 1625, 1632, 974, 1630, 1628, 2610, 2610, 2610, 511, 1628, 2610, 2610, 2610, 555, 2610, 2610, 555, 509, 555, 1629, 90, 509, 2610, 2610, 2610, 2610, 511, 1629, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 510, 2610, 2610, 2610, 510, 2610, 2610, 2610, 2610, 92, 1630, 2610, 509, 2610, 974, 2610, 2610, 974, 2610, 974, 1631, 2610, 2610, 509, 2610, 2610, 2610, 511, 1631, 2610, 510, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 510, 2610, 2610, 2610, 92, 1632, 2610, 1629, 2610, 2610, 2610, 2610, 2610, 1631, 2610, 2610, 2610, 1631, 1629, 2610, 2610, 2610, 92, 1633, 2610, 1634, 2610, 2610, 1632, 2610, 1632, 1638, 2610, 2610, 2610, 1638, 1634, 2610, 1640, 1598, 977, 1634, 2610, 2610, 2610, 2610, 1629, 2610, 1629, 1635, 2610, 2610, 2610, 1635, 2610, 2610, 1637, 2610, 977, 1635, 2610, 2610, 2610, 2610, 510, 2610, 510, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1636, 2610, 977, 1636, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 559, 1637, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1636, 2610, 2610, 2610, 1636, 2610, 2610, 2610, 2610, 559, 1638, 2610, 1635, 2610, 2610, 1631, 2610, 1631, 2610, 2610, 2610, 2610, 2610, 1635, 2610, 1639, 1599, 977, 1639, 2610, 1636, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1636, 2610, 2610, 2610, 559, 1640, 2610, 1637, 2610, 2610, 2610, 2610, 2610, 1639, 2610, 2610, 2610, 1639, 1637, 2610, 2610, 2610, 559, 1641, 2610, 1642, 2610, 1626, 2610, 2610, 1626, 1666, 1626, 1640, 975, 1666, 1642, 2610, 2610, 2610, 1644, 1642, 2610, 2610, 2610, 556, 2610, 2610, 556, 1643, 556, 1637, 557, 1643, 2610, 2610, 2610, 2610, 1644, 1643, 2610, 2610, 2610, 557, 2610, 2610, 557, 2610, 557, 1636, 2610, 2610, 2610, 2610, 2610, 2610, 1644, 1644, 2610, 2610, 2610, 1645, 2610, 2610, 1645, 558, 1645, 1646, 559, 558, 2610, 2610, 2610, 2610, 1648, 1645, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 559, 2610, 2610, 2610, 559, 2610, 2610, 2610, 2610, 560, 1646, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1647, 2610, 2610, 2610, 1647, 2610, 2610, 2610, 2610, 561, 1647, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 561, 1648, 2610, 2610, 2610, 1649, 2610, 2610, 1649, 560, 1649, 1650, 561, 560, 2610, 2610, 2610, 2610, 1652, 1649, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 561, 2610, 2610, 2610, 561, 2610, 2610, 2610, 2610, 562, 1650, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1651, 2610, 2610, 2610, 1651, 2610, 2610, 2610, 2610, 563, 1651, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 563, 1652, 2610, 2610, 2610, 1653, 2610, 2610, 1653, 562, 1653, 1654, 563, 562, 2610, 2610, 2610, 2610, 1656, 1653, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 563, 2610, 2610, 2610, 563, 2610, 2610, 2610, 2610, 564, 1654, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1655, 2610, 2610, 2610, 1655, 2610, 2610, 2610, 2610, 565, 1655, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 565, 1656, 2610, 2610, 2610, 1657, 2610, 2610, 1657, 564, 1657, 1658, 565, 564, 2610, 2610, 2610, 2610, 1660, 1657, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 565, 2610, 2610, 2610, 565, 2610, 2610, 2610, 2610, 566, 1658, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1659, 2610, 2610, 2610, 1659, 2610, 2610, 2610, 2610, 567, 1659, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 567, 1660, 2610, 2610, 2610, 1661, 2610, 2610, 1661, 566, 1661, 1662, 567, 566, 2610, 2610, 2610, 2610, 1664, 1661, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 567, 2610, 2610, 2610, 567, 2610, 2610, 2610, 2610, 568, 1662, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1663, 2610, 2610, 2610, 1663, 2610, 2610, 2610, 2610, 30, 1663, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 30, 1664, 2610, 2610, 2610, 528, 2610, 2610, 528, 568, 528, 1665, 30, 568, 2610, 2610, 2610, 2610, 570, 1665, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 569, 2610, 2610, 2610, 569, 2610, 2610, 2610, 2610, 32, 1666, 2610, 1643, 2610, 975, 2610, 2610, 975, 2610, 975, 1639, 2610, 2610, 1643, 2610, 2610, 2610, 1644, 1667, 2610, 511, 2610, 1668, 1671, 2610, 1671, 976, 1668, 1677, 977, 976, 511, 2610, 1685, 1644, 1707, 1668, 2610, 512, 2610, 2610, 1669, 2610, 1669, 977, 2610, 2610, 2610, 977, 512, 2610, 1670, 1645, 980, 1669, 2610, 513, 2610, 2610, 2610, 2610, 2610, 978, 2610, 2610, 2610, 978, 513, 2610, 2610, 2610, 94, 1670, 2610, 514, 2610, 2610, 2610, 2610, 2610, 979, 2610, 2610, 2610, 979, 514, 2610, 2610, 2610, 516, 1671, 2610, 1672, 2610, 1669, 2610, 2610, 1669, 1674, 1669, 1676, 978, 1674, 1672, 2610, 2610, 2610, 469, 1672, 2610, 2610, 2610, 513, 2610, 2610, 513, 467, 513, 1673, 93, 467, 2610, 2610, 2610, 2610, 469, 1673, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 468, 2610, 2610, 2610, 468, 2610, 2610, 2610, 2610, 95, 1674, 2610, 467, 2610, 978, 2610, 2610, 978, 2610, 978, 1675, 2610, 2610, 467, 2610, 2610, 2610, 469, 1675, 2610, 468, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 468, 2610, 2610, 2610, 95, 1676, 2610, 1673, 2610, 2610, 2610, 2610, 2610, 1675, 2610, 2610, 2610, 1675, 1673, 2610, 2610, 2610, 95, 1677, 2610, 1678, 2610, 2610, 1676, 2610, 1676, 1682, 2610, 2610, 2610, 1682, 1678, 2610, 1684, 1646, 981, 1678, 2610, 2610, 2610, 2610, 1673, 2610, 1673, 1679, 2610, 2610, 2610, 1679, 2610, 2610, 1681, 2610, 981, 1679, 2610, 2610, 2610, 2610, 468, 2610, 468, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1680, 2610, 981, 1680, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 517, 1681, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1680, 2610, 2610, 2610, 1680, 2610, 2610, 2610, 2610, 517, 1682, 2610, 1679, 2610, 2610, 1675, 2610, 1675, 2610, 2610, 2610, 2610, 2610, 1679, 2610, 1683, 1647, 981, 1683, 2610, 1680, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1680, 2610, 2610, 2610, 517, 1684, 2610, 1681, 2610, 2610, 2610, 2610, 2610, 1683, 2610, 2610, 2610, 1683, 1681, 2610, 2610, 2610, 517, 1685, 2610, 1686, 2610, 1670, 2610, 2610, 1670, 1706, 1670, 1684, 979, 1706, 1686, 2610, 2610, 2610, 1688, 1686, 2610, 2610, 2610, 514, 2610, 2610, 514, 1687, 514, 1681, 515, 1687, 2610, 2610, 2610, 2610, 1688, 1687, 2610, 2610, 2610, 515, 2610, 2610, 515, 2610, 515, 1680, 2610, 2610, 2610, 2610, 2610, 2610, 1688, 1688, 2610, 2610, 2610, 1689, 2610, 2610, 1689, 516, 1689, 1690, 517, 516, 2610, 2610, 2610, 2610, 1692, 1689, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 517, 2610, 2610, 2610, 517, 2610, 2610, 2610, 2610, 518, 1690, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1691, 2610, 2610, 2610, 1691, 2610, 2610, 2610, 2610, 519, 1691, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 519, 1692, 2610, 2610, 2610, 1693, 2610, 2610, 1693, 518, 1693, 1694, 519, 518, 2610, 2610, 2610, 2610, 1696, 1693, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 519, 2610, 2610, 2610, 519, 2610, 2610, 2610, 2610, 520, 1694, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1695, 2610, 2610, 2610, 1695, 2610, 2610, 2610, 2610, 521, 1695, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 521, 1696, 2610, 2610, 2610, 1697, 2610, 2610, 1697, 520, 1697, 1698, 521, 520, 2610, 2610, 2610, 2610, 1700, 1697, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 521, 2610, 2610, 2610, 521, 2610, 2610, 2610, 2610, 522, 1698, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1699, 2610, 2610, 2610, 1699, 2610, 2610, 2610, 2610, 523, 1699, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 523, 1700, 2610, 2610, 2610, 1701, 2610, 2610, 1701, 522, 1701, 1702, 523, 522, 2610, 2610, 2610, 2610, 1704, 1701, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 523, 2610, 2610, 2610, 523, 2610, 2610, 2610, 2610, 524, 1702, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1703, 2610, 2610, 2610, 1703, 2610, 2610, 2610, 2610, 27, 1703, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 27, 1704, 2610, 2610, 2610, 484, 2610, 2610, 484, 524, 484, 1705, 27, 524, 2610, 2610, 2610, 2610, 526, 1705, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 525, 2610, 2610, 2610, 525, 2610, 2610, 2610, 2610, 29, 1706, 2610, 1687, 2610, 979, 2610, 2610, 979, 2610, 979, 1683, 2610, 2610, 1687, 2610, 2610, 2610, 1688, 1707, 2610, 469, 2610, 1708, 1711, 2610, 1711, 980, 1708, 1717, 981, 980, 469, 2610, 1725, 1688, 1743, 1708, 2610, 470, 2610, 2610, 1709, 2610, 1709, 981, 2610, 2610, 2610, 981, 470, 2610, 1710, 1689, 984, 1709, 2610, 471, 2610, 2610, 2610, 2610, 2610, 982, 2610, 2610, 2610, 982, 471, 2610, 2610, 2610, 97, 1710, 2610, 472, 2610, 2610, 2610, 2610, 2610, 983, 2610, 2610, 2610, 983, 472, 2610, 2610, 2610, 474, 1711, 2610, 1712, 2610, 1709, 2610, 2610, 1709, 1714, 1709, 1716, 982, 1714, 1712, 2610, 2610, 2610, 427, 1712, 2610, 2610, 2610, 471, 2610, 2610, 471, 425, 471, 1713, 96, 425, 2610, 2610, 2610, 2610, 427, 1713, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 426, 2610, 2610, 2610, 426, 2610, 2610, 2610, 2610, 98, 1714, 2610, 425, 2610, 982, 2610, 2610, 982, 2610, 982, 1715, 2610, 2610, 425, 2610, 2610, 2610, 427, 1715, 2610, 426, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 426, 2610, 2610, 2610, 98, 1716, 2610, 1713, 2610, 2610, 2610, 2610, 2610, 1715, 2610, 2610, 2610, 1715, 1713, 2610, 2610, 2610, 98, 1717, 2610, 1718, 2610, 2610, 1716, 2610, 1716, 1722, 2610, 2610, 2610, 1722, 1718, 2610, 1724, 1690, 985, 1718, 2610, 2610, 2610, 2610, 1713, 2610, 1713, 1719, 2610, 2610, 2610, 1719, 2610, 2610, 1721, 2610, 985, 1719, 2610, 2610, 2610, 2610, 426, 2610, 426, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1720, 2610, 985, 1720, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 475, 1721, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1720, 2610, 2610, 2610, 1720, 2610, 2610, 2610, 2610, 475, 1722, 2610, 1719, 2610, 2610, 1715, 2610, 1715, 2610, 2610, 2610, 2610, 2610, 1719, 2610, 1723, 1691, 985, 1723, 2610, 1720, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1720, 2610, 2610, 2610, 475, 1724, 2610, 1721, 2610, 2610, 2610, 2610, 2610, 1723, 2610, 2610, 2610, 1723, 1721, 2610, 2610, 2610, 475, 1725, 2610, 1726, 2610, 1710, 2610, 2610, 1710, 1742, 1710, 1724, 983, 1742, 1726, 2610, 2610, 2610, 1728, 1726, 2610, 2610, 2610, 472, 2610, 2610, 472, 1727, 472, 1721, 473, 1727, 2610, 2610, 2610, 2610, 1728, 1727, 2610, 2610, 2610, 473, 2610, 2610, 473, 2610, 473, 1720, 2610, 2610, 2610, 2610, 2610, 2610, 1728, 1728, 2610, 2610, 2610, 1729, 2610, 2610, 1729, 474, 1729, 1730, 475, 474, 2610, 2610, 2610, 2610, 1732, 1729, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 475, 2610, 2610, 2610, 475, 2610, 2610, 2610, 2610, 476, 1730, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1731, 2610, 2610, 2610, 1731, 2610, 2610, 2610, 2610, 477, 1731, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 477, 1732, 2610, 2610, 2610, 1733, 2610, 2610, 1733, 476, 1733, 1734, 477, 476, 2610, 2610, 2610, 2610, 1736, 1733, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 477, 2610, 2610, 2610, 477, 2610, 2610, 2610, 2610, 478, 1734, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1735, 2610, 2610, 2610, 1735, 2610, 2610, 2610, 2610, 479, 1735, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 479, 1736, 2610, 2610, 2610, 1737, 2610, 2610, 1737, 478, 1737, 1738, 479, 478, 2610, 2610, 2610, 2610, 1740, 1737, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 479, 2610, 2610, 2610, 479, 2610, 2610, 2610, 2610, 480, 1738, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1739, 2610, 2610, 2610, 1739, 2610, 2610, 2610, 2610, 24, 1739, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 24, 1740, 2610, 2610, 2610, 440, 2610, 2610, 440, 480, 440, 1741, 24, 480, 2610, 2610, 2610, 2610, 482, 1741, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 481, 2610, 2610, 2610, 481, 2610, 2610, 2610, 2610, 26, 1742, 2610, 1727, 2610, 983, 2610, 2610, 983, 2610, 983, 1723, 2610, 2610, 1727, 2610, 2610, 2610, 1728, 1743, 2610, 427, 2610, 1744, 1747, 2610, 1747, 984, 1744, 1753, 985, 984, 427, 2610, 1761, 1728, 1775, 1744, 2610, 428, 2610, 2610, 1745, 2610, 1745, 985, 2610, 2610, 2610, 985, 428, 2610, 1746, 1729, 988, 1745, 2610, 429, 2610, 2610, 2610, 2610, 2610, 986, 2610, 2610, 2610, 986, 429, 2610, 2610, 2610, 100, 1746, 2610, 430, 2610, 2610, 2610, 2610, 2610, 987, 2610, 2610, 2610, 987, 430, 2610, 2610, 2610, 432, 1747, 2610, 1748, 2610, 1745, 2610, 2610, 1745, 1750, 1745, 1752, 986, 1750, 1748, 2610, 2610, 2610, 385, 1748, 2610, 2610, 2610, 429, 2610, 2610, 429, 383, 429, 1749, 99, 383, 2610, 2610, 2610, 2610, 385, 1749, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 384, 2610, 2610, 2610, 384, 2610, 2610, 2610, 2610, 101, 1750, 2610, 383, 2610, 986, 2610, 2610, 986, 2610, 986, 1751, 2610, 2610, 383, 2610, 2610, 2610, 385, 1751, 2610, 384, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 384, 2610, 2610, 2610, 101, 1752, 2610, 1749, 2610, 2610, 2610, 2610, 2610, 1751, 2610, 2610, 2610, 1751, 1749, 2610, 2610, 2610, 101, 1753, 2610, 1754, 2610, 2610, 1752, 2610, 1752, 1758, 2610, 2610, 2610, 1758, 1754, 2610, 1760, 1730, 989, 1754, 2610, 2610, 2610, 2610, 1749, 2610, 1749, 1755, 2610, 2610, 2610, 1755, 2610, 2610, 1757, 2610, 989, 1755, 2610, 2610, 2610, 2610, 384, 2610, 384, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1756, 2610, 989, 1756, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 433, 1757, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1756, 2610, 2610, 2610, 1756, 2610, 2610, 2610, 2610, 433, 1758, 2610, 1755, 2610, 2610, 1751, 2610, 1751, 2610, 2610, 2610, 2610, 2610, 1755, 2610, 1759, 1731, 989, 1759, 2610, 1756, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1756, 2610, 2610, 2610, 433, 1760, 2610, 1757, 2610, 2610, 2610, 2610, 2610, 1759, 2610, 2610, 2610, 1759, 1757, 2610, 2610, 2610, 433, 1761, 2610, 1762, 2610, 1746, 2610, 2610, 1746, 1774, 1746, 1760, 987, 1774, 1762, 2610, 2610, 2610, 1764, 1762, 2610, 2610, 2610, 430, 2610, 2610, 430, 1763, 430, 1757, 431, 1763, 2610, 2610, 2610, 2610, 1764, 1763, 2610, 2610, 2610, 431, 2610, 2610, 431, 2610, 431, 1756, 2610, 2610, 2610, 2610, 2610, 2610, 1764, 1764, 2610, 2610, 2610, 1765, 2610, 2610, 1765, 432, 1765, 1766, 433, 432, 2610, 2610, 2610, 2610, 1768, 1765, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 433, 2610, 2610, 2610, 433, 2610, 2610, 2610, 2610, 434, 1766, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1767, 2610, 2610, 2610, 1767, 2610, 2610, 2610, 2610, 435, 1767, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 435, 1768, 2610, 2610, 2610, 1769, 2610, 2610, 1769, 434, 1769, 1770, 435, 434, 2610, 2610, 2610, 2610, 1772, 1769, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 435, 2610, 2610, 2610, 435, 2610, 2610, 2610, 2610, 436, 1770, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1771, 2610, 2610, 2610, 1771, 2610, 2610, 2610, 2610, 21, 1771, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 21, 1772, 2610, 2610, 2610, 396, 2610, 2610, 396, 436, 396, 1773, 21, 436, 2610, 2610, 2610, 2610, 438, 1773, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 437, 2610, 2610, 2610, 437, 2610, 2610, 2610, 2610, 23, 1774, 2610, 1763, 2610, 987, 2610, 2610, 987, 2610, 987, 1759, 2610, 2610, 1763, 2610, 2610, 2610, 1764, 1775, 2610, 385, 2610, 1776, 1779, 2610, 1779, 988, 1776, 1785, 989, 988, 385, 2610, 1793, 1764, 1803, 1776, 2610, 386, 2610, 2610, 1777, 2610, 1777, 989, 2610, 2610, 2610, 989, 386, 2610, 1778, 1765, 992, 1777, 2610, 387, 2610, 2610, 2610, 2610, 2610, 990, 2610, 2610, 2610, 990, 387, 2610, 2610, 2610, 103, 1778, 2610, 388, 2610, 2610, 2610, 2610, 2610, 991, 2610, 2610, 2610, 991, 388, 2610, 2610, 2610, 390, 1779, 2610, 1780, 2610, 1777, 2610, 2610, 1777, 1782, 1777, 1784, 990, 1782, 1780, 2610, 2610, 2610, 343, 1780, 2610, 2610, 2610, 387, 2610, 2610, 387, 341, 387, 1781, 102, 341, 2610, 2610, 2610, 2610, 343, 1781, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 342, 2610, 2610, 2610, 342, 2610, 2610, 2610, 2610, 104, 1782, 2610, 341, 2610, 990, 2610, 2610, 990, 2610, 990, 1783, 2610, 2610, 341, 2610, 2610, 2610, 343, 1783, 2610, 342, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 342, 2610, 2610, 2610, 104, 1784, 2610, 1781, 2610, 2610, 2610, 2610, 2610, 1783, 2610, 2610, 2610, 1783, 1781, 2610, 2610, 2610, 104, 1785, 2610, 1786, 2610, 2610, 1784, 2610, 1784, 1790, 2610, 2610, 2610, 1790, 1786, 2610, 1792, 1766, 993, 1786, 2610, 2610, 2610, 2610, 1781, 2610, 1781, 1787, 2610, 2610, 2610, 1787, 2610, 2610, 1789, 2610, 993, 1787, 2610, 2610, 2610, 2610, 342, 2610, 342, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1788, 2610, 993, 1788, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 391, 1789, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1788, 2610, 2610, 2610, 1788, 2610, 2610, 2610, 2610, 391, 1790, 2610, 1787, 2610, 2610, 1783, 2610, 1783, 2610, 2610, 2610, 2610, 2610, 1787, 2610, 1791, 1767, 993, 1791, 2610, 1788, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1788, 2610, 2610, 2610, 391, 1792, 2610, 1789, 2610, 2610, 2610, 2610, 2610, 1791, 2610, 2610, 2610, 1791, 1789, 2610, 2610, 2610, 391, 1793, 2610, 1794, 2610, 1778, 2610, 2610, 1778, 1802, 1778, 1792, 991, 1802, 1794, 2610, 2610, 2610, 1796, 1794, 2610, 2610, 2610, 388, 2610, 2610, 388, 1795, 388, 1789, 389, 1795, 2610, 2610, 2610, 2610, 1796, 1795, 2610, 2610, 2610, 389, 2610, 2610, 389, 2610, 389, 1788, 2610, 2610, 2610, 2610, 2610, 2610, 1796, 1796, 2610, 2610, 2610, 1797, 2610, 2610, 1797, 390, 1797, 1798, 391, 390, 2610, 2610, 2610, 2610, 1800, 1797, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 391, 2610, 2610, 2610, 391, 2610, 2610, 2610, 2610, 392, 1798, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1799, 2610, 2610, 2610, 1799, 2610, 2610, 2610, 2610, 18, 1799, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 18, 1800, 2610, 2610, 2610, 352, 2610, 2610, 352, 392, 352, 1801, 18, 392, 2610, 2610, 2610, 2610, 394, 1801, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 393, 2610, 2610, 2610, 393, 2610, 2610, 2610, 2610, 20, 1802, 2610, 1795, 2610, 991, 2610, 2610, 991, 2610, 991, 1791, 2610, 2610, 1795, 2610, 2610, 2610, 1796, 1803, 2610, 343, 2610, 1804, 1807, 2610, 1807, 992, 1804, 1813, 993, 992, 343, 2610, 1821, 1796, 1012, 1804, 2610, 344, 2610, 2610, 1805, 2610, 1805, 993, 2610, 2610, 2610, 993, 344, 2610, 1806, 1797, 996, 1805, 2610, 345, 2610, 2610, 2610, 2610, 2610, 994, 2610, 2610, 2610, 994, 345, 2610, 2610, 2610, 106, 1806, 2610, 346, 2610, 2610, 2610, 2610, 2610, 995, 2610, 2610, 2610, 995, 346, 2610, 2610, 2610, 348, 1807, 2610, 1808, 2610, 1805, 2610, 2610, 1805, 1810, 1805, 1812, 994, 1810, 1808, 2610, 2610, 2610, 299, 1808, 2610, 2610, 2610, 345, 2610, 2610, 345, 297, 345, 1809, 105, 297, 2610, 2610, 2610, 2610, 299, 1809, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 298, 2610, 2610, 2610, 298, 2610, 2610, 2610, 2610, 11, 1810, 2610, 297, 2610, 994, 2610, 2610, 994, 2610, 994, 1811, 2610, 2610, 297, 2610, 2610, 2610, 299, 1811, 2610, 298, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 298, 2610, 2610, 2610, 11, 1812, 2610, 1809, 2610, 2610, 2610, 2610, 2610, 1811, 2610, 2610, 2610, 1811, 1809, 2610, 2610, 2610, 11, 1813, 2610, 1814, 2610, 2610, 1812, 2610, 1812, 1818, 2610, 2610, 2610, 1818, 1814, 2610, 1820, 1798, 116, 1814, 2610, 2610, 2610, 2610, 1809, 2610, 1809, 1815, 2610, 2610, 2610, 1815, 2610, 2610, 1817, 2610, 116, 1815, 2610, 2610, 2610, 2610, 298, 2610, 298, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1816, 2610, 116, 1816, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 15, 1817, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1816, 2610, 2610, 2610, 1816, 2610, 2610, 2610, 2610, 15, 1818, 2610, 1815, 2610, 2610, 1811, 2610, 1811, 2610, 2610, 2610, 2610, 2610, 1815, 2610, 1819, 1799, 116, 1819, 2610, 1816, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1816, 2610, 2610, 2610, 15, 1820, 2610, 1817, 2610, 2610, 2610, 2610, 2610, 1819, 2610, 2610, 2610, 1819, 1817, 2610, 2610, 2610, 15, 1821, 2610, 1822, 2610, 1806, 2610, 2610, 1806, 1824, 1806, 1820, 995, 1824, 1822, 2610, 2610, 2610, 1019, 1822, 2610, 2610, 2610, 346, 2610, 2610, 346, 1823, 346, 1817, 347, 1823, 2610, 2610, 2610, 2610, 1019, 1823, 2610, 2610, 2610, 347, 2610, 2610, 347, 2610, 347, 1816, 2610, 2610, 2610, 2610, 2610, 2610, 1019, 1824, 2610, 1823, 2610, 995, 2610, 2610, 995, 2610, 995, 1819, 2610, 2610, 1823, 2610, 2610, 2610, 1019, 1825, 2610, 2610, 2610, 1009, 2610, 2610, 1009, 1043, 1009, 1027, 121, 1043, 2610, 2610, 2610, 2610, 1044, 1826, 2610, 1041, 2610, 1010, 2610, 2610, 1010, 1827, 1010, 1035, 264, 1827, 1041, 2610, 2610, 2610, 936, 1827, 2610, 935, 2610, 264, 2610, 2610, 264, 2610, 264, 1030, 2610, 2610, 935, 2610, 2610, 2610, 936, 1828, 2610, 1042, 2610, 119, 1827, 2610, 1827, 2610, 119, 1029, 2610, 2610, 1042, 2610, 1829, 1830, 1047, 1829, 2610, 1043, 2610, 266, 2610, 2610, 266, 2610, 266, 1031, 2610, 2610, 1043, 2610, 2610, 2610, 1044, 1830, 2610, 2610, 2610, 268, 2610, 2610, 268, 2610, 268, 1032, 2610, 2610, 2610, 2610, 2610, 2610, 1831, 1831, 2610, 2610, 2610, 1832, 2610, 2610, 1832, 269, 1832, 1833, 270, 269, 2610, 2610, 2610, 2610, 1835, 1832, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 270, 2610, 2610, 2610, 270, 2610, 2610, 2610, 2610, 271, 1833, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1834, 2610, 2610, 2610, 1834, 2610, 2610, 2610, 2610, 272, 1834, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 272, 1835, 2610, 2610, 2610, 1836, 2610, 2610, 1836, 271, 1836, 1837, 272, 271, 2610, 2610, 2610, 2610, 1839, 1836, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 272, 2610, 2610, 2610, 272, 2610, 2610, 2610, 2610, 273, 1837, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1838, 2610, 2610, 2610, 1838, 2610, 2610, 2610, 2610, 274, 1838, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 274, 1839, 2610, 2610, 2610, 1840, 2610, 2610, 1840, 273, 1840, 1841, 274, 273, 2610, 2610, 2610, 2610, 1843, 1840, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 274, 2610, 2610, 2610, 274, 2610, 2610, 2610, 2610, 275, 1841, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1842, 2610, 2610, 2610, 1842, 2610, 2610, 2610, 2610, 276, 1842, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 276, 1843, 2610, 2610, 2610, 1844, 2610, 2610, 1844, 275, 1844, 1845, 276, 275, 2610, 2610, 2610, 2610, 1847, 1844, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 276, 2610, 2610, 2610, 276, 2610, 2610, 2610, 2610, 277, 1845, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1846, 2610, 2610, 2610, 1846, 2610, 2610, 2610, 2610, 278, 1846, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 278, 1847, 2610, 2610, 2610, 1848, 2610, 2610, 1848, 277, 1848, 1849, 278, 277, 2610, 2610, 2610, 2610, 1851, 1848, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 278, 2610, 2610, 2610, 278, 2610, 2610, 2610, 2610, 279, 1849, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1850, 2610, 2610, 2610, 1850, 2610, 2610, 2610, 2610, 280, 1850, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 280, 1851, 2610, 2610, 2610, 1852, 2610, 2610, 1852, 279, 1852, 1853, 280, 279, 2610, 2610, 2610, 2610, 1855, 1852, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 280, 2610, 2610, 2610, 280, 2610, 2610, 2610, 2610, 281, 1853, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1854, 2610, 2610, 2610, 1854, 2610, 2610, 2610, 2610, 282, 1854, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 282, 1855, 2610, 2610, 2610, 1856, 2610, 2610, 1856, 281, 1856, 1857, 282, 281, 2610, 2610, 2610, 2610, 1859, 1856, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 282, 2610, 2610, 2610, 282, 2610, 2610, 2610, 2610, 283, 1857, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1858, 2610, 2610, 2610, 1858, 2610, 2610, 2610, 2610, 284, 1858, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 284, 1859, 2610, 2610, 2610, 1860, 2610, 2610, 1860, 283, 1860, 1861, 284, 283, 2610, 2610, 2610, 2610, 1863, 1860, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 284, 2610, 2610, 2610, 284, 2610, 2610, 2610, 2610, 285, 1861, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1862, 2610, 2610, 2610, 1862, 2610, 2610, 2610, 2610, 286, 1862, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 286, 1863, 2610, 2610, 2610, 1864, 2610, 2610, 1864, 285, 1864, 1865, 286, 285, 2610, 2610, 2610, 2610, 1867, 1864, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 286, 2610, 2610, 2610, 286, 2610, 2610, 2610, 2610, 287, 1865, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1866, 2610, 2610, 2610, 1866, 2610, 2610, 2610, 2610, 288, 1866, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 288, 1867, 2610, 2610, 2610, 1868, 2610, 2610, 1868, 287, 1868, 1869, 288, 287, 2610, 2610, 2610, 2610, 1871, 1868, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 288, 2610, 2610, 2610, 288, 2610, 2610, 2610, 2610, 289, 1869, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1870, 2610, 2610, 2610, 1870, 2610, 2610, 2610, 2610, 290, 1870, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 290, 1871, 2610, 2610, 2610, 1872, 2610, 2610, 1872, 289, 1872, 1873, 290, 289, 2610, 2610, 2610, 2610, 1875, 1872, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 290, 2610, 2610, 2610, 290, 2610, 2610, 2610, 2610, 291, 1873, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1874, 2610, 2610, 2610, 1874, 2610, 2610, 2610, 2610, 292, 1874, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 292, 1875, 2610, 2610, 2610, 1876, 2610, 2610, 1876, 291, 1876, 1877, 292, 291, 2610, 2610, 2610, 2610, 1879, 1876, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 292, 2610, 2610, 2610, 292, 2610, 2610, 2610, 2610, 293, 1877, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1878, 2610, 2610, 2610, 1878, 2610, 2610, 2610, 2610, 294, 1878, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 294, 1879, 2610, 2610, 2610, 1880, 2610, 2610, 1880, 293, 1880, 1881, 294, 293, 2610, 2610, 2610, 2610, 1883, 1880, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 294, 2610, 2610, 2610, 294, 2610, 2610, 2610, 2610, 295, 1881, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1882, 2610, 2610, 2610, 1882, 2610, 2610, 2610, 2610, 296, 1882, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 296, 1883, 2610, 2610, 2610, 1884, 2610, 2610, 1884, 295, 1884, 1885, 296, 295, 2610, 2610, 2610, 2610, 1808, 1884, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 296, 2610, 2610, 2610, 296, 2610, 2610, 2610, 2610, 297, 1885, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1886, 2610, 2610, 2610, 1886, 2610, 2610, 2610, 2610, 105, 1886, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 105, 1887, 2610, 1825, 2610, 1011, 2610, 2610, 1011, 1829, 1011, 1036, 266, 1829, 1825, 2610, 2610, 2610, 1044, 1888, 2610, 2610, 2610, 309, 2610, 2610, 309, 1830, 309, 1037, 268, 1830, 2610, 2610, 2610, 2610, 1831, 1889, 2610, 109, 2610, 1890, 1897, 2610, 1897, 109, 1897, 1907, 249, 248, 2610, 109, 1914, 936, 0, 1890, 2610, 110, 2610, 2610, 1891, 2610, 1891, 110, 1891, 2610, 2610, 249, 2610, 110, 1894, 937, 256, 1891, 2610, 111, 2610, 2610, 1892, 2610, 1892, 111, 2610, 2610, 2610, 250, 2610, 111, 1893, 2610, 114, 1892, 2610, 112, 2610, 2610, 2610, 2610, 2610, 112, 2610, 2610, 2610, 251, 2610, 112, 2610, 2610, 9, 1893, 2610, 113, 2610, 2610, 2610, 2610, 2610, 113, 2610, 2610, 2610, 252, 2610, 113, 2610, 2610, 13, 1894, 2610, 1008, 2610, 2610, 1895, 2610, 1895, 1008, 2610, 2610, 2610, 253, 2610, 1008, 1896, 2610, 210, 1895, 2610, 247, 2610, 2610, 2610, 2610, 2610, 247, 2610, 2610, 2610, 254, 2610, 247, 2610, 2610, 61, 1896, 2610, 1009, 2610, 2610, 2610, 2610, 2610, 1009, 2610, 2610, 2610, 255, 2610, 1009, 2610, 2610, 122, 1897, 2610, 299, 2610, 1891, 1898, 2610, 1898, 299, 1891, 1900, 250, 1904, 2610, 299, 1906, 2610, 1002, 1898, 2610, 152, 2610, 1892, 2610, 2610, 1892, 152, 1892, 1899, 251, 928, 2610, 152, 2610, 2610, 109, 1899, 2610, 153, 2610, 2610, 2610, 2610, 2610, 153, 2610, 2610, 2610, 929, 2610, 153, 2610, 2610, 10, 1900, 2610, 300, 2610, 2610, 1899, 2610, 1899, 300, 2610, 2610, 2610, 1901, 2610, 300, 1903, 2610, 115, 1901, 2610, 301, 2610, 2610, 929, 2610, 929, 301, 2610, 2610, 2610, 2610, 2610, 301, 1902, 2610, 115, 1902, 2610, 302, 2610, 2610, 2610, 2610, 2610, 302, 2610, 2610, 2610, 2610, 2610, 302, 2610, 2610, 14, 1903, 2610, 303, 2610, 2610, 2610, 2610, 2610, 303, 2610, 2610, 2610, 1902, 2610, 303, 2610, 2610, 14, 1904, 2610, 106, 2610, 250, 928, 2610, 928, 106, 250, 1901, 2610, 2610, 2610, 106, 1905, 2610, 1002, 1905, 2610, 305, 2610, 252, 2610, 2610, 252, 305, 252, 1902, 2610, 2610, 2610, 305, 2610, 2610, 306, 1906, 2610, 304, 2610, 1893, 2610, 2610, 1893, 304, 1893, 1903, 252, 1905, 2610, 304, 2610, 2610, 306, 1907, 2610, 1021, 2610, 2610, 1900, 2610, 1900, 1021, 1900, 2610, 2610, 1908, 2610, 1021, 1911, 1058, 257, 1908, 2610, 1022, 2610, 2610, 1901, 2610, 1901, 1022, 1901, 2610, 2610, 2610, 2610, 1022, 1909, 1059, 257, 1909, 2610, 1023, 2610, 2610, 933, 2610, 933, 1023, 2610, 2610, 2610, 2610, 2610, 1023, 1910, 2610, 211, 1910, 2610, 1024, 2610, 2610, 2610, 2610, 2610, 1024, 2610, 2610, 2610, 2610, 2610, 1024, 2610, 2610, 123, 1911, 2610, 1025, 2610, 2610, 1912, 2610, 1912, 1025, 2610, 2610, 2610, 1909, 2610, 1025, 1913, 2610, 211, 1912, 2610, 1026, 2610, 2610, 2610, 2610, 2610, 1026, 2610, 2610, 2610, 933, 2610, 1026, 2610, 2610, 62, 1913, 2610, 1027, 2610, 2610, 2610, 2610, 2610, 1027, 2610, 2610, 2610, 1910, 2610, 1027, 2610, 2610, 123, 1914, 2610, 1040, 2610, 1894, 1915, 2610, 1915, 1040, 1894, 1911, 253, 1916, 2610, 1040, 1918, 2610, 1047, 1915, 2610, 1041, 2610, 1895, 2610, 2610, 1895, 1041, 1895, 1912, 254, 934, 2610, 1041, 2610, 2610, 936, 1916, 2610, 1042, 2610, 253, 934, 2610, 934, 1042, 253, 1909, 2610, 2610, 2610, 1042, 1917, 2610, 1047, 1917, 2610, 1043, 2610, 255, 2610, 2610, 255, 1043, 255, 1910, 2610, 2610, 2610, 1043, 2610, 2610, 1044, 1918, 2610, 1825, 2610, 1896, 2610, 2610, 1896, 1825, 1896, 1913, 255, 1917, 2610, 1825, 2610, 2610, 1044, 1919, 2610, 2610, 2610, 2610, 1125, 2610, 1125, 1920, 1125, 2610, 2610, 1920, 2610, 2610, 1922, 2610, 927, 1920, 2610, 2610, 2610, 2610, 244, 2610, 244, 2610, 244, 2610, 2610, 2610, 2610, 2610, 1921, 2610, 927, 1921, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 63, 1922, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1921, 2610, 2610, 2610, 1921, 2610, 2610, 2610, 2610, 63, 1923, 2610, 2610, 2610, 925, 2610, 2610, 925, 1924, 925, 1922, 886, 1924, 2610, 2610, 2610, 2610, 1052, 1924, 2610, 2610, 2610, 886, 2610, 2610, 886, 2610, 886, 1921, 2610, 2610, 2610, 2610, 2610, 2610, 1052, 1925, 2610, 245, 2610, 1926, 1898, 2610, 1898, 245, 1898, 1927, 927, 926, 2610, 245, 1915, 1052, 1889, 1926, 2610, 246, 2610, 2610, 1892, 2610, 1892, 246, 1892, 2610, 2610, 927, 2610, 246, 1895, 938, 248, 1927, 2610, 1928, 2610, 2610, 1899, 2610, 1899, 1928, 1899, 2610, 2610, 930, 2610, 1928, 1912, 1053, 249, 1928, 2610, 2610, 2610, 2610, 153, 2610, 153, 931, 153, 2610, 2610, 931, 2610, 2610, 1026, 2610, 249, 1929, 2610, 243, 2610, 884, 2610, 2610, 884, 243, 884, 1930, 2610, 2610, 2610, 243, 2610, 2610, 245, 1930, 2610, 244, 2610, 2610, 2610, 2610, 2610, 244, 2610, 2610, 2610, 2610, 2610, 244, 2610, 2610, 59, 1931, 2610, 1920, 2610, 2610, 1930, 2610, 1930, 1920, 1930, 2610, 2610, 2610, 2610, 1920, 1932, 1933, 927, 1932, 2610, 1921, 2610, 2610, 2610, 2610, 2610, 1921, 2610, 2610, 2610, 2610, 2610, 1921, 2610, 2610, 63, 1933, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 66, 1934, 2610, 1924, 2610, 885, 2610, 2610, 885, 1924, 885, 1932, 2610, 2610, 2610, 1924, 2610, 2610, 1052, 1935, 2610, 2610, 2610, 2610, 1201, 2610, 1201, 1936, 1201, 2610, 2610, 1936, 2610, 2610, 1938, 2610, 883, 1936, 2610, 2610, 2610, 2610, 921, 2610, 921, 2610, 921, 2610, 2610, 2610, 2610, 2610, 1937, 2610, 883, 1937, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 844, 1938, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1937, 2610, 2610, 2610, 1937, 2610, 2610, 2610, 2610, 844, 1939, 2610, 2610, 2610, 881, 2610, 2610, 881, 1940, 881, 1938, 842, 1940, 2610, 2610, 2610, 2610, 1941, 1940, 2610, 2610, 2610, 842, 2610, 2610, 842, 2610, 842, 1937, 2610, 2610, 2610, 2610, 2610, 2610, 1941, 1941, 2610, 2610, 2610, 1942, 2610, 2610, 1942, 843, 1942, 1943, 844, 843, 2610, 2610, 2610, 2610, 1132, 1942, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 844, 2610, 2610, 2610, 844, 2610, 2610, 2610, 2610, 845, 1943, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1933, 2610, 2610, 2610, 1933, 2610, 2610, 2610, 2610, 66, 1944, 2610, 922, 2610, 1945, 1948, 2610, 1948, 922, 1948, 1950, 883, 882, 2610, 922, 1952, 1941, 1925, 1945, 2610, 923, 2610, 2610, 1946, 2610, 1946, 923, 1946, 2610, 2610, 883, 2610, 923, 1947, 1942, 926, 1946, 2610, 924, 2610, 2610, 2610, 2610, 2610, 924, 2610, 2610, 2610, 884, 2610, 924, 2610, 2610, 58, 1947, 2610, 925, 2610, 2610, 2610, 2610, 2610, 925, 2610, 2610, 2610, 885, 2610, 925, 2610, 2610, 887, 1948, 2610, 1124, 2610, 1946, 2610, 2610, 1946, 1124, 1946, 1949, 884, 1929, 2610, 1124, 2610, 2610, 245, 1949, 2610, 1125, 2610, 2610, 2610, 2610, 2610, 1125, 2610, 2610, 2610, 1930, 2610, 1125, 2610, 2610, 59, 1950, 2610, 1919, 2610, 2610, 1949, 2610, 1949, 1919, 1949, 2610, 2610, 1931, 2610, 1919, 1951, 1943, 927, 1951, 2610, 1922, 2610, 2610, 2610, 2610, 2610, 1922, 2610, 2610, 2610, 1932, 2610, 1922, 2610, 2610, 63, 1952, 2610, 1923, 2610, 1947, 2610, 2610, 1947, 1923, 1947, 1951, 885, 1934, 2610, 1923, 2610, 2610, 1052, 1953, 2610, 920, 2610, 840, 2610, 2610, 840, 920, 840, 1954, 2610, 2610, 2610, 920, 2610, 2610, 922, 1954, 2610, 921, 2610, 2610, 2610, 2610, 2610, 921, 2610, 2610, 2610, 2610, 2610, 921, 2610, 2610, 56, 1955, 2610, 1936, 2610, 2610, 1954, 2610, 1954, 1936, 1954, 2610, 2610, 2610, 2610, 1936, 1956, 1957, 883, 1956, 2610, 1937, 2610, 2610, 2610, 2610, 2610, 1937, 2610, 2610, 2610, 2610, 2610, 1937, 2610, 2610, 844, 1957, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 802, 1958, 2610, 1940, 2610, 841, 2610, 2610, 841, 1940, 841, 1956, 2610, 2610, 2610, 1940, 2610, 2610, 1941, 1959, 2610, 2610, 2610, 2610, 1273, 2610, 1273, 1960, 1273, 2610, 2610, 1960, 2610, 2610, 1962, 2610, 839, 1960, 2610, 2610, 2610, 2610, 877, 2610, 877, 2610, 877, 2610, 2610, 2610, 2610, 2610, 1961, 2610, 839, 1961, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 800, 1962, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1961, 2610, 2610, 2610, 1961, 2610, 2610, 2610, 2610, 800, 1963, 2610, 2610, 2610, 837, 2610, 2610, 837, 1964, 837, 1962, 798, 1964, 2610, 2610, 2610, 2610, 1965, 1964, 2610, 2610, 2610, 798, 2610, 2610, 798, 2610, 798, 1961, 2610, 2610, 2610, 2610, 2610, 2610, 1965, 1965, 2610, 2610, 2610, 1966, 2610, 2610, 1966, 799, 1966, 1967, 800, 799, 2610, 2610, 2610, 2610, 1968, 1966, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 800, 2610, 2610, 2610, 800, 2610, 2610, 2610, 2610, 801, 1967, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1957, 2610, 2610, 2610, 1957, 2610, 2610, 2610, 2610, 802, 1968, 2610, 2610, 2610, 1969, 2610, 2610, 1969, 801, 1969, 1970, 802, 801, 2610, 2610, 2610, 2610, 1208, 1969, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 802, 2610, 2610, 2610, 802, 2610, 2610, 2610, 2610, 803, 1970, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1971, 2610, 2610, 2610, 1971, 2610, 2610, 2610, 2610, 69, 1971, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 69, 1972, 2610, 878, 2610, 1973, 1976, 2610, 1976, 878, 1976, 1978, 839, 838, 2610, 878, 1980, 1965, 1944, 1973, 2610, 879, 2610, 2610, 1974, 2610, 1974, 879, 1974, 2610, 2610, 839, 2610, 879, 1975, 1966, 882, 1974, 2610, 880, 2610, 2610, 2610, 2610, 2610, 880, 2610, 2610, 2610, 840, 2610, 880, 2610, 2610, 55, 1975, 2610, 881, 2610, 2610, 2610, 2610, 2610, 881, 2610, 2610, 2610, 841, 2610, 881, 2610, 2610, 843, 1976, 2610, 1200, 2610, 1974, 2610, 2610, 1974, 1200, 1974, 1977, 840, 1953, 2610, 1200, 2610, 2610, 922, 1977, 2610, 1201, 2610, 2610, 2610, 2610, 2610, 1201, 2610, 2610, 2610, 1954, 2610, 1201, 2610, 2610, 56, 1978, 2610, 1935, 2610, 2610, 1977, 2610, 1977, 1935, 1977, 2610, 2610, 1955, 2610, 1935, 1979, 1967, 883, 1979, 2610, 1938, 2610, 2610, 2610, 2610, 2610, 1938, 2610, 2610, 2610, 1956, 2610, 1938, 2610, 2610, 844, 1980, 2610, 1939, 2610, 1975, 2610, 2610, 1975, 1939, 1975, 1979, 841, 1958, 2610, 1939, 2610, 2610, 1941, 1981, 2610, 876, 2610, 796, 2610, 2610, 796, 876, 796, 1982, 2610, 2610, 2610, 876, 2610, 2610, 878, 1982, 2610, 877, 2610, 2610, 2610, 2610, 2610, 877, 2610, 2610, 2610, 2610, 2610, 877, 2610, 2610, 53, 1983, 2610, 1960, 2610, 2610, 1982, 2610, 1982, 1960, 1982, 2610, 2610, 2610, 2610, 1960, 1984, 1985, 839, 1984, 2610, 1961, 2610, 2610, 2610, 2610, 2610, 1961, 2610, 2610, 2610, 2610, 2610, 1961, 2610, 2610, 800, 1985, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 758, 1986, 2610, 1964, 2610, 797, 2610, 2610, 797, 1964, 797, 1984, 2610, 2610, 2610, 1964, 2610, 2610, 1965, 1987, 2610, 2610, 2610, 2610, 1341, 2610, 1341, 1988, 1341, 2610, 2610, 1988, 2610, 2610, 1990, 2610, 795, 1988, 2610, 2610, 2610, 2610, 833, 2610, 833, 2610, 833, 2610, 2610, 2610, 2610, 2610, 1989, 2610, 795, 1989, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 756, 1990, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1989, 2610, 2610, 2610, 1989, 2610, 2610, 2610, 2610, 756, 1991, 2610, 2610, 2610, 793, 2610, 2610, 793, 1992, 793, 1990, 754, 1992, 2610, 2610, 2610, 2610, 1993, 1992, 2610, 2610, 2610, 754, 2610, 2610, 754, 2610, 754, 1989, 2610, 2610, 2610, 2610, 2610, 2610, 1993, 1993, 2610, 2610, 2610, 1994, 2610, 2610, 1994, 755, 1994, 1995, 756, 755, 2610, 2610, 2610, 2610, 1996, 1994, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 756, 2610, 2610, 2610, 756, 2610, 2610, 2610, 2610, 757, 1995, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1985, 2610, 2610, 2610, 1985, 2610, 2610, 2610, 2610, 758, 1996, 2610, 2610, 2610, 1997, 2610, 2610, 1997, 757, 1997, 1998, 758, 757, 2610, 2610, 2610, 2610, 2000, 1997, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 758, 2610, 2610, 2610, 758, 2610, 2610, 2610, 2610, 759, 1998, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 1999, 2610, 2610, 2610, 1999, 2610, 2610, 2610, 2610, 760, 1999, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 760, 2000, 2610, 2610, 2610, 2001, 2610, 2610, 2001, 759, 2001, 2002, 760, 759, 2610, 2610, 2610, 2610, 1280, 2001, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 760, 2610, 2610, 2610, 760, 2610, 2610, 2610, 2610, 761, 2002, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2003, 2610, 2610, 2610, 2003, 2610, 2610, 2610, 2610, 72, 2003, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 72, 2004, 2610, 834, 2610, 2005, 2008, 2610, 2008, 834, 2008, 2010, 795, 794, 2610, 834, 2012, 1993, 1972, 2005, 2610, 835, 2610, 2610, 2006, 2610, 2006, 835, 2006, 2610, 2610, 795, 2610, 835, 2007, 1994, 838, 2006, 2610, 836, 2610, 2610, 2610, 2610, 2610, 836, 2610, 2610, 2610, 796, 2610, 836, 2610, 2610, 52, 2007, 2610, 837, 2610, 2610, 2610, 2610, 2610, 837, 2610, 2610, 2610, 797, 2610, 837, 2610, 2610, 799, 2008, 2610, 1272, 2610, 2006, 2610, 2610, 2006, 1272, 2006, 2009, 796, 1981, 2610, 1272, 2610, 2610, 878, 2009, 2610, 1273, 2610, 2610, 2610, 2610, 2610, 1273, 2610, 2610, 2610, 1982, 2610, 1273, 2610, 2610, 53, 2010, 2610, 1959, 2610, 2610, 2009, 2610, 2009, 1959, 2009, 2610, 2610, 1983, 2610, 1959, 2011, 1995, 839, 2011, 2610, 1962, 2610, 2610, 2610, 2610, 2610, 1962, 2610, 2610, 2610, 1984, 2610, 1962, 2610, 2610, 800, 2012, 2610, 1963, 2610, 2007, 2610, 2610, 2007, 1963, 2007, 2011, 797, 1986, 2610, 1963, 2610, 2610, 1965, 2013, 2610, 832, 2610, 752, 2610, 2610, 752, 832, 752, 2014, 2610, 2610, 2610, 832, 2610, 2610, 834, 2014, 2610, 833, 2610, 2610, 2610, 2610, 2610, 833, 2610, 2610, 2610, 2610, 2610, 833, 2610, 2610, 50, 2015, 2610, 1988, 2610, 2610, 2014, 2610, 2014, 1988, 2014, 2610, 2610, 2610, 2610, 1988, 2016, 2017, 795, 2016, 2610, 1989, 2610, 2610, 2610, 2610, 2610, 1989, 2610, 2610, 2610, 2610, 2610, 1989, 2610, 2610, 756, 2017, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 714, 2018, 2610, 1992, 2610, 753, 2610, 2610, 753, 1992, 753, 2016, 2610, 2610, 2610, 1992, 2610, 2610, 1993, 2019, 2610, 2610, 2610, 2610, 1405, 2610, 1405, 2020, 1405, 2610, 2610, 2020, 2610, 2610, 2022, 2610, 751, 2020, 2610, 2610, 2610, 2610, 789, 2610, 789, 2610, 789, 2610, 2610, 2610, 2610, 2610, 2021, 2610, 751, 2021, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 712, 2022, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2021, 2610, 2610, 2610, 2021, 2610, 2610, 2610, 2610, 712, 2023, 2610, 2610, 2610, 749, 2610, 2610, 749, 2024, 749, 2022, 710, 2024, 2610, 2610, 2610, 2610, 2025, 2024, 2610, 2610, 2610, 710, 2610, 2610, 710, 2610, 710, 2021, 2610, 2610, 2610, 2610, 2610, 2610, 2025, 2025, 2610, 2610, 2610, 2026, 2610, 2610, 2026, 711, 2026, 2027, 712, 711, 2610, 2610, 2610, 2610, 2028, 2026, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 712, 2610, 2610, 2610, 712, 2610, 2610, 2610, 2610, 713, 2027, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2017, 2610, 2610, 2610, 2017, 2610, 2610, 2610, 2610, 714, 2028, 2610, 2610, 2610, 2029, 2610, 2610, 2029, 713, 2029, 2030, 714, 713, 2610, 2610, 2610, 2610, 2032, 2029, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 714, 2610, 2610, 2610, 714, 2610, 2610, 2610, 2610, 715, 2030, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2031, 2610, 2610, 2610, 2031, 2610, 2610, 2610, 2610, 716, 2031, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 716, 2032, 2610, 2610, 2610, 2033, 2610, 2610, 2033, 715, 2033, 2034, 716, 715, 2610, 2610, 2610, 2610, 2036, 2033, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 716, 2610, 2610, 2610, 716, 2610, 2610, 2610, 2610, 717, 2034, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2035, 2610, 2610, 2610, 2035, 2610, 2610, 2610, 2610, 718, 2035, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 718, 2036, 2610, 2610, 2610, 2037, 2610, 2610, 2037, 717, 2037, 2038, 718, 717, 2610, 2610, 2610, 2610, 1348, 2037, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 718, 2610, 2610, 2610, 718, 2610, 2610, 2610, 2610, 719, 2038, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2039, 2610, 2610, 2610, 2039, 2610, 2610, 2610, 2610, 75, 2039, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 75, 2040, 2610, 790, 2610, 2041, 2044, 2610, 2044, 790, 2044, 2046, 751, 750, 2610, 790, 2048, 2025, 2004, 2041, 2610, 791, 2610, 2610, 2042, 2610, 2042, 791, 2042, 2610, 2610, 751, 2610, 791, 2043, 2026, 794, 2042, 2610, 792, 2610, 2610, 2610, 2610, 2610, 792, 2610, 2610, 2610, 752, 2610, 792, 2610, 2610, 49, 2043, 2610, 793, 2610, 2610, 2610, 2610, 2610, 793, 2610, 2610, 2610, 753, 2610, 793, 2610, 2610, 755, 2044, 2610, 1340, 2610, 2042, 2610, 2610, 2042, 1340, 2042, 2045, 752, 2013, 2610, 1340, 2610, 2610, 834, 2045, 2610, 1341, 2610, 2610, 2610, 2610, 2610, 1341, 2610, 2610, 2610, 2014, 2610, 1341, 2610, 2610, 50, 2046, 2610, 1987, 2610, 2610, 2045, 2610, 2045, 1987, 2045, 2610, 2610, 2015, 2610, 1987, 2047, 2027, 795, 2047, 2610, 1990, 2610, 2610, 2610, 2610, 2610, 1990, 2610, 2610, 2610, 2016, 2610, 1990, 2610, 2610, 756, 2048, 2610, 1991, 2610, 2043, 2610, 2610, 2043, 1991, 2043, 2047, 753, 2018, 2610, 1991, 2610, 2610, 1993, 2049, 2610, 788, 2610, 708, 2610, 2610, 708, 788, 708, 2050, 2610, 2610, 2610, 788, 2610, 2610, 790, 2050, 2610, 789, 2610, 2610, 2610, 2610, 2610, 789, 2610, 2610, 2610, 2610, 2610, 789, 2610, 2610, 47, 2051, 2610, 2020, 2610, 2610, 2050, 2610, 2050, 2020, 2050, 2610, 2610, 2610, 2610, 2020, 2052, 2053, 751, 2052, 2610, 2021, 2610, 2610, 2610, 2610, 2610, 2021, 2610, 2610, 2610, 2610, 2610, 2021, 2610, 2610, 712, 2053, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 670, 2054, 2610, 2024, 2610, 709, 2610, 2610, 709, 2024, 709, 2052, 2610, 2610, 2610, 2024, 2610, 2610, 2025, 2055, 2610, 2610, 2610, 2610, 1465, 2610, 1465, 2056, 1465, 2610, 2610, 2056, 2610, 2610, 2058, 2610, 707, 2056, 2610, 2610, 2610, 2610, 745, 2610, 745, 2610, 745, 2610, 2610, 2610, 2610, 2610, 2057, 2610, 707, 2057, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 668, 2058, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2057, 2610, 2610, 2610, 2057, 2610, 2610, 2610, 2610, 668, 2059, 2610, 2610, 2610, 705, 2610, 2610, 705, 2060, 705, 2058, 666, 2060, 2610, 2610, 2610, 2610, 2061, 2060, 2610, 2610, 2610, 666, 2610, 2610, 666, 2610, 666, 2057, 2610, 2610, 2610, 2610, 2610, 2610, 2061, 2061, 2610, 2610, 2610, 2062, 2610, 2610, 2062, 667, 2062, 2063, 668, 667, 2610, 2610, 2610, 2610, 2064, 2062, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 668, 2610, 2610, 2610, 668, 2610, 2610, 2610, 2610, 669, 2063, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2053, 2610, 2610, 2610, 2053, 2610, 2610, 2610, 2610, 670, 2064, 2610, 2610, 2610, 2065, 2610, 2610, 2065, 669, 2065, 2066, 670, 669, 2610, 2610, 2610, 2610, 2068, 2065, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 670, 2610, 2610, 2610, 670, 2610, 2610, 2610, 2610, 671, 2066, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2067, 2610, 2610, 2610, 2067, 2610, 2610, 2610, 2610, 672, 2067, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 672, 2068, 2610, 2610, 2610, 2069, 2610, 2610, 2069, 671, 2069, 2070, 672, 671, 2610, 2610, 2610, 2610, 2072, 2069, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 672, 2610, 2610, 2610, 672, 2610, 2610, 2610, 2610, 673, 2070, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2071, 2610, 2610, 2610, 2071, 2610, 2610, 2610, 2610, 674, 2071, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 674, 2072, 2610, 2610, 2610, 2073, 2610, 2610, 2073, 673, 2073, 2074, 674, 673, 2610, 2610, 2610, 2610, 2076, 2073, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 674, 2610, 2610, 2610, 674, 2610, 2610, 2610, 2610, 675, 2074, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2075, 2610, 2610, 2610, 2075, 2610, 2610, 2610, 2610, 676, 2075, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 676, 2076, 2610, 2610, 2610, 2077, 2610, 2610, 2077, 675, 2077, 2078, 676, 675, 2610, 2610, 2610, 2610, 1412, 2077, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 676, 2610, 2610, 2610, 676, 2610, 2610, 2610, 2610, 677, 2078, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2079, 2610, 2610, 2610, 2079, 2610, 2610, 2610, 2610, 78, 2079, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 78, 2080, 2610, 746, 2610, 2081, 2084, 2610, 2084, 746, 2084, 2086, 707, 706, 2610, 746, 2088, 2061, 2040, 2081, 2610, 747, 2610, 2610, 2082, 2610, 2082, 747, 2082, 2610, 2610, 707, 2610, 747, 2083, 2062, 750, 2082, 2610, 748, 2610, 2610, 2610, 2610, 2610, 748, 2610, 2610, 2610, 708, 2610, 748, 2610, 2610, 46, 2083, 2610, 749, 2610, 2610, 2610, 2610, 2610, 749, 2610, 2610, 2610, 709, 2610, 749, 2610, 2610, 711, 2084, 2610, 1404, 2610, 2082, 2610, 2610, 2082, 1404, 2082, 2085, 708, 2049, 2610, 1404, 2610, 2610, 790, 2085, 2610, 1405, 2610, 2610, 2610, 2610, 2610, 1405, 2610, 2610, 2610, 2050, 2610, 1405, 2610, 2610, 47, 2086, 2610, 2019, 2610, 2610, 2085, 2610, 2085, 2019, 2085, 2610, 2610, 2051, 2610, 2019, 2087, 2063, 751, 2087, 2610, 2022, 2610, 2610, 2610, 2610, 2610, 2022, 2610, 2610, 2610, 2052, 2610, 2022, 2610, 2610, 712, 2088, 2610, 2023, 2610, 2083, 2610, 2610, 2083, 2023, 2083, 2087, 709, 2054, 2610, 2023, 2610, 2610, 2025, 2089, 2610, 744, 2610, 664, 2610, 2610, 664, 744, 664, 2090, 2610, 2610, 2610, 744, 2610, 2610, 746, 2090, 2610, 745, 2610, 2610, 2610, 2610, 2610, 745, 2610, 2610, 2610, 2610, 2610, 745, 2610, 2610, 44, 2091, 2610, 2056, 2610, 2610, 2090, 2610, 2090, 2056, 2090, 2610, 2610, 2610, 2610, 2056, 2092, 2093, 707, 2092, 2610, 2057, 2610, 2610, 2610, 2610, 2610, 2057, 2610, 2610, 2610, 2610, 2610, 2057, 2610, 2610, 668, 2093, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 626, 2094, 2610, 2060, 2610, 665, 2610, 2610, 665, 2060, 665, 2092, 2610, 2610, 2610, 2060, 2610, 2610, 2061, 2095, 2610, 2610, 2610, 2610, 1521, 2610, 1521, 2096, 1521, 2610, 2610, 2096, 2610, 2610, 2098, 2610, 663, 2096, 2610, 2610, 2610, 2610, 701, 2610, 701, 2610, 701, 2610, 2610, 2610, 2610, 2610, 2097, 2610, 663, 2097, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 624, 2098, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2097, 2610, 2610, 2610, 2097, 2610, 2610, 2610, 2610, 624, 2099, 2610, 2610, 2610, 661, 2610, 2610, 661, 2100, 661, 2098, 622, 2100, 2610, 2610, 2610, 2610, 2101, 2100, 2610, 2610, 2610, 622, 2610, 2610, 622, 2610, 622, 2097, 2610, 2610, 2610, 2610, 2610, 2610, 2101, 2101, 2610, 2610, 2610, 2102, 2610, 2610, 2102, 623, 2102, 2103, 624, 623, 2610, 2610, 2610, 2610, 2104, 2102, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 624, 2610, 2610, 2610, 624, 2610, 2610, 2610, 2610, 625, 2103, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2093, 2610, 2610, 2610, 2093, 2610, 2610, 2610, 2610, 626, 2104, 2610, 2610, 2610, 2105, 2610, 2610, 2105, 625, 2105, 2106, 626, 625, 2610, 2610, 2610, 2610, 2108, 2105, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 626, 2610, 2610, 2610, 626, 2610, 2610, 2610, 2610, 627, 2106, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2107, 2610, 2610, 2610, 2107, 2610, 2610, 2610, 2610, 628, 2107, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 628, 2108, 2610, 2610, 2610, 2109, 2610, 2610, 2109, 627, 2109, 2110, 628, 627, 2610, 2610, 2610, 2610, 2112, 2109, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 628, 2610, 2610, 2610, 628, 2610, 2610, 2610, 2610, 629, 2110, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2111, 2610, 2610, 2610, 2111, 2610, 2610, 2610, 2610, 630, 2111, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 630, 2112, 2610, 2610, 2610, 2113, 2610, 2610, 2113, 629, 2113, 2114, 630, 629, 2610, 2610, 2610, 2610, 2116, 2113, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 630, 2610, 2610, 2610, 630, 2610, 2610, 2610, 2610, 631, 2114, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2115, 2610, 2610, 2610, 2115, 2610, 2610, 2610, 2610, 632, 2115, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 632, 2116, 2610, 2610, 2610, 2117, 2610, 2610, 2117, 631, 2117, 2118, 632, 631, 2610, 2610, 2610, 2610, 2120, 2117, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 632, 2610, 2610, 2610, 632, 2610, 2610, 2610, 2610, 633, 2118, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2119, 2610, 2610, 2610, 2119, 2610, 2610, 2610, 2610, 634, 2119, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 634, 2120, 2610, 2610, 2610, 2121, 2610, 2610, 2121, 633, 2121, 2122, 634, 633, 2610, 2610, 2610, 2610, 1472, 2121, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 634, 2610, 2610, 2610, 634, 2610, 2610, 2610, 2610, 635, 2122, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2123, 2610, 2610, 2610, 2123, 2610, 2610, 2610, 2610, 81, 2123, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 81, 2124, 2610, 702, 2610, 2125, 2128, 2610, 2128, 702, 2128, 2130, 663, 662, 2610, 702, 2132, 2101, 2080, 2125, 2610, 703, 2610, 2610, 2126, 2610, 2126, 703, 2126, 2610, 2610, 663, 2610, 703, 2127, 2102, 706, 2126, 2610, 704, 2610, 2610, 2610, 2610, 2610, 704, 2610, 2610, 2610, 664, 2610, 704, 2610, 2610, 43, 2127, 2610, 705, 2610, 2610, 2610, 2610, 2610, 705, 2610, 2610, 2610, 665, 2610, 705, 2610, 2610, 667, 2128, 2610, 1464, 2610, 2126, 2610, 2610, 2126, 1464, 2126, 2129, 664, 2089, 2610, 1464, 2610, 2610, 746, 2129, 2610, 1465, 2610, 2610, 2610, 2610, 2610, 1465, 2610, 2610, 2610, 2090, 2610, 1465, 2610, 2610, 44, 2130, 2610, 2055, 2610, 2610, 2129, 2610, 2129, 2055, 2129, 2610, 2610, 2091, 2610, 2055, 2131, 2103, 707, 2131, 2610, 2058, 2610, 2610, 2610, 2610, 2610, 2058, 2610, 2610, 2610, 2092, 2610, 2058, 2610, 2610, 668, 2132, 2610, 2059, 2610, 2127, 2610, 2610, 2127, 2059, 2127, 2131, 665, 2094, 2610, 2059, 2610, 2610, 2061, 2133, 2610, 700, 2610, 620, 2610, 2610, 620, 700, 620, 2134, 2610, 2610, 2610, 700, 2610, 2610, 702, 2134, 2610, 701, 2610, 2610, 2610, 2610, 2610, 701, 2610, 2610, 2610, 2610, 2610, 701, 2610, 2610, 41, 2135, 2610, 2096, 2610, 2610, 2134, 2610, 2134, 2096, 2134, 2610, 2610, 2610, 2610, 2096, 2136, 2137, 663, 2136, 2610, 2097, 2610, 2610, 2610, 2610, 2610, 2097, 2610, 2610, 2610, 2610, 2610, 2097, 2610, 2610, 624, 2137, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 582, 2138, 2610, 2100, 2610, 621, 2610, 2610, 621, 2100, 621, 2136, 2610, 2610, 2610, 2100, 2610, 2610, 2101, 2139, 2610, 2610, 2610, 2610, 1573, 2610, 1573, 2140, 1573, 2610, 2610, 2140, 2610, 2610, 2142, 2610, 619, 2140, 2610, 2610, 2610, 2610, 657, 2610, 657, 2610, 657, 2610, 2610, 2610, 2610, 2610, 2141, 2610, 619, 2141, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 580, 2142, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2141, 2610, 2610, 2610, 2141, 2610, 2610, 2610, 2610, 580, 2143, 2610, 2610, 2610, 617, 2610, 2610, 617, 2144, 617, 2142, 578, 2144, 2610, 2610, 2610, 2610, 2145, 2144, 2610, 2610, 2610, 578, 2610, 2610, 578, 2610, 578, 2141, 2610, 2610, 2610, 2610, 2610, 2610, 2145, 2145, 2610, 2610, 2610, 2146, 2610, 2610, 2146, 579, 2146, 2147, 580, 579, 2610, 2610, 2610, 2610, 2148, 2146, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 580, 2610, 2610, 2610, 580, 2610, 2610, 2610, 2610, 581, 2147, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2137, 2610, 2610, 2610, 2137, 2610, 2610, 2610, 2610, 582, 2148, 2610, 2610, 2610, 2149, 2610, 2610, 2149, 581, 2149, 2150, 582, 581, 2610, 2610, 2610, 2610, 2152, 2149, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 582, 2610, 2610, 2610, 582, 2610, 2610, 2610, 2610, 583, 2150, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2151, 2610, 2610, 2610, 2151, 2610, 2610, 2610, 2610, 584, 2151, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 584, 2152, 2610, 2610, 2610, 2153, 2610, 2610, 2153, 583, 2153, 2154, 584, 583, 2610, 2610, 2610, 2610, 2156, 2153, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 584, 2610, 2610, 2610, 584, 2610, 2610, 2610, 2610, 585, 2154, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2155, 2610, 2610, 2610, 2155, 2610, 2610, 2610, 2610, 586, 2155, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 586, 2156, 2610, 2610, 2610, 2157, 2610, 2610, 2157, 585, 2157, 2158, 586, 585, 2610, 2610, 2610, 2610, 2160, 2157, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 586, 2610, 2610, 2610, 586, 2610, 2610, 2610, 2610, 587, 2158, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2159, 2610, 2610, 2610, 2159, 2610, 2610, 2610, 2610, 588, 2159, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 588, 2160, 2610, 2610, 2610, 2161, 2610, 2610, 2161, 587, 2161, 2162, 588, 587, 2610, 2610, 2610, 2610, 2164, 2161, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 588, 2610, 2610, 2610, 588, 2610, 2610, 2610, 2610, 589, 2162, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2163, 2610, 2610, 2610, 2163, 2610, 2610, 2610, 2610, 590, 2163, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 590, 2164, 2610, 2610, 2610, 2165, 2610, 2610, 2165, 589, 2165, 2166, 590, 589, 2610, 2610, 2610, 2610, 2168, 2165, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 590, 2610, 2610, 2610, 590, 2610, 2610, 2610, 2610, 591, 2166, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2167, 2610, 2610, 2610, 2167, 2610, 2610, 2610, 2610, 592, 2167, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 592, 2168, 2610, 2610, 2610, 2169, 2610, 2610, 2169, 591, 2169, 2170, 592, 591, 2610, 2610, 2610, 2610, 1528, 2169, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 592, 2610, 2610, 2610, 592, 2610, 2610, 2610, 2610, 593, 2170, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2171, 2610, 2610, 2610, 2171, 2610, 2610, 2610, 2610, 84, 2171, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 84, 2172, 2610, 658, 2610, 2173, 2176, 2610, 2176, 658, 2176, 2178, 619, 618, 2610, 658, 2180, 2145, 2124, 2173, 2610, 659, 2610, 2610, 2174, 2610, 2174, 659, 2174, 2610, 2610, 619, 2610, 659, 2175, 2146, 662, 2174, 2610, 660, 2610, 2610, 2610, 2610, 2610, 660, 2610, 2610, 2610, 620, 2610, 660, 2610, 2610, 40, 2175, 2610, 661, 2610, 2610, 2610, 2610, 2610, 661, 2610, 2610, 2610, 621, 2610, 661, 2610, 2610, 623, 2176, 2610, 1520, 2610, 2174, 2610, 2610, 2174, 1520, 2174, 2177, 620, 2133, 2610, 1520, 2610, 2610, 702, 2177, 2610, 1521, 2610, 2610, 2610, 2610, 2610, 1521, 2610, 2610, 2610, 2134, 2610, 1521, 2610, 2610, 41, 2178, 2610, 2095, 2610, 2610, 2177, 2610, 2177, 2095, 2177, 2610, 2610, 2135, 2610, 2095, 2179, 2147, 663, 2179, 2610, 2098, 2610, 2610, 2610, 2610, 2610, 2098, 2610, 2610, 2610, 2136, 2610, 2098, 2610, 2610, 624, 2180, 2610, 2099, 2610, 2175, 2610, 2610, 2175, 2099, 2175, 2179, 621, 2138, 2610, 2099, 2610, 2610, 2101, 2181, 2610, 656, 2610, 576, 2610, 2610, 576, 656, 576, 2182, 2610, 2610, 2610, 656, 2610, 2610, 658, 2182, 2610, 657, 2610, 2610, 2610, 2610, 2610, 657, 2610, 2610, 2610, 2610, 2610, 657, 2610, 2610, 38, 2183, 2610, 2140, 2610, 2610, 2182, 2610, 2182, 2140, 2182, 2610, 2610, 2610, 2610, 2140, 2184, 2185, 619, 2184, 2610, 2141, 2610, 2610, 2610, 2610, 2610, 2141, 2610, 2610, 2610, 2610, 2610, 2141, 2610, 2610, 580, 2185, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 538, 2186, 2610, 2144, 2610, 577, 2610, 2610, 577, 2144, 577, 2184, 2610, 2610, 2610, 2144, 2610, 2610, 2145, 2187, 2610, 2610, 2610, 2610, 1621, 2610, 1621, 2188, 1621, 2610, 2610, 2188, 2610, 2610, 2190, 2610, 575, 2188, 2610, 2610, 2610, 2610, 613, 2610, 613, 2610, 613, 2610, 2610, 2610, 2610, 2610, 2189, 2610, 575, 2189, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 536, 2190, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2189, 2610, 2610, 2610, 2189, 2610, 2610, 2610, 2610, 536, 2191, 2610, 2610, 2610, 573, 2610, 2610, 573, 2192, 573, 2190, 534, 2192, 2610, 2610, 2610, 2610, 2193, 2192, 2610, 2610, 2610, 534, 2610, 2610, 534, 2610, 534, 2189, 2610, 2610, 2610, 2610, 2610, 2610, 2193, 2193, 2610, 2610, 2610, 2194, 2610, 2610, 2194, 535, 2194, 2195, 536, 535, 2610, 2610, 2610, 2610, 2196, 2194, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 536, 2610, 2610, 2610, 536, 2610, 2610, 2610, 2610, 537, 2195, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2185, 2610, 2610, 2610, 2185, 2610, 2610, 2610, 2610, 538, 2196, 2610, 2610, 2610, 2197, 2610, 2610, 2197, 537, 2197, 2198, 538, 537, 2610, 2610, 2610, 2610, 2200, 2197, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 538, 2610, 2610, 2610, 538, 2610, 2610, 2610, 2610, 539, 2198, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2199, 2610, 2610, 2610, 2199, 2610, 2610, 2610, 2610, 540, 2199, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 540, 2200, 2610, 2610, 2610, 2201, 2610, 2610, 2201, 539, 2201, 2202, 540, 539, 2610, 2610, 2610, 2610, 2204, 2201, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 540, 2610, 2610, 2610, 540, 2610, 2610, 2610, 2610, 541, 2202, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2203, 2610, 2610, 2610, 2203, 2610, 2610, 2610, 2610, 542, 2203, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 542, 2204, 2610, 2610, 2610, 2205, 2610, 2610, 2205, 541, 2205, 2206, 542, 541, 2610, 2610, 2610, 2610, 2208, 2205, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 542, 2610, 2610, 2610, 542, 2610, 2610, 2610, 2610, 543, 2206, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2207, 2610, 2610, 2610, 2207, 2610, 2610, 2610, 2610, 544, 2207, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 544, 2208, 2610, 2610, 2610, 2209, 2610, 2610, 2209, 543, 2209, 2210, 544, 543, 2610, 2610, 2610, 2610, 2212, 2209, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 544, 2610, 2610, 2610, 544, 2610, 2610, 2610, 2610, 545, 2210, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2211, 2610, 2610, 2610, 2211, 2610, 2610, 2610, 2610, 546, 2211, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 546, 2212, 2610, 2610, 2610, 2213, 2610, 2610, 2213, 545, 2213, 2214, 546, 545, 2610, 2610, 2610, 2610, 2216, 2213, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 546, 2610, 2610, 2610, 546, 2610, 2610, 2610, 2610, 547, 2214, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2215, 2610, 2610, 2610, 2215, 2610, 2610, 2610, 2610, 548, 2215, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 548, 2216, 2610, 2610, 2610, 2217, 2610, 2610, 2217, 547, 2217, 2218, 548, 547, 2610, 2610, 2610, 2610, 2220, 2217, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 548, 2610, 2610, 2610, 548, 2610, 2610, 2610, 2610, 549, 2218, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2219, 2610, 2610, 2610, 2219, 2610, 2610, 2610, 2610, 550, 2219, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 550, 2220, 2610, 2610, 2610, 2221, 2610, 2610, 2221, 549, 2221, 2222, 550, 549, 2610, 2610, 2610, 2610, 1580, 2221, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 550, 2610, 2610, 2610, 550, 2610, 2610, 2610, 2610, 551, 2222, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2223, 2610, 2610, 2610, 2223, 2610, 2610, 2610, 2610, 87, 2223, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 87, 2224, 2610, 614, 2610, 2225, 2228, 2610, 2228, 614, 2228, 2230, 575, 574, 2610, 614, 2232, 2193, 2172, 2225, 2610, 615, 2610, 2610, 2226, 2610, 2226, 615, 2226, 2610, 2610, 575, 2610, 615, 2227, 2194, 618, 2226, 2610, 616, 2610, 2610, 2610, 2610, 2610, 616, 2610, 2610, 2610, 576, 2610, 616, 2610, 2610, 37, 2227, 2610, 617, 2610, 2610, 2610, 2610, 2610, 617, 2610, 2610, 2610, 577, 2610, 617, 2610, 2610, 579, 2228, 2610, 1572, 2610, 2226, 2610, 2610, 2226, 1572, 2226, 2229, 576, 2181, 2610, 1572, 2610, 2610, 658, 2229, 2610, 1573, 2610, 2610, 2610, 2610, 2610, 1573, 2610, 2610, 2610, 2182, 2610, 1573, 2610, 2610, 38, 2230, 2610, 2139, 2610, 2610, 2229, 2610, 2229, 2139, 2229, 2610, 2610, 2183, 2610, 2139, 2231, 2195, 619, 2231, 2610, 2142, 2610, 2610, 2610, 2610, 2610, 2142, 2610, 2610, 2610, 2184, 2610, 2142, 2610, 2610, 580, 2232, 2610, 2143, 2610, 2227, 2610, 2610, 2227, 2143, 2227, 2231, 577, 2186, 2610, 2143, 2610, 2610, 2145, 2233, 2610, 612, 2610, 532, 2610, 2610, 532, 612, 532, 2234, 2610, 2610, 2610, 612, 2610, 2610, 614, 2234, 2610, 613, 2610, 2610, 2610, 2610, 2610, 613, 2610, 2610, 2610, 2610, 2610, 613, 2610, 2610, 35, 2235, 2610, 2188, 2610, 2610, 2234, 2610, 2234, 2188, 2234, 2610, 2610, 2610, 2610, 2188, 2236, 2237, 575, 2236, 2610, 2189, 2610, 2610, 2610, 2610, 2610, 2189, 2610, 2610, 2610, 2610, 2610, 2189, 2610, 2610, 536, 2237, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 494, 2238, 2610, 2192, 2610, 533, 2610, 2610, 533, 2192, 533, 2236, 2610, 2610, 2610, 2192, 2610, 2610, 2193, 2239, 2610, 2610, 2610, 2610, 1665, 2610, 1665, 2240, 1665, 2610, 2610, 2240, 2610, 2610, 2242, 2610, 531, 2240, 2610, 2610, 2610, 2610, 569, 2610, 569, 2610, 569, 2610, 2610, 2610, 2610, 2610, 2241, 2610, 531, 2241, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 492, 2242, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2241, 2610, 2610, 2610, 2241, 2610, 2610, 2610, 2610, 492, 2243, 2610, 2610, 2610, 529, 2610, 2610, 529, 2244, 529, 2242, 490, 2244, 2610, 2610, 2610, 2610, 2245, 2244, 2610, 2610, 2610, 490, 2610, 2610, 490, 2610, 490, 2241, 2610, 2610, 2610, 2610, 2610, 2610, 2245, 2245, 2610, 2610, 2610, 2246, 2610, 2610, 2246, 491, 2246, 2247, 492, 491, 2610, 2610, 2610, 2610, 2248, 2246, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 492, 2610, 2610, 2610, 492, 2610, 2610, 2610, 2610, 493, 2247, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2237, 2610, 2610, 2610, 2237, 2610, 2610, 2610, 2610, 494, 2248, 2610, 2610, 2610, 2249, 2610, 2610, 2249, 493, 2249, 2250, 494, 493, 2610, 2610, 2610, 2610, 2252, 2249, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 494, 2610, 2610, 2610, 494, 2610, 2610, 2610, 2610, 495, 2250, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2251, 2610, 2610, 2610, 2251, 2610, 2610, 2610, 2610, 496, 2251, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 496, 2252, 2610, 2610, 2610, 2253, 2610, 2610, 2253, 495, 2253, 2254, 496, 495, 2610, 2610, 2610, 2610, 2256, 2253, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 496, 2610, 2610, 2610, 496, 2610, 2610, 2610, 2610, 497, 2254, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2255, 2610, 2610, 2610, 2255, 2610, 2610, 2610, 2610, 498, 2255, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 498, 2256, 2610, 2610, 2610, 2257, 2610, 2610, 2257, 497, 2257, 2258, 498, 497, 2610, 2610, 2610, 2610, 2260, 2257, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 498, 2610, 2610, 2610, 498, 2610, 2610, 2610, 2610, 499, 2258, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2259, 2610, 2610, 2610, 2259, 2610, 2610, 2610, 2610, 500, 2259, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 500, 2260, 2610, 2610, 2610, 2261, 2610, 2610, 2261, 499, 2261, 2262, 500, 499, 2610, 2610, 2610, 2610, 2264, 2261, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 500, 2610, 2610, 2610, 500, 2610, 2610, 2610, 2610, 501, 2262, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2263, 2610, 2610, 2610, 2263, 2610, 2610, 2610, 2610, 502, 2263, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 502, 2264, 2610, 2610, 2610, 2265, 2610, 2610, 2265, 501, 2265, 2266, 502, 501, 2610, 2610, 2610, 2610, 2268, 2265, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 502, 2610, 2610, 2610, 502, 2610, 2610, 2610, 2610, 503, 2266, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2267, 2610, 2610, 2610, 2267, 2610, 2610, 2610, 2610, 504, 2267, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 504, 2268, 2610, 2610, 2610, 2269, 2610, 2610, 2269, 503, 2269, 2270, 504, 503, 2610, 2610, 2610, 2610, 2272, 2269, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 504, 2610, 2610, 2610, 504, 2610, 2610, 2610, 2610, 505, 2270, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2271, 2610, 2610, 2610, 2271, 2610, 2610, 2610, 2610, 506, 2271, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 506, 2272, 2610, 2610, 2610, 2273, 2610, 2610, 2273, 505, 2273, 2274, 506, 505, 2610, 2610, 2610, 2610, 2276, 2273, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 506, 2610, 2610, 2610, 506, 2610, 2610, 2610, 2610, 507, 2274, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2275, 2610, 2610, 2610, 2275, 2610, 2610, 2610, 2610, 508, 2275, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 508, 2276, 2610, 2610, 2610, 2277, 2610, 2610, 2277, 507, 2277, 2278, 508, 507, 2610, 2610, 2610, 2610, 1628, 2277, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 508, 2610, 2610, 2610, 508, 2610, 2610, 2610, 2610, 509, 2278, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2279, 2610, 2610, 2610, 2279, 2610, 2610, 2610, 2610, 90, 2279, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 90, 2280, 2610, 570, 2610, 2281, 2284, 2610, 2284, 570, 2284, 2286, 531, 530, 2610, 570, 2288, 2245, 2224, 2281, 2610, 571, 2610, 2610, 2282, 2610, 2282, 571, 2282, 2610, 2610, 531, 2610, 571, 2283, 2246, 574, 2282, 2610, 572, 2610, 2610, 2610, 2610, 2610, 572, 2610, 2610, 2610, 532, 2610, 572, 2610, 2610, 34, 2283, 2610, 573, 2610, 2610, 2610, 2610, 2610, 573, 2610, 2610, 2610, 533, 2610, 573, 2610, 2610, 535, 2284, 2610, 1620, 2610, 2282, 2610, 2610, 2282, 1620, 2282, 2285, 532, 2233, 2610, 1620, 2610, 2610, 614, 2285, 2610, 1621, 2610, 2610, 2610, 2610, 2610, 1621, 2610, 2610, 2610, 2234, 2610, 1621, 2610, 2610, 35, 2286, 2610, 2187, 2610, 2610, 2285, 2610, 2285, 2187, 2285, 2610, 2610, 2235, 2610, 2187, 2287, 2247, 575, 2287, 2610, 2190, 2610, 2610, 2610, 2610, 2610, 2190, 2610, 2610, 2610, 2236, 2610, 2190, 2610, 2610, 536, 2288, 2610, 2191, 2610, 2283, 2610, 2610, 2283, 2191, 2283, 2287, 533, 2238, 2610, 2191, 2610, 2610, 2193, 2289, 2610, 568, 2610, 488, 2610, 2610, 488, 568, 488, 2290, 2610, 2610, 2610, 568, 2610, 2610, 570, 2290, 2610, 569, 2610, 2610, 2610, 2610, 2610, 569, 2610, 2610, 2610, 2610, 2610, 569, 2610, 2610, 32, 2291, 2610, 2240, 2610, 2610, 2290, 2610, 2290, 2240, 2290, 2610, 2610, 2610, 2610, 2240, 2292, 2293, 531, 2292, 2610, 2241, 2610, 2610, 2610, 2610, 2610, 2241, 2610, 2610, 2610, 2610, 2610, 2241, 2610, 2610, 492, 2293, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 450, 2294, 2610, 2244, 2610, 489, 2610, 2610, 489, 2244, 489, 2292, 2610, 2610, 2610, 2244, 2610, 2610, 2245, 2295, 2610, 2610, 2610, 2610, 1705, 2610, 1705, 2296, 1705, 2610, 2610, 2296, 2610, 2610, 2298, 2610, 487, 2296, 2610, 2610, 2610, 2610, 525, 2610, 525, 2610, 525, 2610, 2610, 2610, 2610, 2610, 2297, 2610, 487, 2297, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 448, 2298, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2297, 2610, 2610, 2610, 2297, 2610, 2610, 2610, 2610, 448, 2299, 2610, 2610, 2610, 485, 2610, 2610, 485, 2300, 485, 2298, 446, 2300, 2610, 2610, 2610, 2610, 2301, 2300, 2610, 2610, 2610, 446, 2610, 2610, 446, 2610, 446, 2297, 2610, 2610, 2610, 2610, 2610, 2610, 2301, 2301, 2610, 2610, 2610, 2302, 2610, 2610, 2302, 447, 2302, 2303, 448, 447, 2610, 2610, 2610, 2610, 2304, 2302, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 448, 2610, 2610, 2610, 448, 2610, 2610, 2610, 2610, 449, 2303, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2293, 2610, 2610, 2610, 2293, 2610, 2610, 2610, 2610, 450, 2304, 2610, 2610, 2610, 2305, 2610, 2610, 2305, 449, 2305, 2306, 450, 449, 2610, 2610, 2610, 2610, 2308, 2305, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 450, 2610, 2610, 2610, 450, 2610, 2610, 2610, 2610, 451, 2306, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2307, 2610, 2610, 2610, 2307, 2610, 2610, 2610, 2610, 452, 2307, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 452, 2308, 2610, 2610, 2610, 2309, 2610, 2610, 2309, 451, 2309, 2310, 452, 451, 2610, 2610, 2610, 2610, 2312, 2309, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 452, 2610, 2610, 2610, 452, 2610, 2610, 2610, 2610, 453, 2310, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2311, 2610, 2610, 2610, 2311, 2610, 2610, 2610, 2610, 454, 2311, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 454, 2312, 2610, 2610, 2610, 2313, 2610, 2610, 2313, 453, 2313, 2314, 454, 453, 2610, 2610, 2610, 2610, 2316, 2313, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 454, 2610, 2610, 2610, 454, 2610, 2610, 2610, 2610, 455, 2314, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2315, 2610, 2610, 2610, 2315, 2610, 2610, 2610, 2610, 456, 2315, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 456, 2316, 2610, 2610, 2610, 2317, 2610, 2610, 2317, 455, 2317, 2318, 456, 455, 2610, 2610, 2610, 2610, 2320, 2317, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 456, 2610, 2610, 2610, 456, 2610, 2610, 2610, 2610, 457, 2318, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2319, 2610, 2610, 2610, 2319, 2610, 2610, 2610, 2610, 458, 2319, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 458, 2320, 2610, 2610, 2610, 2321, 2610, 2610, 2321, 457, 2321, 2322, 458, 457, 2610, 2610, 2610, 2610, 2324, 2321, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 458, 2610, 2610, 2610, 458, 2610, 2610, 2610, 2610, 459, 2322, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2323, 2610, 2610, 2610, 2323, 2610, 2610, 2610, 2610, 460, 2323, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 460, 2324, 2610, 2610, 2610, 2325, 2610, 2610, 2325, 459, 2325, 2326, 460, 459, 2610, 2610, 2610, 2610, 2328, 2325, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 460, 2610, 2610, 2610, 460, 2610, 2610, 2610, 2610, 461, 2326, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2327, 2610, 2610, 2610, 2327, 2610, 2610, 2610, 2610, 462, 2327, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 462, 2328, 2610, 2610, 2610, 2329, 2610, 2610, 2329, 461, 2329, 2330, 462, 461, 2610, 2610, 2610, 2610, 2332, 2329, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 462, 2610, 2610, 2610, 462, 2610, 2610, 2610, 2610, 463, 2330, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2331, 2610, 2610, 2610, 2331, 2610, 2610, 2610, 2610, 464, 2331, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 464, 2332, 2610, 2610, 2610, 2333, 2610, 2610, 2333, 463, 2333, 2334, 464, 463, 2610, 2610, 2610, 2610, 2336, 2333, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 464, 2610, 2610, 2610, 464, 2610, 2610, 2610, 2610, 465, 2334, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2335, 2610, 2610, 2610, 2335, 2610, 2610, 2610, 2610, 466, 2335, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 466, 2336, 2610, 2610, 2610, 2337, 2610, 2610, 2337, 465, 2337, 2338, 466, 465, 2610, 2610, 2610, 2610, 1672, 2337, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 466, 2610, 2610, 2610, 466, 2610, 2610, 2610, 2610, 467, 2338, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2339, 2610, 2610, 2610, 2339, 2610, 2610, 2610, 2610, 93, 2339, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 93, 2340, 2610, 526, 2610, 2341, 2344, 2610, 2344, 526, 2344, 2346, 487, 486, 2610, 526, 2348, 2301, 2280, 2341, 2610, 527, 2610, 2610, 2342, 2610, 2342, 527, 2342, 2610, 2610, 487, 2610, 527, 2343, 2302, 530, 2342, 2610, 528, 2610, 2610, 2610, 2610, 2610, 528, 2610, 2610, 2610, 488, 2610, 528, 2610, 2610, 31, 2343, 2610, 529, 2610, 2610, 2610, 2610, 2610, 529, 2610, 2610, 2610, 489, 2610, 529, 2610, 2610, 491, 2344, 2610, 1664, 2610, 2342, 2610, 2610, 2342, 1664, 2342, 2345, 488, 2289, 2610, 1664, 2610, 2610, 570, 2345, 2610, 1665, 2610, 2610, 2610, 2610, 2610, 1665, 2610, 2610, 2610, 2290, 2610, 1665, 2610, 2610, 32, 2346, 2610, 2239, 2610, 2610, 2345, 2610, 2345, 2239, 2345, 2610, 2610, 2291, 2610, 2239, 2347, 2303, 531, 2347, 2610, 2242, 2610, 2610, 2610, 2610, 2610, 2242, 2610, 2610, 2610, 2292, 2610, 2242, 2610, 2610, 492, 2348, 2610, 2243, 2610, 2343, 2610, 2610, 2343, 2243, 2343, 2347, 489, 2294, 2610, 2243, 2610, 2610, 2245, 2349, 2610, 524, 2610, 444, 2610, 2610, 444, 524, 444, 2350, 2610, 2610, 2610, 524, 2610, 2610, 526, 2350, 2610, 525, 2610, 2610, 2610, 2610, 2610, 525, 2610, 2610, 2610, 2610, 2610, 525, 2610, 2610, 29, 2351, 2610, 2296, 2610, 2610, 2350, 2610, 2350, 2296, 2350, 2610, 2610, 2610, 2610, 2296, 2352, 2353, 487, 2352, 2610, 2297, 2610, 2610, 2610, 2610, 2610, 2297, 2610, 2610, 2610, 2610, 2610, 2297, 2610, 2610, 448, 2353, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 406, 2354, 2610, 2300, 2610, 445, 2610, 2610, 445, 2300, 445, 2352, 2610, 2610, 2610, 2300, 2610, 2610, 2301, 2355, 2610, 2610, 2610, 2610, 1741, 2610, 1741, 2356, 1741, 2610, 2610, 2356, 2610, 2610, 2358, 2610, 443, 2356, 2610, 2610, 2610, 2610, 481, 2610, 481, 2610, 481, 2610, 2610, 2610, 2610, 2610, 2357, 2610, 443, 2357, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 404, 2358, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2357, 2610, 2610, 2610, 2357, 2610, 2610, 2610, 2610, 404, 2359, 2610, 2610, 2610, 441, 2610, 2610, 441, 2360, 441, 2358, 402, 2360, 2610, 2610, 2610, 2610, 2361, 2360, 2610, 2610, 2610, 402, 2610, 2610, 402, 2610, 402, 2357, 2610, 2610, 2610, 2610, 2610, 2610, 2361, 2361, 2610, 2610, 2610, 2362, 2610, 2610, 2362, 403, 2362, 2363, 404, 403, 2610, 2610, 2610, 2610, 2364, 2362, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 404, 2610, 2610, 2610, 404, 2610, 2610, 2610, 2610, 405, 2363, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2353, 2610, 2610, 2610, 2353, 2610, 2610, 2610, 2610, 406, 2364, 2610, 2610, 2610, 2365, 2610, 2610, 2365, 405, 2365, 2366, 406, 405, 2610, 2610, 2610, 2610, 2368, 2365, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 406, 2610, 2610, 2610, 406, 2610, 2610, 2610, 2610, 407, 2366, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2367, 2610, 2610, 2610, 2367, 2610, 2610, 2610, 2610, 408, 2367, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 408, 2368, 2610, 2610, 2610, 2369, 2610, 2610, 2369, 407, 2369, 2370, 408, 407, 2610, 2610, 2610, 2610, 2372, 2369, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 408, 2610, 2610, 2610, 408, 2610, 2610, 2610, 2610, 409, 2370, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2371, 2610, 2610, 2610, 2371, 2610, 2610, 2610, 2610, 410, 2371, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 410, 2372, 2610, 2610, 2610, 2373, 2610, 2610, 2373, 409, 2373, 2374, 410, 409, 2610, 2610, 2610, 2610, 2376, 2373, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 410, 2610, 2610, 2610, 410, 2610, 2610, 2610, 2610, 411, 2374, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2375, 2610, 2610, 2610, 2375, 2610, 2610, 2610, 2610, 412, 2375, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 412, 2376, 2610, 2610, 2610, 2377, 2610, 2610, 2377, 411, 2377, 2378, 412, 411, 2610, 2610, 2610, 2610, 2380, 2377, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 412, 2610, 2610, 2610, 412, 2610, 2610, 2610, 2610, 413, 2378, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2379, 2610, 2610, 2610, 2379, 2610, 2610, 2610, 2610, 414, 2379, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 414, 2380, 2610, 2610, 2610, 2381, 2610, 2610, 2381, 413, 2381, 2382, 414, 413, 2610, 2610, 2610, 2610, 2384, 2381, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 414, 2610, 2610, 2610, 414, 2610, 2610, 2610, 2610, 415, 2382, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2383, 2610, 2610, 2610, 2383, 2610, 2610, 2610, 2610, 416, 2383, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 416, 2384, 2610, 2610, 2610, 2385, 2610, 2610, 2385, 415, 2385, 2386, 416, 415, 2610, 2610, 2610, 2610, 2388, 2385, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 416, 2610, 2610, 2610, 416, 2610, 2610, 2610, 2610, 417, 2386, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2387, 2610, 2610, 2610, 2387, 2610, 2610, 2610, 2610, 418, 2387, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 418, 2388, 2610, 2610, 2610, 2389, 2610, 2610, 2389, 417, 2389, 2390, 418, 417, 2610, 2610, 2610, 2610, 2392, 2389, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 418, 2610, 2610, 2610, 418, 2610, 2610, 2610, 2610, 419, 2390, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2391, 2610, 2610, 2610, 2391, 2610, 2610, 2610, 2610, 420, 2391, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 420, 2392, 2610, 2610, 2610, 2393, 2610, 2610, 2393, 419, 2393, 2394, 420, 419, 2610, 2610, 2610, 2610, 2396, 2393, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 420, 2610, 2610, 2610, 420, 2610, 2610, 2610, 2610, 421, 2394, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2395, 2610, 2610, 2610, 2395, 2610, 2610, 2610, 2610, 422, 2395, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 422, 2396, 2610, 2610, 2610, 2397, 2610, 2610, 2397, 421, 2397, 2398, 422, 421, 2610, 2610, 2610, 2610, 2400, 2397, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 422, 2610, 2610, 2610, 422, 2610, 2610, 2610, 2610, 423, 2398, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2399, 2610, 2610, 2610, 2399, 2610, 2610, 2610, 2610, 424, 2399, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 424, 2400, 2610, 2610, 2610, 2401, 2610, 2610, 2401, 423, 2401, 2402, 424, 423, 2610, 2610, 2610, 2610, 1712, 2401, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 424, 2610, 2610, 2610, 424, 2610, 2610, 2610, 2610, 425, 2402, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2403, 2610, 2610, 2610, 2403, 2610, 2610, 2610, 2610, 96, 2403, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 96, 2404, 2610, 482, 2610, 2405, 2408, 2610, 2408, 482, 2408, 2410, 443, 442, 2610, 482, 2412, 2361, 2340, 2405, 2610, 483, 2610, 2610, 2406, 2610, 2406, 483, 2406, 2610, 2610, 443, 2610, 483, 2407, 2362, 486, 2406, 2610, 484, 2610, 2610, 2610, 2610, 2610, 484, 2610, 2610, 2610, 444, 2610, 484, 2610, 2610, 28, 2407, 2610, 485, 2610, 2610, 2610, 2610, 2610, 485, 2610, 2610, 2610, 445, 2610, 485, 2610, 2610, 447, 2408, 2610, 1704, 2610, 2406, 2610, 2610, 2406, 1704, 2406, 2409, 444, 2349, 2610, 1704, 2610, 2610, 526, 2409, 2610, 1705, 2610, 2610, 2610, 2610, 2610, 1705, 2610, 2610, 2610, 2350, 2610, 1705, 2610, 2610, 29, 2410, 2610, 2295, 2610, 2610, 2409, 2610, 2409, 2295, 2409, 2610, 2610, 2351, 2610, 2295, 2411, 2363, 487, 2411, 2610, 2298, 2610, 2610, 2610, 2610, 2610, 2298, 2610, 2610, 2610, 2352, 2610, 2298, 2610, 2610, 448, 2412, 2610, 2299, 2610, 2407, 2610, 2610, 2407, 2299, 2407, 2411, 445, 2354, 2610, 2299, 2610, 2610, 2301, 2413, 2610, 480, 2610, 400, 2610, 2610, 400, 480, 400, 2414, 2610, 2610, 2610, 480, 2610, 2610, 482, 2414, 2610, 481, 2610, 2610, 2610, 2610, 2610, 481, 2610, 2610, 2610, 2610, 2610, 481, 2610, 2610, 26, 2415, 2610, 2356, 2610, 2610, 2414, 2610, 2414, 2356, 2414, 2610, 2610, 2610, 2610, 2356, 2416, 2417, 443, 2416, 2610, 2357, 2610, 2610, 2610, 2610, 2610, 2357, 2610, 2610, 2610, 2610, 2610, 2357, 2610, 2610, 404, 2417, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 362, 2418, 2610, 2360, 2610, 401, 2610, 2610, 401, 2360, 401, 2416, 2610, 2610, 2610, 2360, 2610, 2610, 2361, 2419, 2610, 2610, 2610, 2610, 1773, 2610, 1773, 2420, 1773, 2610, 2610, 2420, 2610, 2610, 2422, 2610, 399, 2420, 2610, 2610, 2610, 2610, 437, 2610, 437, 2610, 437, 2610, 2610, 2610, 2610, 2610, 2421, 2610, 399, 2421, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 360, 2422, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2421, 2610, 2610, 2610, 2421, 2610, 2610, 2610, 2610, 360, 2423, 2610, 2610, 2610, 397, 2610, 2610, 397, 2424, 397, 2422, 358, 2424, 2610, 2610, 2610, 2610, 2425, 2424, 2610, 2610, 2610, 358, 2610, 2610, 358, 2610, 358, 2421, 2610, 2610, 2610, 2610, 2610, 2610, 2425, 2425, 2610, 2610, 2610, 2426, 2610, 2610, 2426, 359, 2426, 2427, 360, 359, 2610, 2610, 2610, 2610, 2428, 2426, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 360, 2610, 2610, 2610, 360, 2610, 2610, 2610, 2610, 361, 2427, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2417, 2610, 2610, 2610, 2417, 2610, 2610, 2610, 2610, 362, 2428, 2610, 2610, 2610, 2429, 2610, 2610, 2429, 361, 2429, 2430, 362, 361, 2610, 2610, 2610, 2610, 2432, 2429, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 362, 2610, 2610, 2610, 362, 2610, 2610, 2610, 2610, 363, 2430, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2431, 2610, 2610, 2610, 2431, 2610, 2610, 2610, 2610, 364, 2431, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 364, 2432, 2610, 2610, 2610, 2433, 2610, 2610, 2433, 363, 2433, 2434, 364, 363, 2610, 2610, 2610, 2610, 2436, 2433, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 364, 2610, 2610, 2610, 364, 2610, 2610, 2610, 2610, 365, 2434, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2435, 2610, 2610, 2610, 2435, 2610, 2610, 2610, 2610, 366, 2435, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 366, 2436, 2610, 2610, 2610, 2437, 2610, 2610, 2437, 365, 2437, 2438, 366, 365, 2610, 2610, 2610, 2610, 2440, 2437, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 366, 2610, 2610, 2610, 366, 2610, 2610, 2610, 2610, 367, 2438, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2439, 2610, 2610, 2610, 2439, 2610, 2610, 2610, 2610, 368, 2439, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 368, 2440, 2610, 2610, 2610, 2441, 2610, 2610, 2441, 367, 2441, 2442, 368, 367, 2610, 2610, 2610, 2610, 2444, 2441, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 368, 2610, 2610, 2610, 368, 2610, 2610, 2610, 2610, 369, 2442, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2443, 2610, 2610, 2610, 2443, 2610, 2610, 2610, 2610, 370, 2443, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 370, 2444, 2610, 2610, 2610, 2445, 2610, 2610, 2445, 369, 2445, 2446, 370, 369, 2610, 2610, 2610, 2610, 2448, 2445, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 370, 2610, 2610, 2610, 370, 2610, 2610, 2610, 2610, 371, 2446, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2447, 2610, 2610, 2610, 2447, 2610, 2610, 2610, 2610, 372, 2447, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 372, 2448, 2610, 2610, 2610, 2449, 2610, 2610, 2449, 371, 2449, 2450, 372, 371, 2610, 2610, 2610, 2610, 2452, 2449, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 372, 2610, 2610, 2610, 372, 2610, 2610, 2610, 2610, 373, 2450, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2451, 2610, 2610, 2610, 2451, 2610, 2610, 2610, 2610, 374, 2451, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 374, 2452, 2610, 2610, 2610, 2453, 2610, 2610, 2453, 373, 2453, 2454, 374, 373, 2610, 2610, 2610, 2610, 2456, 2453, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 374, 2610, 2610, 2610, 374, 2610, 2610, 2610, 2610, 375, 2454, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2455, 2610, 2610, 2610, 2455, 2610, 2610, 2610, 2610, 376, 2455, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 376, 2456, 2610, 2610, 2610, 2457, 2610, 2610, 2457, 375, 2457, 2458, 376, 375, 2610, 2610, 2610, 2610, 2460, 2457, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 376, 2610, 2610, 2610, 376, 2610, 2610, 2610, 2610, 377, 2458, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2459, 2610, 2610, 2610, 2459, 2610, 2610, 2610, 2610, 378, 2459, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 378, 2460, 2610, 2610, 2610, 2461, 2610, 2610, 2461, 377, 2461, 2462, 378, 377, 2610, 2610, 2610, 2610, 2464, 2461, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 378, 2610, 2610, 2610, 378, 2610, 2610, 2610, 2610, 379, 2462, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2463, 2610, 2610, 2610, 2463, 2610, 2610, 2610, 2610, 380, 2463, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 380, 2464, 2610, 2610, 2610, 2465, 2610, 2610, 2465, 379, 2465, 2466, 380, 379, 2610, 2610, 2610, 2610, 2468, 2465, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 380, 2610, 2610, 2610, 380, 2610, 2610, 2610, 2610, 381, 2466, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2467, 2610, 2610, 2610, 2467, 2610, 2610, 2610, 2610, 382, 2467, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 382, 2468, 2610, 2610, 2610, 2469, 2610, 2610, 2469, 381, 2469, 2470, 382, 381, 2610, 2610, 2610, 2610, 1748, 2469, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 382, 2610, 2610, 2610, 382, 2610, 2610, 2610, 2610, 383, 2470, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2471, 2610, 2610, 2610, 2471, 2610, 2610, 2610, 2610, 99, 2471, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 99, 2472, 2610, 438, 2610, 2473, 2476, 2610, 2476, 438, 2476, 2478, 399, 398, 2610, 438, 2480, 2425, 2404, 2473, 2610, 439, 2610, 2610, 2474, 2610, 2474, 439, 2474, 2610, 2610, 399, 2610, 439, 2475, 2426, 442, 2474, 2610, 440, 2610, 2610, 2610, 2610, 2610, 440, 2610, 2610, 2610, 400, 2610, 440, 2610, 2610, 25, 2475, 2610, 441, 2610, 2610, 2610, 2610, 2610, 441, 2610, 2610, 2610, 401, 2610, 441, 2610, 2610, 403, 2476, 2610, 1740, 2610, 2474, 2610, 2610, 2474, 1740, 2474, 2477, 400, 2413, 2610, 1740, 2610, 2610, 482, 2477, 2610, 1741, 2610, 2610, 2610, 2610, 2610, 1741, 2610, 2610, 2610, 2414, 2610, 1741, 2610, 2610, 26, 2478, 2610, 2355, 2610, 2610, 2477, 2610, 2477, 2355, 2477, 2610, 2610, 2415, 2610, 2355, 2479, 2427, 443, 2479, 2610, 2358, 2610, 2610, 2610, 2610, 2610, 2358, 2610, 2610, 2610, 2416, 2610, 2358, 2610, 2610, 404, 2480, 2610, 2359, 2610, 2475, 2610, 2610, 2475, 2359, 2475, 2479, 401, 2418, 2610, 2359, 2610, 2610, 2361, 2481, 2610, 436, 2610, 356, 2610, 2610, 356, 436, 356, 2482, 2610, 2610, 2610, 436, 2610, 2610, 438, 2482, 2610, 437, 2610, 2610, 2610, 2610, 2610, 437, 2610, 2610, 2610, 2610, 2610, 437, 2610, 2610, 23, 2483, 2610, 2420, 2610, 2610, 2482, 2610, 2482, 2420, 2482, 2610, 2610, 2610, 2610, 2420, 2484, 2485, 399, 2484, 2610, 2421, 2610, 2610, 2610, 2610, 2610, 2421, 2610, 2610, 2610, 2610, 2610, 2421, 2610, 2610, 360, 2485, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 318, 2486, 2610, 2424, 2610, 357, 2610, 2610, 357, 2424, 357, 2484, 2610, 2610, 2610, 2424, 2610, 2610, 2425, 2487, 2610, 2610, 2610, 2610, 1801, 2610, 1801, 2488, 1801, 2610, 2610, 2488, 2610, 2610, 2490, 2610, 355, 2488, 2610, 2610, 2610, 2610, 393, 2610, 393, 2610, 393, 2610, 2610, 2610, 2610, 2610, 2489, 2610, 355, 2489, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 316, 2490, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2489, 2610, 2610, 2610, 2489, 2610, 2610, 2610, 2610, 316, 2491, 2610, 2610, 2610, 353, 2610, 2610, 353, 2492, 353, 2490, 314, 2492, 2610, 2610, 2610, 2610, 2493, 2492, 2610, 2610, 2610, 314, 2610, 2610, 314, 2610, 314, 2489, 2610, 2610, 2610, 2610, 2610, 2610, 2493, 2493, 2610, 2610, 2610, 2494, 2610, 2610, 2494, 315, 2494, 2495, 316, 315, 2610, 2610, 2610, 2610, 2496, 2494, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 316, 2610, 2610, 2610, 316, 2610, 2610, 2610, 2610, 317, 2495, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2485, 2610, 2610, 2610, 2485, 2610, 2610, 2610, 2610, 318, 2496, 2610, 2610, 2610, 2497, 2610, 2610, 2497, 317, 2497, 2498, 318, 317, 2610, 2610, 2610, 2610, 2500, 2497, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 318, 2610, 2610, 2610, 318, 2610, 2610, 2610, 2610, 319, 2498, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2499, 2610, 2610, 2610, 2499, 2610, 2610, 2610, 2610, 320, 2499, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 320, 2500, 2610, 2610, 2610, 2501, 2610, 2610, 2501, 319, 2501, 2502, 320, 319, 2610, 2610, 2610, 2610, 2504, 2501, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 320, 2610, 2610, 2610, 320, 2610, 2610, 2610, 2610, 321, 2502, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2503, 2610, 2610, 2610, 2503, 2610, 2610, 2610, 2610, 322, 2503, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 322, 2504, 2610, 2610, 2610, 2505, 2610, 2610, 2505, 321, 2505, 2506, 322, 321, 2610, 2610, 2610, 2610, 2508, 2505, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 322, 2610, 2610, 2610, 322, 2610, 2610, 2610, 2610, 323, 2506, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2507, 2610, 2610, 2610, 2507, 2610, 2610, 2610, 2610, 324, 2507, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 324, 2508, 2610, 2610, 2610, 2509, 2610, 2610, 2509, 323, 2509, 2510, 324, 323, 2610, 2610, 2610, 2610, 2512, 2509, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 324, 2610, 2610, 2610, 324, 2610, 2610, 2610, 2610, 325, 2510, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2511, 2610, 2610, 2610, 2511, 2610, 2610, 2610, 2610, 326, 2511, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 326, 2512, 2610, 2610, 2610, 2513, 2610, 2610, 2513, 325, 2513, 2514, 326, 325, 2610, 2610, 2610, 2610, 2516, 2513, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 326, 2610, 2610, 2610, 326, 2610, 2610, 2610, 2610, 327, 2514, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2515, 2610, 2610, 2610, 2515, 2610, 2610, 2610, 2610, 328, 2515, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 328, 2516, 2610, 2610, 2610, 2517, 2610, 2610, 2517, 327, 2517, 2518, 328, 327, 2610, 2610, 2610, 2610, 2520, 2517, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 328, 2610, 2610, 2610, 328, 2610, 2610, 2610, 2610, 329, 2518, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2519, 2610, 2610, 2610, 2519, 2610, 2610, 2610, 2610, 330, 2519, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 330, 2520, 2610, 2610, 2610, 2521, 2610, 2610, 2521, 329, 2521, 2522, 330, 329, 2610, 2610, 2610, 2610, 2524, 2521, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 330, 2610, 2610, 2610, 330, 2610, 2610, 2610, 2610, 331, 2522, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2523, 2610, 2610, 2610, 2523, 2610, 2610, 2610, 2610, 332, 2523, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 332, 2524, 2610, 2610, 2610, 2525, 2610, 2610, 2525, 331, 2525, 2526, 332, 331, 2610, 2610, 2610, 2610, 2528, 2525, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 332, 2610, 2610, 2610, 332, 2610, 2610, 2610, 2610, 333, 2526, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2527, 2610, 2610, 2610, 2527, 2610, 2610, 2610, 2610, 334, 2527, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 334, 2528, 2610, 2610, 2610, 2529, 2610, 2610, 2529, 333, 2529, 2530, 334, 333, 2610, 2610, 2610, 2610, 2532, 2529, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 334, 2610, 2610, 2610, 334, 2610, 2610, 2610, 2610, 335, 2530, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2531, 2610, 2610, 2610, 2531, 2610, 2610, 2610, 2610, 336, 2531, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 336, 2532, 2610, 2610, 2610, 2533, 2610, 2610, 2533, 335, 2533, 2534, 336, 335, 2610, 2610, 2610, 2610, 2536, 2533, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 336, 2610, 2610, 2610, 336, 2610, 2610, 2610, 2610, 337, 2534, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2535, 2610, 2610, 2610, 2535, 2610, 2610, 2610, 2610, 338, 2535, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 338, 2536, 2610, 2610, 2610, 2537, 2610, 2610, 2537, 337, 2537, 2538, 338, 337, 2610, 2610, 2610, 2610, 2540, 2537, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 338, 2610, 2610, 2610, 338, 2610, 2610, 2610, 2610, 339, 2538, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2539, 2610, 2610, 2610, 2539, 2610, 2610, 2610, 2610, 340, 2539, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 340, 2540, 2610, 2610, 2610, 2541, 2610, 2610, 2541, 339, 2541, 2542, 340, 339, 2610, 2610, 2610, 2610, 1780, 2541, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 340, 2610, 2610, 2610, 340, 2610, 2610, 2610, 2610, 341, 2542, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2543, 2610, 2610, 2610, 2543, 2610, 2610, 2610, 2610, 102, 2543, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 2610, 102, 2544, 2610, 394, 2610, 2545, 2548, 2610, 2548, 394, 2548, 2550, 355, 354, 2610, 394, 2552, 2493, 2472, 2545, 2610, 395, 2610, 2610, 2546, 2610, 2546, 395, 2546, 2610, 2610, 355, 2610, 395, 2547, 2494, 398, 2546, 2610, 396, 2610, 2610, 2610, 2610, 2610, 396, 2610, 2610, 2610, 356, 2610, 396, 2610, 2610, 22, 2547, 2610, 397, 2610, 2610, 2610, 2610, 2610, 397, 2610, 2610, 2610, 357, 2610, 397, 2610, 2610, 359, 2548, 2610, 1772, 2610, 2546, 2610, 2610, 2546, 1772, 2546, 2549, 356, 2481, 2610, 1772, 2610, 2610, 438, 2549, 2610, 1773, 2610, 2610, 2610, 2610, 2610, 1773, 2610, 2610, 2610, 2482, 2610, 1773, 2610, 2610, 23, 2550, 2610, 2419, 2610, 2610, 2549, 2610, 2549, 2419, 2549, 2610, 2610, 2483, 2610, 2419, 2551, 2495, 399, 2551, 2610, 2422, 2610, 2610, 2610, 2610, 2610, 2422, 2610, 2610, 2610, 2484, 2610, 2422, 2610, 2610, 360, 2552, 2610, 2423, 2610, 2547, 2610, 2610, 2547, 2423, 2547, 2551, 357, 2486, 2610, 2423, 2610, 2610, 2425, 2553, 2610, 392, 2610, 312, 2610, 2610, 312, 392, 312, 2554, 2610, 2610, 2610, 392, 2610, 2610, 394, 2554, 2610, 393, 2610, 2610, 2610, 2610, 2610, 393, 2610, 2610, 2610, 2610, 2610, 393, 2610, 2610, 20, 2555, 2610, 2488, 2610, 2610, 2554, 2610, 2554, 2488, 2554, 2610, 2610, 2610, 2610, 2488, 2556, 1834, 355, 2556, 2610, 2489, 2610, 2610, 2610, 2610, 2610, 2489, 2610, 2610, 2610, 2610, 2610, 2489, 2610, 2610, 316, 2557, 2610, 2492, 2610, 313, 2610, 2610, 313, 2492, 313, 2556, 2610, 2610, 2610, 2492, 2610, 2610, 2493, 2558, 2610, 350, 2610, 2559, 2562, 2610, 2562, 350, 2562, 2564, 311, 310, 2610, 350, 2566, 1831, 2544, 2559, 2610, 351, 2610, 2610, 2560, 2610, 2560, 351, 2560, 2610, 2610, 311, 2610, 351, 2561, 1832, 354, 2560, 2610, 352, 2610, 2610, 2610, 2610, 2610, 352, 2610, 2610, 2610, 312, 2610, 352, 2610, 2610, 19, 2561, 2610, 353, 2610, 2610, 2610, 2610, 2610, 353, 2610, 2610, 2610, 313, 2610, 353, 2610, 2610, 315, 2562, 2610, 1800, 2610, 2560, 2610, 2610, 2560, 1800, 2560, 2563, 312, 2553, 2610, 1800, 2610, 2610, 394, 2563, 2610, 1801, 2610, 2610, 2610, 2610, 2610, 1801, 2610, 2610, 2610, 2554, 2610, 1801, 2610, 2610, 20, 2564, 2610, 2487, 2610, 2610, 2563, 2610, 2563, 2487, 2563, 2610, 2610, 2555, 2610, 2487, 2565, 1833, 355, 2565, 2610, 2490, 2610, 2610, 2610, 2610, 2610, 2490, 2610, 2610, 2610, 2556, 2610, 2490, 2610, 2610, 316, 2566, 2610, 2491, 2610, 2561, 2610, 2610, 2561, 2491, 2561, 2565, 313, 2557, 2610, 2491, 2610, 2610, 2493, 2567, 2610, 996, 2610, 258, 2568, 2610, 2568, 996, 258, 2570, 2610, 2610, 1904, 996, 2573, 2574, 1002, 2568, 2610, 997, 2610, 259, 2610, 2610, 259, 997, 259, 2569, 2610, 2610, 928, 997, 2610, 2610, 109, 2569, 2610, 998, 2610, 2610, 2610, 2610, 2610, 998, 2610, 2610, 2610, 2610, 929, 998, 2610, 2610, 10, 2570, 2610, 999, 2610, 2610, 2569, 2610, 2569, 999, 2610, 2610, 2610, 2610, 1901, 999, 2571, 2572, 115, 2571, 2610, 1000, 2610, 2610, 2610, 2610, 2610, 1000, 2610, 2610, 2610, 2610, 1902, 1000, 2610, 2610, 14, 2572, 2610, 349, 2610, 2610, 2610, 2610, 2610, 349, 2610, 2610, 2610, 2610, 2610, 349, 2610, 2610, 17, 2573, 2610, 1001, 2610, 260, 2610, 2610, 260, 1001, 260, 2571, 2610, 2610, 1905, 1001, 2610, 2610, 306, 2574, 2610, 348, 2610, 261, 2610, 2610, 261, 348, 261, 2572, 2610, 2610, 2610, 348, 2610, 2610, 350, 2575, 2610, 1028, 2610, 2610, 2570, 2610, 2570, 1028, 2570, 2610, 2610, 2610, 1908, 1028, 2576, 1062, 257, 2576, 2610, 1029, 2610, 2610, 2577, 2610, 2577, 1029, 2610, 2610, 2610, 2610, 1909, 1029, 2578, 2579, 211, 2577, 2610, 1030, 2610, 2610, 2610, 2610, 2610, 1030, 2610, 2610, 2610, 2610, 933, 1030, 2610, 2610, 62, 2578, 2610, 1031, 2610, 2610, 2610, 2610, 2610, 1031, 2610, 2610, 2610, 2610, 1910, 1031, 2610, 2610, 123, 2579, 2610, 1032, 2610, 2610, 2610, 2610, 2610, 1032, 2610, 2610, 2610, 2610, 2610, 1032, 2610, 2610, 270, 2580, 2610, 1828, 2610, 262, 2581, 2610, 2581, 1828, 262, 2576, 2610, 2610, 1916, 1828, 2582, 2583, 1047, 2581, 2610, 1827, 2610, 263, 2610, 2610, 263, 1827, 263, 2577, 2610, 2610, 934, 1827, 2610, 2610, 936, 2582, 2610, 1829, 2610, 265, 2610, 2610, 265, 1829, 265, 2578, 2610, 2610, 1917, 1829, 2610, 2610, 1044, 2583, 2610, 1830, 2610, 267, 2610, 2610, 267, 1830, 267, 2579, 2610, 2610, 2610, 1830, 2610, 2610, 1831, 2584, 2610, 1003, 2610, 2610, 2585, 10, 2585, 1003, 2585, 2610, 2610, 257, 1890, 1003, 2589, 1048, 256, 2585, 2610, 1004, 2610, 2610, 2586, 11, 2586, 1004, 2610, 2610, 2610, 258, 1891, 1004, 2587, 2588, 114, 2586, 2610, 1005, 2610, 2610, 2610, 8, 2610, 1005, 2610, 2610, 2610, 259, 1892, 1005, 2610, 2610, 9, 2587, 2610, 1006, 2610, 2610, 2610, 12, 2610, 1006, 2610, 2610, 2610, 260, 1893, 1006, 2610, 2610, 13, 2588, 2610, 308, 2610, 2610, 2610, 2610, 2610, 308, 2610, 2610, 2610, 261, 2610, 308, 2610, 2610, 16, 2589, 2610, 1007, 2610, 2610, 2590, 120, 2590, 1007, 2610, 2610, 2610, 262, 1894, 1007, 2591, 2592, 210, 2590, 2610, 1010, 2610, 2610, 2610, 60, 2610, 1010, 2610, 2610, 2610, 263, 1895, 1010, 2610, 2610, 61, 2591, 2610, 1011, 2610, 2610, 2610, 121, 2610, 1011, 2610, 2610, 2610, 265, 1896, 1011, 2610, 2610, 122, 2592, 2610, 309, 2610, 2610, 2610, 2610, 2610, 309, 2610, 2610, 2610, 267, 2610, 309, 2610, 2610, 269, 2593, 2610, 1012, 2610, 2585, 2594, 106, 2594, 1012, 2585, 2596, 258, 2567, 1897, 1012, 2599, 2600, 1002, 2594, 2610, 1013, 2610, 2586, 2610, 107, 2586, 1013, 2586, 2595, 259, 2568, 1898, 1013, 2610, 2610, 109, 2595, 2610, 1014, 2610, 2610, 2610, 108, 2610, 1014, 2610, 2610, 2610, 2569, 1899, 1014, 2610, 2610, 10, 2596, 2610, 1015, 2610, 2610, 2595, 301, 2595, 1015, 2610, 2610, 2610, 2570, 1900, 1015, 2597, 2598, 115, 2597, 2610, 1016, 2610, 2610, 2610, 302, 2610, 1016, 2610, 2610, 2610, 2571, 1903, 1016, 2610, 2610, 14, 2598, 2610, 1017, 2610, 2610, 2610, 2610, 2610, 1017, 2610, 2610, 2610, 2572, 2610, 1017, 2610, 2610, 17, 2599, 2610, 1018, 2610, 2587, 2610, 305, 2587, 1018, 2587, 2597, 260, 2573, 1906, 1018, 2610, 2610, 306, 2600, 2610, 1019, 2610, 2588, 2610, 2610, 2588, 1019, 2588, 2598, 261, 2574, 2610, 1019, 2610, 2610, 350, 2601, 2610, 1020, 2610, 2610, 2596, 1022, 2596, 1020, 2596, 2610, 2610, 2575, 1907, 1020, 2602, 1057, 257, 2602, 2610, 1034, 2610, 2610, 2603, 1023, 2603, 1034, 2610, 2610, 2610, 2576, 1911, 1034, 2604, 2605, 211, 2603, 2610, 1035, 2610, 2610, 2610, 932, 2610, 1035, 2610, 2610, 2610, 2577, 1912, 1035, 2610, 2610, 62, 2604, 2610, 1036, 2610, 2610, 2610, 1024, 2610, 1036, 2610, 2610, 2610, 2578, 1913, 1036, 2610, 2610, 123, 2605, 2610, 1037, 2610, 2610, 2610, 2610, 2610, 1037, 2610, 2610, 2610, 2579, 2610, 1037, 2610, 2610, 270, 2606, 2610, 1039, 2610, 2589, 2607, 1042, 2607, 1039, 2589, 2602, 262, 2580, 1914, 1039, 2608, 2609, 1047, 2607, 2610, 1826, 2610, 2590, 2610, 935, 2590, 1826, 2590, 2603, 263, 2581, 1915, 1826, 2610, 2610, 936, 2608, 2610, 1887, 2610, 2591, 2610, 1043, 2591, 1887, 2591, 2604, 265, 2582, 1918, 1887, 2610, 2610, 1044, 2609, 2610, 1888, 2610, 2592, 2610, 2610, 2592, 1888, 2592, 2605, 267, 2583, 2610, 1888, 2610, 2610, 1831, }; /* Vector of min issue delay of insns. */ static const unsigned char bdver3_fp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 8, 8, 9, 8, 9, 8, 8, 9, 9, 9, 9, 8, 9, 0, 0, 8, 8, 8, 7, 7, 8, 7, 8, 7, 7, 8, 8, 8, 8, 7, 8, 0, 0, 7, 7, 7, 6, 6, 7, 6, 7, 6, 6, 7, 7, 7, 7, 6, 7, 0, 0, 6, 6, 6, 5, 5, 6, 5, 6, 5, 5, 6, 6, 6, 6, 5, 6, 0, 0, 5, 5, 5, 4, 4, 5, 4, 5, 4, 4, 5, 5, 5, 5, 4, 5, 0, 0, 4, 4, 4, 3, 3, 4, 3, 4, 3, 3, 4, 4, 4, 4, 3, 4, 0, 0, 3, 3, 3, 2, 2, 3, 2, 3, 2, 2, 3, 3, 3, 3, 2, 3, 0, 0, 2, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 2, 1, 2, 1, 0, 2, 0, 1, 0, 1, 2, 2, 1, 1, 0, 1, 0, 0, 2, 1, 2, 1, 0, 2, 0, 2, 1, 1, 2, 2, 1, 2, 0, 1, 0, 0, 18, 2, 18, 1, 1, 18, 1, 2, 1, 1, 2, 2, 18, 2, 1, 2, 0, 0, 17, 1, 17, 0, 0, 17, 0, 1, 0, 0, 1, 1, 17, 1, 0, 1, 0, 0, 17, 1, 17, 1, 0, 17, 0, 1, 0, 1, 2, 2, 17, 1, 0, 1, 0, 0, 17, 2, 17, 1, 1, 17, 1, 2, 1, 1, 2, 2, 17, 2, 1, 2, 0, 0, 16, 1, 16, 0, 0, 16, 0, 1, 0, 0, 1, 1, 16, 1, 0, 1, 0, 0, 16, 1, 16, 1, 0, 16, 0, 1, 0, 1, 2, 2, 16, 1, 0, 1, 0, 0, 16, 2, 16, 1, 1, 16, 1, 2, 1, 1, 2, 2, 16, 2, 1, 2, 0, 0, 15, 1, 15, 0, 0, 15, 0, 1, 0, 0, 1, 1, 15, 1, 0, 1, 0, 0, 15, 1, 15, 1, 0, 15, 0, 1, 0, 1, 2, 2, 15, 1, 0, 1, 0, 0, 15, 2, 15, 1, 1, 15, 1, 2, 1, 1, 2, 2, 15, 2, 1, 2, 0, 0, 14, 1, 14, 0, 0, 14, 0, 1, 0, 0, 1, 1, 14, 1, 0, 1, 0, 0, 14, 1, 14, 1, 0, 14, 0, 1, 0, 1, 2, 2, 14, 1, 0, 1, 0, 0, 14, 2, 14, 1, 1, 14, 1, 2, 1, 1, 2, 2, 14, 2, 1, 2, 0, 0, 13, 1, 13, 0, 0, 13, 0, 1, 0, 0, 1, 1, 13, 1, 0, 1, 0, 0, 13, 1, 13, 1, 0, 13, 0, 1, 0, 1, 2, 2, 13, 1, 0, 1, 0, 0, 13, 2, 13, 1, 1, 13, 1, 2, 1, 1, 2, 2, 13, 2, 1, 2, 0, 0, 12, 1, 12, 0, 0, 12, 0, 1, 0, 0, 1, 1, 12, 1, 0, 1, 0, 0, 12, 1, 12, 1, 0, 12, 0, 1, 0, 1, 2, 2, 12, 1, 0, 1, 0, 0, 12, 2, 12, 1, 1, 12, 1, 2, 1, 1, 2, 2, 12, 2, 1, 2, 0, 0, 11, 1, 11, 0, 0, 11, 0, 1, 0, 0, 1, 1, 11, 1, 0, 1, 0, 0, 11, 1, 11, 1, 0, 11, 0, 1, 0, 1, 2, 2, 11, 1, 0, 1, 0, 0, 11, 2, 11, 1, 1, 11, 1, 2, 1, 1, 2, 2, 11, 2, 1, 2, 0, 0, 10, 1, 10, 0, 0, 10, 0, 1, 0, 0, 1, 1, 10, 1, 0, 1, 0, 0, 10, 1, 10, 1, 0, 10, 0, 1, 0, 1, 2, 2, 10, 1, 0, 1, 0, 0, 10, 2, 10, 1, 1, 10, 1, 2, 1, 1, 2, 2, 10, 2, 1, 2, 0, 0, 9, 1, 9, 0, 0, 9, 0, 1, 0, 0, 1, 1, 9, 1, 0, 1, 0, 0, 9, 1, 9, 1, 0, 9, 0, 1, 0, 1, 2, 2, 9, 1, 0, 1, 0, 0, 9, 2, 9, 1, 1, 9, 1, 2, 1, 1, 2, 2, 9, 2, 1, 2, 0, 0, 8, 1, 8, 0, 0, 8, 0, 1, 0, 0, 1, 1, 8, 1, 0, 1, 0, 0, 8, 1, 8, 1, 0, 8, 0, 1, 0, 1, 2, 2, 8, 1, 0, 1, 0, 0, 8, 2, 8, 1, 1, 8, 1, 2, 1, 1, 2, 2, 8, 2, 1, 2, 0, 0, 7, 1, 7, 0, 0, 7, 0, 1, 0, 0, 1, 1, 7, 1, 0, 1, 0, 0, 7, 1, 7, 1, 0, 7, 0, 1, 0, 1, 2, 2, 7, 1, 0, 1, 0, 0, 7, 2, 7, 1, 1, 7, 1, 2, 1, 1, 2, 2, 7, 2, 1, 2, 0, 0, 6, 1, 6, 0, 0, 6, 0, 1, 0, 0, 1, 1, 6, 1, 0, 1, 0, 0, 6, 1, 6, 1, 0, 6, 0, 1, 0, 1, 2, 2, 6, 1, 0, 1, 0, 0, 6, 2, 6, 1, 1, 6, 1, 2, 1, 1, 2, 2, 6, 2, 1, 2, 0, 0, 5, 1, 5, 0, 0, 5, 0, 1, 0, 0, 1, 1, 5, 1, 0, 1, 0, 0, 5, 1, 5, 1, 0, 5, 0, 1, 0, 1, 2, 2, 5, 1, 0, 1, 0, 0, 5, 2, 5, 1, 1, 5, 1, 2, 1, 1, 2, 2, 5, 2, 1, 2, 0, 0, 4, 1, 4, 0, 0, 4, 0, 1, 0, 0, 1, 1, 4, 1, 0, 1, 0, 0, 4, 1, 4, 1, 0, 4, 0, 1, 0, 1, 2, 2, 4, 1, 0, 1, 0, 0, 4, 2, 4, 1, 1, 4, 1, 2, 1, 1, 2, 2, 4, 2, 1, 2, 0, 0, 3, 1, 3, 0, 0, 3, 0, 1, 0, 0, 1, 1, 3, 1, 0, 1, 0, 0, 3, 1, 3, 1, 0, 3, 0, 1, 0, 1, 2, 2, 3, 1, 0, 1, 0, 0, 3, 2, 3, 1, 1, 3, 1, 2, 1, 1, 2, 2, 3, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 0, 1, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 2, 1, 2, 1, 0, 2, 0, 1, 0, 1, 2, 2, 2, 1, 0, 1, 0, 0, 18, 2, 18, 1, 1, 18, 1, 2, 1, 1, 2, 2, 2, 18, 1, 2, 0, 0, 17, 1, 17, 0, 0, 17, 0, 1, 0, 0, 1, 1, 1, 17, 0, 1, 0, 0, 17, 1, 17, 1, 0, 17, 0, 2, 1, 1, 2, 2, 1, 17, 0, 1, 0, 0, 17, 2, 17, 1, 1, 17, 1, 2, 1, 1, 2, 2, 2, 17, 1, 2, 0, 0, 16, 1, 16, 0, 0, 16, 0, 1, 0, 0, 1, 1, 1, 16, 0, 1, 0, 0, 16, 1, 16, 1, 0, 16, 0, 2, 1, 1, 2, 2, 1, 16, 0, 1, 0, 0, 16, 2, 16, 1, 1, 16, 1, 2, 1, 1, 2, 2, 2, 16, 1, 2, 0, 0, 15, 1, 15, 0, 0, 15, 0, 1, 0, 0, 1, 1, 1, 15, 0, 1, 0, 0, 15, 1, 15, 1, 0, 15, 0, 2, 1, 1, 2, 2, 1, 15, 0, 1, 0, 0, 15, 2, 15, 1, 1, 15, 1, 2, 1, 1, 2, 2, 2, 15, 1, 2, 0, 0, 14, 1, 14, 0, 0, 14, 0, 1, 0, 0, 1, 1, 1, 14, 0, 1, 0, 0, 14, 1, 14, 1, 0, 14, 0, 2, 1, 1, 2, 2, 1, 14, 0, 1, 0, 0, 14, 2, 14, 1, 1, 14, 1, 2, 1, 1, 2, 2, 2, 14, 1, 2, 0, 0, 13, 1, 13, 0, 0, 13, 0, 1, 0, 0, 1, 1, 1, 13, 0, 1, 0, 0, 13, 1, 13, 1, 0, 13, 0, 2, 1, 1, 2, 2, 1, 13, 0, 1, 0, 0, 13, 2, 13, 1, 1, 13, 1, 2, 1, 1, 2, 2, 2, 13, 1, 2, 0, 0, 12, 1, 12, 0, 0, 12, 0, 1, 0, 0, 1, 1, 1, 12, 0, 1, 0, 0, 12, 1, 12, 1, 0, 12, 0, 2, 1, 1, 2, 2, 1, 12, 0, 1, 0, 0, 12, 2, 12, 1, 1, 12, 1, 2, 1, 1, 2, 2, 2, 12, 1, 2, 0, 0, 11, 1, 11, 0, 0, 11, 0, 1, 0, 0, 1, 1, 1, 11, 0, 1, 0, 0, 11, 1, 11, 1, 0, 11, 0, 2, 1, 1, 2, 2, 1, 11, 0, 1, 0, 0, 11, 2, 11, 1, 1, 11, 1, 2, 1, 1, 2, 2, 2, 11, 1, 2, 0, 0, 10, 1, 10, 0, 0, 10, 0, 1, 0, 0, 1, 1, 1, 10, 0, 1, 0, 0, 10, 1, 10, 1, 0, 10, 0, 2, 1, 1, 2, 2, 1, 10, 0, 1, 0, 0, 10, 2, 10, 1, 1, 10, 1, 2, 1, 1, 2, 2, 2, 10, 1, 2, 0, 0, 9, 1, 9, 0, 0, 9, 0, 1, 0, 0, 1, 1, 1, 9, 0, 1, 0, 0, 9, 1, 9, 1, 0, 9, 0, 2, 1, 1, 2, 2, 1, 9, 0, 1, 0, 0, 9, 2, 9, 1, 1, 9, 1, 2, 1, 1, 2, 2, 2, 9, 1, 2, 0, 0, 8, 1, 8, 0, 0, 8, 0, 1, 0, 0, 1, 1, 1, 8, 0, 1, 0, 0, 8, 1, 8, 1, 0, 8, 0, 2, 1, 1, 2, 2, 1, 8, 0, 1, 0, 0, 8, 2, 8, 1, 1, 8, 1, 2, 1, 1, 2, 2, 2, 8, 1, 2, 0, 0, 7, 1, 7, 0, 0, 7, 0, 1, 0, 0, 1, 1, 1, 7, 0, 1, 0, 0, 7, 1, 7, 1, 0, 7, 0, 2, 1, 1, 2, 2, 1, 7, 0, 1, 0, 0, 7, 2, 7, 1, 1, 7, 1, 2, 1, 1, 2, 2, 2, 7, 1, 2, 0, 0, 6, 1, 6, 0, 0, 6, 0, 1, 0, 0, 1, 1, 1, 6, 0, 1, 0, 0, 6, 1, 6, 1, 0, 6, 0, 2, 1, 1, 2, 2, 1, 6, 0, 1, 0, 0, 6, 2, 6, 1, 1, 6, 1, 2, 1, 1, 2, 2, 2, 6, 1, 2, 0, 0, 5, 1, 5, 0, 0, 5, 0, 1, 0, 0, 1, 1, 1, 5, 0, 1, 0, 0, 5, 1, 5, 1, 0, 5, 0, 2, 1, 1, 2, 2, 1, 5, 0, 1, 0, 0, 5, 2, 5, 1, 1, 5, 1, 2, 1, 1, 2, 2, 2, 5, 1, 2, 0, 0, 4, 1, 4, 0, 0, 4, 0, 1, 0, 0, 1, 1, 1, 4, 0, 1, 0, 0, 4, 1, 4, 1, 0, 4, 0, 2, 1, 1, 2, 2, 1, 4, 0, 1, 0, 0, 4, 2, 4, 1, 1, 4, 1, 2, 1, 1, 2, 2, 2, 4, 1, 2, 0, 0, 3, 1, 3, 0, 0, 3, 0, 1, 0, 0, 1, 1, 1, 3, 0, 1, 0, 0, 3, 1, 3, 1, 0, 3, 0, 2, 1, 1, 2, 2, 1, 3, 0, 1, 0, 0, 3, 2, 3, 1, 1, 3, 1, 2, 1, 1, 2, 2, 2, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 0, 1, 0, 0, 1, 1, 1, 2, 0, 1, 0, 0, 2, 2, 2, 0, 1, 2, 0, 1, 0, 0, 1, 1, 2, 2, 1, 2, 0, 0, 3, 2, 3, 2, 1, 3, 1, 2, 1, 2, 3, 3, 2, 2, 1, 2, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 2, 1, 2, 1, 0, 2, 0, 0, 0, 1, 2, 0, 1, 1, 0, 1, 0, 0, 2, 1, 2, 1, 0, 2, 0, 0, 1, 1, 2, 0, 1, 2, 0, 1, 0, 0, 2, 2, 2, 1, 1, 2, 1, 0, 1, 1, 2, 0, 2, 2, 1, 2, 0, 0, 18, 2, 18, 1, 1, 18, 1, 0, 1, 1, 2, 0, 18, 2, 1, 2, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 1, 0, 1, 2, 2, 0, 1, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 2, 1, 1, 2, 2, 0, 2, 0, 0, 0, 0, 2, 0, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 0, 2, 1, 2, 0, 0, 18, 0, 18, 1, 1, 18, 1, 2, 1, 1, 2, 2, 0, 2, 1, 2, 0, 0, 18, 0, 18, 1, 0, 18, 0, 2, 1, 1, 2, 2, 0, 18, 0, 0, 0, 0, 18, 1, 18, 1, 0, 18, 0, 2, 1, 1, 2, 2, 1, 18, 0, 1, 0, 0, 18, 18, 18, 1, 17, 18, 1, 2, 1, 1, 2, 2, 18, 18, 17, 18, 0, 0, 17, 17, 17, 0, 16, 17, 0, 1, 0, 0, 1, 1, 17, 17, 16, 17, 0, 0, 17, 17, 17, 1, 16, 17, 1, 2, 1, 1, 2, 2, 17, 17, 16, 17, 0, 0, 16, 16, 16, 0, 15, 16, 0, 1, 0, 0, 1, 1, 16, 16, 15, 16, 0, 0, 16, 16, 16, 1, 15, 16, 1, 2, 1, 1, 2, 2, 16, 16, 15, 16, 0, 0, 15, 15, 15, 0, 14, 15, 0, 1, 0, 0, 1, 1, 15, 15, 14, 15, 0, 0, 15, 15, 15, 1, 14, 15, 1, 2, 1, 1, 2, 2, 15, 15, 14, 15, 0, 0, 14, 14, 14, 0, 13, 14, 0, 1, 0, 0, 1, 1, 14, 14, 13, 14, 0, 0, 14, 14, 14, 1, 13, 14, 1, 2, 1, 1, 2, 2, 14, 14, 13, 14, 0, 0, 13, 13, 13, 0, 12, 13, 0, 1, 0, 0, 1, 1, 13, 13, 12, 13, 0, 0, 13, 13, 13, 1, 12, 13, 1, 2, 1, 1, 2, 2, 13, 13, 12, 13, 0, 0, 12, 12, 12, 0, 11, 12, 0, 1, 0, 0, 1, 1, 12, 12, 11, 12, 0, 0, 12, 12, 12, 1, 11, 12, 1, 2, 1, 1, 2, 2, 12, 12, 11, 12, 0, 0, 11, 11, 11, 0, 10, 11, 0, 1, 0, 0, 1, 1, 11, 11, 10, 11, 0, 0, 11, 11, 11, 1, 10, 11, 1, 2, 1, 1, 2, 2, 11, 11, 10, 11, 0, 0, 10, 10, 10, 0, 9, 10, 0, 1, 0, 0, 1, 1, 10, 10, 9, 10, 0, 0, 10, 10, 10, 1, 9, 10, 1, 2, 1, 1, 2, 2, 10, 10, 9, 10, 0, 0, 9, 9, 9, 0, 8, 9, 0, 1, 0, 0, 1, 1, 9, 9, 8, 9, 0, 0, 9, 9, 9, 1, 8, 9, 1, 2, 1, 1, 2, 2, 9, 9, 8, 9, 0, 0, 8, 8, 8, 0, 7, 8, 0, 1, 0, 0, 1, 1, 8, 8, 7, 8, 0, 0, 8, 8, 8, 1, 7, 8, 1, 2, 1, 1, 2, 2, 8, 8, 7, 8, 0, 0, 7, 7, 7, 0, 6, 7, 0, 1, 0, 0, 1, 1, 7, 7, 6, 7, 0, 0, 7, 7, 7, 1, 6, 7, 1, 2, 1, 1, 2, 2, 7, 7, 6, 7, 0, 0, 6, 6, 6, 0, 5, 6, 0, 1, 0, 0, 1, 1, 6, 6, 5, 6, 0, 0, 6, 6, 6, 1, 5, 6, 1, 2, 1, 1, 2, 2, 6, 6, 5, 6, 0, 0, 5, 5, 5, 0, 4, 5, 0, 1, 0, 0, 1, 1, 5, 5, 4, 5, 0, 0, 5, 5, 5, 1, 4, 5, 1, 2, 1, 1, 2, 2, 5, 5, 4, 5, 0, 0, 4, 4, 4, 0, 3, 4, 0, 1, 0, 0, 1, 1, 4, 4, 3, 4, 0, 0, 4, 4, 4, 1, 3, 4, 1, 2, 1, 1, 2, 2, 4, 4, 3, 4, 0, 0, 3, 3, 3, 0, 2, 3, 0, 1, 0, 0, 1, 1, 3, 3, 2, 3, 0, 0, 3, 3, 3, 1, 2, 3, 1, 2, 1, 1, 2, 2, 3, 3, 2, 3, 0, 0, 2, 2, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 3, 2, 3, 2, 1, 3, 1, 0, 1, 2, 3, 0, 2, 2, 1, 2, 0, 0, 4, 4, 4, 2, 3, 4, 2, 3, 2, 2, 3, 3, 4, 4, 3, 4, 0, 0, 3, 3, 3, 0, 2, 3, 0, 0, 0, 0, 0, 0, 3, 3, 2, 3, 0, 0, 3, 3, 3, 1, 2, 3, 1, 0, 1, 1, 2, 0, 3, 3, 2, 3, 0, 0, 3, 3, 3, 2, 2, 3, 2, 0, 2, 2, 3, 0, 3, 3, 2, 3, 0, 0, 5, 5, 5, 2, 4, 5, 2, 3, 2, 2, 3, 3, 5, 5, 4, 5, 0, 0, 4, 4, 4, 0, 3, 4, 0, 0, 0, 0, 0, 0, 4, 4, 3, 4, 0, 0, 4, 4, 4, 1, 3, 4, 1, 0, 1, 1, 2, 0, 4, 4, 3, 4, 0, 0, 4, 4, 4, 2, 3, 4, 2, 0, 2, 2, 3, 0, 4, 4, 3, 4, 0, 0, 6, 6, 6, 2, 5, 6, 2, 3, 2, 2, 3, 3, 6, 6, 5, 6, 0, 0, 5, 5, 5, 0, 4, 5, 0, 0, 0, 0, 0, 0, 5, 5, 4, 5, 0, 0, 5, 5, 5, 1, 4, 5, 1, 0, 1, 1, 2, 0, 5, 5, 4, 5, 0, 0, 5, 5, 5, 2, 4, 5, 2, 0, 2, 2, 3, 0, 5, 5, 4, 5, 0, 0, 7, 7, 7, 2, 6, 7, 2, 3, 2, 2, 3, 3, 7, 7, 6, 7, 0, 0, 6, 6, 6, 0, 5, 6, 0, 0, 0, 0, 0, 0, 6, 6, 5, 6, 0, 0, 6, 6, 6, 1, 5, 6, 1, 0, 1, 1, 2, 0, 6, 6, 5, 6, 0, 0, 6, 6, 6, 2, 5, 6, 2, 0, 2, 2, 3, 0, 6, 6, 5, 6, 0, 0, 8, 8, 8, 2, 7, 8, 2, 3, 2, 2, 3, 3, 8, 8, 7, 8, 0, 0, 7, 7, 7, 0, 6, 7, 0, 0, 0, 0, 0, 0, 7, 7, 6, 7, 0, 0, 7, 7, 7, 1, 6, 7, 1, 0, 1, 1, 2, 0, 7, 7, 6, 7, 0, 0, 7, 7, 7, 2, 6, 7, 2, 0, 2, 2, 3, 0, 7, 7, 6, 7, 0, 0, 9, 9, 9, 2, 8, 9, 2, 3, 2, 2, 3, 3, 9, 9, 8, 9, 0, 0, 8, 8, 8, 0, 7, 8, 0, 0, 0, 0, 0, 0, 8, 8, 7, 8, 0, 0, 8, 8, 8, 1, 7, 8, 1, 0, 1, 1, 2, 0, 8, 8, 7, 8, 0, 0, 8, 8, 8, 2, 7, 8, 2, 0, 2, 2, 3, 0, 8, 8, 7, 8, 0, 0, 10, 10, 10, 2, 9, 10, 2, 3, 2, 2, 3, 3, 10, 10, 9, 10, 0, 0, 9, 9, 9, 0, 8, 9, 0, 0, 0, 0, 0, 0, 9, 9, 8, 9, 0, 0, 9, 9, 9, 1, 8, 9, 1, 0, 1, 1, 2, 0, 9, 9, 8, 9, 0, 0, 9, 9, 9, 2, 8, 9, 2, 0, 2, 2, 3, 0, 9, 9, 8, 9, 0, 0, 11, 11, 11, 2, 10, 11, 2, 3, 2, 2, 3, 3, 11, 11, 10, 11, 0, 0, 10, 10, 10, 0, 9, 10, 0, 0, 0, 0, 0, 0, 10, 10, 9, 10, 0, 0, 10, 10, 10, 1, 9, 10, 1, 0, 1, 1, 2, 0, 10, 10, 9, 10, 0, 0, 10, 10, 10, 2, 9, 10, 2, 0, 2, 2, 3, 0, 10, 10, 9, 10, 0, 0, 12, 12, 12, 2, 11, 12, 2, 3, 2, 2, 3, 3, 12, 12, 11, 12, 0, 0, 11, 11, 11, 0, 10, 11, 0, 0, 0, 0, 0, 0, 11, 11, 10, 11, 0, 0, 11, 11, 11, 1, 10, 11, 1, 0, 1, 1, 2, 0, 11, 11, 10, 11, 0, 0, 11, 11, 11, 2, 10, 11, 2, 0, 2, 2, 3, 0, 11, 11, 10, 11, 0, 0, 13, 13, 13, 2, 12, 13, 2, 3, 2, 2, 3, 3, 13, 13, 12, 13, 0, 0, 12, 12, 12, 0, 11, 12, 0, 0, 0, 0, 0, 0, 12, 12, 11, 12, 0, 0, 12, 12, 12, 1, 11, 12, 1, 0, 1, 1, 2, 0, 12, 12, 11, 12, 0, 0, 12, 12, 12, 2, 11, 12, 2, 0, 2, 2, 3, 0, 12, 12, 11, 12, 0, 0, 14, 14, 14, 2, 13, 14, 2, 3, 2, 2, 3, 3, 14, 14, 13, 14, 0, 0, 13, 13, 13, 0, 12, 13, 0, 0, 0, 0, 0, 0, 13, 13, 12, 13, 0, 0, 13, 13, 13, 1, 12, 13, 1, 0, 1, 1, 2, 0, 13, 13, 12, 13, 0, 0, 13, 13, 13, 2, 12, 13, 2, 0, 2, 2, 3, 0, 13, 13, 12, 13, 0, 0, 15, 15, 15, 2, 14, 15, 2, 3, 2, 2, 3, 3, 15, 15, 14, 15, 0, 0, 14, 14, 14, 0, 13, 14, 0, 0, 0, 0, 0, 0, 14, 14, 13, 14, 0, 0, 14, 14, 14, 1, 13, 14, 1, 0, 1, 1, 2, 0, 14, 14, 13, 14, 0, 0, 14, 14, 14, 2, 13, 14, 2, 0, 2, 2, 3, 0, 14, 14, 13, 14, 0, 0, 16, 16, 16, 2, 15, 16, 2, 3, 2, 2, 3, 3, 16, 16, 15, 16, 0, 0, 15, 15, 15, 0, 14, 15, 0, 0, 0, 0, 0, 0, 15, 15, 14, 15, 0, 0, 15, 15, 15, 1, 14, 15, 1, 0, 1, 1, 2, 0, 15, 15, 14, 15, 0, 0, 15, 15, 15, 2, 14, 15, 2, 0, 2, 2, 3, 0, 15, 15, 14, 15, 0, 0, 17, 17, 17, 2, 16, 17, 2, 3, 2, 2, 3, 3, 17, 17, 16, 17, 0, 0, 16, 16, 16, 0, 15, 16, 0, 0, 0, 0, 0, 0, 16, 16, 15, 16, 0, 0, 16, 16, 16, 1, 15, 16, 1, 0, 1, 1, 2, 0, 16, 16, 15, 16, 0, 0, 16, 16, 16, 2, 15, 16, 2, 0, 2, 2, 3, 0, 16, 16, 15, 16, 0, 0, 17, 0, 17, 0, 0, 17, 0, 1, 0, 0, 1, 1, 0, 17, 0, 0, 0, 0, 17, 0, 17, 1, 0, 17, 0, 2, 1, 1, 2, 2, 0, 17, 0, 0, 0, 0, 17, 0, 17, 1, 1, 17, 1, 2, 1, 1, 2, 2, 0, 17, 1, 2, 0, 0, 18, 0, 18, 1, 16, 18, 1, 2, 1, 1, 2, 2, 0, 17, 16, 17, 0, 0, 18, 17, 18, 1, 16, 18, 1, 2, 1, 1, 2, 2, 18, 17, 16, 17, 0, 0, 17, 16, 17, 0, 15, 17, 0, 1, 0, 0, 1, 1, 17, 16, 15, 16, 0, 0, 17, 16, 17, 1, 15, 17, 1, 2, 1, 1, 2, 2, 17, 16, 15, 16, 0, 0, 16, 15, 16, 0, 14, 16, 0, 1, 0, 0, 1, 1, 16, 15, 14, 15, 0, 0, 16, 15, 16, 1, 14, 16, 1, 2, 1, 1, 2, 2, 16, 15, 14, 15, 0, 0, 15, 14, 15, 0, 13, 15, 0, 1, 0, 0, 1, 1, 15, 14, 13, 14, 0, 0, 15, 14, 15, 1, 13, 15, 1, 2, 1, 1, 2, 2, 15, 14, 13, 14, 0, 0, 14, 13, 14, 0, 12, 14, 0, 1, 0, 0, 1, 1, 14, 13, 12, 13, 0, 0, 14, 13, 14, 1, 12, 14, 1, 2, 1, 1, 2, 2, 14, 13, 12, 13, 0, 0, 13, 12, 13, 0, 11, 13, 0, 1, 0, 0, 1, 1, 13, 12, 11, 12, 0, 0, 13, 12, 13, 1, 11, 13, 1, 2, 1, 1, 2, 2, 13, 12, 11, 12, 0, 0, 12, 11, 12, 0, 10, 12, 0, 1, 0, 0, 1, 1, 12, 11, 10, 11, 0, 0, 12, 11, 12, 1, 10, 12, 1, 2, 1, 1, 2, 2, 12, 11, 10, 11, 0, 0, 11, 10, 11, 0, 9, 11, 0, 1, 0, 0, 1, 1, 11, 10, 9, 10, 0, 0, 11, 10, 11, 1, 9, 11, 1, 2, 1, 1, 2, 2, 11, 10, 9, 10, 0, 0, 10, 9, 10, 0, 8, 10, 0, 1, 0, 0, 1, 1, 10, 9, 8, 9, 0, 0, 10, 9, 10, 1, 8, 10, 1, 2, 1, 1, 2, 2, 10, 9, 8, 9, 0, 0, 9, 8, 9, 0, 7, 9, 0, 1, 0, 0, 1, 1, 9, 8, 7, 8, 0, 0, 9, 8, 9, 1, 7, 9, 1, 2, 1, 1, 2, 2, 9, 8, 7, 8, 0, 0, 8, 7, 8, 0, 6, 8, 0, 1, 0, 0, 1, 1, 8, 7, 6, 7, 0, 0, 8, 7, 8, 1, 6, 8, 1, 2, 1, 1, 2, 2, 8, 7, 6, 7, 0, 0, 7, 6, 7, 0, 5, 7, 0, 1, 0, 0, 1, 1, 7, 6, 5, 6, 0, 0, 7, 6, 7, 1, 5, 7, 1, 2, 1, 1, 2, 2, 7, 6, 5, 6, 0, 0, 6, 5, 6, 0, 4, 6, 0, 1, 0, 0, 1, 1, 6, 5, 4, 5, 0, 0, 6, 5, 6, 1, 4, 6, 1, 2, 1, 1, 2, 2, 6, 5, 4, 5, 0, 0, 5, 4, 5, 0, 3, 5, 0, 1, 0, 0, 1, 1, 5, 4, 3, 4, 0, 0, 5, 4, 5, 1, 3, 5, 1, 2, 1, 1, 2, 2, 5, 4, 3, 4, 0, 0, 4, 3, 4, 0, 2, 4, 0, 1, 0, 0, 1, 1, 4, 3, 2, 3, 0, 0, 4, 3, 4, 1, 2, 4, 1, 2, 1, 1, 2, 2, 4, 3, 2, 3, 0, 0, 3, 2, 3, 0, 1, 3, 0, 1, 0, 0, 1, 1, 3, 2, 1, 2, 0, 0, 3, 2, 3, 2, 1, 3, 1, 2, 1, 2, 3, 3, 3, 2, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1, 0, 0, 2, 1, 2, 1, 0, 2, 0, 0, 0, 1, 2, 0, 2, 1, 0, 1, 0, 0, 18, 2, 18, 1, 1, 18, 1, 0, 1, 1, 2, 0, 2, 18, 1, 2, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 1, 1, 2, 2, 1, 0, 0, 1, 0, 0, 2, 0, 2, 1, 1, 2, 1, 0, 1, 1, 2, 2, 2, 0, 1, 2, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 2, 18, 0, 1, 2, 0, 0, 18, 0, 18, 1, 0, 18, 0, 0, 1, 1, 2, 2, 1, 0, 0, 1, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 2, 2, 0, 1, 2, 0, 0, 18, 0, 18, 1, 17, 18, 1, 0, 1, 1, 2, 2, 18, 0, 17, 18, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 2, 0, 2, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, 0, 1, 2, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 2, 0, 0, 1, 2, 0, 0, 17, 0, 17, 1, 1, 17, 1, 0, 1, 1, 2, 2, 17, 0, 1, 2, 0, 0, 18, 0, 18, 1, 0, 18, 0, 0, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 2, 0, 0, 1, 2, 0, 0, 18, 0, 18, 1, 1, 18, 1, 2, 1, 1, 2, 2, 0, 18, 1, 2, 0, 0, 18, 0, 18, 1, 17, 18, 1, 0, 1, 1, 2, 2, 0, 0, 17, 18, 0, 0, 18, 0, 18, 1, 17, 18, 1, 2, 1, 1, 2, 2, 0, 18, 17, 18, 0, 0, 18, 0, 18, 1, 16, 18, 1, 0, 1, 1, 2, 2, 17, 0, 16, 17, 0, 0, 18, 17, 18, 1, 16, 18, 1, 2, 1, 1, 2, 2, 17, 18, 16, 17, 0, 0, 17, 16, 17, 0, 15, 17, 0, 1, 0, 0, 1, 1, 16, 17, 15, 16, 0, 0, 17, 16, 17, 1, 15, 17, 1, 2, 1, 1, 2, 2, 16, 17, 15, 16, 0, 0, 16, 15, 16, 0, 14, 16, 0, 1, 0, 0, 1, 1, 15, 16, 14, 15, 0, 0, 16, 15, 16, 1, 14, 16, 1, 2, 1, 1, 2, 2, 15, 16, 14, 15, 0, 0, 15, 14, 15, 0, 13, 15, 0, 1, 0, 0, 1, 1, 14, 15, 13, 14, 0, 0, 15, 14, 15, 1, 13, 15, 1, 2, 1, 1, 2, 2, 14, 15, 13, 14, 0, 0, 14, 13, 14, 0, 12, 14, 0, 1, 0, 0, 1, 1, 13, 14, 12, 13, 0, 0, 14, 13, 14, 1, 12, 14, 1, 2, 1, 1, 2, 2, 13, 14, 12, 13, 0, 0, 13, 12, 13, 0, 11, 13, 0, 1, 0, 0, 1, 1, 12, 13, 11, 12, 0, 0, 13, 12, 13, 1, 11, 13, 1, 2, 1, 1, 2, 2, 12, 13, 11, 12, 0, 0, 12, 11, 12, 0, 10, 12, 0, 1, 0, 0, 1, 1, 11, 12, 10, 11, 0, 0, 12, 11, 12, 1, 10, 12, 1, 2, 1, 1, 2, 2, 11, 12, 10, 11, 0, 0, 11, 10, 11, 0, 9, 11, 0, 1, 0, 0, 1, 1, 10, 11, 9, 10, 0, 0, 11, 10, 11, 1, 9, 11, 1, 2, 1, 1, 2, 2, 10, 11, 9, 10, 0, 0, 10, 9, 10, 0, 8, 10, 0, 1, 0, 0, 1, 1, 9, 10, 8, 9, 0, 0, 10, 9, 10, 1, 8, 10, 1, 2, 1, 1, 2, 2, 9, 10, 8, 9, 0, 0, 9, 8, 9, 0, 7, 9, 0, 1, 0, 0, 1, 1, 8, 9, 7, 8, 0, 0, 9, 8, 9, 1, 7, 9, 1, 2, 1, 1, 2, 2, 8, 9, 7, 8, 0, 0, 8, 7, 8, 0, 6, 8, 0, 1, 0, 0, 1, 1, 7, 8, 6, 7, 0, 0, 8, 7, 8, 1, 6, 8, 1, 2, 1, 1, 2, 2, 7, 8, 6, 7, 0, 0, 7, 6, 7, 0, 5, 7, 0, 1, 0, 0, 1, 1, 6, 7, 5, 6, 0, 0, 7, 6, 7, 1, 5, 7, 1, 2, 1, 1, 2, 2, 6, 7, 5, 6, 0, 0, 6, 5, 6, 0, 4, 6, 0, 1, 0, 0, 1, 1, 5, 6, 4, 5, 0, 0, 6, 5, 6, 1, 4, 6, 1, 2, 1, 1, 2, 2, 5, 6, 4, 5, 0, 0, 5, 4, 5, 0, 3, 5, 0, 1, 0, 0, 1, 1, 4, 5, 3, 4, 0, 0, 5, 4, 5, 1, 3, 5, 1, 2, 1, 1, 2, 2, 4, 5, 3, 4, 0, 0, 4, 3, 4, 0, 2, 4, 0, 1, 0, 0, 1, 1, 3, 4, 2, 3, 0, 0, 4, 3, 4, 1, 2, 4, 1, 2, 1, 1, 2, 2, 3, 4, 2, 3, 0, 0, 3, 2, 3, 0, 1, 3, 0, 1, 0, 0, 1, 1, 2, 3, 1, 2, 0, 0, 3, 2, 3, 2, 1, 3, 1, 3, 2, 2, 3, 3, 2, 3, 1, 2, 0, 0, 2, 1, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 3, 1, 3, 2, 0, 3, 0, 0, 1, 2, 3, 0, 1, 2, 0, 1, 0, 0, 3, 1, 3, 2, 0, 3, 0, 2, 1, 2, 3, 3, 1, 2, 0, 1, 0, 0, 18, 2, 18, 2, 1, 18, 1, 2, 1, 2, 3, 3, 18, 2, 1, 2, 0, 0, 18, 2, 18, 2, 1, 18, 1, 0, 1, 2, 3, 0, 18, 2, 1, 2, 0, 0, 18, 2, 18, 0, 1, 18, 0, 0, 0, 0, 0, 0, 18, 2, 1, 2, 0, 0, 18, 2, 18, 0, 1, 18, 0, 1, 0, 0, 1, 1, 18, 2, 1, 2, 0, 0, 17, 1, 17, 0, 0, 17, 0, 0, 0, 0, 0, 0, 17, 1, 0, 1, 0, 0, 17, 1, 17, 1, 0, 17, 0, 0, 0, 1, 2, 0, 17, 1, 0, 1, 0, 0, 17, 2, 17, 1, 1, 17, 1, 0, 1, 1, 2, 0, 17, 2, 1, 2, 0, 0, 18, 17, 18, 1, 16, 18, 1, 0, 1, 1, 2, 0, 17, 18, 16, 17, 0, 0, 16, 0, 16, 0, 0, 16, 0, 0, 0, 0, 1, 1, 16, 0, 0, 0, 0, 0, 16, 0, 16, 1, 0, 16, 0, 0, 0, 1, 2, 2, 16, 0, 0, 0, 0, 0, 16, 0, 16, 1, 1, 16, 1, 0, 1, 1, 2, 2, 16, 0, 1, 2, 0, 0, 18, 0, 18, 1, 15, 18, 1, 0, 1, 1, 2, 2, 16, 0, 15, 16, 0, 0, 18, 16, 18, 1, 15, 18, 1, 2, 1, 1, 2, 2, 16, 18, 15, 16, 0, 0, 17, 15, 17, 0, 14, 17, 0, 1, 0, 0, 1, 1, 15, 17, 14, 15, 0, 0, 17, 15, 17, 1, 14, 17, 1, 2, 1, 1, 2, 2, 15, 17, 14, 15, 0, 0, 16, 14, 16, 0, 13, 16, 0, 1, 0, 0, 1, 1, 14, 16, 13, 14, 0, 0, 16, 14, 16, 1, 13, 16, 1, 2, 1, 1, 2, 2, 14, 16, 13, 14, 0, 0, 15, 13, 15, 0, 12, 15, 0, 1, 0, 0, 1, 1, 13, 15, 12, 13, 0, 0, 15, 13, 15, 1, 12, 15, 1, 2, 1, 1, 2, 2, 13, 15, 12, 13, 0, 0, 14, 12, 14, 0, 11, 14, 0, 1, 0, 0, 1, 1, 12, 14, 11, 12, 0, 0, 14, 12, 14, 1, 11, 14, 1, 2, 1, 1, 2, 2, 12, 14, 11, 12, 0, 0, 13, 11, 13, 0, 10, 13, 0, 1, 0, 0, 1, 1, 11, 13, 10, 11, 0, 0, 13, 11, 13, 1, 10, 13, 1, 2, 1, 1, 2, 2, 11, 13, 10, 11, 0, 0, 12, 10, 12, 0, 9, 12, 0, 1, 0, 0, 1, 1, 10, 12, 9, 10, 0, 0, 12, 10, 12, 1, 9, 12, 1, 2, 1, 1, 2, 2, 10, 12, 9, 10, 0, 0, 11, 9, 11, 0, 8, 11, 0, 1, 0, 0, 1, 1, 9, 11, 8, 9, 0, 0, 11, 9, 11, 1, 8, 11, 1, 2, 1, 1, 2, 2, 9, 11, 8, 9, 0, 0, 10, 8, 10, 0, 7, 10, 0, 1, 0, 0, 1, 1, 8, 10, 7, 8, 0, 0, 10, 8, 10, 1, 7, 10, 1, 2, 1, 1, 2, 2, 8, 10, 7, 8, 0, 0, 9, 7, 9, 0, 6, 9, 0, 1, 0, 0, 1, 1, 7, 9, 6, 7, 0, 0, 9, 7, 9, 1, 6, 9, 1, 2, 1, 1, 2, 2, 7, 9, 6, 7, 0, 0, 8, 6, 8, 0, 5, 8, 0, 1, 0, 0, 1, 1, 6, 8, 5, 6, 0, 0, 8, 6, 8, 1, 5, 8, 1, 2, 1, 1, 2, 2, 6, 8, 5, 6, 0, 0, 7, 5, 7, 0, 4, 7, 0, 1, 0, 0, 1, 1, 5, 7, 4, 5, 0, 0, 7, 5, 7, 1, 4, 7, 1, 2, 1, 1, 2, 2, 5, 7, 4, 5, 0, 0, 6, 4, 6, 0, 3, 6, 0, 1, 0, 0, 1, 1, 4, 6, 3, 4, 0, 0, 6, 4, 6, 1, 3, 6, 1, 2, 1, 1, 2, 2, 4, 6, 3, 4, 0, 0, 5, 3, 5, 0, 2, 5, 0, 1, 0, 0, 1, 1, 3, 5, 2, 3, 0, 0, 5, 3, 5, 1, 2, 5, 1, 2, 1, 1, 2, 2, 3, 5, 2, 3, 0, 0, 4, 2, 4, 0, 1, 4, 0, 1, 0, 0, 1, 1, 2, 4, 1, 2, 0, 0, 4, 2, 4, 2, 1, 4, 1, 3, 2, 2, 3, 3, 2, 4, 1, 2, 0, 0, 3, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 3, 0, 1, 0, 0, 3, 1, 3, 1, 0, 3, 0, 0, 1, 1, 2, 0, 1, 3, 0, 1, 0, 0, 3, 2, 3, 1, 1, 3, 1, 0, 1, 1, 2, 0, 2, 3, 1, 2, 0, 0, 18, 3, 18, 1, 2, 18, 1, 0, 1, 1, 2, 0, 18, 3, 2, 3, 0, 0, 18, 3, 18, 1, 2, 18, 1, 2, 1, 1, 2, 2, 18, 3, 2, 3, 0, 0, 17, 2, 17, 0, 1, 17, 0, 1, 0, 0, 1, 1, 17, 2, 1, 2, 0, 0, 17, 2, 17, 2, 1, 17, 1, 2, 1, 2, 3, 3, 17, 2, 1, 2, 0, 0, 16, 1, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 16, 1, 0, 1, 0, 0, 16, 1, 16, 1, 0, 16, 0, 0, 0, 1, 2, 0, 16, 1, 0, 1, 0, 0, 16, 2, 16, 1, 1, 16, 1, 0, 1, 1, 2, 0, 16, 2, 1, 2, 0, 0, 18, 16, 18, 1, 15, 18, 1, 0, 1, 1, 2, 0, 16, 18, 15, 16, 0, 0, 15, 0, 15, 0, 0, 15, 0, 0, 0, 0, 1, 1, 15, 0, 0, 0, 0, 0, 15, 0, 15, 1, 0, 15, 0, 0, 0, 1, 2, 2, 15, 0, 0, 0, 0, 0, 15, 0, 15, 1, 1, 15, 1, 0, 1, 1, 2, 2, 15, 0, 1, 2, 0, 0, 18, 0, 18, 1, 14, 18, 1, 0, 1, 1, 2, 2, 15, 0, 14, 15, 0, 0, 18, 15, 18, 1, 14, 18, 1, 2, 1, 1, 2, 2, 15, 18, 14, 15, 0, 0, 17, 14, 17, 0, 13, 17, 0, 1, 0, 0, 1, 1, 14, 17, 13, 14, 0, 0, 17, 14, 17, 1, 13, 17, 1, 2, 1, 1, 2, 2, 14, 17, 13, 14, 0, 0, 16, 13, 16, 0, 12, 16, 0, 1, 0, 0, 1, 1, 13, 16, 12, 13, 0, 0, 16, 13, 16, 1, 12, 16, 1, 2, 1, 1, 2, 2, 13, 16, 12, 13, 0, 0, 15, 12, 15, 0, 11, 15, 0, 1, 0, 0, 1, 1, 12, 15, 11, 12, 0, 0, 15, 12, 15, 1, 11, 15, 1, 2, 1, 1, 2, 2, 12, 15, 11, 12, 0, 0, 14, 11, 14, 0, 10, 14, 0, 1, 0, 0, 1, 1, 11, 14, 10, 11, 0, 0, 14, 11, 14, 1, 10, 14, 1, 2, 1, 1, 2, 2, 11, 14, 10, 11, 0, 0, 13, 10, 13, 0, 9, 13, 0, 1, 0, 0, 1, 1, 10, 13, 9, 10, 0, 0, 13, 10, 13, 1, 9, 13, 1, 2, 1, 1, 2, 2, 10, 13, 9, 10, 0, 0, 12, 9, 12, 0, 8, 12, 0, 1, 0, 0, 1, 1, 9, 12, 8, 9, 0, 0, 12, 9, 12, 1, 8, 12, 1, 2, 1, 1, 2, 2, 9, 12, 8, 9, 0, 0, 11, 8, 11, 0, 7, 11, 0, 1, 0, 0, 1, 1, 8, 11, 7, 8, 0, 0, 11, 8, 11, 1, 7, 11, 1, 2, 1, 1, 2, 2, 8, 11, 7, 8, 0, 0, 10, 7, 10, 0, 6, 10, 0, 1, 0, 0, 1, 1, 7, 10, 6, 7, 0, 0, 10, 7, 10, 1, 6, 10, 1, 2, 1, 1, 2, 2, 7, 10, 6, 7, 0, 0, 9, 6, 9, 0, 5, 9, 0, 1, 0, 0, 1, 1, 6, 9, 5, 6, 0, 0, 9, 6, 9, 1, 5, 9, 1, 2, 1, 1, 2, 2, 6, 9, 5, 6, 0, 0, 8, 5, 8, 0, 4, 8, 0, 1, 0, 0, 1, 1, 5, 8, 4, 5, 0, 0, 8, 5, 8, 1, 4, 8, 1, 2, 1, 1, 2, 2, 5, 8, 4, 5, 0, 0, 7, 4, 7, 0, 3, 7, 0, 1, 0, 0, 1, 1, 4, 7, 3, 4, 0, 0, 7, 4, 7, 1, 3, 7, 1, 2, 1, 1, 2, 2, 4, 7, 3, 4, 0, 0, 6, 3, 6, 0, 2, 6, 0, 1, 0, 0, 1, 1, 3, 6, 2, 3, 0, 0, 6, 3, 6, 1, 2, 6, 1, 2, 1, 1, 2, 2, 3, 6, 2, 3, 0, 0, 5, 2, 5, 0, 1, 5, 0, 1, 0, 0, 1, 1, 2, 5, 1, 2, 0, 0, 5, 2, 5, 2, 1, 5, 1, 3, 2, 2, 3, 3, 2, 5, 1, 2, 0, 0, 4, 1, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 4, 1, 4, 1, 0, 4, 0, 0, 1, 1, 2, 0, 1, 4, 0, 1, 0, 0, 4, 2, 4, 1, 1, 4, 1, 0, 1, 1, 2, 0, 2, 4, 1, 2, 0, 0, 18, 4, 18, 1, 3, 18, 1, 0, 1, 1, 2, 0, 18, 4, 3, 4, 0, 0, 18, 4, 18, 1, 3, 18, 1, 2, 1, 1, 2, 2, 18, 4, 3, 4, 0, 0, 17, 3, 17, 0, 2, 17, 0, 1, 0, 0, 1, 1, 17, 3, 2, 3, 0, 0, 17, 3, 17, 1, 2, 17, 1, 2, 1, 1, 2, 2, 17, 3, 2, 3, 0, 0, 16, 2, 16, 0, 1, 16, 0, 1, 0, 0, 1, 1, 16, 2, 1, 2, 0, 0, 16, 2, 16, 2, 1, 16, 1, 2, 1, 2, 3, 3, 16, 2, 1, 2, 0, 0, 15, 1, 15, 0, 0, 15, 0, 0, 0, 0, 0, 0, 15, 1, 0, 1, 0, 0, 15, 1, 15, 1, 0, 15, 0, 0, 0, 1, 2, 0, 15, 1, 0, 1, 0, 0, 15, 2, 15, 1, 1, 15, 1, 0, 1, 1, 2, 0, 15, 2, 1, 2, 0, 0, 18, 15, 18, 1, 14, 18, 1, 0, 1, 1, 2, 0, 15, 18, 14, 15, 0, 0, 14, 0, 14, 0, 0, 14, 0, 0, 0, 0, 1, 1, 14, 0, 0, 0, 0, 0, 14, 0, 14, 1, 0, 14, 0, 0, 0, 1, 2, 2, 14, 0, 0, 0, 0, 0, 14, 0, 14, 1, 1, 14, 1, 0, 1, 1, 2, 2, 14, 0, 1, 2, 0, 0, 18, 0, 18, 1, 13, 18, 1, 0, 1, 1, 2, 2, 14, 0, 13, 14, 0, 0, 18, 14, 18, 1, 13, 18, 1, 2, 1, 1, 2, 2, 14, 18, 13, 14, 0, 0, 17, 13, 17, 0, 12, 17, 0, 1, 0, 0, 1, 1, 13, 17, 12, 13, 0, 0, 17, 13, 17, 1, 12, 17, 1, 2, 1, 1, 2, 2, 13, 17, 12, 13, 0, 0, 16, 12, 16, 0, 11, 16, 0, 1, 0, 0, 1, 1, 12, 16, 11, 12, 0, 0, 16, 12, 16, 1, 11, 16, 1, 2, 1, 1, 2, 2, 12, 16, 11, 12, 0, 0, 15, 11, 15, 0, 10, 15, 0, 1, 0, 0, 1, 1, 11, 15, 10, 11, 0, 0, 15, 11, 15, 1, 10, 15, 1, 2, 1, 1, 2, 2, 11, 15, 10, 11, 0, 0, 14, 10, 14, 0, 9, 14, 0, 1, 0, 0, 1, 1, 10, 14, 9, 10, 0, 0, 14, 10, 14, 1, 9, 14, 1, 2, 1, 1, 2, 2, 10, 14, 9, 10, 0, 0, 13, 9, 13, 0, 8, 13, 0, 1, 0, 0, 1, 1, 9, 13, 8, 9, 0, 0, 13, 9, 13, 1, 8, 13, 1, 2, 1, 1, 2, 2, 9, 13, 8, 9, 0, 0, 12, 8, 12, 0, 7, 12, 0, 1, 0, 0, 1, 1, 8, 12, 7, 8, 0, 0, 12, 8, 12, 1, 7, 12, 1, 2, 1, 1, 2, 2, 8, 12, 7, 8, 0, 0, 11, 7, 11, 0, 6, 11, 0, 1, 0, 0, 1, 1, 7, 11, 6, 7, 0, 0, 11, 7, 11, 1, 6, 11, 1, 2, 1, 1, 2, 2, 7, 11, 6, 7, 0, 0, 10, 6, 10, 0, 5, 10, 0, 1, 0, 0, 1, 1, 6, 10, 5, 6, 0, 0, 10, 6, 10, 1, 5, 10, 1, 2, 1, 1, 2, 2, 6, 10, 5, 6, 0, 0, 9, 5, 9, 0, 4, 9, 0, 1, 0, 0, 1, 1, 5, 9, 4, 5, 0, 0, 9, 5, 9, 1, 4, 9, 1, 2, 1, 1, 2, 2, 5, 9, 4, 5, 0, 0, 8, 4, 8, 0, 3, 8, 0, 1, 0, 0, 1, 1, 4, 8, 3, 4, 0, 0, 8, 4, 8, 1, 3, 8, 1, 2, 1, 1, 2, 2, 4, 8, 3, 4, 0, 0, 7, 3, 7, 0, 2, 7, 0, 1, 0, 0, 1, 1, 3, 7, 2, 3, 0, 0, 7, 3, 7, 1, 2, 7, 1, 2, 1, 1, 2, 2, 3, 7, 2, 3, 0, 0, 6, 2, 6, 0, 1, 6, 0, 1, 0, 0, 1, 1, 2, 6, 1, 2, 0, 0, 6, 2, 6, 2, 1, 6, 1, 3, 2, 2, 3, 3, 2, 6, 1, 2, 0, 0, 5, 1, 5, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 5, 1, 5, 1, 0, 5, 0, 0, 1, 1, 2, 0, 1, 5, 0, 1, 0, 0, 5, 2, 5, 1, 1, 5, 1, 0, 1, 1, 2, 0, 2, 5, 1, 2, 0, 0, 18, 5, 18, 1, 4, 18, 1, 0, 1, 1, 2, 0, 18, 5, 4, 5, 0, 0, 18, 5, 18, 1, 4, 18, 1, 2, 1, 1, 2, 2, 18, 5, 4, 5, 0, 0, 17, 4, 17, 0, 3, 17, 0, 1, 0, 0, 1, 1, 17, 4, 3, 4, 0, 0, 17, 4, 17, 1, 3, 17, 1, 2, 1, 1, 2, 2, 17, 4, 3, 4, 0, 0, 16, 3, 16, 0, 2, 16, 0, 1, 0, 0, 1, 1, 16, 3, 2, 3, 0, 0, 16, 3, 16, 1, 2, 16, 1, 2, 1, 1, 2, 2, 16, 3, 2, 3, 0, 0, 15, 2, 15, 0, 1, 15, 0, 1, 0, 0, 1, 1, 15, 2, 1, 2, 0, 0, 15, 2, 15, 2, 1, 15, 1, 2, 1, 2, 3, 3, 15, 2, 1, 2, 0, 0, 14, 1, 14, 0, 0, 14, 0, 0, 0, 0, 0, 0, 14, 1, 0, 1, 0, 0, 14, 1, 14, 1, 0, 14, 0, 0, 0, 1, 2, 0, 14, 1, 0, 1, 0, 0, 14, 2, 14, 1, 1, 14, 1, 0, 1, 1, 2, 0, 14, 2, 1, 2, 0, 0, 18, 14, 18, 1, 13, 18, 1, 0, 1, 1, 2, 0, 14, 18, 13, 14, 0, 0, 13, 0, 13, 0, 0, 13, 0, 0, 0, 0, 1, 1, 13, 0, 0, 0, 0, 0, 13, 0, 13, 1, 0, 13, 0, 0, 0, 1, 2, 2, 13, 0, 0, 0, 0, 0, 13, 0, 13, 1, 1, 13, 1, 0, 1, 1, 2, 2, 13, 0, 1, 2, 0, 0, 18, 0, 18, 1, 12, 18, 1, 0, 1, 1, 2, 2, 13, 0, 12, 13, 0, 0, 18, 13, 18, 1, 12, 18, 1, 2, 1, 1, 2, 2, 13, 18, 12, 13, 0, 0, 17, 12, 17, 0, 11, 17, 0, 1, 0, 0, 1, 1, 12, 17, 11, 12, 0, 0, 17, 12, 17, 1, 11, 17, 1, 2, 1, 1, 2, 2, 12, 17, 11, 12, 0, 0, 16, 11, 16, 0, 10, 16, 0, 1, 0, 0, 1, 1, 11, 16, 10, 11, 0, 0, 16, 11, 16, 1, 10, 16, 1, 2, 1, 1, 2, 2, 11, 16, 10, 11, 0, 0, 15, 10, 15, 0, 9, 15, 0, 1, 0, 0, 1, 1, 10, 15, 9, 10, 0, 0, 15, 10, 15, 1, 9, 15, 1, 2, 1, 1, 2, 2, 10, 15, 9, 10, 0, 0, 14, 9, 14, 0, 8, 14, 0, 1, 0, 0, 1, 1, 9, 14, 8, 9, 0, 0, 14, 9, 14, 1, 8, 14, 1, 2, 1, 1, 2, 2, 9, 14, 8, 9, 0, 0, 13, 8, 13, 0, 7, 13, 0, 1, 0, 0, 1, 1, 8, 13, 7, 8, 0, 0, 13, 8, 13, 1, 7, 13, 1, 2, 1, 1, 2, 2, 8, 13, 7, 8, 0, 0, 12, 7, 12, 0, 6, 12, 0, 1, 0, 0, 1, 1, 7, 12, 6, 7, 0, 0, 12, 7, 12, 1, 6, 12, 1, 2, 1, 1, 2, 2, 7, 12, 6, 7, 0, 0, 11, 6, 11, 0, 5, 11, 0, 1, 0, 0, 1, 1, 6, 11, 5, 6, 0, 0, 11, 6, 11, 1, 5, 11, 1, 2, 1, 1, 2, 2, 6, 11, 5, 6, 0, 0, 10, 5, 10, 0, 4, 10, 0, 1, 0, 0, 1, 1, 5, 10, 4, 5, 0, 0, 10, 5, 10, 1, 4, 10, 1, 2, 1, 1, 2, 2, 5, 10, 4, 5, 0, 0, 9, 4, 9, 0, 3, 9, 0, 1, 0, 0, 1, 1, 4, 9, 3, 4, 0, 0, 9, 4, 9, 1, 3, 9, 1, 2, 1, 1, 2, 2, 4, 9, 3, 4, 0, 0, 8, 3, 8, 0, 2, 8, 0, 1, 0, 0, 1, 1, 3, 8, 2, 3, 0, 0, 8, 3, 8, 1, 2, 8, 1, 2, 1, 1, 2, 2, 3, 8, 2, 3, 0, 0, 7, 2, 7, 0, 1, 7, 0, 1, 0, 0, 1, 1, 2, 7, 1, 2, 0, 0, 7, 2, 7, 2, 1, 7, 1, 3, 2, 2, 3, 3, 2, 7, 1, 2, 0, 0, 6, 1, 6, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 6, 0, 1, 0, 0, 6, 1, 6, 1, 0, 6, 0, 0, 1, 1, 2, 0, 1, 6, 0, 1, 0, 0, 6, 2, 6, 1, 1, 6, 1, 0, 1, 1, 2, 0, 2, 6, 1, 2, 0, 0, 18, 6, 18, 1, 5, 18, 1, 0, 1, 1, 2, 0, 18, 6, 5, 6, 0, 0, 18, 6, 18, 1, 5, 18, 1, 2, 1, 1, 2, 2, 18, 6, 5, 6, 0, 0, 17, 5, 17, 0, 4, 17, 0, 1, 0, 0, 1, 1, 17, 5, 4, 5, 0, 0, 17, 5, 17, 1, 4, 17, 1, 2, 1, 1, 2, 2, 17, 5, 4, 5, 0, 0, 16, 4, 16, 0, 3, 16, 0, 1, 0, 0, 1, 1, 16, 4, 3, 4, 0, 0, 16, 4, 16, 1, 3, 16, 1, 2, 1, 1, 2, 2, 16, 4, 3, 4, 0, 0, 15, 3, 15, 0, 2, 15, 0, 1, 0, 0, 1, 1, 15, 3, 2, 3, 0, 0, 15, 3, 15, 1, 2, 15, 1, 2, 1, 1, 2, 2, 15, 3, 2, 3, 0, 0, 14, 2, 14, 0, 1, 14, 0, 1, 0, 0, 1, 1, 14, 2, 1, 2, 0, 0, 14, 2, 14, 2, 1, 14, 1, 2, 1, 2, 3, 3, 14, 2, 1, 2, 0, 0, 13, 1, 13, 0, 0, 13, 0, 0, 0, 0, 0, 0, 13, 1, 0, 1, 0, 0, 13, 1, 13, 1, 0, 13, 0, 0, 0, 1, 2, 0, 13, 1, 0, 1, 0, 0, 13, 2, 13, 1, 1, 13, 1, 0, 1, 1, 2, 0, 13, 2, 1, 2, 0, 0, 18, 13, 18, 1, 12, 18, 1, 0, 1, 1, 2, 0, 13, 18, 12, 13, 0, 0, 12, 0, 12, 0, 0, 12, 0, 0, 0, 0, 1, 1, 12, 0, 0, 0, 0, 0, 12, 0, 12, 1, 0, 12, 0, 0, 0, 1, 2, 2, 12, 0, 0, 0, 0, 0, 12, 0, 12, 1, 1, 12, 1, 0, 1, 1, 2, 2, 12, 0, 1, 2, 0, 0, 18, 0, 18, 1, 11, 18, 1, 0, 1, 1, 2, 2, 12, 0, 11, 12, 0, 0, 18, 12, 18, 1, 11, 18, 1, 2, 1, 1, 2, 2, 12, 18, 11, 12, 0, 0, 17, 11, 17, 0, 10, 17, 0, 1, 0, 0, 1, 1, 11, 17, 10, 11, 0, 0, 17, 11, 17, 1, 10, 17, 1, 2, 1, 1, 2, 2, 11, 17, 10, 11, 0, 0, 16, 10, 16, 0, 9, 16, 0, 1, 0, 0, 1, 1, 10, 16, 9, 10, 0, 0, 16, 10, 16, 1, 9, 16, 1, 2, 1, 1, 2, 2, 10, 16, 9, 10, 0, 0, 15, 9, 15, 0, 8, 15, 0, 1, 0, 0, 1, 1, 9, 15, 8, 9, 0, 0, 15, 9, 15, 1, 8, 15, 1, 2, 1, 1, 2, 2, 9, 15, 8, 9, 0, 0, 14, 8, 14, 0, 7, 14, 0, 1, 0, 0, 1, 1, 8, 14, 7, 8, 0, 0, 14, 8, 14, 1, 7, 14, 1, 2, 1, 1, 2, 2, 8, 14, 7, 8, 0, 0, 13, 7, 13, 0, 6, 13, 0, 1, 0, 0, 1, 1, 7, 13, 6, 7, 0, 0, 13, 7, 13, 1, 6, 13, 1, 2, 1, 1, 2, 2, 7, 13, 6, 7, 0, 0, 12, 6, 12, 0, 5, 12, 0, 1, 0, 0, 1, 1, 6, 12, 5, 6, 0, 0, 12, 6, 12, 1, 5, 12, 1, 2, 1, 1, 2, 2, 6, 12, 5, 6, 0, 0, 11, 5, 11, 0, 4, 11, 0, 1, 0, 0, 1, 1, 5, 11, 4, 5, 0, 0, 11, 5, 11, 1, 4, 11, 1, 2, 1, 1, 2, 2, 5, 11, 4, 5, 0, 0, 10, 4, 10, 0, 3, 10, 0, 1, 0, 0, 1, 1, 4, 10, 3, 4, 0, 0, 10, 4, 10, 1, 3, 10, 1, 2, 1, 1, 2, 2, 4, 10, 3, 4, 0, 0, 9, 3, 9, 0, 2, 9, 0, 1, 0, 0, 1, 1, 3, 9, 2, 3, 0, 0, 9, 3, 9, 1, 2, 9, 1, 2, 1, 1, 2, 2, 3, 9, 2, 3, 0, 0, 8, 2, 8, 0, 1, 8, 0, 1, 0, 0, 1, 1, 2, 8, 1, 2, 0, 0, 8, 2, 8, 2, 1, 8, 1, 3, 2, 2, 3, 3, 2, 8, 1, 2, 0, 0, 7, 1, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 1, 7, 0, 1, 0, 0, 7, 1, 7, 1, 0, 7, 0, 0, 1, 1, 2, 0, 1, 7, 0, 1, 0, 0, 7, 2, 7, 1, 1, 7, 1, 0, 1, 1, 2, 0, 2, 7, 1, 2, 0, 0, 18, 7, 18, 1, 6, 18, 1, 0, 1, 1, 2, 0, 18, 7, 6, 7, 0, 0, 18, 7, 18, 1, 6, 18, 1, 2, 1, 1, 2, 2, 18, 7, 6, 7, 0, 0, 17, 6, 17, 0, 5, 17, 0, 1, 0, 0, 1, 1, 17, 6, 5, 6, 0, 0, 17, 6, 17, 1, 5, 17, 1, 2, 1, 1, 2, 2, 17, 6, 5, 6, 0, 0, 16, 5, 16, 0, 4, 16, 0, 1, 0, 0, 1, 1, 16, 5, 4, 5, 0, 0, 16, 5, 16, 1, 4, 16, 1, 2, 1, 1, 2, 2, 16, 5, 4, 5, 0, 0, 15, 4, 15, 0, 3, 15, 0, 1, 0, 0, 1, 1, 15, 4, 3, 4, 0, 0, 15, 4, 15, 1, 3, 15, 1, 2, 1, 1, 2, 2, 15, 4, 3, 4, 0, 0, 14, 3, 14, 0, 2, 14, 0, 1, 0, 0, 1, 1, 14, 3, 2, 3, 0, 0, 14, 3, 14, 1, 2, 14, 1, 2, 1, 1, 2, 2, 14, 3, 2, 3, 0, 0, 13, 2, 13, 0, 1, 13, 0, 1, 0, 0, 1, 1, 13, 2, 1, 2, 0, 0, 13, 2, 13, 2, 1, 13, 1, 2, 1, 2, 3, 3, 13, 2, 1, 2, 0, 0, 12, 1, 12, 0, 0, 12, 0, 0, 0, 0, 0, 0, 12, 1, 0, 1, 0, 0, 12, 1, 12, 1, 0, 12, 0, 0, 0, 1, 2, 0, 12, 1, 0, 1, 0, 0, 12, 2, 12, 1, 1, 12, 1, 0, 1, 1, 2, 0, 12, 2, 1, 2, 0, 0, 18, 12, 18, 1, 11, 18, 1, 0, 1, 1, 2, 0, 12, 18, 11, 12, 0, 0, 11, 0, 11, 0, 0, 11, 0, 0, 0, 0, 1, 1, 11, 0, 0, 0, 0, 0, 11, 0, 11, 1, 0, 11, 0, 0, 0, 1, 2, 2, 11, 0, 0, 0, 0, 0, 11, 0, 11, 1, 1, 11, 1, 0, 1, 1, 2, 2, 11, 0, 1, 2, 0, 0, 18, 0, 18, 1, 10, 18, 1, 0, 1, 1, 2, 2, 11, 0, 10, 11, 0, 0, 18, 11, 18, 1, 10, 18, 1, 2, 1, 1, 2, 2, 11, 18, 10, 11, 0, 0, 17, 10, 17, 0, 9, 17, 0, 1, 0, 0, 1, 1, 10, 17, 9, 10, 0, 0, 17, 10, 17, 1, 9, 17, 1, 2, 1, 1, 2, 2, 10, 17, 9, 10, 0, 0, 16, 9, 16, 0, 8, 16, 0, 1, 0, 0, 1, 1, 9, 16, 8, 9, 0, 0, 16, 9, 16, 1, 8, 16, 1, 2, 1, 1, 2, 2, 9, 16, 8, 9, 0, 0, 15, 8, 15, 0, 7, 15, 0, 1, 0, 0, 1, 1, 8, 15, 7, 8, 0, 0, 15, 8, 15, 1, 7, 15, 1, 2, 1, 1, 2, 2, 8, 15, 7, 8, 0, 0, 14, 7, 14, 0, 6, 14, 0, 1, 0, 0, 1, 1, 7, 14, 6, 7, 0, 0, 14, 7, 14, 1, 6, 14, 1, 2, 1, 1, 2, 2, 7, 14, 6, 7, 0, 0, 13, 6, 13, 0, 5, 13, 0, 1, 0, 0, 1, 1, 6, 13, 5, 6, 0, 0, 13, 6, 13, 1, 5, 13, 1, 2, 1, 1, 2, 2, 6, 13, 5, 6, 0, 0, 12, 5, 12, 0, 4, 12, 0, 1, 0, 0, 1, 1, 5, 12, 4, 5, 0, 0, 12, 5, 12, 1, 4, 12, 1, 2, 1, 1, 2, 2, 5, 12, 4, 5, 0, 0, 11, 4, 11, 0, 3, 11, 0, 1, 0, 0, 1, 1, 4, 11, 3, 4, 0, 0, 11, 4, 11, 1, 3, 11, 1, 2, 1, 1, 2, 2, 4, 11, 3, 4, 0, 0, 10, 3, 10, 0, 2, 10, 0, 1, 0, 0, 1, 1, 3, 10, 2, 3, 0, 0, 10, 3, 10, 1, 2, 10, 1, 2, 1, 1, 2, 2, 3, 10, 2, 3, 0, 0, 9, 2, 9, 0, 1, 9, 0, 1, 0, 0, 1, 1, 2, 9, 1, 2, 0, 0, 9, 2, 9, 2, 1, 9, 1, 3, 2, 2, 3, 3, 2, 9, 1, 2, 0, 0, 8, 1, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1, 8, 0, 1, 0, 0, 8, 1, 8, 1, 0, 8, 0, 0, 1, 1, 2, 0, 1, 8, 0, 1, 0, 0, 8, 2, 8, 1, 1, 8, 1, 0, 1, 1, 2, 0, 2, 8, 1, 2, 0, 0, 18, 8, 18, 1, 7, 18, 1, 0, 1, 1, 2, 0, 18, 8, 7, 8, 0, 0, 18, 8, 18, 1, 7, 18, 1, 2, 1, 1, 2, 2, 18, 8, 7, 8, 0, 0, 17, 7, 17, 0, 6, 17, 0, 1, 0, 0, 1, 1, 17, 7, 6, 7, 0, 0, 17, 7, 17, 1, 6, 17, 1, 2, 1, 1, 2, 2, 17, 7, 6, 7, 0, 0, 16, 6, 16, 0, 5, 16, 0, 1, 0, 0, 1, 1, 16, 6, 5, 6, 0, 0, 16, 6, 16, 1, 5, 16, 1, 2, 1, 1, 2, 2, 16, 6, 5, 6, 0, 0, 15, 5, 15, 0, 4, 15, 0, 1, 0, 0, 1, 1, 15, 5, 4, 5, 0, 0, 15, 5, 15, 1, 4, 15, 1, 2, 1, 1, 2, 2, 15, 5, 4, 5, 0, 0, 14, 4, 14, 0, 3, 14, 0, 1, 0, 0, 1, 1, 14, 4, 3, 4, 0, 0, 14, 4, 14, 1, 3, 14, 1, 2, 1, 1, 2, 2, 14, 4, 3, 4, 0, 0, 13, 3, 13, 0, 2, 13, 0, 1, 0, 0, 1, 1, 13, 3, 2, 3, 0, 0, 13, 3, 13, 1, 2, 13, 1, 2, 1, 1, 2, 2, 13, 3, 2, 3, 0, 0, 12, 2, 12, 0, 1, 12, 0, 1, 0, 0, 1, 1, 12, 2, 1, 2, 0, 0, 12, 2, 12, 2, 1, 12, 1, 2, 1, 2, 3, 3, 12, 2, 1, 2, 0, 0, 11, 1, 11, 0, 0, 11, 0, 0, 0, 0, 0, 0, 11, 1, 0, 1, 0, 0, 11, 1, 11, 1, 0, 11, 0, 0, 0, 1, 2, 0, 11, 1, 0, 1, 0, 0, 11, 2, 11, 1, 1, 11, 1, 0, 1, 1, 2, 0, 11, 2, 1, 2, 0, 0, 18, 11, 18, 1, 10, 18, 1, 0, 1, 1, 2, 0, 11, 18, 10, 11, 0, 0, 10, 0, 10, 0, 0, 10, 0, 0, 0, 0, 1, 1, 10, 0, 0, 0, 0, 0, 10, 0, 10, 1, 0, 10, 0, 0, 0, 1, 2, 2, 10, 0, 0, 0, 0, 0, 10, 0, 10, 1, 1, 10, 1, 0, 1, 1, 2, 2, 10, 0, 1, 2, 0, 0, 18, 0, 18, 1, 9, 18, 1, 0, 1, 1, 2, 2, 10, 0, 9, 10, 0, 0, 18, 10, 18, 1, 9, 18, 1, 2, 1, 1, 2, 2, 10, 18, 9, 10, 0, 0, 17, 9, 17, 0, 8, 17, 0, 1, 0, 0, 1, 1, 9, 17, 8, 9, 0, 0, 17, 9, 17, 1, 8, 17, 1, 2, 1, 1, 2, 2, 9, 17, 8, 9, 0, 0, 16, 8, 16, 0, 7, 16, 0, 1, 0, 0, 1, 1, 8, 16, 7, 8, 0, 0, 16, 8, 16, 1, 7, 16, 1, 2, 1, 1, 2, 2, 8, 16, 7, 8, 0, 0, 15, 7, 15, 0, 6, 15, 0, 1, 0, 0, 1, 1, 7, 15, 6, 7, 0, 0, 15, 7, 15, 1, 6, 15, 1, 2, 1, 1, 2, 2, 7, 15, 6, 7, 0, 0, 14, 6, 14, 0, 5, 14, 0, 1, 0, 0, 1, 1, 6, 14, 5, 6, 0, 0, 14, 6, 14, 1, 5, 14, 1, 2, 1, 1, 2, 2, 6, 14, 5, 6, 0, 0, 13, 5, 13, 0, 4, 13, 0, 1, 0, 0, 1, 1, 5, 13, 4, 5, 0, 0, 13, 5, 13, 1, 4, 13, 1, 2, 1, 1, 2, 2, 5, 13, 4, 5, 0, 0, 12, 4, 12, 0, 3, 12, 0, 1, 0, 0, 1, 1, 4, 12, 3, 4, 0, 0, 12, 4, 12, 1, 3, 12, 1, 2, 1, 1, 2, 2, 4, 12, 3, 4, 0, 0, 11, 3, 11, 0, 2, 11, 0, 1, 0, 0, 1, 1, 3, 11, 2, 3, 0, 0, 11, 3, 11, 1, 2, 11, 1, 2, 1, 1, 2, 2, 3, 11, 2, 3, 0, 0, 10, 2, 10, 0, 1, 10, 0, 1, 0, 0, 1, 1, 2, 10, 1, 2, 0, 0, 10, 2, 10, 2, 1, 10, 1, 3, 2, 2, 3, 3, 2, 10, 1, 2, 0, 0, 9, 1, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 9, 0, 1, 0, 0, 9, 1, 9, 1, 0, 9, 0, 0, 1, 1, 2, 0, 1, 9, 0, 1, 0, 0, 9, 2, 9, 1, 1, 9, 1, 0, 1, 1, 2, 0, 2, 9, 1, 2, 0, 0, 18, 9, 18, 1, 8, 18, 1, 0, 1, 1, 2, 0, 18, 9, 8, 9, 0, 0, 18, 9, 18, 1, 8, 18, 1, 2, 1, 1, 2, 2, 18, 9, 8, 9, 0, 0, 17, 8, 17, 0, 7, 17, 0, 1, 0, 0, 1, 1, 17, 8, 7, 8, 0, 0, 17, 8, 17, 1, 7, 17, 1, 2, 1, 1, 2, 2, 17, 8, 7, 8, 0, 0, 16, 7, 16, 0, 6, 16, 0, 1, 0, 0, 1, 1, 16, 7, 6, 7, 0, 0, 16, 7, 16, 1, 6, 16, 1, 2, 1, 1, 2, 2, 16, 7, 6, 7, 0, 0, 15, 6, 15, 0, 5, 15, 0, 1, 0, 0, 1, 1, 15, 6, 5, 6, 0, 0, 15, 6, 15, 1, 5, 15, 1, 2, 1, 1, 2, 2, 15, 6, 5, 6, 0, 0, 14, 5, 14, 0, 4, 14, 0, 1, 0, 0, 1, 1, 14, 5, 4, 5, 0, 0, 14, 5, 14, 1, 4, 14, 1, 2, 1, 1, 2, 2, 14, 5, 4, 5, 0, 0, 13, 4, 13, 0, 3, 13, 0, 1, 0, 0, 1, 1, 13, 4, 3, 4, 0, 0, 13, 4, 13, 1, 3, 13, 1, 2, 1, 1, 2, 2, 13, 4, 3, 4, 0, 0, 12, 3, 12, 0, 2, 12, 0, 1, 0, 0, 1, 1, 12, 3, 2, 3, 0, 0, 12, 3, 12, 1, 2, 12, 1, 2, 1, 1, 2, 2, 12, 3, 2, 3, 0, 0, 11, 2, 11, 0, 1, 11, 0, 1, 0, 0, 1, 1, 11, 2, 1, 2, 0, 0, 11, 2, 11, 2, 1, 11, 1, 2, 1, 2, 3, 3, 11, 2, 1, 2, 0, 0, 10, 1, 10, 0, 0, 10, 0, 0, 0, 0, 0, 0, 10, 1, 0, 1, 0, 0, 10, 1, 10, 1, 0, 10, 0, 0, 0, 1, 2, 0, 10, 1, 0, 1, 0, 0, 10, 2, 10, 1, 1, 10, 1, 0, 1, 1, 2, 0, 10, 2, 1, 2, 0, 0, 18, 10, 18, 1, 9, 18, 1, 0, 1, 1, 2, 0, 10, 18, 9, 10, 0, 0, 9, 0, 9, 0, 0, 9, 0, 0, 0, 0, 1, 1, 9, 0, 0, 0, 0, 0, 9, 0, 9, 1, 0, 9, 0, 0, 0, 1, 2, 2, 9, 0, 0, 0, 0, 0, 9, 0, 9, 1, 1, 9, 1, 0, 1, 1, 2, 2, 9, 0, 1, 2, 0, 0, 18, 0, 18, 1, 8, 18, 1, 0, 1, 1, 2, 2, 9, 0, 8, 9, 0, 0, 18, 9, 18, 1, 8, 18, 1, 2, 1, 1, 2, 2, 9, 18, 8, 9, 0, 0, 17, 8, 17, 0, 7, 17, 0, 1, 0, 0, 1, 1, 8, 17, 7, 8, 0, 0, 17, 8, 17, 1, 7, 17, 1, 2, 1, 1, 2, 2, 8, 17, 7, 8, 0, 0, 16, 7, 16, 0, 6, 16, 0, 1, 0, 0, 1, 1, 7, 16, 6, 7, 0, 0, 16, 7, 16, 1, 6, 16, 1, 2, 1, 1, 2, 2, 7, 16, 6, 7, 0, 0, 15, 6, 15, 0, 5, 15, 0, 1, 0, 0, 1, 1, 6, 15, 5, 6, 0, 0, 15, 6, 15, 1, 5, 15, 1, 2, 1, 1, 2, 2, 6, 15, 5, 6, 0, 0, 14, 5, 14, 0, 4, 14, 0, 1, 0, 0, 1, 1, 5, 14, 4, 5, 0, 0, 14, 5, 14, 1, 4, 14, 1, 2, 1, 1, 2, 2, 5, 14, 4, 5, 0, 0, 13, 4, 13, 0, 3, 13, 0, 1, 0, 0, 1, 1, 4, 13, 3, 4, 0, 0, 13, 4, 13, 1, 3, 13, 1, 2, 1, 1, 2, 2, 4, 13, 3, 4, 0, 0, 12, 3, 12, 0, 2, 12, 0, 1, 0, 0, 1, 1, 3, 12, 2, 3, 0, 0, 12, 3, 12, 1, 2, 12, 1, 2, 1, 1, 2, 2, 3, 12, 2, 3, 0, 0, 11, 2, 11, 0, 1, 11, 0, 1, 0, 0, 1, 1, 2, 11, 1, 2, 0, 0, 11, 2, 11, 2, 1, 11, 1, 3, 2, 2, 3, 3, 2, 11, 1, 2, 0, 0, 10, 1, 10, 0, 0, 10, 0, 0, 0, 0, 0, 0, 1, 10, 0, 1, 0, 0, 10, 1, 10, 1, 0, 10, 0, 0, 1, 1, 2, 0, 1, 10, 0, 1, 0, 0, 10, 2, 10, 1, 1, 10, 1, 0, 1, 1, 2, 0, 2, 10, 1, 2, 0, 0, 18, 10, 18, 1, 9, 18, 1, 0, 1, 1, 2, 0, 18, 10, 9, 10, 0, 0, 18, 10, 18, 1, 9, 18, 1, 2, 1, 1, 2, 2, 18, 10, 9, 10, 0, 0, 17, 9, 17, 0, 8, 17, 0, 1, 0, 0, 1, 1, 17, 9, 8, 9, 0, 0, 17, 9, 17, 1, 8, 17, 1, 2, 1, 1, 2, 2, 17, 9, 8, 9, 0, 0, 16, 8, 16, 0, 7, 16, 0, 1, 0, 0, 1, 1, 16, 8, 7, 8, 0, 0, 16, 8, 16, 1, 7, 16, 1, 2, 1, 1, 2, 2, 16, 8, 7, 8, 0, 0, 15, 7, 15, 0, 6, 15, 0, 1, 0, 0, 1, 1, 15, 7, 6, 7, 0, 0, 15, 7, 15, 1, 6, 15, 1, 2, 1, 1, 2, 2, 15, 7, 6, 7, 0, 0, 14, 6, 14, 0, 5, 14, 0, 1, 0, 0, 1, 1, 14, 6, 5, 6, 0, 0, 14, 6, 14, 1, 5, 14, 1, 2, 1, 1, 2, 2, 14, 6, 5, 6, 0, 0, 13, 5, 13, 0, 4, 13, 0, 1, 0, 0, 1, 1, 13, 5, 4, 5, 0, 0, 13, 5, 13, 1, 4, 13, 1, 2, 1, 1, 2, 2, 13, 5, 4, 5, 0, 0, 12, 4, 12, 0, 3, 12, 0, 1, 0, 0, 1, 1, 12, 4, 3, 4, 0, 0, 12, 4, 12, 1, 3, 12, 1, 2, 1, 1, 2, 2, 12, 4, 3, 4, 0, 0, 11, 3, 11, 0, 2, 11, 0, 1, 0, 0, 1, 1, 11, 3, 2, 3, 0, 0, 11, 3, 11, 1, 2, 11, 1, 2, 1, 1, 2, 2, 11, 3, 2, 3, 0, 0, 10, 2, 10, 0, 1, 10, 0, 1, 0, 0, 1, 1, 10, 2, 1, 2, 0, 0, 10, 2, 10, 2, 1, 10, 1, 2, 1, 2, 3, 3, 10, 2, 1, 2, 0, 0, 9, 1, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 9, 1, 0, 1, 0, 0, 9, 1, 9, 1, 0, 9, 0, 0, 0, 1, 2, 0, 9, 1, 0, 1, 0, 0, 9, 2, 9, 1, 1, 9, 1, 0, 1, 1, 2, 0, 9, 2, 1, 2, 0, 0, 18, 9, 18, 1, 8, 18, 1, 0, 1, 1, 2, 0, 9, 18, 8, 9, 0, 0, 8, 0, 8, 0, 0, 8, 0, 0, 0, 0, 1, 1, 8, 0, 0, 0, 0, 0, 8, 0, 8, 1, 0, 8, 0, 0, 0, 1, 2, 2, 8, 0, 0, 0, 0, 0, 8, 0, 8, 1, 1, 8, 1, 0, 1, 1, 2, 2, 8, 0, 1, 2, 0, 0, 18, 0, 18, 1, 7, 18, 1, 0, 1, 1, 2, 2, 8, 0, 7, 8, 0, 0, 18, 8, 18, 1, 7, 18, 1, 2, 1, 1, 2, 2, 8, 18, 7, 8, 0, 0, 17, 7, 17, 0, 6, 17, 0, 1, 0, 0, 1, 1, 7, 17, 6, 7, 0, 0, 17, 7, 17, 1, 6, 17, 1, 2, 1, 1, 2, 2, 7, 17, 6, 7, 0, 0, 16, 6, 16, 0, 5, 16, 0, 1, 0, 0, 1, 1, 6, 16, 5, 6, 0, 0, 16, 6, 16, 1, 5, 16, 1, 2, 1, 1, 2, 2, 6, 16, 5, 6, 0, 0, 15, 5, 15, 0, 4, 15, 0, 1, 0, 0, 1, 1, 5, 15, 4, 5, 0, 0, 15, 5, 15, 1, 4, 15, 1, 2, 1, 1, 2, 2, 5, 15, 4, 5, 0, 0, 14, 4, 14, 0, 3, 14, 0, 1, 0, 0, 1, 1, 4, 14, 3, 4, 0, 0, 14, 4, 14, 1, 3, 14, 1, 2, 1, 1, 2, 2, 4, 14, 3, 4, 0, 0, 13, 3, 13, 0, 2, 13, 0, 1, 0, 0, 1, 1, 3, 13, 2, 3, 0, 0, 13, 3, 13, 1, 2, 13, 1, 2, 1, 1, 2, 2, 3, 13, 2, 3, 0, 0, 12, 2, 12, 0, 1, 12, 0, 1, 0, 0, 1, 1, 2, 12, 1, 2, 0, 0, 12, 2, 12, 2, 1, 12, 1, 3, 2, 2, 3, 3, 2, 12, 1, 2, 0, 0, 11, 1, 11, 0, 0, 11, 0, 0, 0, 0, 0, 0, 1, 11, 0, 1, 0, 0, 11, 1, 11, 1, 0, 11, 0, 0, 1, 1, 2, 0, 1, 11, 0, 1, 0, 0, 11, 2, 11, 1, 1, 11, 1, 0, 1, 1, 2, 0, 2, 11, 1, 2, 0, 0, 18, 11, 18, 1, 10, 18, 1, 0, 1, 1, 2, 0, 18, 11, 10, 11, 0, 0, 18, 11, 18, 1, 10, 18, 1, 2, 1, 1, 2, 2, 18, 11, 10, 11, 0, 0, 17, 10, 17, 0, 9, 17, 0, 1, 0, 0, 1, 1, 17, 10, 9, 10, 0, 0, 17, 10, 17, 1, 9, 17, 1, 2, 1, 1, 2, 2, 17, 10, 9, 10, 0, 0, 16, 9, 16, 0, 8, 16, 0, 1, 0, 0, 1, 1, 16, 9, 8, 9, 0, 0, 16, 9, 16, 1, 8, 16, 1, 2, 1, 1, 2, 2, 16, 9, 8, 9, 0, 0, 15, 8, 15, 0, 7, 15, 0, 1, 0, 0, 1, 1, 15, 8, 7, 8, 0, 0, 15, 8, 15, 1, 7, 15, 1, 2, 1, 1, 2, 2, 15, 8, 7, 8, 0, 0, 14, 7, 14, 0, 6, 14, 0, 1, 0, 0, 1, 1, 14, 7, 6, 7, 0, 0, 14, 7, 14, 1, 6, 14, 1, 2, 1, 1, 2, 2, 14, 7, 6, 7, 0, 0, 13, 6, 13, 0, 5, 13, 0, 1, 0, 0, 1, 1, 13, 6, 5, 6, 0, 0, 13, 6, 13, 1, 5, 13, 1, 2, 1, 1, 2, 2, 13, 6, 5, 6, 0, 0, 12, 5, 12, 0, 4, 12, 0, 1, 0, 0, 1, 1, 12, 5, 4, 5, 0, 0, 12, 5, 12, 1, 4, 12, 1, 2, 1, 1, 2, 2, 12, 5, 4, 5, 0, 0, 11, 4, 11, 0, 3, 11, 0, 1, 0, 0, 1, 1, 11, 4, 3, 4, 0, 0, 11, 4, 11, 1, 3, 11, 1, 2, 1, 1, 2, 2, 11, 4, 3, 4, 0, 0, 10, 3, 10, 0, 2, 10, 0, 1, 0, 0, 1, 1, 10, 3, 2, 3, 0, 0, 10, 3, 10, 1, 2, 10, 1, 2, 1, 1, 2, 2, 10, 3, 2, 3, 0, 0, 9, 2, 9, 0, 1, 9, 0, 1, 0, 0, 1, 1, 9, 2, 1, 2, 0, 0, 9, 2, 9, 2, 1, 9, 1, 2, 1, 2, 3, 3, 9, 2, 1, 2, 0, 0, 8, 1, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 1, 0, 1, 0, 0, 8, 1, 8, 1, 0, 8, 0, 0, 0, 1, 2, 0, 8, 1, 0, 1, 0, 0, 8, 2, 8, 1, 1, 8, 1, 0, 1, 1, 2, 0, 8, 2, 1, 2, 0, 0, 18, 8, 18, 1, 7, 18, 1, 0, 1, 1, 2, 0, 8, 18, 7, 8, 0, 0, 7, 0, 7, 0, 0, 7, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 7, 0, 7, 1, 0, 7, 0, 0, 0, 1, 2, 2, 7, 0, 0, 0, 0, 0, 7, 0, 7, 1, 1, 7, 1, 0, 1, 1, 2, 2, 7, 0, 1, 2, 0, 0, 18, 0, 18, 1, 6, 18, 1, 0, 1, 1, 2, 2, 7, 0, 6, 7, 0, 0, 18, 7, 18, 1, 6, 18, 1, 2, 1, 1, 2, 2, 7, 18, 6, 7, 0, 0, 17, 6, 17, 0, 5, 17, 0, 1, 0, 0, 1, 1, 6, 17, 5, 6, 0, 0, 17, 6, 17, 1, 5, 17, 1, 2, 1, 1, 2, 2, 6, 17, 5, 6, 0, 0, 16, 5, 16, 0, 4, 16, 0, 1, 0, 0, 1, 1, 5, 16, 4, 5, 0, 0, 16, 5, 16, 1, 4, 16, 1, 2, 1, 1, 2, 2, 5, 16, 4, 5, 0, 0, 15, 4, 15, 0, 3, 15, 0, 1, 0, 0, 1, 1, 4, 15, 3, 4, 0, 0, 15, 4, 15, 1, 3, 15, 1, 2, 1, 1, 2, 2, 4, 15, 3, 4, 0, 0, 14, 3, 14, 0, 2, 14, 0, 1, 0, 0, 1, 1, 3, 14, 2, 3, 0, 0, 14, 3, 14, 1, 2, 14, 1, 2, 1, 1, 2, 2, 3, 14, 2, 3, 0, 0, 13, 2, 13, 0, 1, 13, 0, 1, 0, 0, 1, 1, 2, 13, 1, 2, 0, 0, 13, 2, 13, 2, 1, 13, 1, 3, 2, 2, 3, 3, 2, 13, 1, 2, 0, 0, 12, 1, 12, 0, 0, 12, 0, 0, 0, 0, 0, 0, 1, 12, 0, 1, 0, 0, 12, 1, 12, 1, 0, 12, 0, 0, 1, 1, 2, 0, 1, 12, 0, 1, 0, 0, 12, 2, 12, 1, 1, 12, 1, 0, 1, 1, 2, 0, 2, 12, 1, 2, 0, 0, 18, 12, 18, 1, 11, 18, 1, 0, 1, 1, 2, 0, 18, 12, 11, 12, 0, 0, 18, 12, 18, 1, 11, 18, 1, 2, 1, 1, 2, 2, 18, 12, 11, 12, 0, 0, 17, 11, 17, 0, 10, 17, 0, 1, 0, 0, 1, 1, 17, 11, 10, 11, 0, 0, 17, 11, 17, 1, 10, 17, 1, 2, 1, 1, 2, 2, 17, 11, 10, 11, 0, 0, 16, 10, 16, 0, 9, 16, 0, 1, 0, 0, 1, 1, 16, 10, 9, 10, 0, 0, 16, 10, 16, 1, 9, 16, 1, 2, 1, 1, 2, 2, 16, 10, 9, 10, 0, 0, 15, 9, 15, 0, 8, 15, 0, 1, 0, 0, 1, 1, 15, 9, 8, 9, 0, 0, 15, 9, 15, 1, 8, 15, 1, 2, 1, 1, 2, 2, 15, 9, 8, 9, 0, 0, 14, 8, 14, 0, 7, 14, 0, 1, 0, 0, 1, 1, 14, 8, 7, 8, 0, 0, 14, 8, 14, 1, 7, 14, 1, 2, 1, 1, 2, 2, 14, 8, 7, 8, 0, 0, 13, 7, 13, 0, 6, 13, 0, 1, 0, 0, 1, 1, 13, 7, 6, 7, 0, 0, 13, 7, 13, 1, 6, 13, 1, 2, 1, 1, 2, 2, 13, 7, 6, 7, 0, 0, 12, 6, 12, 0, 5, 12, 0, 1, 0, 0, 1, 1, 12, 6, 5, 6, 0, 0, 12, 6, 12, 1, 5, 12, 1, 2, 1, 1, 2, 2, 12, 6, 5, 6, 0, 0, 11, 5, 11, 0, 4, 11, 0, 1, 0, 0, 1, 1, 11, 5, 4, 5, 0, 0, 11, 5, 11, 1, 4, 11, 1, 2, 1, 1, 2, 2, 11, 5, 4, 5, 0, 0, 10, 4, 10, 0, 3, 10, 0, 1, 0, 0, 1, 1, 10, 4, 3, 4, 0, 0, 10, 4, 10, 1, 3, 10, 1, 2, 1, 1, 2, 2, 10, 4, 3, 4, 0, 0, 9, 3, 9, 0, 2, 9, 0, 1, 0, 0, 1, 1, 9, 3, 2, 3, 0, 0, 9, 3, 9, 1, 2, 9, 1, 2, 1, 1, 2, 2, 9, 3, 2, 3, 0, 0, 8, 2, 8, 0, 1, 8, 0, 1, 0, 0, 1, 1, 8, 2, 1, 2, 0, 0, 8, 2, 8, 2, 1, 8, 1, 2, 1, 2, 3, 3, 8, 2, 1, 2, 0, 0, 7, 1, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 1, 0, 1, 0, 0, 7, 1, 7, 1, 0, 7, 0, 0, 0, 1, 2, 0, 7, 1, 0, 1, 0, 0, 7, 2, 7, 1, 1, 7, 1, 0, 1, 1, 2, 0, 7, 2, 1, 2, 0, 0, 18, 7, 18, 1, 6, 18, 1, 0, 1, 1, 2, 0, 7, 18, 6, 7, 0, 0, 6, 0, 6, 0, 0, 6, 0, 0, 0, 0, 1, 1, 6, 0, 0, 0, 0, 0, 6, 0, 6, 1, 0, 6, 0, 0, 0, 1, 2, 2, 6, 0, 0, 0, 0, 0, 6, 0, 6, 1, 1, 6, 1, 0, 1, 1, 2, 2, 6, 0, 1, 2, 0, 0, 18, 0, 18, 1, 5, 18, 1, 0, 1, 1, 2, 2, 6, 0, 5, 6, 0, 0, 18, 6, 18, 1, 5, 18, 1, 2, 1, 1, 2, 2, 6, 18, 5, 6, 0, 0, 17, 5, 17, 0, 4, 17, 0, 1, 0, 0, 1, 1, 5, 17, 4, 5, 0, 0, 17, 5, 17, 1, 4, 17, 1, 2, 1, 1, 2, 2, 5, 17, 4, 5, 0, 0, 16, 4, 16, 0, 3, 16, 0, 1, 0, 0, 1, 1, 4, 16, 3, 4, 0, 0, 16, 4, 16, 1, 3, 16, 1, 2, 1, 1, 2, 2, 4, 16, 3, 4, 0, 0, 15, 3, 15, 0, 2, 15, 0, 1, 0, 0, 1, 1, 3, 15, 2, 3, 0, 0, 15, 3, 15, 1, 2, 15, 1, 2, 1, 1, 2, 2, 3, 15, 2, 3, 0, 0, 14, 2, 14, 0, 1, 14, 0, 1, 0, 0, 1, 1, 2, 14, 1, 2, 0, 0, 14, 2, 14, 2, 1, 14, 1, 3, 2, 2, 3, 3, 2, 14, 1, 2, 0, 0, 13, 1, 13, 0, 0, 13, 0, 0, 0, 0, 0, 0, 1, 13, 0, 1, 0, 0, 13, 1, 13, 1, 0, 13, 0, 0, 1, 1, 2, 0, 1, 13, 0, 1, 0, 0, 13, 2, 13, 1, 1, 13, 1, 0, 1, 1, 2, 0, 2, 13, 1, 2, 0, 0, 18, 13, 18, 1, 12, 18, 1, 0, 1, 1, 2, 0, 18, 13, 12, 13, 0, 0, 18, 13, 18, 1, 12, 18, 1, 2, 1, 1, 2, 2, 18, 13, 12, 13, 0, 0, 17, 12, 17, 0, 11, 17, 0, 1, 0, 0, 1, 1, 17, 12, 11, 12, 0, 0, 17, 12, 17, 1, 11, 17, 1, 2, 1, 1, 2, 2, 17, 12, 11, 12, 0, 0, 16, 11, 16, 0, 10, 16, 0, 1, 0, 0, 1, 1, 16, 11, 10, 11, 0, 0, 16, 11, 16, 1, 10, 16, 1, 2, 1, 1, 2, 2, 16, 11, 10, 11, 0, 0, 15, 10, 15, 0, 9, 15, 0, 1, 0, 0, 1, 1, 15, 10, 9, 10, 0, 0, 15, 10, 15, 1, 9, 15, 1, 2, 1, 1, 2, 2, 15, 10, 9, 10, 0, 0, 14, 9, 14, 0, 8, 14, 0, 1, 0, 0, 1, 1, 14, 9, 8, 9, 0, 0, 14, 9, 14, 1, 8, 14, 1, 2, 1, 1, 2, 2, 14, 9, 8, 9, 0, 0, 13, 8, 13, 0, 7, 13, 0, 1, 0, 0, 1, 1, 13, 8, 7, 8, 0, 0, 13, 8, 13, 1, 7, 13, 1, 2, 1, 1, 2, 2, 13, 8, 7, 8, 0, 0, 12, 7, 12, 0, 6, 12, 0, 1, 0, 0, 1, 1, 12, 7, 6, 7, 0, 0, 12, 7, 12, 1, 6, 12, 1, 2, 1, 1, 2, 2, 12, 7, 6, 7, 0, 0, 11, 6, 11, 0, 5, 11, 0, 1, 0, 0, 1, 1, 11, 6, 5, 6, 0, 0, 11, 6, 11, 1, 5, 11, 1, 2, 1, 1, 2, 2, 11, 6, 5, 6, 0, 0, 10, 5, 10, 0, 4, 10, 0, 1, 0, 0, 1, 1, 10, 5, 4, 5, 0, 0, 10, 5, 10, 1, 4, 10, 1, 2, 1, 1, 2, 2, 10, 5, 4, 5, 0, 0, 9, 4, 9, 0, 3, 9, 0, 1, 0, 0, 1, 1, 9, 4, 3, 4, 0, 0, 9, 4, 9, 1, 3, 9, 1, 2, 1, 1, 2, 2, 9, 4, 3, 4, 0, 0, 8, 3, 8, 0, 2, 8, 0, 1, 0, 0, 1, 1, 8, 3, 2, 3, 0, 0, 8, 3, 8, 1, 2, 8, 1, 2, 1, 1, 2, 2, 8, 3, 2, 3, 0, 0, 7, 2, 7, 0, 1, 7, 0, 1, 0, 0, 1, 1, 7, 2, 1, 2, 0, 0, 7, 2, 7, 2, 1, 7, 1, 2, 1, 2, 3, 3, 7, 2, 1, 2, 0, 0, 6, 1, 6, 0, 0, 6, 0, 0, 0, 0, 0, 0, 6, 1, 0, 1, 0, 0, 6, 1, 6, 1, 0, 6, 0, 0, 0, 1, 2, 0, 6, 1, 0, 1, 0, 0, 6, 2, 6, 1, 1, 6, 1, 0, 1, 1, 2, 0, 6, 2, 1, 2, 0, 0, 18, 6, 18, 1, 5, 18, 1, 0, 1, 1, 2, 0, 6, 18, 5, 6, 0, 0, 5, 0, 5, 0, 0, 5, 0, 0, 0, 0, 1, 1, 5, 0, 0, 0, 0, 0, 5, 0, 5, 1, 0, 5, 0, 0, 0, 1, 2, 2, 5, 0, 0, 0, 0, 0, 5, 0, 5, 1, 1, 5, 1, 0, 1, 1, 2, 2, 5, 0, 1, 2, 0, 0, 18, 0, 18, 1, 4, 18, 1, 0, 1, 1, 2, 2, 5, 0, 4, 5, 0, 0, 18, 5, 18, 1, 4, 18, 1, 2, 1, 1, 2, 2, 5, 18, 4, 5, 0, 0, 17, 4, 17, 0, 3, 17, 0, 1, 0, 0, 1, 1, 4, 17, 3, 4, 0, 0, 17, 4, 17, 1, 3, 17, 1, 2, 1, 1, 2, 2, 4, 17, 3, 4, 0, 0, 16, 3, 16, 0, 2, 16, 0, 1, 0, 0, 1, 1, 3, 16, 2, 3, 0, 0, 16, 3, 16, 1, 2, 16, 1, 2, 1, 1, 2, 2, 3, 16, 2, 3, 0, 0, 15, 2, 15, 0, 1, 15, 0, 1, 0, 0, 1, 1, 2, 15, 1, 2, 0, 0, 15, 2, 15, 2, 1, 15, 1, 3, 2, 2, 3, 3, 2, 15, 1, 2, 0, 0, 14, 1, 14, 0, 0, 14, 0, 0, 0, 0, 0, 0, 1, 14, 0, 1, 0, 0, 14, 1, 14, 1, 0, 14, 0, 0, 1, 1, 2, 0, 1, 14, 0, 1, 0, 0, 14, 2, 14, 1, 1, 14, 1, 0, 1, 1, 2, 0, 2, 14, 1, 2, 0, 0, 18, 14, 18, 1, 13, 18, 1, 0, 1, 1, 2, 0, 18, 14, 13, 14, 0, 0, 18, 14, 18, 1, 13, 18, 1, 2, 1, 1, 2, 2, 18, 14, 13, 14, 0, 0, 17, 13, 17, 0, 12, 17, 0, 1, 0, 0, 1, 1, 17, 13, 12, 13, 0, 0, 17, 13, 17, 1, 12, 17, 1, 2, 1, 1, 2, 2, 17, 13, 12, 13, 0, 0, 16, 12, 16, 0, 11, 16, 0, 1, 0, 0, 1, 1, 16, 12, 11, 12, 0, 0, 16, 12, 16, 1, 11, 16, 1, 2, 1, 1, 2, 2, 16, 12, 11, 12, 0, 0, 15, 11, 15, 0, 10, 15, 0, 1, 0, 0, 1, 1, 15, 11, 10, 11, 0, 0, 15, 11, 15, 1, 10, 15, 1, 2, 1, 1, 2, 2, 15, 11, 10, 11, 0, 0, 14, 10, 14, 0, 9, 14, 0, 1, 0, 0, 1, 1, 14, 10, 9, 10, 0, 0, 14, 10, 14, 1, 9, 14, 1, 2, 1, 1, 2, 2, 14, 10, 9, 10, 0, 0, 13, 9, 13, 0, 8, 13, 0, 1, 0, 0, 1, 1, 13, 9, 8, 9, 0, 0, 13, 9, 13, 1, 8, 13, 1, 2, 1, 1, 2, 2, 13, 9, 8, 9, 0, 0, 12, 8, 12, 0, 7, 12, 0, 1, 0, 0, 1, 1, 12, 8, 7, 8, 0, 0, 12, 8, 12, 1, 7, 12, 1, 2, 1, 1, 2, 2, 12, 8, 7, 8, 0, 0, 11, 7, 11, 0, 6, 11, 0, 1, 0, 0, 1, 1, 11, 7, 6, 7, 0, 0, 11, 7, 11, 1, 6, 11, 1, 2, 1, 1, 2, 2, 11, 7, 6, 7, 0, 0, 10, 6, 10, 0, 5, 10, 0, 1, 0, 0, 1, 1, 10, 6, 5, 6, 0, 0, 10, 6, 10, 1, 5, 10, 1, 2, 1, 1, 2, 2, 10, 6, 5, 6, 0, 0, 9, 5, 9, 0, 4, 9, 0, 1, 0, 0, 1, 1, 9, 5, 4, 5, 0, 0, 9, 5, 9, 1, 4, 9, 1, 2, 1, 1, 2, 2, 9, 5, 4, 5, 0, 0, 8, 4, 8, 0, 3, 8, 0, 1, 0, 0, 1, 1, 8, 4, 3, 4, 0, 0, 8, 4, 8, 1, 3, 8, 1, 2, 1, 1, 2, 2, 8, 4, 3, 4, 0, 0, 7, 3, 7, 0, 2, 7, 0, 1, 0, 0, 1, 1, 7, 3, 2, 3, 0, 0, 7, 3, 7, 1, 2, 7, 1, 2, 1, 1, 2, 2, 7, 3, 2, 3, 0, 0, 6, 2, 6, 0, 1, 6, 0, 1, 0, 0, 1, 1, 6, 2, 1, 2, 0, 0, 6, 2, 6, 2, 1, 6, 1, 2, 1, 2, 3, 3, 6, 2, 1, 2, 0, 0, 5, 1, 5, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 1, 0, 1, 0, 0, 5, 1, 5, 1, 0, 5, 0, 0, 0, 1, 2, 0, 5, 1, 0, 1, 0, 0, 5, 2, 5, 1, 1, 5, 1, 0, 1, 1, 2, 0, 5, 2, 1, 2, 0, 0, 18, 5, 18, 1, 4, 18, 1, 0, 1, 1, 2, 0, 5, 18, 4, 5, 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 0, 0, 1, 1, 4, 0, 0, 0, 0, 0, 4, 0, 4, 1, 0, 4, 0, 0, 0, 1, 2, 2, 4, 0, 0, 0, 0, 0, 4, 0, 4, 1, 1, 4, 1, 0, 1, 1, 2, 2, 4, 0, 1, 2, 0, 0, 18, 0, 18, 1, 3, 18, 1, 0, 1, 1, 2, 2, 4, 0, 3, 4, 0, 0, 18, 4, 18, 1, 3, 18, 1, 2, 1, 1, 2, 2, 4, 18, 3, 4, 0, 0, 17, 3, 17, 0, 2, 17, 0, 1, 0, 0, 1, 1, 3, 17, 2, 3, 0, 0, 17, 3, 17, 1, 2, 17, 1, 2, 1, 1, 2, 2, 3, 17, 2, 3, 0, 0, 16, 2, 16, 0, 1, 16, 0, 1, 0, 0, 1, 1, 2, 16, 1, 2, 0, 0, 16, 2, 16, 2, 1, 16, 1, 3, 2, 2, 3, 3, 2, 16, 1, 2, 0, 0, 15, 1, 15, 0, 0, 15, 0, 0, 0, 0, 0, 0, 1, 15, 0, 1, 0, 0, 15, 1, 15, 1, 0, 15, 0, 0, 1, 1, 2, 0, 1, 15, 0, 1, 0, 0, 15, 2, 15, 1, 1, 15, 1, 0, 1, 1, 2, 0, 2, 15, 1, 2, 0, 0, 18, 15, 18, 1, 14, 18, 1, 0, 1, 1, 2, 0, 18, 15, 14, 15, 0, 0, 18, 15, 18, 1, 14, 18, 1, 2, 1, 1, 2, 2, 18, 15, 14, 15, 0, 0, 17, 14, 17, 0, 13, 17, 0, 1, 0, 0, 1, 1, 17, 14, 13, 14, 0, 0, 17, 14, 17, 1, 13, 17, 1, 2, 1, 1, 2, 2, 17, 14, 13, 14, 0, 0, 16, 13, 16, 0, 12, 16, 0, 1, 0, 0, 1, 1, 16, 13, 12, 13, 0, 0, 16, 13, 16, 1, 12, 16, 1, 2, 1, 1, 2, 2, 16, 13, 12, 13, 0, 0, 15, 12, 15, 0, 11, 15, 0, 1, 0, 0, 1, 1, 15, 12, 11, 12, 0, 0, 15, 12, 15, 1, 11, 15, 1, 2, 1, 1, 2, 2, 15, 12, 11, 12, 0, 0, 14, 11, 14, 0, 10, 14, 0, 1, 0, 0, 1, 1, 14, 11, 10, 11, 0, 0, 14, 11, 14, 1, 10, 14, 1, 2, 1, 1, 2, 2, 14, 11, 10, 11, 0, 0, 13, 10, 13, 0, 9, 13, 0, 1, 0, 0, 1, 1, 13, 10, 9, 10, 0, 0, 13, 10, 13, 1, 9, 13, 1, 2, 1, 1, 2, 2, 13, 10, 9, 10, 0, 0, 12, 9, 12, 0, 8, 12, 0, 1, 0, 0, 1, 1, 12, 9, 8, 9, 0, 0, 12, 9, 12, 1, 8, 12, 1, 2, 1, 1, 2, 2, 12, 9, 8, 9, 0, 0, 11, 8, 11, 0, 7, 11, 0, 1, 0, 0, 1, 1, 11, 8, 7, 8, 0, 0, 11, 8, 11, 1, 7, 11, 1, 2, 1, 1, 2, 2, 11, 8, 7, 8, 0, 0, 10, 7, 10, 0, 6, 10, 0, 1, 0, 0, 1, 1, 10, 7, 6, 7, 0, 0, 10, 7, 10, 1, 6, 10, 1, 2, 1, 1, 2, 2, 10, 7, 6, 7, 0, 0, 9, 6, 9, 0, 5, 9, 0, 1, 0, 0, 1, 1, 9, 6, 5, 6, 0, 0, 9, 6, 9, 1, 5, 9, 1, 2, 1, 1, 2, 2, 9, 6, 5, 6, 0, 0, 8, 5, 8, 0, 4, 8, 0, 1, 0, 0, 1, 1, 8, 5, 4, 5, 0, 0, 8, 5, 8, 1, 4, 8, 1, 2, 1, 1, 2, 2, 8, 5, 4, 5, 0, 0, 7, 4, 7, 0, 3, 7, 0, 1, 0, 0, 1, 1, 7, 4, 3, 4, 0, 0, 7, 4, 7, 1, 3, 7, 1, 2, 1, 1, 2, 2, 7, 4, 3, 4, 0, 0, 6, 3, 6, 0, 2, 6, 0, 1, 0, 0, 1, 1, 6, 3, 2, 3, 0, 0, 6, 3, 6, 1, 2, 6, 1, 2, 1, 1, 2, 2, 6, 3, 2, 3, 0, 0, 5, 2, 5, 0, 1, 5, 0, 1, 0, 0, 1, 1, 5, 2, 1, 2, 0, 0, 5, 2, 5, 2, 1, 5, 1, 2, 1, 2, 3, 3, 5, 2, 1, 2, 0, 0, 4, 1, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 1, 0, 1, 0, 0, 4, 1, 4, 1, 0, 4, 0, 0, 0, 1, 2, 0, 4, 1, 0, 1, 0, 0, 4, 2, 4, 1, 1, 4, 1, 0, 1, 1, 2, 0, 4, 2, 1, 2, 0, 0, 18, 4, 18, 1, 3, 18, 1, 0, 1, 1, 2, 0, 4, 18, 3, 4, 0, 0, 3, 0, 3, 0, 0, 3, 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 3, 0, 3, 1, 0, 3, 0, 0, 0, 1, 2, 2, 3, 0, 0, 0, 0, 0, 3, 0, 3, 1, 1, 3, 1, 0, 1, 1, 2, 2, 3, 0, 1, 2, 0, 0, 18, 0, 18, 1, 2, 18, 1, 0, 1, 1, 2, 2, 3, 0, 2, 3, 0, 0, 18, 3, 18, 1, 2, 18, 1, 2, 1, 1, 2, 2, 3, 18, 2, 3, 0, 0, 17, 2, 17, 0, 1, 17, 0, 1, 0, 0, 1, 1, 2, 17, 1, 2, 0, 0, 17, 2, 17, 2, 1, 17, 1, 3, 2, 2, 3, 3, 2, 17, 1, 2, 0, 0, 16, 1, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1, 16, 0, 1, 0, 0, 16, 1, 16, 1, 0, 16, 0, 0, 1, 1, 2, 0, 1, 16, 0, 1, 0, 0, 16, 2, 16, 1, 1, 16, 1, 0, 1, 1, 2, 0, 2, 16, 1, 2, 0, 0, 18, 16, 18, 1, 15, 18, 1, 0, 1, 1, 2, 0, 18, 16, 15, 16, 0, 0, 18, 16, 18, 1, 15, 18, 1, 2, 1, 1, 2, 2, 18, 16, 15, 16, 0, 0, 17, 15, 17, 0, 14, 17, 0, 1, 0, 0, 1, 1, 17, 15, 14, 15, 0, 0, 17, 15, 17, 1, 14, 17, 1, 2, 1, 1, 2, 2, 17, 15, 14, 15, 0, 0, 16, 14, 16, 0, 13, 16, 0, 1, 0, 0, 1, 1, 16, 14, 13, 14, 0, 0, 16, 14, 16, 1, 13, 16, 1, 2, 1, 1, 2, 2, 16, 14, 13, 14, 0, 0, 15, 13, 15, 0, 12, 15, 0, 1, 0, 0, 1, 1, 15, 13, 12, 13, 0, 0, 15, 13, 15, 1, 12, 15, 1, 2, 1, 1, 2, 2, 15, 13, 12, 13, 0, 0, 14, 12, 14, 0, 11, 14, 0, 1, 0, 0, 1, 1, 14, 12, 11, 12, 0, 0, 14, 12, 14, 1, 11, 14, 1, 2, 1, 1, 2, 2, 14, 12, 11, 12, 0, 0, 13, 11, 13, 0, 10, 13, 0, 1, 0, 0, 1, 1, 13, 11, 10, 11, 0, 0, 13, 11, 13, 1, 10, 13, 1, 2, 1, 1, 2, 2, 13, 11, 10, 11, 0, 0, 12, 10, 12, 0, 9, 12, 0, 1, 0, 0, 1, 1, 12, 10, 9, 10, 0, 0, 12, 10, 12, 1, 9, 12, 1, 2, 1, 1, 2, 2, 12, 10, 9, 10, 0, 0, 11, 9, 11, 0, 8, 11, 0, 1, 0, 0, 1, 1, 11, 9, 8, 9, 0, 0, 11, 9, 11, 1, 8, 11, 1, 2, 1, 1, 2, 2, 11, 9, 8, 9, 0, 0, 10, 8, 10, 0, 7, 10, 0, 1, 0, 0, 1, 1, 10, 8, 7, 8, 0, 0, 10, 8, 10, 1, 7, 10, 1, 2, 1, 1, 2, 2, 10, 8, 7, 8, 0, 0, 9, 7, 9, 0, 6, 9, 0, 1, 0, 0, 1, 1, 9, 7, 6, 7, 0, 0, 9, 7, 9, 1, 6, 9, 1, 2, 1, 1, 2, 2, 9, 7, 6, 7, 0, 0, 8, 6, 8, 0, 5, 8, 0, 1, 0, 0, 1, 1, 8, 6, 5, 6, 0, 0, 8, 6, 8, 1, 5, 8, 1, 2, 1, 1, 2, 2, 8, 6, 5, 6, 0, 0, 7, 5, 7, 0, 4, 7, 0, 1, 0, 0, 1, 1, 7, 5, 4, 5, 0, 0, 7, 5, 7, 1, 4, 7, 1, 2, 1, 1, 2, 2, 7, 5, 4, 5, 0, 0, 6, 4, 6, 0, 3, 6, 0, 1, 0, 0, 1, 1, 6, 4, 3, 4, 0, 0, 6, 4, 6, 1, 3, 6, 1, 2, 1, 1, 2, 2, 6, 4, 3, 4, 0, 0, 5, 3, 5, 0, 2, 5, 0, 1, 0, 0, 1, 1, 5, 3, 2, 3, 0, 0, 5, 3, 5, 1, 2, 5, 1, 2, 1, 1, 2, 2, 5, 3, 2, 3, 0, 0, 4, 2, 4, 0, 1, 4, 0, 1, 0, 0, 1, 1, 4, 2, 1, 2, 0, 0, 4, 2, 4, 2, 1, 4, 1, 2, 1, 2, 3, 3, 4, 2, 1, 2, 0, 0, 3, 1, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 1, 0, 1, 0, 0, 3, 1, 3, 1, 0, 3, 0, 0, 0, 1, 2, 0, 3, 1, 0, 1, 0, 0, 3, 2, 3, 1, 1, 3, 1, 0, 1, 1, 2, 0, 3, 2, 1, 2, 0, 0, 18, 3, 18, 1, 2, 18, 1, 0, 1, 1, 2, 0, 3, 18, 2, 3, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 0, 1, 2, 2, 2, 0, 0, 0, 0, 0, 2, 0, 2, 0, 1, 2, 0, 0, 0, 0, 1, 1, 2, 0, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 0, 1, 2, 3, 3, 2, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 3, 2, 0, 0, 0, 0, 0, 3, 1, 3, 2, 0, 3, 0, 1, 0, 2, 3, 3, 2, 1, 0, 1, 0, 0, 18, 2, 18, 2, 1, 18, 1, 3, 2, 2, 3, 3, 2, 18, 1, 2, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 2, 2, 3, 3, 2, 0, 1, 2, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 1, 1, 2, 0, 1, 2, 0, 0, 18, 2, 18, 0, 1, 18, 0, 1, 0, 0, 1, 1, 2, 18, 1, 2, 0, 0, 17, 1, 17, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 17, 0, 1, 0, 0, 17, 1, 17, 1, 0, 17, 0, 0, 1, 1, 2, 0, 1, 17, 0, 1, 0, 0, 17, 2, 17, 1, 1, 17, 1, 0, 1, 1, 2, 0, 2, 17, 1, 2, 0, 0, 18, 17, 18, 1, 16, 18, 1, 0, 1, 1, 2, 0, 18, 17, 16, 17, 0, 0, 16, 0, 16, 0, 0, 16, 0, 1, 0, 0, 1, 1, 0, 16, 0, 0, 0, 0, 16, 0, 16, 1, 0, 16, 0, 2, 1, 1, 2, 2, 0, 16, 0, 0, 0, 0, 16, 0, 16, 1, 1, 16, 1, 2, 1, 1, 2, 2, 0, 16, 1, 2, 0, 0, 18, 0, 18, 1, 15, 18, 1, 2, 1, 1, 2, 2, 0, 16, 15, 16, 0, 0, 15, 0, 15, 0, 0, 15, 0, 1, 0, 0, 1, 1, 0, 15, 0, 0, 0, 0, 15, 0, 15, 1, 0, 15, 0, 2, 1, 1, 2, 2, 0, 15, 0, 0, 0, 0, 15, 0, 15, 1, 1, 15, 1, 2, 1, 1, 2, 2, 0, 15, 1, 2, 0, 0, 18, 0, 18, 1, 14, 18, 1, 2, 1, 1, 2, 2, 0, 15, 14, 15, 0, 0, 14, 0, 14, 0, 0, 14, 0, 1, 0, 0, 1, 1, 0, 14, 0, 0, 0, 0, 14, 0, 14, 1, 0, 14, 0, 2, 1, 1, 2, 2, 0, 14, 0, 0, 0, 0, 14, 0, 14, 1, 1, 14, 1, 2, 1, 1, 2, 2, 0, 14, 1, 2, 0, 0, 18, 0, 18, 1, 13, 18, 1, 2, 1, 1, 2, 2, 0, 14, 13, 14, 0, 0, 13, 0, 13, 0, 0, 13, 0, 1, 0, 0, 1, 1, 0, 13, 0, 0, 0, 0, 13, 0, 13, 1, 0, 13, 0, 2, 1, 1, 2, 2, 0, 13, 0, 0, 0, 0, 13, 0, 13, 1, 1, 13, 1, 2, 1, 1, 2, 2, 0, 13, 1, 2, 0, 0, 18, 0, 18, 1, 12, 18, 1, 2, 1, 1, 2, 2, 0, 13, 12, 13, 0, 0, 12, 0, 12, 0, 0, 12, 0, 1, 0, 0, 1, 1, 0, 12, 0, 0, 0, 0, 12, 0, 12, 1, 0, 12, 0, 2, 1, 1, 2, 2, 0, 12, 0, 0, 0, 0, 12, 0, 12, 1, 1, 12, 1, 2, 1, 1, 2, 2, 0, 12, 1, 2, 0, 0, 18, 0, 18, 1, 11, 18, 1, 2, 1, 1, 2, 2, 0, 12, 11, 12, 0, 0, 11, 0, 11, 0, 0, 11, 0, 1, 0, 0, 1, 1, 0, 11, 0, 0, 0, 0, 11, 0, 11, 1, 0, 11, 0, 2, 1, 1, 2, 2, 0, 11, 0, 0, 0, 0, 11, 0, 11, 1, 1, 11, 1, 2, 1, 1, 2, 2, 0, 11, 1, 2, 0, 0, 18, 0, 18, 1, 10, 18, 1, 2, 1, 1, 2, 2, 0, 11, 10, 11, 0, 0, 10, 0, 10, 0, 0, 10, 0, 1, 0, 0, 1, 1, 0, 10, 0, 0, 0, 0, 10, 0, 10, 1, 0, 10, 0, 2, 1, 1, 2, 2, 0, 10, 0, 0, 0, 0, 10, 0, 10, 1, 1, 10, 1, 2, 1, 1, 2, 2, 0, 10, 1, 2, 0, 0, 18, 0, 18, 1, 9, 18, 1, 2, 1, 1, 2, 2, 0, 10, 9, 10, 0, 0, 9, 0, 9, 0, 0, 9, 0, 1, 0, 0, 1, 1, 0, 9, 0, 0, 0, 0, 9, 0, 9, 1, 0, 9, 0, 2, 1, 1, 2, 2, 0, 9, 0, 0, 0, 0, 9, 0, 9, 1, 1, 9, 1, 2, 1, 1, 2, 2, 0, 9, 1, 2, 0, 0, 18, 0, 18, 1, 8, 18, 1, 2, 1, 1, 2, 2, 0, 9, 8, 9, 0, 0, 8, 0, 8, 0, 0, 8, 0, 1, 0, 0, 1, 1, 0, 8, 0, 0, 0, 0, 8, 0, 8, 1, 0, 8, 0, 2, 1, 1, 2, 2, 0, 8, 0, 0, 0, 0, 8, 0, 8, 1, 1, 8, 1, 2, 1, 1, 2, 2, 0, 8, 1, 2, 0, 0, 18, 0, 18, 1, 7, 18, 1, 2, 1, 1, 2, 2, 0, 8, 7, 8, 0, 0, 7, 0, 7, 0, 0, 7, 0, 1, 0, 0, 1, 1, 0, 7, 0, 0, 0, 0, 7, 0, 7, 1, 0, 7, 0, 2, 1, 1, 2, 2, 0, 7, 0, 0, 0, 0, 7, 0, 7, 1, 1, 7, 1, 2, 1, 1, 2, 2, 0, 7, 1, 2, 0, 0, 18, 0, 18, 1, 6, 18, 1, 2, 1, 1, 2, 2, 0, 7, 6, 7, 0, 0, 6, 0, 6, 0, 0, 6, 0, 1, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 6, 0, 6, 1, 0, 6, 0, 2, 1, 1, 2, 2, 0, 6, 0, 0, 0, 0, 6, 0, 6, 1, 1, 6, 1, 2, 1, 1, 2, 2, 0, 6, 1, 2, 0, 0, 18, 0, 18, 1, 5, 18, 1, 2, 1, 1, 2, 2, 0, 6, 5, 6, 0, 0, 5, 0, 5, 0, 0, 5, 0, 1, 0, 0, 1, 1, 0, 5, 0, 0, 0, 0, 5, 0, 5, 1, 0, 5, 0, 2, 1, 1, 2, 2, 0, 5, 0, 0, 0, 0, 5, 0, 5, 1, 1, 5, 1, 2, 1, 1, 2, 2, 0, 5, 1, 2, 0, 0, 18, 0, 18, 1, 4, 18, 1, 2, 1, 1, 2, 2, 0, 5, 4, 5, 0, 0, 4, 0, 4, 0, 0, 4, 0, 1, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 4, 0, 4, 1, 0, 4, 0, 2, 1, 1, 2, 2, 0, 4, 0, 0, 0, 0, 4, 0, 4, 1, 1, 4, 1, 2, 1, 1, 2, 2, 0, 4, 1, 2, 0, 0, 18, 0, 18, 1, 3, 18, 1, 2, 1, 1, 2, 2, 0, 4, 3, 4, 0, 0, 3, 0, 3, 0, 0, 3, 0, 1, 0, 0, 1, 1, 0, 3, 0, 0, 0, 0, 3, 0, 3, 1, 0, 3, 0, 2, 1, 1, 2, 2, 0, 3, 0, 0, 0, 0, 3, 0, 3, 1, 1, 3, 1, 2, 1, 1, 2, 2, 0, 3, 1, 2, 0, 0, 18, 0, 18, 1, 2, 18, 1, 2, 1, 1, 2, 2, 0, 3, 2, 3, 0, 0, 2, 0, 2, 0, 0, 2, 0, 1, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 1, 1, 0, 2, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 2, 1, 2, 3, 3, 0, 2, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 2, 1, 2, 3, 3, 0, 2, 0, 0, 0, 0, 18, 0, 18, 2, 1, 18, 1, 2, 1, 2, 3, 3, 0, 2, 1, 2, 0, 0, 18, 0, 18, 0, 1, 18, 0, 1, 0, 0, 1, 1, 0, 2, 1, 2, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 1, 1, 2, 0, 0, 2, 0, 0, 0, 0, 2, 0, 2, 1, 1, 2, 1, 0, 1, 1, 2, 0, 0, 2, 1, 2, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 0, 0, 2, 1, 2, 0, 0, 18, 0, 18, 1, 0, 18, 0, 0, 1, 1, 2, 0, 0, 18, 0, 0, 0, 0, 18, 1, 18, 1, 0, 18, 0, 0, 1, 1, 2, 0, 1, 18, 0, 1, 0, 0, 18, 18, 18, 1, 17, 18, 1, 0, 1, 1, 2, 0, 18, 18, 17, 18, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 0, 0, 18, 1, 2, 0, 0, 18, 0, 18, 1, 17, 18, 1, 0, 1, 1, 2, 0, 0, 18, 17, 18, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 0, 1, 2, 3, 0, 0, 2, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 1, 2, 3, 0, 0, 2, 0, 0, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 1, 2, 3, 0, 0, 2, 1, 2, 0, 0, 17, 2, 17, 2, 1, 17, 1, 0, 1, 2, 3, 0, 17, 2, 1, 2, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 0, 0, 17, 2, 17, 0, 1, 17, 0, 0, 0, 0, 0, 0, 17, 2, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 0, 0, 1, 0, 0, 0, 0, 3, 1, 3, 2, 0, 3, 0, 0, 0, 2, 3, 0, 1, 1, 0, 1, 0, 0, 3, 1, 3, 2, 0, 3, 0, 1, 0, 2, 3, 3, 1, 1, 0, 1, 0, 0, 18, 1, 18, 2, 0, 18, 0, 3, 2, 2, 3, 3, 1, 18, 0, 1, 0, 0, 18, 18, 18, 2, 17, 18, 2, 3, 2, 2, 3, 3, 18, 18, 17, 18, 0, 0, 18, 1, 18, 2, 0, 18, 0, 0, 2, 2, 3, 0, 1, 18, 0, 1, 0, 0, 18, 2, 18, 2, 1, 18, 1, 0, 2, 2, 3, 0, 2, 18, 1, 2, 0, 0, 18, 18, 18, 2, 17, 18, 2, 0, 2, 2, 3, 0, 18, 18, 17, 18, 0, 0, 3, 0, 3, 2, 0, 3, 0, 1, 0, 2, 3, 3, 0, 1, 0, 0, 0, 0, 18, 0, 18, 2, 0, 18, 0, 3, 2, 2, 3, 3, 0, 18, 0, 0, 0, 0, 18, 0, 18, 2, 1, 18, 1, 3, 2, 2, 3, 3, 0, 18, 1, 2, 0, 0, 18, 0, 18, 2, 17, 18, 2, 3, 2, 2, 3, 3, 0, 18, 17, 18, 0, 0, 18, 17, 18, 2, 16, 18, 2, 3, 2, 2, 3, 3, 17, 18, 16, 17, 0, 0, 17, 1, 17, 2, 0, 17, 0, 1, 0, 2, 3, 3, 17, 1, 0, 1, 0, 0, 18, 0, 18, 2, 0, 18, 0, 0, 2, 2, 3, 0, 0, 18, 0, 0, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 2, 2, 3, 0, 0, 18, 1, 2, 0, 0, 18, 0, 18, 2, 17, 18, 2, 0, 2, 2, 3, 0, 0, 18, 17, 18, 0, 0, 18, 17, 18, 2, 16, 18, 2, 0, 2, 2, 3, 0, 17, 18, 16, 17, 0, 0, 17, 1, 17, 2, 0, 17, 0, 0, 0, 2, 3, 0, 17, 1, 0, 1, 0, 0, 18, 0, 18, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 18, 1, 18, 0, 0, 18, 0, 0, 0, 0, 0, 0, 1, 18, 0, 1, 0, 0, 18, 2, 18, 0, 1, 18, 0, 0, 0, 0, 0, 0, 2, 18, 1, 2, 0, 0, 18, 1, 18, 0, 0, 18, 0, 1, 0, 0, 1, 1, 1, 18, 0, 1, 0, 0, 18, 18, 18, 0, 17, 18, 0, 1, 0, 0, 1, 1, 18, 18, 17, 18, 0, 0, 17, 17, 17, 0, 16, 17, 0, 0, 0, 0, 0, 0, 17, 17, 16, 17, 0, 0, 17, 17, 17, 1, 16, 17, 1, 0, 1, 1, 2, 0, 17, 17, 16, 17, 0, 0, 17, 17, 17, 2, 16, 17, 2, 0, 2, 2, 3, 0, 17, 17, 16, 17, 0, 0, 17, 0, 17, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 0, 17, 1, 0, 17, 0, 0, 1, 1, 2, 0, 0, 17, 0, 0, 0, 0, 17, 0, 17, 1, 1, 17, 1, 0, 1, 1, 2, 0, 0, 17, 1, 2, 0, 0, 18, 0, 18, 1, 16, 18, 1, 0, 1, 1, 2, 0, 0, 17, 16, 17, 0, 0, 17, 0, 17, 0, 1, 17, 0, 0, 0, 0, 0, 0, 0, 17, 1, 2, 0, 0, 17, 2, 17, 0, 1, 17, 0, 0, 0, 0, 0, 0, 2, 17, 1, 2, 0, 0, 17, 2, 17, 2, 1, 17, 1, 0, 2, 2, 3, 0, 2, 17, 1, 2, 0, 0, 17, 0, 17, 0, 1, 17, 0, 1, 0, 0, 1, 1, 0, 17, 1, 2, 0, 0, 17, 0, 17, 2, 1, 17, 1, 3, 2, 2, 3, 3, 0, 17, 1, 2, 0, 0, 17, 0, 17, 2, 1, 17, 1, 0, 2, 2, 3, 0, 0, 17, 1, 2, 0, 0, 17, 0, 17, 2, 0, 17, 0, 0, 2, 2, 3, 0, 0, 17, 0, 0, 0, 0, 17, 1, 17, 2, 0, 17, 0, 0, 2, 2, 3, 0, 1, 17, 0, 1, 0, 0, 17, 1, 17, 2, 0, 17, 0, 3, 2, 2, 3, 3, 1, 17, 0, 1, 0, 0, 18, 17, 18, 2, 16, 18, 2, 3, 2, 2, 3, 3, 18, 17, 16, 17, 0, 0, 18, 17, 18, 2, 16, 18, 2, 0, 2, 2, 3, 0, 18, 17, 16, 17, 0, 0, 17, 0, 17, 2, 0, 17, 0, 3, 2, 2, 3, 3, 0, 17, 0, 0, 0, 0, 18, 0, 18, 2, 16, 18, 2, 3, 2, 2, 3, 3, 0, 17, 16, 17, 0, 0, 18, 0, 18, 2, 16, 18, 2, 0, 2, 2, 3, 0, 0, 17, 16, 17, 0, 0, 18, 0, 18, 0, 16, 18, 0, 0, 0, 0, 0, 0, 0, 17, 16, 17, 0, 0, 18, 17, 18, 0, 16, 18, 0, 0, 0, 0, 0, 0, 18, 17, 16, 17, 0, 0, 18, 17, 18, 0, 16, 18, 0, 1, 0, 0, 1, 1, 18, 17, 16, 17, 0, 0, 17, 16, 17, 0, 15, 17, 0, 0, 0, 0, 0, 0, 17, 16, 15, 16, 0, 0, 17, 16, 17, 1, 15, 17, 1, 0, 1, 1, 2, 0, 17, 16, 15, 16, 0, 0, 17, 16, 17, 2, 15, 17, 2, 0, 2, 2, 3, 0, 17, 16, 15, 16, 0, 0, 17, 16, 17, 2, 15, 17, 2, 3, 2, 2, 3, 3, 17, 16, 15, 16, 0, 0, 16, 15, 16, 0, 14, 16, 0, 0, 0, 0, 0, 0, 16, 15, 14, 15, 0, 0, 16, 15, 16, 1, 14, 16, 1, 0, 1, 1, 2, 0, 16, 15, 14, 15, 0, 0, 16, 15, 16, 2, 14, 16, 2, 0, 2, 2, 3, 0, 16, 15, 14, 15, 0, 0, 16, 15, 16, 2, 14, 16, 2, 3, 2, 2, 3, 3, 16, 15, 14, 15, 0, 0, 15, 14, 15, 0, 13, 15, 0, 0, 0, 0, 0, 0, 15, 14, 13, 14, 0, 0, 15, 14, 15, 1, 13, 15, 1, 0, 1, 1, 2, 0, 15, 14, 13, 14, 0, 0, 15, 14, 15, 2, 13, 15, 2, 0, 2, 2, 3, 0, 15, 14, 13, 14, 0, 0, 15, 14, 15, 2, 13, 15, 2, 3, 2, 2, 3, 3, 15, 14, 13, 14, 0, 0, 14, 13, 14, 0, 12, 14, 0, 0, 0, 0, 0, 0, 14, 13, 12, 13, 0, 0, 14, 13, 14, 1, 12, 14, 1, 0, 1, 1, 2, 0, 14, 13, 12, 13, 0, 0, 14, 13, 14, 2, 12, 14, 2, 0, 2, 2, 3, 0, 14, 13, 12, 13, 0, 0, 14, 13, 14, 2, 12, 14, 2, 3, 2, 2, 3, 3, 14, 13, 12, 13, 0, 0, 13, 12, 13, 0, 11, 13, 0, 0, 0, 0, 0, 0, 13, 12, 11, 12, 0, 0, 13, 12, 13, 1, 11, 13, 1, 0, 1, 1, 2, 0, 13, 12, 11, 12, 0, 0, 13, 12, 13, 2, 11, 13, 2, 0, 2, 2, 3, 0, 13, 12, 11, 12, 0, 0, 13, 12, 13, 2, 11, 13, 2, 3, 2, 2, 3, 3, 13, 12, 11, 12, 0, 0, 12, 11, 12, 0, 10, 12, 0, 0, 0, 0, 0, 0, 12, 11, 10, 11, 0, 0, 12, 11, 12, 1, 10, 12, 1, 0, 1, 1, 2, 0, 12, 11, 10, 11, 0, 0, 12, 11, 12, 2, 10, 12, 2, 0, 2, 2, 3, 0, 12, 11, 10, 11, 0, 0, 12, 11, 12, 2, 10, 12, 2, 3, 2, 2, 3, 3, 12, 11, 10, 11, 0, 0, 11, 10, 11, 0, 9, 11, 0, 0, 0, 0, 0, 0, 11, 10, 9, 10, 0, 0, 11, 10, 11, 1, 9, 11, 1, 0, 1, 1, 2, 0, 11, 10, 9, 10, 0, 0, 11, 10, 11, 2, 9, 11, 2, 0, 2, 2, 3, 0, 11, 10, 9, 10, 0, 0, 11, 10, 11, 2, 9, 11, 2, 3, 2, 2, 3, 3, 11, 10, 9, 10, 0, 0, 10, 9, 10, 0, 8, 10, 0, 0, 0, 0, 0, 0, 10, 9, 8, 9, 0, 0, 10, 9, 10, 1, 8, 10, 1, 0, 1, 1, 2, 0, 10, 9, 8, 9, 0, 0, 10, 9, 10, 2, 8, 10, 2, 0, 2, 2, 3, 0, 10, 9, 8, 9, 0, 0, 10, 9, 10, 2, 8, 10, 2, 3, 2, 2, 3, 3, 10, 9, 8, 9, 0, 0, 9, 8, 9, 0, 7, 9, 0, 0, 0, 0, 0, 0, 9, 8, 7, 8, 0, 0, 9, 8, 9, 1, 7, 9, 1, 0, 1, 1, 2, 0, 9, 8, 7, 8, 0, 0, 9, 8, 9, 2, 7, 9, 2, 0, 2, 2, 3, 0, 9, 8, 7, 8, 0, 0, 9, 8, 9, 2, 7, 9, 2, 3, 2, 2, 3, 3, 9, 8, 7, 8, 0, 0, 8, 7, 8, 0, 6, 8, 0, 0, 0, 0, 0, 0, 8, 7, 6, 7, 0, 0, 8, 7, 8, 1, 6, 8, 1, 0, 1, 1, 2, 0, 8, 7, 6, 7, 0, 0, 8, 7, 8, 2, 6, 8, 2, 0, 2, 2, 3, 0, 8, 7, 6, 7, 0, 0, 8, 7, 8, 2, 6, 8, 2, 3, 2, 2, 3, 3, 8, 7, 6, 7, 0, 0, 7, 6, 7, 0, 5, 7, 0, 0, 0, 0, 0, 0, 7, 6, 5, 6, 0, 0, 7, 6, 7, 1, 5, 7, 1, 0, 1, 1, 2, 0, 7, 6, 5, 6, 0, 0, 7, 6, 7, 2, 5, 7, 2, 0, 2, 2, 3, 0, 7, 6, 5, 6, 0, 0, 7, 6, 7, 2, 5, 7, 2, 3, 2, 2, 3, 3, 7, 6, 5, 6, 0, 0, 6, 5, 6, 0, 4, 6, 0, 0, 0, 0, 0, 0, 6, 5, 4, 5, 0, 0, 6, 5, 6, 1, 4, 6, 1, 0, 1, 1, 2, 0, 6, 5, 4, 5, 0, 0, 6, 5, 6, 2, 4, 6, 2, 0, 2, 2, 3, 0, 6, 5, 4, 5, 0, 0, 6, 5, 6, 2, 4, 6, 2, 3, 2, 2, 3, 3, 6, 5, 4, 5, 0, 0, 5, 4, 5, 0, 3, 5, 0, 0, 0, 0, 0, 0, 5, 4, 3, 4, 0, 0, 5, 4, 5, 1, 3, 5, 1, 0, 1, 1, 2, 0, 5, 4, 3, 4, 0, 0, 5, 4, 5, 2, 3, 5, 2, 0, 2, 2, 3, 0, 5, 4, 3, 4, 0, 0, 5, 4, 5, 2, 3, 5, 2, 3, 2, 2, 3, 3, 5, 4, 3, 4, 0, 0, 4, 3, 4, 0, 2, 4, 0, 0, 0, 0, 0, 0, 4, 3, 2, 3, 0, 0, 4, 3, 4, 1, 2, 4, 1, 0, 1, 1, 2, 0, 4, 3, 2, 3, 0, 0, 4, 3, 4, 2, 2, 4, 2, 0, 2, 2, 3, 0, 4, 3, 2, 3, 0, 0, 4, 3, 4, 2, 2, 4, 2, 3, 2, 2, 3, 3, 4, 3, 2, 3, 0, 0, 3, 2, 3, 0, 1, 3, 0, 0, 0, 0, 0, 0, 3, 2, 1, 2, 0, 0, 3, 2, 3, 2, 1, 3, 1, 0, 1, 2, 3, 0, 3, 2, 1, 2, 0, 0, 18, 0, 18, 0, 16, 18, 0, 1, 0, 0, 1, 1, 0, 17, 16, 17, 0, 0, 16, 0, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 1, 0, 16, 0, 0, 1, 1, 2, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 1, 1, 16, 1, 0, 1, 1, 2, 0, 0, 16, 1, 2, 0, 0, 18, 0, 18, 1, 15, 18, 1, 0, 1, 1, 2, 0, 0, 16, 15, 16, 0, 0, 16, 0, 16, 0, 1, 16, 0, 0, 0, 0, 0, 0, 0, 16, 1, 2, 0, 0, 16, 2, 16, 0, 1, 16, 0, 0, 0, 0, 0, 0, 2, 16, 1, 2, 0, 0, 16, 2, 16, 2, 1, 16, 1, 0, 2, 2, 3, 0, 2, 16, 1, 2, 0, 0, 16, 0, 16, 0, 1, 16, 0, 1, 0, 0, 1, 1, 0, 16, 1, 2, 0, 0, 16, 0, 16, 2, 1, 16, 1, 3, 2, 2, 3, 3, 0, 16, 1, 2, 0, 0, 16, 0, 16, 2, 1, 16, 1, 0, 2, 2, 3, 0, 0, 16, 1, 2, 0, 0, 16, 0, 16, 2, 0, 16, 0, 0, 2, 2, 3, 0, 0, 16, 0, 0, 0, 0, 16, 1, 16, 2, 0, 16, 0, 0, 2, 2, 3, 0, 1, 16, 0, 1, 0, 0, 16, 1, 16, 2, 0, 16, 0, 3, 2, 2, 3, 3, 1, 16, 0, 1, 0, 0, 18, 16, 18, 2, 15, 18, 2, 3, 2, 2, 3, 3, 18, 16, 15, 16, 0, 0, 18, 16, 18, 2, 15, 18, 2, 0, 2, 2, 3, 0, 18, 16, 15, 16, 0, 0, 16, 0, 16, 2, 0, 16, 0, 3, 2, 2, 3, 3, 0, 16, 0, 0, 0, 0, 18, 0, 18, 2, 15, 18, 2, 3, 2, 2, 3, 3, 0, 16, 15, 16, 0, 0, 18, 0, 18, 2, 15, 18, 2, 0, 2, 2, 3, 0, 0, 16, 15, 16, 0, 0, 18, 0, 18, 0, 15, 18, 0, 0, 0, 0, 0, 0, 0, 16, 15, 16, 0, 0, 18, 16, 18, 0, 15, 18, 0, 0, 0, 0, 0, 0, 18, 16, 15, 16, 0, 0, 18, 16, 18, 0, 15, 18, 0, 1, 0, 0, 1, 1, 18, 16, 15, 16, 0, 0, 17, 15, 17, 0, 14, 17, 0, 0, 0, 0, 0, 0, 17, 15, 14, 15, 0, 0, 17, 15, 17, 1, 14, 17, 1, 0, 1, 1, 2, 0, 17, 15, 14, 15, 0, 0, 17, 15, 17, 2, 14, 17, 2, 0, 2, 2, 3, 0, 17, 15, 14, 15, 0, 0, 17, 15, 17, 2, 14, 17, 2, 3, 2, 2, 3, 3, 17, 15, 14, 15, 0, 0, 16, 14, 16, 0, 13, 16, 0, 0, 0, 0, 0, 0, 16, 14, 13, 14, 0, 0, 16, 14, 16, 1, 13, 16, 1, 0, 1, 1, 2, 0, 16, 14, 13, 14, 0, 0, 16, 14, 16, 2, 13, 16, 2, 0, 2, 2, 3, 0, 16, 14, 13, 14, 0, 0, 16, 14, 16, 2, 13, 16, 2, 3, 2, 2, 3, 3, 16, 14, 13, 14, 0, 0, 15, 13, 15, 0, 12, 15, 0, 0, 0, 0, 0, 0, 15, 13, 12, 13, 0, 0, 15, 13, 15, 1, 12, 15, 1, 0, 1, 1, 2, 0, 15, 13, 12, 13, 0, 0, 15, 13, 15, 2, 12, 15, 2, 0, 2, 2, 3, 0, 15, 13, 12, 13, 0, 0, 15, 13, 15, 2, 12, 15, 2, 3, 2, 2, 3, 3, 15, 13, 12, 13, 0, 0, 14, 12, 14, 0, 11, 14, 0, 0, 0, 0, 0, 0, 14, 12, 11, 12, 0, 0, 14, 12, 14, 1, 11, 14, 1, 0, 1, 1, 2, 0, 14, 12, 11, 12, 0, 0, 14, 12, 14, 2, 11, 14, 2, 0, 2, 2, 3, 0, 14, 12, 11, 12, 0, 0, 14, 12, 14, 2, 11, 14, 2, 3, 2, 2, 3, 3, 14, 12, 11, 12, 0, 0, 13, 11, 13, 0, 10, 13, 0, 0, 0, 0, 0, 0, 13, 11, 10, 11, 0, 0, 13, 11, 13, 1, 10, 13, 1, 0, 1, 1, 2, 0, 13, 11, 10, 11, 0, 0, 13, 11, 13, 2, 10, 13, 2, 0, 2, 2, 3, 0, 13, 11, 10, 11, 0, 0, 13, 11, 13, 2, 10, 13, 2, 3, 2, 2, 3, 3, 13, 11, 10, 11, 0, 0, 12, 10, 12, 0, 9, 12, 0, 0, 0, 0, 0, 0, 12, 10, 9, 10, 0, 0, 12, 10, 12, 1, 9, 12, 1, 0, 1, 1, 2, 0, 12, 10, 9, 10, 0, 0, 12, 10, 12, 2, 9, 12, 2, 0, 2, 2, 3, 0, 12, 10, 9, 10, 0, 0, 12, 10, 12, 2, 9, 12, 2, 3, 2, 2, 3, 3, 12, 10, 9, 10, 0, 0, 11, 9, 11, 0, 8, 11, 0, 0, 0, 0, 0, 0, 11, 9, 8, 9, 0, 0, 11, 9, 11, 1, 8, 11, 1, 0, 1, 1, 2, 0, 11, 9, 8, 9, 0, 0, 11, 9, 11, 2, 8, 11, 2, 0, 2, 2, 3, 0, 11, 9, 8, 9, 0, 0, 11, 9, 11, 2, 8, 11, 2, 3, 2, 2, 3, 3, 11, 9, 8, 9, 0, 0, 10, 8, 10, 0, 7, 10, 0, 0, 0, 0, 0, 0, 10, 8, 7, 8, 0, 0, 10, 8, 10, 1, 7, 10, 1, 0, 1, 1, 2, 0, 10, 8, 7, 8, 0, 0, 10, 8, 10, 2, 7, 10, 2, 0, 2, 2, 3, 0, 10, 8, 7, 8, 0, 0, 10, 8, 10, 2, 7, 10, 2, 3, 2, 2, 3, 3, 10, 8, 7, 8, 0, 0, 9, 7, 9, 0, 6, 9, 0, 0, 0, 0, 0, 0, 9, 7, 6, 7, 0, 0, 9, 7, 9, 1, 6, 9, 1, 0, 1, 1, 2, 0, 9, 7, 6, 7, 0, 0, 9, 7, 9, 2, 6, 9, 2, 0, 2, 2, 3, 0, 9, 7, 6, 7, 0, 0, 9, 7, 9, 2, 6, 9, 2, 3, 2, 2, 3, 3, 9, 7, 6, 7, 0, 0, 8, 6, 8, 0, 5, 8, 0, 0, 0, 0, 0, 0, 8, 6, 5, 6, 0, 0, 8, 6, 8, 1, 5, 8, 1, 0, 1, 1, 2, 0, 8, 6, 5, 6, 0, 0, 8, 6, 8, 2, 5, 8, 2, 0, 2, 2, 3, 0, 8, 6, 5, 6, 0, 0, 8, 6, 8, 2, 5, 8, 2, 3, 2, 2, 3, 3, 8, 6, 5, 6, 0, 0, 7, 5, 7, 0, 4, 7, 0, 0, 0, 0, 0, 0, 7, 5, 4, 5, 0, 0, 7, 5, 7, 1, 4, 7, 1, 0, 1, 1, 2, 0, 7, 5, 4, 5, 0, 0, 7, 5, 7, 2, 4, 7, 2, 0, 2, 2, 3, 0, 7, 5, 4, 5, 0, 0, 7, 5, 7, 2, 4, 7, 2, 3, 2, 2, 3, 3, 7, 5, 4, 5, 0, 0, 6, 4, 6, 0, 3, 6, 0, 0, 0, 0, 0, 0, 6, 4, 3, 4, 0, 0, 6, 4, 6, 1, 3, 6, 1, 0, 1, 1, 2, 0, 6, 4, 3, 4, 0, 0, 6, 4, 6, 2, 3, 6, 2, 0, 2, 2, 3, 0, 6, 4, 3, 4, 0, 0, 6, 4, 6, 2, 3, 6, 2, 3, 2, 2, 3, 3, 6, 4, 3, 4, 0, 0, 5, 3, 5, 0, 2, 5, 0, 0, 0, 0, 0, 0, 5, 3, 2, 3, 0, 0, 5, 3, 5, 1, 2, 5, 1, 0, 1, 1, 2, 0, 5, 3, 2, 3, 0, 0, 5, 3, 5, 2, 2, 5, 2, 0, 2, 2, 3, 0, 5, 3, 2, 3, 0, 0, 5, 3, 5, 2, 2, 5, 2, 3, 2, 2, 3, 3, 5, 3, 2, 3, 0, 0, 4, 2, 4, 0, 1, 4, 0, 0, 0, 0, 0, 0, 4, 2, 1, 2, 0, 0, 4, 2, 4, 2, 1, 4, 1, 0, 1, 2, 3, 0, 4, 2, 1, 2, 0, 0, 18, 0, 18, 0, 15, 18, 0, 1, 0, 0, 1, 1, 0, 16, 15, 16, 0, 0, 15, 0, 15, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 15, 1, 0, 15, 0, 0, 1, 1, 2, 0, 0, 15, 0, 0, 0, 0, 15, 0, 15, 1, 1, 15, 1, 0, 1, 1, 2, 0, 0, 15, 1, 2, 0, 0, 18, 0, 18, 1, 14, 18, 1, 0, 1, 1, 2, 0, 0, 15, 14, 15, 0, 0, 15, 0, 15, 0, 1, 15, 0, 0, 0, 0, 0, 0, 0, 15, 1, 2, 0, 0, 15, 2, 15, 0, 1, 15, 0, 0, 0, 0, 0, 0, 2, 15, 1, 2, 0, 0, 15, 2, 15, 2, 1, 15, 1, 0, 2, 2, 3, 0, 2, 15, 1, 2, 0, 0, 15, 0, 15, 0, 1, 15, 0, 1, 0, 0, 1, 1, 0, 15, 1, 2, 0, 0, 15, 0, 15, 2, 1, 15, 1, 3, 2, 2, 3, 3, 0, 15, 1, 2, 0, 0, 15, 0, 15, 2, 1, 15, 1, 0, 2, 2, 3, 0, 0, 15, 1, 2, 0, 0, 15, 0, 15, 2, 0, 15, 0, 0, 2, 2, 3, 0, 0, 15, 0, 0, 0, 0, 15, 1, 15, 2, 0, 15, 0, 0, 2, 2, 3, 0, 1, 15, 0, 1, 0, 0, 15, 1, 15, 2, 0, 15, 0, 3, 2, 2, 3, 3, 1, 15, 0, 1, 0, 0, 18, 15, 18, 2, 14, 18, 2, 3, 2, 2, 3, 3, 18, 15, 14, 15, 0, 0, 18, 15, 18, 2, 14, 18, 2, 0, 2, 2, 3, 0, 18, 15, 14, 15, 0, 0, 15, 0, 15, 2, 0, 15, 0, 3, 2, 2, 3, 3, 0, 15, 0, 0, 0, 0, 18, 0, 18, 2, 14, 18, 2, 3, 2, 2, 3, 3, 0, 15, 14, 15, 0, 0, 18, 0, 18, 2, 14, 18, 2, 0, 2, 2, 3, 0, 0, 15, 14, 15, 0, 0, 18, 0, 18, 0, 14, 18, 0, 0, 0, 0, 0, 0, 0, 15, 14, 15, 0, 0, 18, 15, 18, 0, 14, 18, 0, 0, 0, 0, 0, 0, 18, 15, 14, 15, 0, 0, 18, 15, 18, 0, 14, 18, 0, 1, 0, 0, 1, 1, 18, 15, 14, 15, 0, 0, 17, 14, 17, 0, 13, 17, 0, 0, 0, 0, 0, 0, 17, 14, 13, 14, 0, 0, 17, 14, 17, 1, 13, 17, 1, 0, 1, 1, 2, 0, 17, 14, 13, 14, 0, 0, 17, 14, 17, 2, 13, 17, 2, 0, 2, 2, 3, 0, 17, 14, 13, 14, 0, 0, 17, 14, 17, 2, 13, 17, 2, 3, 2, 2, 3, 3, 17, 14, 13, 14, 0, 0, 16, 13, 16, 0, 12, 16, 0, 0, 0, 0, 0, 0, 16, 13, 12, 13, 0, 0, 16, 13, 16, 1, 12, 16, 1, 0, 1, 1, 2, 0, 16, 13, 12, 13, 0, 0, 16, 13, 16, 2, 12, 16, 2, 0, 2, 2, 3, 0, 16, 13, 12, 13, 0, 0, 16, 13, 16, 2, 12, 16, 2, 3, 2, 2, 3, 3, 16, 13, 12, 13, 0, 0, 15, 12, 15, 0, 11, 15, 0, 0, 0, 0, 0, 0, 15, 12, 11, 12, 0, 0, 15, 12, 15, 1, 11, 15, 1, 0, 1, 1, 2, 0, 15, 12, 11, 12, 0, 0, 15, 12, 15, 2, 11, 15, 2, 0, 2, 2, 3, 0, 15, 12, 11, 12, 0, 0, 15, 12, 15, 2, 11, 15, 2, 3, 2, 2, 3, 3, 15, 12, 11, 12, 0, 0, 14, 11, 14, 0, 10, 14, 0, 0, 0, 0, 0, 0, 14, 11, 10, 11, 0, 0, 14, 11, 14, 1, 10, 14, 1, 0, 1, 1, 2, 0, 14, 11, 10, 11, 0, 0, 14, 11, 14, 2, 10, 14, 2, 0, 2, 2, 3, 0, 14, 11, 10, 11, 0, 0, 14, 11, 14, 2, 10, 14, 2, 3, 2, 2, 3, 3, 14, 11, 10, 11, 0, 0, 13, 10, 13, 0, 9, 13, 0, 0, 0, 0, 0, 0, 13, 10, 9, 10, 0, 0, 13, 10, 13, 1, 9, 13, 1, 0, 1, 1, 2, 0, 13, 10, 9, 10, 0, 0, 13, 10, 13, 2, 9, 13, 2, 0, 2, 2, 3, 0, 13, 10, 9, 10, 0, 0, 13, 10, 13, 2, 9, 13, 2, 3, 2, 2, 3, 3, 13, 10, 9, 10, 0, 0, 12, 9, 12, 0, 8, 12, 0, 0, 0, 0, 0, 0, 12, 9, 8, 9, 0, 0, 12, 9, 12, 1, 8, 12, 1, 0, 1, 1, 2, 0, 12, 9, 8, 9, 0, 0, 12, 9, 12, 2, 8, 12, 2, 0, 2, 2, 3, 0, 12, 9, 8, 9, 0, 0, 12, 9, 12, 2, 8, 12, 2, 3, 2, 2, 3, 3, 12, 9, 8, 9, 0, 0, 11, 8, 11, 0, 7, 11, 0, 0, 0, 0, 0, 0, 11, 8, 7, 8, 0, 0, 11, 8, 11, 1, 7, 11, 1, 0, 1, 1, 2, 0, 11, 8, 7, 8, 0, 0, 11, 8, 11, 2, 7, 11, 2, 0, 2, 2, 3, 0, 11, 8, 7, 8, 0, 0, 11, 8, 11, 2, 7, 11, 2, 3, 2, 2, 3, 3, 11, 8, 7, 8, 0, 0, 10, 7, 10, 0, 6, 10, 0, 0, 0, 0, 0, 0, 10, 7, 6, 7, 0, 0, 10, 7, 10, 1, 6, 10, 1, 0, 1, 1, 2, 0, 10, 7, 6, 7, 0, 0, 10, 7, 10, 2, 6, 10, 2, 0, 2, 2, 3, 0, 10, 7, 6, 7, 0, 0, 10, 7, 10, 2, 6, 10, 2, 3, 2, 2, 3, 3, 10, 7, 6, 7, 0, 0, 9, 6, 9, 0, 5, 9, 0, 0, 0, 0, 0, 0, 9, 6, 5, 6, 0, 0, 9, 6, 9, 1, 5, 9, 1, 0, 1, 1, 2, 0, 9, 6, 5, 6, 0, 0, 9, 6, 9, 2, 5, 9, 2, 0, 2, 2, 3, 0, 9, 6, 5, 6, 0, 0, 9, 6, 9, 2, 5, 9, 2, 3, 2, 2, 3, 3, 9, 6, 5, 6, 0, 0, 8, 5, 8, 0, 4, 8, 0, 0, 0, 0, 0, 0, 8, 5, 4, 5, 0, 0, 8, 5, 8, 1, 4, 8, 1, 0, 1, 1, 2, 0, 8, 5, 4, 5, 0, 0, 8, 5, 8, 2, 4, 8, 2, 0, 2, 2, 3, 0, 8, 5, 4, 5, 0, 0, 8, 5, 8, 2, 4, 8, 2, 3, 2, 2, 3, 3, 8, 5, 4, 5, 0, 0, 7, 4, 7, 0, 3, 7, 0, 0, 0, 0, 0, 0, 7, 4, 3, 4, 0, 0, 7, 4, 7, 1, 3, 7, 1, 0, 1, 1, 2, 0, 7, 4, 3, 4, 0, 0, 7, 4, 7, 2, 3, 7, 2, 0, 2, 2, 3, 0, 7, 4, 3, 4, 0, 0, 7, 4, 7, 2, 3, 7, 2, 3, 2, 2, 3, 3, 7, 4, 3, 4, 0, 0, 6, 3, 6, 0, 2, 6, 0, 0, 0, 0, 0, 0, 6, 3, 2, 3, 0, 0, 6, 3, 6, 1, 2, 6, 1, 0, 1, 1, 2, 0, 6, 3, 2, 3, 0, 0, 6, 3, 6, 2, 2, 6, 2, 0, 2, 2, 3, 0, 6, 3, 2, 3, 0, 0, 6, 3, 6, 2, 2, 6, 2, 3, 2, 2, 3, 3, 6, 3, 2, 3, 0, 0, 5, 2, 5, 0, 1, 5, 0, 0, 0, 0, 0, 0, 5, 2, 1, 2, 0, 0, 5, 2, 5, 2, 1, 5, 1, 0, 1, 2, 3, 0, 5, 2, 1, 2, 0, 0, 18, 0, 18, 0, 14, 18, 0, 1, 0, 0, 1, 1, 0, 15, 14, 15, 0, 0, 14, 0, 14, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 14, 0, 14, 1, 0, 14, 0, 0, 1, 1, 2, 0, 0, 14, 0, 0, 0, 0, 14, 0, 14, 1, 1, 14, 1, 0, 1, 1, 2, 0, 0, 14, 1, 2, 0, 0, 18, 0, 18, 1, 13, 18, 1, 0, 1, 1, 2, 0, 0, 14, 13, 14, 0, 0, 14, 0, 14, 0, 1, 14, 0, 0, 0, 0, 0, 0, 0, 14, 1, 2, 0, 0, 14, 2, 14, 0, 1, 14, 0, 0, 0, 0, 0, 0, 2, 14, 1, 2, 0, 0, 14, 2, 14, 2, 1, 14, 1, 0, 2, 2, 3, 0, 2, 14, 1, 2, 0, 0, 14, 0, 14, 0, 1, 14, 0, 1, 0, 0, 1, 1, 0, 14, 1, 2, 0, 0, 14, 0, 14, 2, 1, 14, 1, 3, 2, 2, 3, 3, 0, 14, 1, 2, 0, 0, 14, 0, 14, 2, 1, 14, 1, 0, 2, 2, 3, 0, 0, 14, 1, 2, 0, 0, 14, 0, 14, 2, 0, 14, 0, 0, 2, 2, 3, 0, 0, 14, 0, 0, 0, 0, 14, 1, 14, 2, 0, 14, 0, 0, 2, 2, 3, 0, 1, 14, 0, 1, 0, 0, 14, 1, 14, 2, 0, 14, 0, 3, 2, 2, 3, 3, 1, 14, 0, 1, 0, 0, 18, 14, 18, 2, 13, 18, 2, 3, 2, 2, 3, 3, 18, 14, 13, 14, 0, 0, 18, 14, 18, 2, 13, 18, 2, 0, 2, 2, 3, 0, 18, 14, 13, 14, 0, 0, 14, 0, 14, 2, 0, 14, 0, 3, 2, 2, 3, 3, 0, 14, 0, 0, 0, 0, 18, 0, 18, 2, 13, 18, 2, 3, 2, 2, 3, 3, 0, 14, 13, 14, 0, 0, 18, 0, 18, 2, 13, 18, 2, 0, 2, 2, 3, 0, 0, 14, 13, 14, 0, 0, 18, 0, 18, 0, 13, 18, 0, 0, 0, 0, 0, 0, 0, 14, 13, 14, 0, 0, 18, 14, 18, 0, 13, 18, 0, 0, 0, 0, 0, 0, 18, 14, 13, 14, 0, 0, 18, 14, 18, 0, 13, 18, 0, 1, 0, 0, 1, 1, 18, 14, 13, 14, 0, 0, 17, 13, 17, 0, 12, 17, 0, 0, 0, 0, 0, 0, 17, 13, 12, 13, 0, 0, 17, 13, 17, 1, 12, 17, 1, 0, 1, 1, 2, 0, 17, 13, 12, 13, 0, 0, 17, 13, 17, 2, 12, 17, 2, 0, 2, 2, 3, 0, 17, 13, 12, 13, 0, 0, 17, 13, 17, 2, 12, 17, 2, 3, 2, 2, 3, 3, 17, 13, 12, 13, 0, 0, 16, 12, 16, 0, 11, 16, 0, 0, 0, 0, 0, 0, 16, 12, 11, 12, 0, 0, 16, 12, 16, 1, 11, 16, 1, 0, 1, 1, 2, 0, 16, 12, 11, 12, 0, 0, 16, 12, 16, 2, 11, 16, 2, 0, 2, 2, 3, 0, 16, 12, 11, 12, 0, 0, 16, 12, 16, 2, 11, 16, 2, 3, 2, 2, 3, 3, 16, 12, 11, 12, 0, 0, 15, 11, 15, 0, 10, 15, 0, 0, 0, 0, 0, 0, 15, 11, 10, 11, 0, 0, 15, 11, 15, 1, 10, 15, 1, 0, 1, 1, 2, 0, 15, 11, 10, 11, 0, 0, 15, 11, 15, 2, 10, 15, 2, 0, 2, 2, 3, 0, 15, 11, 10, 11, 0, 0, 15, 11, 15, 2, 10, 15, 2, 3, 2, 2, 3, 3, 15, 11, 10, 11, 0, 0, 14, 10, 14, 0, 9, 14, 0, 0, 0, 0, 0, 0, 14, 10, 9, 10, 0, 0, 14, 10, 14, 1, 9, 14, 1, 0, 1, 1, 2, 0, 14, 10, 9, 10, 0, 0, 14, 10, 14, 2, 9, 14, 2, 0, 2, 2, 3, 0, 14, 10, 9, 10, 0, 0, 14, 10, 14, 2, 9, 14, 2, 3, 2, 2, 3, 3, 14, 10, 9, 10, 0, 0, 13, 9, 13, 0, 8, 13, 0, 0, 0, 0, 0, 0, 13, 9, 8, 9, 0, 0, 13, 9, 13, 1, 8, 13, 1, 0, 1, 1, 2, 0, 13, 9, 8, 9, 0, 0, 13, 9, 13, 2, 8, 13, 2, 0, 2, 2, 3, 0, 13, 9, 8, 9, 0, 0, 13, 9, 13, 2, 8, 13, 2, 3, 2, 2, 3, 3, 13, 9, 8, 9, 0, 0, 12, 8, 12, 0, 7, 12, 0, 0, 0, 0, 0, 0, 12, 8, 7, 8, 0, 0, 12, 8, 12, 1, 7, 12, 1, 0, 1, 1, 2, 0, 12, 8, 7, 8, 0, 0, 12, 8, 12, 2, 7, 12, 2, 0, 2, 2, 3, 0, 12, 8, 7, 8, 0, 0, 12, 8, 12, 2, 7, 12, 2, 3, 2, 2, 3, 3, 12, 8, 7, 8, 0, 0, 11, 7, 11, 0, 6, 11, 0, 0, 0, 0, 0, 0, 11, 7, 6, 7, 0, 0, 11, 7, 11, 1, 6, 11, 1, 0, 1, 1, 2, 0, 11, 7, 6, 7, 0, 0, 11, 7, 11, 2, 6, 11, 2, 0, 2, 2, 3, 0, 11, 7, 6, 7, 0, 0, 11, 7, 11, 2, 6, 11, 2, 3, 2, 2, 3, 3, 11, 7, 6, 7, 0, 0, 10, 6, 10, 0, 5, 10, 0, 0, 0, 0, 0, 0, 10, 6, 5, 6, 0, 0, 10, 6, 10, 1, 5, 10, 1, 0, 1, 1, 2, 0, 10, 6, 5, 6, 0, 0, 10, 6, 10, 2, 5, 10, 2, 0, 2, 2, 3, 0, 10, 6, 5, 6, 0, 0, 10, 6, 10, 2, 5, 10, 2, 3, 2, 2, 3, 3, 10, 6, 5, 6, 0, 0, 9, 5, 9, 0, 4, 9, 0, 0, 0, 0, 0, 0, 9, 5, 4, 5, 0, 0, 9, 5, 9, 1, 4, 9, 1, 0, 1, 1, 2, 0, 9, 5, 4, 5, 0, 0, 9, 5, 9, 2, 4, 9, 2, 0, 2, 2, 3, 0, 9, 5, 4, 5, 0, 0, 9, 5, 9, 2, 4, 9, 2, 3, 2, 2, 3, 3, 9, 5, 4, 5, 0, 0, 8, 4, 8, 0, 3, 8, 0, 0, 0, 0, 0, 0, 8, 4, 3, 4, 0, 0, 8, 4, 8, 1, 3, 8, 1, 0, 1, 1, 2, 0, 8, 4, 3, 4, 0, 0, 8, 4, 8, 2, 3, 8, 2, 0, 2, 2, 3, 0, 8, 4, 3, 4, 0, 0, 8, 4, 8, 2, 3, 8, 2, 3, 2, 2, 3, 3, 8, 4, 3, 4, 0, 0, 7, 3, 7, 0, 2, 7, 0, 0, 0, 0, 0, 0, 7, 3, 2, 3, 0, 0, 7, 3, 7, 1, 2, 7, 1, 0, 1, 1, 2, 0, 7, 3, 2, 3, 0, 0, 7, 3, 7, 2, 2, 7, 2, 0, 2, 2, 3, 0, 7, 3, 2, 3, 0, 0, 7, 3, 7, 2, 2, 7, 2, 3, 2, 2, 3, 3, 7, 3, 2, 3, 0, 0, 6, 2, 6, 0, 1, 6, 0, 0, 0, 0, 0, 0, 6, 2, 1, 2, 0, 0, 6, 2, 6, 2, 1, 6, 1, 0, 1, 2, 3, 0, 6, 2, 1, 2, 0, 0, 18, 0, 18, 0, 13, 18, 0, 1, 0, 0, 1, 1, 0, 14, 13, 14, 0, 0, 13, 0, 13, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 13, 0, 13, 1, 0, 13, 0, 0, 1, 1, 2, 0, 0, 13, 0, 0, 0, 0, 13, 0, 13, 1, 1, 13, 1, 0, 1, 1, 2, 0, 0, 13, 1, 2, 0, 0, 18, 0, 18, 1, 12, 18, 1, 0, 1, 1, 2, 0, 0, 13, 12, 13, 0, 0, 13, 0, 13, 0, 1, 13, 0, 0, 0, 0, 0, 0, 0, 13, 1, 2, 0, 0, 13, 2, 13, 0, 1, 13, 0, 0, 0, 0, 0, 0, 2, 13, 1, 2, 0, 0, 13, 2, 13, 2, 1, 13, 1, 0, 2, 2, 3, 0, 2, 13, 1, 2, 0, 0, 13, 0, 13, 0, 1, 13, 0, 1, 0, 0, 1, 1, 0, 13, 1, 2, 0, 0, 13, 0, 13, 2, 1, 13, 1, 3, 2, 2, 3, 3, 0, 13, 1, 2, 0, 0, 13, 0, 13, 2, 1, 13, 1, 0, 2, 2, 3, 0, 0, 13, 1, 2, 0, 0, 13, 0, 13, 2, 0, 13, 0, 0, 2, 2, 3, 0, 0, 13, 0, 0, 0, 0, 13, 1, 13, 2, 0, 13, 0, 0, 2, 2, 3, 0, 1, 13, 0, 1, 0, 0, 13, 1, 13, 2, 0, 13, 0, 3, 2, 2, 3, 3, 1, 13, 0, 1, 0, 0, 18, 13, 18, 2, 12, 18, 2, 3, 2, 2, 3, 3, 18, 13, 12, 13, 0, 0, 18, 13, 18, 2, 12, 18, 2, 0, 2, 2, 3, 0, 18, 13, 12, 13, 0, 0, 13, 0, 13, 2, 0, 13, 0, 3, 2, 2, 3, 3, 0, 13, 0, 0, 0, 0, 18, 0, 18, 2, 12, 18, 2, 3, 2, 2, 3, 3, 0, 13, 12, 13, 0, 0, 18, 0, 18, 2, 12, 18, 2, 0, 2, 2, 3, 0, 0, 13, 12, 13, 0, 0, 18, 0, 18, 0, 12, 18, 0, 0, 0, 0, 0, 0, 0, 13, 12, 13, 0, 0, 18, 13, 18, 0, 12, 18, 0, 0, 0, 0, 0, 0, 18, 13, 12, 13, 0, 0, 18, 13, 18, 0, 12, 18, 0, 1, 0, 0, 1, 1, 18, 13, 12, 13, 0, 0, 17, 12, 17, 0, 11, 17, 0, 0, 0, 0, 0, 0, 17, 12, 11, 12, 0, 0, 17, 12, 17, 1, 11, 17, 1, 0, 1, 1, 2, 0, 17, 12, 11, 12, 0, 0, 17, 12, 17, 2, 11, 17, 2, 0, 2, 2, 3, 0, 17, 12, 11, 12, 0, 0, 17, 12, 17, 2, 11, 17, 2, 3, 2, 2, 3, 3, 17, 12, 11, 12, 0, 0, 16, 11, 16, 0, 10, 16, 0, 0, 0, 0, 0, 0, 16, 11, 10, 11, 0, 0, 16, 11, 16, 1, 10, 16, 1, 0, 1, 1, 2, 0, 16, 11, 10, 11, 0, 0, 16, 11, 16, 2, 10, 16, 2, 0, 2, 2, 3, 0, 16, 11, 10, 11, 0, 0, 16, 11, 16, 2, 10, 16, 2, 3, 2, 2, 3, 3, 16, 11, 10, 11, 0, 0, 15, 10, 15, 0, 9, 15, 0, 0, 0, 0, 0, 0, 15, 10, 9, 10, 0, 0, 15, 10, 15, 1, 9, 15, 1, 0, 1, 1, 2, 0, 15, 10, 9, 10, 0, 0, 15, 10, 15, 2, 9, 15, 2, 0, 2, 2, 3, 0, 15, 10, 9, 10, 0, 0, 15, 10, 15, 2, 9, 15, 2, 3, 2, 2, 3, 3, 15, 10, 9, 10, 0, 0, 14, 9, 14, 0, 8, 14, 0, 0, 0, 0, 0, 0, 14, 9, 8, 9, 0, 0, 14, 9, 14, 1, 8, 14, 1, 0, 1, 1, 2, 0, 14, 9, 8, 9, 0, 0, 14, 9, 14, 2, 8, 14, 2, 0, 2, 2, 3, 0, 14, 9, 8, 9, 0, 0, 14, 9, 14, 2, 8, 14, 2, 3, 2, 2, 3, 3, 14, 9, 8, 9, 0, 0, 13, 8, 13, 0, 7, 13, 0, 0, 0, 0, 0, 0, 13, 8, 7, 8, 0, 0, 13, 8, 13, 1, 7, 13, 1, 0, 1, 1, 2, 0, 13, 8, 7, 8, 0, 0, 13, 8, 13, 2, 7, 13, 2, 0, 2, 2, 3, 0, 13, 8, 7, 8, 0, 0, 13, 8, 13, 2, 7, 13, 2, 3, 2, 2, 3, 3, 13, 8, 7, 8, 0, 0, 12, 7, 12, 0, 6, 12, 0, 0, 0, 0, 0, 0, 12, 7, 6, 7, 0, 0, 12, 7, 12, 1, 6, 12, 1, 0, 1, 1, 2, 0, 12, 7, 6, 7, 0, 0, 12, 7, 12, 2, 6, 12, 2, 0, 2, 2, 3, 0, 12, 7, 6, 7, 0, 0, 12, 7, 12, 2, 6, 12, 2, 3, 2, 2, 3, 3, 12, 7, 6, 7, 0, 0, 11, 6, 11, 0, 5, 11, 0, 0, 0, 0, 0, 0, 11, 6, 5, 6, 0, 0, 11, 6, 11, 1, 5, 11, 1, 0, 1, 1, 2, 0, 11, 6, 5, 6, 0, 0, 11, 6, 11, 2, 5, 11, 2, 0, 2, 2, 3, 0, 11, 6, 5, 6, 0, 0, 11, 6, 11, 2, 5, 11, 2, 3, 2, 2, 3, 3, 11, 6, 5, 6, 0, 0, 10, 5, 10, 0, 4, 10, 0, 0, 0, 0, 0, 0, 10, 5, 4, 5, 0, 0, 10, 5, 10, 1, 4, 10, 1, 0, 1, 1, 2, 0, 10, 5, 4, 5, 0, 0, 10, 5, 10, 2, 4, 10, 2, 0, 2, 2, 3, 0, 10, 5, 4, 5, 0, 0, 10, 5, 10, 2, 4, 10, 2, 3, 2, 2, 3, 3, 10, 5, 4, 5, 0, 0, 9, 4, 9, 0, 3, 9, 0, 0, 0, 0, 0, 0, 9, 4, 3, 4, 0, 0, 9, 4, 9, 1, 3, 9, 1, 0, 1, 1, 2, 0, 9, 4, 3, 4, 0, 0, 9, 4, 9, 2, 3, 9, 2, 0, 2, 2, 3, 0, 9, 4, 3, 4, 0, 0, 9, 4, 9, 2, 3, 9, 2, 3, 2, 2, 3, 3, 9, 4, 3, 4, 0, 0, 8, 3, 8, 0, 2, 8, 0, 0, 0, 0, 0, 0, 8, 3, 2, 3, 0, 0, 8, 3, 8, 1, 2, 8, 1, 0, 1, 1, 2, 0, 8, 3, 2, 3, 0, 0, 8, 3, 8, 2, 2, 8, 2, 0, 2, 2, 3, 0, 8, 3, 2, 3, 0, 0, 8, 3, 8, 2, 2, 8, 2, 3, 2, 2, 3, 3, 8, 3, 2, 3, 0, 0, 7, 2, 7, 0, 1, 7, 0, 0, 0, 0, 0, 0, 7, 2, 1, 2, 0, 0, 7, 2, 7, 2, 1, 7, 1, 0, 1, 2, 3, 0, 7, 2, 1, 2, 0, 0, 18, 0, 18, 0, 12, 18, 0, 1, 0, 0, 1, 1, 0, 13, 12, 13, 0, 0, 12, 0, 12, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, 0, 12, 1, 0, 12, 0, 0, 1, 1, 2, 0, 0, 12, 0, 0, 0, 0, 12, 0, 12, 1, 1, 12, 1, 0, 1, 1, 2, 0, 0, 12, 1, 2, 0, 0, 18, 0, 18, 1, 11, 18, 1, 0, 1, 1, 2, 0, 0, 12, 11, 12, 0, 0, 12, 0, 12, 0, 1, 12, 0, 0, 0, 0, 0, 0, 0, 12, 1, 2, 0, 0, 12, 2, 12, 0, 1, 12, 0, 0, 0, 0, 0, 0, 2, 12, 1, 2, 0, 0, 12, 2, 12, 2, 1, 12, 1, 0, 2, 2, 3, 0, 2, 12, 1, 2, 0, 0, 12, 0, 12, 0, 1, 12, 0, 1, 0, 0, 1, 1, 0, 12, 1, 2, 0, 0, 12, 0, 12, 2, 1, 12, 1, 3, 2, 2, 3, 3, 0, 12, 1, 2, 0, 0, 12, 0, 12, 2, 1, 12, 1, 0, 2, 2, 3, 0, 0, 12, 1, 2, 0, 0, 12, 0, 12, 2, 0, 12, 0, 0, 2, 2, 3, 0, 0, 12, 0, 0, 0, 0, 12, 1, 12, 2, 0, 12, 0, 0, 2, 2, 3, 0, 1, 12, 0, 1, 0, 0, 12, 1, 12, 2, 0, 12, 0, 3, 2, 2, 3, 3, 1, 12, 0, 1, 0, 0, 18, 12, 18, 2, 11, 18, 2, 3, 2, 2, 3, 3, 18, 12, 11, 12, 0, 0, 18, 12, 18, 2, 11, 18, 2, 0, 2, 2, 3, 0, 18, 12, 11, 12, 0, 0, 12, 0, 12, 2, 0, 12, 0, 3, 2, 2, 3, 3, 0, 12, 0, 0, 0, 0, 18, 0, 18, 2, 11, 18, 2, 3, 2, 2, 3, 3, 0, 12, 11, 12, 0, 0, 18, 0, 18, 2, 11, 18, 2, 0, 2, 2, 3, 0, 0, 12, 11, 12, 0, 0, 18, 0, 18, 0, 11, 18, 0, 0, 0, 0, 0, 0, 0, 12, 11, 12, 0, 0, 18, 12, 18, 0, 11, 18, 0, 0, 0, 0, 0, 0, 18, 12, 11, 12, 0, 0, 18, 12, 18, 0, 11, 18, 0, 1, 0, 0, 1, 1, 18, 12, 11, 12, 0, 0, 17, 11, 17, 0, 10, 17, 0, 0, 0, 0, 0, 0, 17, 11, 10, 11, 0, 0, 17, 11, 17, 1, 10, 17, 1, 0, 1, 1, 2, 0, 17, 11, 10, 11, 0, 0, 17, 11, 17, 2, 10, 17, 2, 0, 2, 2, 3, 0, 17, 11, 10, 11, 0, 0, 17, 11, 17, 2, 10, 17, 2, 3, 2, 2, 3, 3, 17, 11, 10, 11, 0, 0, 16, 10, 16, 0, 9, 16, 0, 0, 0, 0, 0, 0, 16, 10, 9, 10, 0, 0, 16, 10, 16, 1, 9, 16, 1, 0, 1, 1, 2, 0, 16, 10, 9, 10, 0, 0, 16, 10, 16, 2, 9, 16, 2, 0, 2, 2, 3, 0, 16, 10, 9, 10, 0, 0, 16, 10, 16, 2, 9, 16, 2, 3, 2, 2, 3, 3, 16, 10, 9, 10, 0, 0, 15, 9, 15, 0, 8, 15, 0, 0, 0, 0, 0, 0, 15, 9, 8, 9, 0, 0, 15, 9, 15, 1, 8, 15, 1, 0, 1, 1, 2, 0, 15, 9, 8, 9, 0, 0, 15, 9, 15, 2, 8, 15, 2, 0, 2, 2, 3, 0, 15, 9, 8, 9, 0, 0, 15, 9, 15, 2, 8, 15, 2, 3, 2, 2, 3, 3, 15, 9, 8, 9, 0, 0, 14, 8, 14, 0, 7, 14, 0, 0, 0, 0, 0, 0, 14, 8, 7, 8, 0, 0, 14, 8, 14, 1, 7, 14, 1, 0, 1, 1, 2, 0, 14, 8, 7, 8, 0, 0, 14, 8, 14, 2, 7, 14, 2, 0, 2, 2, 3, 0, 14, 8, 7, 8, 0, 0, 14, 8, 14, 2, 7, 14, 2, 3, 2, 2, 3, 3, 14, 8, 7, 8, 0, 0, 13, 7, 13, 0, 6, 13, 0, 0, 0, 0, 0, 0, 13, 7, 6, 7, 0, 0, 13, 7, 13, 1, 6, 13, 1, 0, 1, 1, 2, 0, 13, 7, 6, 7, 0, 0, 13, 7, 13, 2, 6, 13, 2, 0, 2, 2, 3, 0, 13, 7, 6, 7, 0, 0, 13, 7, 13, 2, 6, 13, 2, 3, 2, 2, 3, 3, 13, 7, 6, 7, 0, 0, 12, 6, 12, 0, 5, 12, 0, 0, 0, 0, 0, 0, 12, 6, 5, 6, 0, 0, 12, 6, 12, 1, 5, 12, 1, 0, 1, 1, 2, 0, 12, 6, 5, 6, 0, 0, 12, 6, 12, 2, 5, 12, 2, 0, 2, 2, 3, 0, 12, 6, 5, 6, 0, 0, 12, 6, 12, 2, 5, 12, 2, 3, 2, 2, 3, 3, 12, 6, 5, 6, 0, 0, 11, 5, 11, 0, 4, 11, 0, 0, 0, 0, 0, 0, 11, 5, 4, 5, 0, 0, 11, 5, 11, 1, 4, 11, 1, 0, 1, 1, 2, 0, 11, 5, 4, 5, 0, 0, 11, 5, 11, 2, 4, 11, 2, 0, 2, 2, 3, 0, 11, 5, 4, 5, 0, 0, 11, 5, 11, 2, 4, 11, 2, 3, 2, 2, 3, 3, 11, 5, 4, 5, 0, 0, 10, 4, 10, 0, 3, 10, 0, 0, 0, 0, 0, 0, 10, 4, 3, 4, 0, 0, 10, 4, 10, 1, 3, 10, 1, 0, 1, 1, 2, 0, 10, 4, 3, 4, 0, 0, 10, 4, 10, 2, 3, 10, 2, 0, 2, 2, 3, 0, 10, 4, 3, 4, 0, 0, 10, 4, 10, 2, 3, 10, 2, 3, 2, 2, 3, 3, 10, 4, 3, 4, 0, 0, 9, 3, 9, 0, 2, 9, 0, 0, 0, 0, 0, 0, 9, 3, 2, 3, 0, 0, 9, 3, 9, 1, 2, 9, 1, 0, 1, 1, 2, 0, 9, 3, 2, 3, 0, 0, 9, 3, 9, 2, 2, 9, 2, 0, 2, 2, 3, 0, 9, 3, 2, 3, 0, 0, 9, 3, 9, 2, 2, 9, 2, 3, 2, 2, 3, 3, 9, 3, 2, 3, 0, 0, 8, 2, 8, 0, 1, 8, 0, 0, 0, 0, 0, 0, 8, 2, 1, 2, 0, 0, 8, 2, 8, 2, 1, 8, 1, 0, 1, 2, 3, 0, 8, 2, 1, 2, 0, 0, 18, 0, 18, 0, 11, 18, 0, 1, 0, 0, 1, 1, 0, 12, 11, 12, 0, 0, 11, 0, 11, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 11, 0, 11, 1, 0, 11, 0, 0, 1, 1, 2, 0, 0, 11, 0, 0, 0, 0, 11, 0, 11, 1, 1, 11, 1, 0, 1, 1, 2, 0, 0, 11, 1, 2, 0, 0, 18, 0, 18, 1, 10, 18, 1, 0, 1, 1, 2, 0, 0, 11, 10, 11, 0, 0, 11, 0, 11, 0, 1, 11, 0, 0, 0, 0, 0, 0, 0, 11, 1, 2, 0, 0, 11, 2, 11, 0, 1, 11, 0, 0, 0, 0, 0, 0, 2, 11, 1, 2, 0, 0, 11, 2, 11, 2, 1, 11, 1, 0, 2, 2, 3, 0, 2, 11, 1, 2, 0, 0, 11, 0, 11, 0, 1, 11, 0, 1, 0, 0, 1, 1, 0, 11, 1, 2, 0, 0, 11, 0, 11, 2, 1, 11, 1, 3, 2, 2, 3, 3, 0, 11, 1, 2, 0, 0, 11, 0, 11, 2, 1, 11, 1, 0, 2, 2, 3, 0, 0, 11, 1, 2, 0, 0, 11, 0, 11, 2, 0, 11, 0, 0, 2, 2, 3, 0, 0, 11, 0, 0, 0, 0, 11, 1, 11, 2, 0, 11, 0, 0, 2, 2, 3, 0, 1, 11, 0, 1, 0, 0, 11, 1, 11, 2, 0, 11, 0, 3, 2, 2, 3, 3, 1, 11, 0, 1, 0, 0, 18, 11, 18, 2, 10, 18, 2, 3, 2, 2, 3, 3, 18, 11, 10, 11, 0, 0, 18, 11, 18, 2, 10, 18, 2, 0, 2, 2, 3, 0, 18, 11, 10, 11, 0, 0, 11, 0, 11, 2, 0, 11, 0, 3, 2, 2, 3, 3, 0, 11, 0, 0, 0, 0, 18, 0, 18, 2, 10, 18, 2, 3, 2, 2, 3, 3, 0, 11, 10, 11, 0, 0, 18, 0, 18, 2, 10, 18, 2, 0, 2, 2, 3, 0, 0, 11, 10, 11, 0, 0, 18, 0, 18, 0, 10, 18, 0, 0, 0, 0, 0, 0, 0, 11, 10, 11, 0, 0, 18, 11, 18, 0, 10, 18, 0, 0, 0, 0, 0, 0, 18, 11, 10, 11, 0, 0, 18, 11, 18, 0, 10, 18, 0, 1, 0, 0, 1, 1, 18, 11, 10, 11, 0, 0, 17, 10, 17, 0, 9, 17, 0, 0, 0, 0, 0, 0, 17, 10, 9, 10, 0, 0, 17, 10, 17, 1, 9, 17, 1, 0, 1, 1, 2, 0, 17, 10, 9, 10, 0, 0, 17, 10, 17, 2, 9, 17, 2, 0, 2, 2, 3, 0, 17, 10, 9, 10, 0, 0, 17, 10, 17, 2, 9, 17, 2, 3, 2, 2, 3, 3, 17, 10, 9, 10, 0, 0, 16, 9, 16, 0, 8, 16, 0, 0, 0, 0, 0, 0, 16, 9, 8, 9, 0, 0, 16, 9, 16, 1, 8, 16, 1, 0, 1, 1, 2, 0, 16, 9, 8, 9, 0, 0, 16, 9, 16, 2, 8, 16, 2, 0, 2, 2, 3, 0, 16, 9, 8, 9, 0, 0, 16, 9, 16, 2, 8, 16, 2, 3, 2, 2, 3, 3, 16, 9, 8, 9, 0, 0, 15, 8, 15, 0, 7, 15, 0, 0, 0, 0, 0, 0, 15, 8, 7, 8, 0, 0, 15, 8, 15, 1, 7, 15, 1, 0, 1, 1, 2, 0, 15, 8, 7, 8, 0, 0, 15, 8, 15, 2, 7, 15, 2, 0, 2, 2, 3, 0, 15, 8, 7, 8, 0, 0, 15, 8, 15, 2, 7, 15, 2, 3, 2, 2, 3, 3, 15, 8, 7, 8, 0, 0, 14, 7, 14, 0, 6, 14, 0, 0, 0, 0, 0, 0, 14, 7, 6, 7, 0, 0, 14, 7, 14, 1, 6, 14, 1, 0, 1, 1, 2, 0, 14, 7, 6, 7, 0, 0, 14, 7, 14, 2, 6, 14, 2, 0, 2, 2, 3, 0, 14, 7, 6, 7, 0, 0, 14, 7, 14, 2, 6, 14, 2, 3, 2, 2, 3, 3, 14, 7, 6, 7, 0, 0, 13, 6, 13, 0, 5, 13, 0, 0, 0, 0, 0, 0, 13, 6, 5, 6, 0, 0, 13, 6, 13, 1, 5, 13, 1, 0, 1, 1, 2, 0, 13, 6, 5, 6, 0, 0, 13, 6, 13, 2, 5, 13, 2, 0, 2, 2, 3, 0, 13, 6, 5, 6, 0, 0, 13, 6, 13, 2, 5, 13, 2, 3, 2, 2, 3, 3, 13, 6, 5, 6, 0, 0, 12, 5, 12, 0, 4, 12, 0, 0, 0, 0, 0, 0, 12, 5, 4, 5, 0, 0, 12, 5, 12, 1, 4, 12, 1, 0, 1, 1, 2, 0, 12, 5, 4, 5, 0, 0, 12, 5, 12, 2, 4, 12, 2, 0, 2, 2, 3, 0, 12, 5, 4, 5, 0, 0, 12, 5, 12, 2, 4, 12, 2, 3, 2, 2, 3, 3, 12, 5, 4, 5, 0, 0, 11, 4, 11, 0, 3, 11, 0, 0, 0, 0, 0, 0, 11, 4, 3, 4, 0, 0, 11, 4, 11, 1, 3, 11, 1, 0, 1, 1, 2, 0, 11, 4, 3, 4, 0, 0, 11, 4, 11, 2, 3, 11, 2, 0, 2, 2, 3, 0, 11, 4, 3, 4, 0, 0, 11, 4, 11, 2, 3, 11, 2, 3, 2, 2, 3, 3, 11, 4, 3, 4, 0, 0, 10, 3, 10, 0, 2, 10, 0, 0, 0, 0, 0, 0, 10, 3, 2, 3, 0, 0, 10, 3, 10, 1, 2, 10, 1, 0, 1, 1, 2, 0, 10, 3, 2, 3, 0, 0, 10, 3, 10, 2, 2, 10, 2, 0, 2, 2, 3, 0, 10, 3, 2, 3, 0, 0, 10, 3, 10, 2, 2, 10, 2, 3, 2, 2, 3, 3, 10, 3, 2, 3, 0, 0, 9, 2, 9, 0, 1, 9, 0, 0, 0, 0, 0, 0, 9, 2, 1, 2, 0, 0, 9, 2, 9, 2, 1, 9, 1, 0, 1, 2, 3, 0, 9, 2, 1, 2, 0, 0, 18, 0, 18, 0, 10, 18, 0, 1, 0, 0, 1, 1, 0, 11, 10, 11, 0, 0, 10, 0, 10, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 10, 1, 0, 10, 0, 0, 1, 1, 2, 0, 0, 10, 0, 0, 0, 0, 10, 0, 10, 1, 1, 10, 1, 0, 1, 1, 2, 0, 0, 10, 1, 2, 0, 0, 18, 0, 18, 1, 9, 18, 1, 0, 1, 1, 2, 0, 0, 10, 9, 10, 0, 0, 10, 0, 10, 0, 1, 10, 0, 0, 0, 0, 0, 0, 0, 10, 1, 2, 0, 0, 10, 2, 10, 0, 1, 10, 0, 0, 0, 0, 0, 0, 2, 10, 1, 2, 0, 0, 10, 2, 10, 2, 1, 10, 1, 0, 2, 2, 3, 0, 2, 10, 1, 2, 0, 0, 10, 0, 10, 0, 1, 10, 0, 1, 0, 0, 1, 1, 0, 10, 1, 2, 0, 0, 10, 0, 10, 2, 1, 10, 1, 3, 2, 2, 3, 3, 0, 10, 1, 2, 0, 0, 10, 0, 10, 2, 1, 10, 1, 0, 2, 2, 3, 0, 0, 10, 1, 2, 0, 0, 10, 0, 10, 2, 0, 10, 0, 0, 2, 2, 3, 0, 0, 10, 0, 0, 0, 0, 10, 1, 10, 2, 0, 10, 0, 0, 2, 2, 3, 0, 1, 10, 0, 1, 0, 0, 10, 1, 10, 2, 0, 10, 0, 3, 2, 2, 3, 3, 1, 10, 0, 1, 0, 0, 18, 10, 18, 2, 9, 18, 2, 3, 2, 2, 3, 3, 18, 10, 9, 10, 0, 0, 18, 10, 18, 2, 9, 18, 2, 0, 2, 2, 3, 0, 18, 10, 9, 10, 0, 0, 10, 0, 10, 2, 0, 10, 0, 3, 2, 2, 3, 3, 0, 10, 0, 0, 0, 0, 18, 0, 18, 2, 9, 18, 2, 3, 2, 2, 3, 3, 0, 10, 9, 10, 0, 0, 18, 0, 18, 2, 9, 18, 2, 0, 2, 2, 3, 0, 0, 10, 9, 10, 0, 0, 18, 0, 18, 0, 9, 18, 0, 0, 0, 0, 0, 0, 0, 10, 9, 10, 0, 0, 18, 10, 18, 0, 9, 18, 0, 0, 0, 0, 0, 0, 18, 10, 9, 10, 0, 0, 18, 10, 18, 0, 9, 18, 0, 1, 0, 0, 1, 1, 18, 10, 9, 10, 0, 0, 17, 9, 17, 0, 8, 17, 0, 0, 0, 0, 0, 0, 17, 9, 8, 9, 0, 0, 17, 9, 17, 1, 8, 17, 1, 0, 1, 1, 2, 0, 17, 9, 8, 9, 0, 0, 17, 9, 17, 2, 8, 17, 2, 0, 2, 2, 3, 0, 17, 9, 8, 9, 0, 0, 17, 9, 17, 2, 8, 17, 2, 3, 2, 2, 3, 3, 17, 9, 8, 9, 0, 0, 16, 8, 16, 0, 7, 16, 0, 0, 0, 0, 0, 0, 16, 8, 7, 8, 0, 0, 16, 8, 16, 1, 7, 16, 1, 0, 1, 1, 2, 0, 16, 8, 7, 8, 0, 0, 16, 8, 16, 2, 7, 16, 2, 0, 2, 2, 3, 0, 16, 8, 7, 8, 0, 0, 16, 8, 16, 2, 7, 16, 2, 3, 2, 2, 3, 3, 16, 8, 7, 8, 0, 0, 15, 7, 15, 0, 6, 15, 0, 0, 0, 0, 0, 0, 15, 7, 6, 7, 0, 0, 15, 7, 15, 1, 6, 15, 1, 0, 1, 1, 2, 0, 15, 7, 6, 7, 0, 0, 15, 7, 15, 2, 6, 15, 2, 0, 2, 2, 3, 0, 15, 7, 6, 7, 0, 0, 15, 7, 15, 2, 6, 15, 2, 3, 2, 2, 3, 3, 15, 7, 6, 7, 0, 0, 14, 6, 14, 0, 5, 14, 0, 0, 0, 0, 0, 0, 14, 6, 5, 6, 0, 0, 14, 6, 14, 1, 5, 14, 1, 0, 1, 1, 2, 0, 14, 6, 5, 6, 0, 0, 14, 6, 14, 2, 5, 14, 2, 0, 2, 2, 3, 0, 14, 6, 5, 6, 0, 0, 14, 6, 14, 2, 5, 14, 2, 3, 2, 2, 3, 3, 14, 6, 5, 6, 0, 0, 13, 5, 13, 0, 4, 13, 0, 0, 0, 0, 0, 0, 13, 5, 4, 5, 0, 0, 13, 5, 13, 1, 4, 13, 1, 0, 1, 1, 2, 0, 13, 5, 4, 5, 0, 0, 13, 5, 13, 2, 4, 13, 2, 0, 2, 2, 3, 0, 13, 5, 4, 5, 0, 0, 13, 5, 13, 2, 4, 13, 2, 3, 2, 2, 3, 3, 13, 5, 4, 5, 0, 0, 12, 4, 12, 0, 3, 12, 0, 0, 0, 0, 0, 0, 12, 4, 3, 4, 0, 0, 12, 4, 12, 1, 3, 12, 1, 0, 1, 1, 2, 0, 12, 4, 3, 4, 0, 0, 12, 4, 12, 2, 3, 12, 2, 0, 2, 2, 3, 0, 12, 4, 3, 4, 0, 0, 12, 4, 12, 2, 3, 12, 2, 3, 2, 2, 3, 3, 12, 4, 3, 4, 0, 0, 11, 3, 11, 0, 2, 11, 0, 0, 0, 0, 0, 0, 11, 3, 2, 3, 0, 0, 11, 3, 11, 1, 2, 11, 1, 0, 1, 1, 2, 0, 11, 3, 2, 3, 0, 0, 11, 3, 11, 2, 2, 11, 2, 0, 2, 2, 3, 0, 11, 3, 2, 3, 0, 0, 11, 3, 11, 2, 2, 11, 2, 3, 2, 2, 3, 3, 11, 3, 2, 3, 0, 0, 10, 2, 10, 0, 1, 10, 0, 0, 0, 0, 0, 0, 10, 2, 1, 2, 0, 0, 10, 2, 10, 2, 1, 10, 1, 0, 1, 2, 3, 0, 10, 2, 1, 2, 0, 0, 18, 0, 18, 0, 9, 18, 0, 1, 0, 0, 1, 1, 0, 10, 9, 10, 0, 0, 9, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 0, 9, 1, 0, 9, 0, 0, 1, 1, 2, 0, 0, 9, 0, 0, 0, 0, 9, 0, 9, 1, 1, 9, 1, 0, 1, 1, 2, 0, 0, 9, 1, 2, 0, 0, 18, 0, 18, 1, 8, 18, 1, 0, 1, 1, 2, 0, 0, 9, 8, 9, 0, 0, 9, 0, 9, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 9, 1, 2, 0, 0, 9, 2, 9, 0, 1, 9, 0, 0, 0, 0, 0, 0, 2, 9, 1, 2, 0, 0, 9, 2, 9, 2, 1, 9, 1, 0, 2, 2, 3, 0, 2, 9, 1, 2, 0, 0, 9, 0, 9, 0, 1, 9, 0, 1, 0, 0, 1, 1, 0, 9, 1, 2, 0, 0, 9, 0, 9, 2, 1, 9, 1, 3, 2, 2, 3, 3, 0, 9, 1, 2, 0, 0, 9, 0, 9, 2, 1, 9, 1, 0, 2, 2, 3, 0, 0, 9, 1, 2, 0, 0, 9, 0, 9, 2, 0, 9, 0, 0, 2, 2, 3, 0, 0, 9, 0, 0, 0, 0, 9, 1, 9, 2, 0, 9, 0, 0, 2, 2, 3, 0, 1, 9, 0, 1, 0, 0, 9, 1, 9, 2, 0, 9, 0, 3, 2, 2, 3, 3, 1, 9, 0, 1, 0, 0, 18, 9, 18, 2, 8, 18, 2, 3, 2, 2, 3, 3, 18, 9, 8, 9, 0, 0, 18, 9, 18, 2, 8, 18, 2, 0, 2, 2, 3, 0, 18, 9, 8, 9, 0, 0, 9, 0, 9, 2, 0, 9, 0, 3, 2, 2, 3, 3, 0, 9, 0, 0, 0, 0, 18, 0, 18, 2, 8, 18, 2, 3, 2, 2, 3, 3, 0, 9, 8, 9, 0, 0, 18, 0, 18, 2, 8, 18, 2, 0, 2, 2, 3, 0, 0, 9, 8, 9, 0, 0, 18, 0, 18, 0, 8, 18, 0, 0, 0, 0, 0, 0, 0, 9, 8, 9, 0, 0, 18, 9, 18, 0, 8, 18, 0, 0, 0, 0, 0, 0, 18, 9, 8, 9, 0, 0, 18, 9, 18, 0, 8, 18, 0, 1, 0, 0, 1, 1, 18, 9, 8, 9, 0, 0, 17, 8, 17, 0, 7, 17, 0, 0, 0, 0, 0, 0, 17, 8, 7, 8, 0, 0, 17, 8, 17, 1, 7, 17, 1, 0, 1, 1, 2, 0, 17, 8, 7, 8, 0, 0, 17, 8, 17, 2, 7, 17, 2, 0, 2, 2, 3, 0, 17, 8, 7, 8, 0, 0, 17, 8, 17, 2, 7, 17, 2, 3, 2, 2, 3, 3, 17, 8, 7, 8, 0, 0, 16, 7, 16, 0, 6, 16, 0, 0, 0, 0, 0, 0, 16, 7, 6, 7, 0, 0, 16, 7, 16, 1, 6, 16, 1, 0, 1, 1, 2, 0, 16, 7, 6, 7, 0, 0, 16, 7, 16, 2, 6, 16, 2, 0, 2, 2, 3, 0, 16, 7, 6, 7, 0, 0, 16, 7, 16, 2, 6, 16, 2, 3, 2, 2, 3, 3, 16, 7, 6, 7, 0, 0, 15, 6, 15, 0, 5, 15, 0, 0, 0, 0, 0, 0, 15, 6, 5, 6, 0, 0, 15, 6, 15, 1, 5, 15, 1, 0, 1, 1, 2, 0, 15, 6, 5, 6, 0, 0, 15, 6, 15, 2, 5, 15, 2, 0, 2, 2, 3, 0, 15, 6, 5, 6, 0, 0, 15, 6, 15, 2, 5, 15, 2, 3, 2, 2, 3, 3, 15, 6, 5, 6, 0, 0, 14, 5, 14, 0, 4, 14, 0, 0, 0, 0, 0, 0, 14, 5, 4, 5, 0, 0, 14, 5, 14, 1, 4, 14, 1, 0, 1, 1, 2, 0, 14, 5, 4, 5, 0, 0, 14, 5, 14, 2, 4, 14, 2, 0, 2, 2, 3, 0, 14, 5, 4, 5, 0, 0, 14, 5, 14, 2, 4, 14, 2, 3, 2, 2, 3, 3, 14, 5, 4, 5, 0, 0, 13, 4, 13, 0, 3, 13, 0, 0, 0, 0, 0, 0, 13, 4, 3, 4, 0, 0, 13, 4, 13, 1, 3, 13, 1, 0, 1, 1, 2, 0, 13, 4, 3, 4, 0, 0, 13, 4, 13, 2, 3, 13, 2, 0, 2, 2, 3, 0, 13, 4, 3, 4, 0, 0, 13, 4, 13, 2, 3, 13, 2, 3, 2, 2, 3, 3, 13, 4, 3, 4, 0, 0, 12, 3, 12, 0, 2, 12, 0, 0, 0, 0, 0, 0, 12, 3, 2, 3, 0, 0, 12, 3, 12, 1, 2, 12, 1, 0, 1, 1, 2, 0, 12, 3, 2, 3, 0, 0, 12, 3, 12, 2, 2, 12, 2, 0, 2, 2, 3, 0, 12, 3, 2, 3, 0, 0, 12, 3, 12, 2, 2, 12, 2, 3, 2, 2, 3, 3, 12, 3, 2, 3, 0, 0, 11, 2, 11, 0, 1, 11, 0, 0, 0, 0, 0, 0, 11, 2, 1, 2, 0, 0, 11, 2, 11, 2, 1, 11, 1, 0, 1, 2, 3, 0, 11, 2, 1, 2, 0, 0, 18, 0, 18, 0, 8, 18, 0, 1, 0, 0, 1, 1, 0, 9, 8, 9, 0, 0, 8, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 8, 1, 0, 8, 0, 0, 1, 1, 2, 0, 0, 8, 0, 0, 0, 0, 8, 0, 8, 1, 1, 8, 1, 0, 1, 1, 2, 0, 0, 8, 1, 2, 0, 0, 18, 0, 18, 1, 7, 18, 1, 0, 1, 1, 2, 0, 0, 8, 7, 8, 0, 0, 8, 0, 8, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 8, 1, 2, 0, 0, 8, 2, 8, 0, 1, 8, 0, 0, 0, 0, 0, 0, 2, 8, 1, 2, 0, 0, 8, 2, 8, 2, 1, 8, 1, 0, 2, 2, 3, 0, 2, 8, 1, 2, 0, 0, 8, 0, 8, 0, 1, 8, 0, 1, 0, 0, 1, 1, 0, 8, 1, 2, 0, 0, 8, 0, 8, 2, 1, 8, 1, 3, 2, 2, 3, 3, 0, 8, 1, 2, 0, 0, 8, 0, 8, 2, 1, 8, 1, 0, 2, 2, 3, 0, 0, 8, 1, 2, 0, 0, 8, 0, 8, 2, 0, 8, 0, 0, 2, 2, 3, 0, 0, 8, 0, 0, 0, 0, 8, 1, 8, 2, 0, 8, 0, 0, 2, 2, 3, 0, 1, 8, 0, 1, 0, 0, 8, 1, 8, 2, 0, 8, 0, 3, 2, 2, 3, 3, 1, 8, 0, 1, 0, 0, 18, 8, 18, 2, 7, 18, 2, 3, 2, 2, 3, 3, 18, 8, 7, 8, 0, 0, 18, 8, 18, 2, 7, 18, 2, 0, 2, 2, 3, 0, 18, 8, 7, 8, 0, 0, 8, 0, 8, 2, 0, 8, 0, 3, 2, 2, 3, 3, 0, 8, 0, 0, 0, 0, 18, 0, 18, 2, 7, 18, 2, 3, 2, 2, 3, 3, 0, 8, 7, 8, 0, 0, 18, 0, 18, 2, 7, 18, 2, 0, 2, 2, 3, 0, 0, 8, 7, 8, 0, 0, 18, 0, 18, 0, 7, 18, 0, 0, 0, 0, 0, 0, 0, 8, 7, 8, 0, 0, 18, 8, 18, 0, 7, 18, 0, 0, 0, 0, 0, 0, 18, 8, 7, 8, 0, 0, 18, 8, 18, 0, 7, 18, 0, 1, 0, 0, 1, 1, 18, 8, 7, 8, 0, 0, 17, 7, 17, 0, 6, 17, 0, 0, 0, 0, 0, 0, 17, 7, 6, 7, 0, 0, 17, 7, 17, 1, 6, 17, 1, 0, 1, 1, 2, 0, 17, 7, 6, 7, 0, 0, 17, 7, 17, 2, 6, 17, 2, 0, 2, 2, 3, 0, 17, 7, 6, 7, 0, 0, 17, 7, 17, 2, 6, 17, 2, 3, 2, 2, 3, 3, 17, 7, 6, 7, 0, 0, 16, 6, 16, 0, 5, 16, 0, 0, 0, 0, 0, 0, 16, 6, 5, 6, 0, 0, 16, 6, 16, 1, 5, 16, 1, 0, 1, 1, 2, 0, 16, 6, 5, 6, 0, 0, 16, 6, 16, 2, 5, 16, 2, 0, 2, 2, 3, 0, 16, 6, 5, 6, 0, 0, 16, 6, 16, 2, 5, 16, 2, 3, 2, 2, 3, 3, 16, 6, 5, 6, 0, 0, 15, 5, 15, 0, 4, 15, 0, 0, 0, 0, 0, 0, 15, 5, 4, 5, 0, 0, 15, 5, 15, 1, 4, 15, 1, 0, 1, 1, 2, 0, 15, 5, 4, 5, 0, 0, 15, 5, 15, 2, 4, 15, 2, 0, 2, 2, 3, 0, 15, 5, 4, 5, 0, 0, 15, 5, 15, 2, 4, 15, 2, 3, 2, 2, 3, 3, 15, 5, 4, 5, 0, 0, 14, 4, 14, 0, 3, 14, 0, 0, 0, 0, 0, 0, 14, 4, 3, 4, 0, 0, 14, 4, 14, 1, 3, 14, 1, 0, 1, 1, 2, 0, 14, 4, 3, 4, 0, 0, 14, 4, 14, 2, 3, 14, 2, 0, 2, 2, 3, 0, 14, 4, 3, 4, 0, 0, 14, 4, 14, 2, 3, 14, 2, 3, 2, 2, 3, 3, 14, 4, 3, 4, 0, 0, 13, 3, 13, 0, 2, 13, 0, 0, 0, 0, 0, 0, 13, 3, 2, 3, 0, 0, 13, 3, 13, 1, 2, 13, 1, 0, 1, 1, 2, 0, 13, 3, 2, 3, 0, 0, 13, 3, 13, 2, 2, 13, 2, 0, 2, 2, 3, 0, 13, 3, 2, 3, 0, 0, 13, 3, 13, 2, 2, 13, 2, 3, 2, 2, 3, 3, 13, 3, 2, 3, 0, 0, 12, 2, 12, 0, 1, 12, 0, 0, 0, 0, 0, 0, 12, 2, 1, 2, 0, 0, 12, 2, 12, 2, 1, 12, 1, 0, 1, 2, 3, 0, 12, 2, 1, 2, 0, 0, 18, 0, 18, 0, 7, 18, 0, 1, 0, 0, 1, 1, 0, 8, 7, 8, 0, 0, 7, 0, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 0, 7, 1, 0, 7, 0, 0, 1, 1, 2, 0, 0, 7, 0, 0, 0, 0, 7, 0, 7, 1, 1, 7, 1, 0, 1, 1, 2, 0, 0, 7, 1, 2, 0, 0, 18, 0, 18, 1, 6, 18, 1, 0, 1, 1, 2, 0, 0, 7, 6, 7, 0, 0, 7, 0, 7, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 7, 1, 2, 0, 0, 7, 2, 7, 0, 1, 7, 0, 0, 0, 0, 0, 0, 2, 7, 1, 2, 0, 0, 7, 2, 7, 2, 1, 7, 1, 0, 2, 2, 3, 0, 2, 7, 1, 2, 0, 0, 7, 0, 7, 0, 1, 7, 0, 1, 0, 0, 1, 1, 0, 7, 1, 2, 0, 0, 7, 0, 7, 2, 1, 7, 1, 3, 2, 2, 3, 3, 0, 7, 1, 2, 0, 0, 7, 0, 7, 2, 1, 7, 1, 0, 2, 2, 3, 0, 0, 7, 1, 2, 0, 0, 7, 0, 7, 2, 0, 7, 0, 0, 2, 2, 3, 0, 0, 7, 0, 0, 0, 0, 7, 1, 7, 2, 0, 7, 0, 0, 2, 2, 3, 0, 1, 7, 0, 1, 0, 0, 7, 1, 7, 2, 0, 7, 0, 3, 2, 2, 3, 3, 1, 7, 0, 1, 0, 0, 18, 7, 18, 2, 6, 18, 2, 3, 2, 2, 3, 3, 18, 7, 6, 7, 0, 0, 18, 7, 18, 2, 6, 18, 2, 0, 2, 2, 3, 0, 18, 7, 6, 7, 0, 0, 7, 0, 7, 2, 0, 7, 0, 3, 2, 2, 3, 3, 0, 7, 0, 0, 0, 0, 18, 0, 18, 2, 6, 18, 2, 3, 2, 2, 3, 3, 0, 7, 6, 7, 0, 0, 18, 0, 18, 2, 6, 18, 2, 0, 2, 2, 3, 0, 0, 7, 6, 7, 0, 0, 18, 0, 18, 0, 6, 18, 0, 0, 0, 0, 0, 0, 0, 7, 6, 7, 0, 0, 18, 7, 18, 0, 6, 18, 0, 0, 0, 0, 0, 0, 18, 7, 6, 7, 0, 0, 18, 7, 18, 0, 6, 18, 0, 1, 0, 0, 1, 1, 18, 7, 6, 7, 0, 0, 17, 6, 17, 0, 5, 17, 0, 0, 0, 0, 0, 0, 17, 6, 5, 6, 0, 0, 17, 6, 17, 1, 5, 17, 1, 0, 1, 1, 2, 0, 17, 6, 5, 6, 0, 0, 17, 6, 17, 2, 5, 17, 2, 0, 2, 2, 3, 0, 17, 6, 5, 6, 0, 0, 17, 6, 17, 2, 5, 17, 2, 3, 2, 2, 3, 3, 17, 6, 5, 6, 0, 0, 16, 5, 16, 0, 4, 16, 0, 0, 0, 0, 0, 0, 16, 5, 4, 5, 0, 0, 16, 5, 16, 1, 4, 16, 1, 0, 1, 1, 2, 0, 16, 5, 4, 5, 0, 0, 16, 5, 16, 2, 4, 16, 2, 0, 2, 2, 3, 0, 16, 5, 4, 5, 0, 0, 16, 5, 16, 2, 4, 16, 2, 3, 2, 2, 3, 3, 16, 5, 4, 5, 0, 0, 15, 4, 15, 0, 3, 15, 0, 0, 0, 0, 0, 0, 15, 4, 3, 4, 0, 0, 15, 4, 15, 1, 3, 15, 1, 0, 1, 1, 2, 0, 15, 4, 3, 4, 0, 0, 15, 4, 15, 2, 3, 15, 2, 0, 2, 2, 3, 0, 15, 4, 3, 4, 0, 0, 15, 4, 15, 2, 3, 15, 2, 3, 2, 2, 3, 3, 15, 4, 3, 4, 0, 0, 14, 3, 14, 0, 2, 14, 0, 0, 0, 0, 0, 0, 14, 3, 2, 3, 0, 0, 14, 3, 14, 1, 2, 14, 1, 0, 1, 1, 2, 0, 14, 3, 2, 3, 0, 0, 14, 3, 14, 2, 2, 14, 2, 0, 2, 2, 3, 0, 14, 3, 2, 3, 0, 0, 14, 3, 14, 2, 2, 14, 2, 3, 2, 2, 3, 3, 14, 3, 2, 3, 0, 0, 13, 2, 13, 0, 1, 13, 0, 0, 0, 0, 0, 0, 13, 2, 1, 2, 0, 0, 13, 2, 13, 2, 1, 13, 1, 0, 1, 2, 3, 0, 13, 2, 1, 2, 0, 0, 18, 0, 18, 0, 6, 18, 0, 1, 0, 0, 1, 1, 0, 7, 6, 7, 0, 0, 6, 0, 6, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 6, 0, 6, 1, 0, 6, 0, 0, 1, 1, 2, 0, 0, 6, 0, 0, 0, 0, 6, 0, 6, 1, 1, 6, 1, 0, 1, 1, 2, 0, 0, 6, 1, 2, 0, 0, 18, 0, 18, 1, 5, 18, 1, 0, 1, 1, 2, 0, 0, 6, 5, 6, 0, 0, 6, 0, 6, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 6, 1, 2, 0, 0, 6, 2, 6, 0, 1, 6, 0, 0, 0, 0, 0, 0, 2, 6, 1, 2, 0, 0, 6, 2, 6, 2, 1, 6, 1, 0, 2, 2, 3, 0, 2, 6, 1, 2, 0, 0, 6, 0, 6, 0, 1, 6, 0, 1, 0, 0, 1, 1, 0, 6, 1, 2, 0, 0, 6, 0, 6, 2, 1, 6, 1, 3, 2, 2, 3, 3, 0, 6, 1, 2, 0, 0, 6, 0, 6, 2, 1, 6, 1, 0, 2, 2, 3, 0, 0, 6, 1, 2, 0, 0, 6, 0, 6, 2, 0, 6, 0, 0, 2, 2, 3, 0, 0, 6, 0, 0, 0, 0, 6, 1, 6, 2, 0, 6, 0, 0, 2, 2, 3, 0, 1, 6, 0, 1, 0, 0, 6, 1, 6, 2, 0, 6, 0, 3, 2, 2, 3, 3, 1, 6, 0, 1, 0, 0, 18, 6, 18, 2, 5, 18, 2, 3, 2, 2, 3, 3, 18, 6, 5, 6, 0, 0, 18, 6, 18, 2, 5, 18, 2, 0, 2, 2, 3, 0, 18, 6, 5, 6, 0, 0, 6, 0, 6, 2, 0, 6, 0, 3, 2, 2, 3, 3, 0, 6, 0, 0, 0, 0, 18, 0, 18, 2, 5, 18, 2, 3, 2, 2, 3, 3, 0, 6, 5, 6, 0, 0, 18, 0, 18, 2, 5, 18, 2, 0, 2, 2, 3, 0, 0, 6, 5, 6, 0, 0, 18, 0, 18, 0, 5, 18, 0, 0, 0, 0, 0, 0, 0, 6, 5, 6, 0, 0, 18, 6, 18, 0, 5, 18, 0, 0, 0, 0, 0, 0, 18, 6, 5, 6, 0, 0, 18, 6, 18, 0, 5, 18, 0, 1, 0, 0, 1, 1, 18, 6, 5, 6, 0, 0, 17, 5, 17, 0, 4, 17, 0, 0, 0, 0, 0, 0, 17, 5, 4, 5, 0, 0, 17, 5, 17, 1, 4, 17, 1, 0, 1, 1, 2, 0, 17, 5, 4, 5, 0, 0, 17, 5, 17, 2, 4, 17, 2, 0, 2, 2, 3, 0, 17, 5, 4, 5, 0, 0, 17, 5, 17, 2, 4, 17, 2, 3, 2, 2, 3, 3, 17, 5, 4, 5, 0, 0, 16, 4, 16, 0, 3, 16, 0, 0, 0, 0, 0, 0, 16, 4, 3, 4, 0, 0, 16, 4, 16, 1, 3, 16, 1, 0, 1, 1, 2, 0, 16, 4, 3, 4, 0, 0, 16, 4, 16, 2, 3, 16, 2, 0, 2, 2, 3, 0, 16, 4, 3, 4, 0, 0, 16, 4, 16, 2, 3, 16, 2, 3, 2, 2, 3, 3, 16, 4, 3, 4, 0, 0, 15, 3, 15, 0, 2, 15, 0, 0, 0, 0, 0, 0, 15, 3, 2, 3, 0, 0, 15, 3, 15, 1, 2, 15, 1, 0, 1, 1, 2, 0, 15, 3, 2, 3, 0, 0, 15, 3, 15, 2, 2, 15, 2, 0, 2, 2, 3, 0, 15, 3, 2, 3, 0, 0, 15, 3, 15, 2, 2, 15, 2, 3, 2, 2, 3, 3, 15, 3, 2, 3, 0, 0, 14, 2, 14, 0, 1, 14, 0, 0, 0, 0, 0, 0, 14, 2, 1, 2, 0, 0, 14, 2, 14, 2, 1, 14, 1, 0, 1, 2, 3, 0, 14, 2, 1, 2, 0, 0, 18, 0, 18, 0, 5, 18, 0, 1, 0, 0, 1, 1, 0, 6, 5, 6, 0, 0, 5, 0, 5, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 5, 0, 5, 1, 0, 5, 0, 0, 1, 1, 2, 0, 0, 5, 0, 0, 0, 0, 5, 0, 5, 1, 1, 5, 1, 0, 1, 1, 2, 0, 0, 5, 1, 2, 0, 0, 18, 0, 18, 1, 4, 18, 1, 0, 1, 1, 2, 0, 0, 5, 4, 5, 0, 0, 5, 0, 5, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 5, 1, 2, 0, 0, 5, 2, 5, 0, 1, 5, 0, 0, 0, 0, 0, 0, 2, 5, 1, 2, 0, 0, 5, 2, 5, 2, 1, 5, 1, 0, 2, 2, 3, 0, 2, 5, 1, 2, 0, 0, 5, 0, 5, 0, 1, 5, 0, 1, 0, 0, 1, 1, 0, 5, 1, 2, 0, 0, 5, 0, 5, 2, 1, 5, 1, 3, 2, 2, 3, 3, 0, 5, 1, 2, 0, 0, 5, 0, 5, 2, 1, 5, 1, 0, 2, 2, 3, 0, 0, 5, 1, 2, 0, 0, 5, 0, 5, 2, 0, 5, 0, 0, 2, 2, 3, 0, 0, 5, 0, 0, 0, 0, 5, 1, 5, 2, 0, 5, 0, 0, 2, 2, 3, 0, 1, 5, 0, 1, 0, 0, 5, 1, 5, 2, 0, 5, 0, 3, 2, 2, 3, 3, 1, 5, 0, 1, 0, 0, 18, 5, 18, 2, 4, 18, 2, 3, 2, 2, 3, 3, 18, 5, 4, 5, 0, 0, 18, 5, 18, 2, 4, 18, 2, 0, 2, 2, 3, 0, 18, 5, 4, 5, 0, 0, 5, 0, 5, 2, 0, 5, 0, 3, 2, 2, 3, 3, 0, 5, 0, 0, 0, 0, 18, 0, 18, 2, 4, 18, 2, 3, 2, 2, 3, 3, 0, 5, 4, 5, 0, 0, 18, 0, 18, 2, 4, 18, 2, 0, 2, 2, 3, 0, 0, 5, 4, 5, 0, 0, 18, 0, 18, 0, 4, 18, 0, 0, 0, 0, 0, 0, 0, 5, 4, 5, 0, 0, 18, 5, 18, 0, 4, 18, 0, 0, 0, 0, 0, 0, 18, 5, 4, 5, 0, 0, 18, 5, 18, 0, 4, 18, 0, 1, 0, 0, 1, 1, 18, 5, 4, 5, 0, 0, 17, 4, 17, 0, 3, 17, 0, 0, 0, 0, 0, 0, 17, 4, 3, 4, 0, 0, 17, 4, 17, 1, 3, 17, 1, 0, 1, 1, 2, 0, 17, 4, 3, 4, 0, 0, 17, 4, 17, 2, 3, 17, 2, 0, 2, 2, 3, 0, 17, 4, 3, 4, 0, 0, 17, 4, 17, 2, 3, 17, 2, 3, 2, 2, 3, 3, 17, 4, 3, 4, 0, 0, 16, 3, 16, 0, 2, 16, 0, 0, 0, 0, 0, 0, 16, 3, 2, 3, 0, 0, 16, 3, 16, 1, 2, 16, 1, 0, 1, 1, 2, 0, 16, 3, 2, 3, 0, 0, 16, 3, 16, 2, 2, 16, 2, 0, 2, 2, 3, 0, 16, 3, 2, 3, 0, 0, 16, 3, 16, 2, 2, 16, 2, 3, 2, 2, 3, 3, 16, 3, 2, 3, 0, 0, 15, 2, 15, 0, 1, 15, 0, 0, 0, 0, 0, 0, 15, 2, 1, 2, 0, 0, 15, 2, 15, 2, 1, 15, 1, 0, 1, 2, 3, 0, 15, 2, 1, 2, 0, 0, 18, 0, 18, 0, 4, 18, 0, 1, 0, 0, 1, 1, 0, 5, 4, 5, 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 4, 1, 0, 4, 0, 0, 1, 1, 2, 0, 0, 4, 0, 0, 0, 0, 4, 0, 4, 1, 1, 4, 1, 0, 1, 1, 2, 0, 0, 4, 1, 2, 0, 0, 18, 0, 18, 1, 3, 18, 1, 0, 1, 1, 2, 0, 0, 4, 3, 4, 0, 0, 4, 0, 4, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 4, 1, 2, 0, 0, 4, 2, 4, 0, 1, 4, 0, 0, 0, 0, 0, 0, 2, 4, 1, 2, 0, 0, 4, 2, 4, 2, 1, 4, 1, 0, 2, 2, 3, 0, 2, 4, 1, 2, 0, 0, 4, 0, 4, 0, 1, 4, 0, 1, 0, 0, 1, 1, 0, 4, 1, 2, 0, 0, 4, 0, 4, 2, 1, 4, 1, 3, 2, 2, 3, 3, 0, 4, 1, 2, 0, 0, 4, 0, 4, 2, 1, 4, 1, 0, 2, 2, 3, 0, 0, 4, 1, 2, 0, 0, 4, 0, 4, 2, 0, 4, 0, 0, 2, 2, 3, 0, 0, 4, 0, 0, 0, 0, 4, 1, 4, 2, 0, 4, 0, 0, 2, 2, 3, 0, 1, 4, 0, 1, 0, 0, 4, 1, 4, 2, 0, 4, 0, 3, 2, 2, 3, 3, 1, 4, 0, 1, 0, 0, 18, 4, 18, 2, 3, 18, 2, 3, 2, 2, 3, 3, 18, 4, 3, 4, 0, 0, 18, 4, 18, 2, 3, 18, 2, 0, 2, 2, 3, 0, 18, 4, 3, 4, 0, 0, 4, 0, 4, 2, 0, 4, 0, 3, 2, 2, 3, 3, 0, 4, 0, 0, 0, 0, 18, 0, 18, 2, 3, 18, 2, 3, 2, 2, 3, 3, 0, 4, 3, 4, 0, 0, 18, 0, 18, 2, 3, 18, 2, 0, 2, 2, 3, 0, 0, 4, 3, 4, 0, 0, 18, 0, 18, 0, 3, 18, 0, 0, 0, 0, 0, 0, 0, 4, 3, 4, 0, 0, 18, 4, 18, 0, 3, 18, 0, 0, 0, 0, 0, 0, 18, 4, 3, 4, 0, 0, 18, 4, 18, 0, 3, 18, 0, 1, 0, 0, 1, 1, 18, 4, 3, 4, 0, 0, 17, 3, 17, 0, 2, 17, 0, 0, 0, 0, 0, 0, 17, 3, 2, 3, 0, 0, 17, 3, 17, 1, 2, 17, 1, 0, 1, 1, 2, 0, 17, 3, 2, 3, 0, 0, 17, 3, 17, 2, 2, 17, 2, 0, 2, 2, 3, 0, 17, 3, 2, 3, 0, 0, 17, 3, 17, 2, 2, 17, 2, 3, 2, 2, 3, 3, 17, 3, 2, 3, 0, 0, 16, 2, 16, 0, 1, 16, 0, 0, 0, 0, 0, 0, 16, 2, 1, 2, 0, 0, 16, 2, 16, 2, 1, 16, 1, 0, 1, 2, 3, 0, 16, 2, 1, 2, 0, 0, 18, 0, 18, 0, 3, 18, 0, 1, 0, 0, 1, 1, 0, 4, 3, 4, 0, 0, 3, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 3, 1, 0, 3, 0, 0, 1, 1, 2, 0, 0, 3, 0, 0, 0, 0, 3, 0, 3, 1, 1, 3, 1, 0, 1, 1, 2, 0, 0, 3, 1, 2, 0, 0, 18, 0, 18, 1, 2, 18, 1, 0, 1, 1, 2, 0, 0, 3, 2, 3, 0, 0, 3, 0, 3, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0, 3, 2, 3, 0, 1, 3, 0, 0, 0, 0, 0, 0, 2, 3, 1, 2, 0, 0, 3, 2, 3, 2, 1, 3, 1, 0, 2, 2, 3, 0, 2, 3, 1, 2, 0, 0, 3, 0, 3, 0, 1, 3, 0, 1, 0, 0, 1, 1, 0, 3, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 3, 2, 2, 3, 3, 0, 3, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 0, 2, 2, 3, 0, 0, 3, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 2, 2, 3, 0, 0, 3, 0, 0, 0, 0, 3, 1, 3, 2, 0, 3, 0, 0, 2, 2, 3, 0, 1, 3, 0, 1, 0, 0, 3, 1, 3, 2, 0, 3, 0, 3, 2, 2, 3, 3, 1, 3, 0, 1, 0, 0, 18, 3, 18, 2, 2, 18, 2, 3, 2, 2, 3, 3, 18, 3, 2, 3, 0, 0, 18, 3, 18, 2, 2, 18, 2, 0, 2, 2, 3, 0, 18, 3, 2, 3, 0, 0, 3, 0, 3, 2, 0, 3, 0, 3, 2, 2, 3, 3, 0, 3, 0, 0, 0, 0, 18, 0, 18, 2, 2, 18, 2, 3, 2, 2, 3, 3, 0, 3, 2, 3, 0, 0, 18, 0, 18, 2, 2, 18, 2, 0, 2, 2, 3, 0, 0, 3, 2, 3, 0, 0, 18, 0, 18, 0, 2, 18, 0, 0, 0, 0, 0, 0, 0, 3, 2, 3, 0, 0, 18, 3, 18, 0, 2, 18, 0, 0, 0, 0, 0, 0, 18, 3, 2, 3, 0, 0, 18, 3, 18, 0, 2, 18, 0, 1, 0, 0, 1, 1, 18, 3, 2, 3, 0, 0, 18, 0, 18, 0, 2, 18, 0, 1, 0, 0, 1, 1, 0, 3, 2, 3, 0, 0, 18, 18, 18, 0, 17, 18, 0, 0, 0, 0, 0, 0, 18, 18, 17, 18, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 0, 0, 0, 18, 1, 2, 0, 0, 18, 0, 18, 0, 1, 18, 0, 1, 0, 0, 1, 1, 0, 18, 1, 2, 0, 0, 18, 0, 18, 0, 0, 18, 0, 1, 0, 0, 1, 1, 0, 18, 0, 0, 0, 0, 18, 0, 18, 0, 17, 18, 0, 1, 0, 0, 1, 1, 0, 18, 17, 18, 0, 0, 18, 17, 18, 0, 16, 18, 0, 1, 0, 0, 1, 1, 17, 18, 16, 17, 0, 0, 17, 16, 17, 0, 15, 17, 0, 0, 0, 0, 0, 0, 16, 17, 15, 16, 0, 0, 17, 16, 17, 1, 15, 17, 1, 0, 1, 1, 2, 0, 16, 17, 15, 16, 0, 0, 17, 16, 17, 2, 15, 17, 2, 0, 2, 2, 3, 0, 16, 17, 15, 16, 0, 0, 17, 16, 17, 2, 15, 17, 2, 3, 2, 2, 3, 3, 16, 17, 15, 16, 0, 0, 16, 15, 16, 0, 14, 16, 0, 0, 0, 0, 0, 0, 15, 16, 14, 15, 0, 0, 16, 15, 16, 1, 14, 16, 1, 0, 1, 1, 2, 0, 15, 16, 14, 15, 0, 0, 16, 15, 16, 2, 14, 16, 2, 0, 2, 2, 3, 0, 15, 16, 14, 15, 0, 0, 16, 15, 16, 2, 14, 16, 2, 3, 2, 2, 3, 3, 15, 16, 14, 15, 0, 0, 15, 14, 15, 0, 13, 15, 0, 0, 0, 0, 0, 0, 14, 15, 13, 14, 0, 0, 15, 14, 15, 1, 13, 15, 1, 0, 1, 1, 2, 0, 14, 15, 13, 14, 0, 0, 15, 14, 15, 2, 13, 15, 2, 0, 2, 2, 3, 0, 14, 15, 13, 14, 0, 0, 15, 14, 15, 2, 13, 15, 2, 3, 2, 2, 3, 3, 14, 15, 13, 14, 0, 0, 14, 13, 14, 0, 12, 14, 0, 0, 0, 0, 0, 0, 13, 14, 12, 13, 0, 0, 14, 13, 14, 1, 12, 14, 1, 0, 1, 1, 2, 0, 13, 14, 12, 13, 0, 0, 14, 13, 14, 2, 12, 14, 2, 0, 2, 2, 3, 0, 13, 14, 12, 13, 0, 0, 14, 13, 14, 2, 12, 14, 2, 3, 2, 2, 3, 3, 13, 14, 12, 13, 0, 0, 13, 12, 13, 0, 11, 13, 0, 0, 0, 0, 0, 0, 12, 13, 11, 12, 0, 0, 13, 12, 13, 1, 11, 13, 1, 0, 1, 1, 2, 0, 12, 13, 11, 12, 0, 0, 13, 12, 13, 2, 11, 13, 2, 0, 2, 2, 3, 0, 12, 13, 11, 12, 0, 0, 13, 12, 13, 2, 11, 13, 2, 3, 2, 2, 3, 3, 12, 13, 11, 12, 0, 0, 12, 11, 12, 0, 10, 12, 0, 0, 0, 0, 0, 0, 11, 12, 10, 11, 0, 0, 12, 11, 12, 1, 10, 12, 1, 0, 1, 1, 2, 0, 11, 12, 10, 11, 0, 0, 12, 11, 12, 2, 10, 12, 2, 0, 2, 2, 3, 0, 11, 12, 10, 11, 0, 0, 12, 11, 12, 2, 10, 12, 2, 3, 2, 2, 3, 3, 11, 12, 10, 11, 0, 0, 11, 10, 11, 0, 9, 11, 0, 0, 0, 0, 0, 0, 10, 11, 9, 10, 0, 0, 11, 10, 11, 1, 9, 11, 1, 0, 1, 1, 2, 0, 10, 11, 9, 10, 0, 0, 11, 10, 11, 2, 9, 11, 2, 0, 2, 2, 3, 0, 10, 11, 9, 10, 0, 0, 11, 10, 11, 2, 9, 11, 2, 3, 2, 2, 3, 3, 10, 11, 9, 10, 0, 0, 10, 9, 10, 0, 8, 10, 0, 0, 0, 0, 0, 0, 9, 10, 8, 9, 0, 0, 10, 9, 10, 1, 8, 10, 1, 0, 1, 1, 2, 0, 9, 10, 8, 9, 0, 0, 10, 9, 10, 2, 8, 10, 2, 0, 2, 2, 3, 0, 9, 10, 8, 9, 0, 0, 10, 9, 10, 2, 8, 10, 2, 3, 2, 2, 3, 3, 9, 10, 8, 9, 0, 0, 9, 8, 9, 0, 7, 9, 0, 0, 0, 0, 0, 0, 8, 9, 7, 8, 0, 0, 9, 8, 9, 1, 7, 9, 1, 0, 1, 1, 2, 0, 8, 9, 7, 8, 0, 0, 9, 8, 9, 2, 7, 9, 2, 0, 2, 2, 3, 0, 8, 9, 7, 8, 0, 0, 9, 8, 9, 2, 7, 9, 2, 3, 2, 2, 3, 3, 8, 9, 7, 8, 0, 0, 8, 7, 8, 0, 6, 8, 0, 0, 0, 0, 0, 0, 7, 8, 6, 7, 0, 0, 8, 7, 8, 1, 6, 8, 1, 0, 1, 1, 2, 0, 7, 8, 6, 7, 0, 0, 8, 7, 8, 2, 6, 8, 2, 0, 2, 2, 3, 0, 7, 8, 6, 7, 0, 0, 8, 7, 8, 2, 6, 8, 2, 3, 2, 2, 3, 3, 7, 8, 6, 7, 0, 0, 7, 6, 7, 0, 5, 7, 0, 0, 0, 0, 0, 0, 6, 7, 5, 6, 0, 0, 7, 6, 7, 1, 5, 7, 1, 0, 1, 1, 2, 0, 6, 7, 5, 6, 0, 0, 7, 6, 7, 2, 5, 7, 2, 0, 2, 2, 3, 0, 6, 7, 5, 6, 0, 0, 7, 6, 7, 2, 5, 7, 2, 3, 2, 2, 3, 3, 6, 7, 5, 6, 0, 0, 6, 5, 6, 0, 4, 6, 0, 0, 0, 0, 0, 0, 5, 6, 4, 5, 0, 0, 6, 5, 6, 1, 4, 6, 1, 0, 1, 1, 2, 0, 5, 6, 4, 5, 0, 0, 6, 5, 6, 2, 4, 6, 2, 0, 2, 2, 3, 0, 5, 6, 4, 5, 0, 0, 6, 5, 6, 2, 4, 6, 2, 3, 2, 2, 3, 3, 5, 6, 4, 5, 0, 0, 5, 4, 5, 0, 3, 5, 0, 0, 0, 0, 0, 0, 4, 5, 3, 4, 0, 0, 5, 4, 5, 1, 3, 5, 1, 0, 1, 1, 2, 0, 4, 5, 3, 4, 0, 0, 5, 4, 5, 2, 3, 5, 2, 0, 2, 2, 3, 0, 4, 5, 3, 4, 0, 0, 5, 4, 5, 2, 3, 5, 2, 3, 2, 2, 3, 3, 4, 5, 3, 4, 0, 0, 4, 3, 4, 0, 2, 4, 0, 0, 0, 0, 0, 0, 3, 4, 2, 3, 0, 0, 4, 3, 4, 1, 2, 4, 1, 0, 1, 1, 2, 0, 3, 4, 2, 3, 0, 0, 4, 3, 4, 2, 2, 4, 2, 0, 2, 2, 3, 0, 3, 4, 2, 3, 0, 0, 4, 3, 4, 2, 2, 4, 2, 3, 2, 2, 3, 3, 3, 4, 2, 3, 0, 0, 18, 0, 18, 0, 17, 18, 0, 0, 0, 0, 0, 0, 0, 18, 17, 18, 0, 0, 18, 17, 18, 0, 16, 18, 0, 0, 0, 0, 0, 0, 17, 18, 16, 17, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 1, 1, 2, 0, 1, 0, 0, 1, 0, 0, 2, 0, 2, 1, 1, 2, 1, 0, 1, 1, 2, 0, 2, 0, 1, 2, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 0, 18, 0, 1, 2, 0, 0, 18, 0, 18, 1, 0, 18, 0, 0, 1, 1, 2, 0, 1, 0, 0, 1, 0, 0, 18, 0, 18, 1, 1, 18, 1, 0, 1, 1, 2, 0, 2, 0, 1, 2, 0, 0, 18, 0, 18, 1, 17, 18, 1, 0, 1, 1, 2, 0, 18, 0, 17, 18, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 0, 2, 0, 1, 2, 0, 0, 0, 0, 0, 0, 2, 0, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 0, 1, 2, 3, 0, 2, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 1, 2, 3, 0, 1, 0, 0, 1, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 1, 2, 3, 3, 1, 0, 0, 1, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 1, 2, 3, 3, 18, 0, 1, 2, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 1, 2, 3, 0, 18, 0, 1, 2, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 1, 1, 18, 0, 1, 2, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 0, 0, 18, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 3, 1, 0, 0, 0, 0, 0, 18, 0, 18, 2, 0, 18, 0, 0, 2, 2, 3, 3, 1, 0, 0, 1, 0, 0, 18, 0, 18, 2, 17, 18, 2, 0, 2, 2, 3, 3, 18, 0, 17, 18, 0, 0, 18, 0, 18, 2, 0, 18, 0, 0, 2, 2, 3, 0, 1, 0, 0, 1, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 2, 2, 3, 0, 2, 0, 1, 2, 0, 0, 18, 0, 18, 2, 17, 18, 2, 0, 2, 2, 3, 0, 18, 0, 17, 18, 0, 0, 18, 0, 18, 0, 0, 18, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 0, 0, 2, 0, 1, 2, 0, 0, 18, 0, 18, 0, 0, 18, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 18, 0, 18, 0, 17, 18, 0, 0, 0, 0, 1, 1, 18, 0, 17, 18, 0, 0, 18, 0, 18, 0, 17, 18, 0, 0, 0, 0, 0, 0, 18, 0, 17, 18, 0, 0, 3, 1, 3, 2, 0, 3, 0, 0, 0, 2, 3, 0, 3, 1, 0, 1, 0, 0, 3, 1, 3, 2, 0, 3, 0, 1, 0, 2, 3, 3, 3, 1, 0, 1, 0, 0, 18, 3, 18, 2, 2, 18, 2, 3, 2, 2, 3, 3, 3, 18, 2, 3, 0, 0, 18, 3, 18, 2, 2, 18, 2, 0, 2, 2, 3, 0, 3, 18, 2, 3, 0, 0, 18, 3, 18, 0, 2, 18, 0, 0, 0, 0, 0, 0, 3, 18, 2, 3, 0, 0, 18, 3, 18, 0, 2, 18, 0, 1, 0, 0, 1, 1, 3, 18, 2, 3, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 2, 0, 0, 0, 1, 2, 0, 2, 0, 0, 0, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 0, 2, 0, 0, 0, 0, 0, 3, 1, 3, 2, 0, 3, 0, 0, 0, 2, 3, 0, 2, 1, 0, 1, 0, 0, 3, 0, 3, 0, 1, 3, 0, 0, 0, 0, 1, 1, 3, 0, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 0, 1, 2, 3, 3, 3, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 3, 3, 0, 0, 0, 0, 0, 18, 0, 18, 2, 2, 18, 2, 0, 2, 2, 3, 3, 3, 0, 2, 3, 0, 0, 17, 3, 17, 2, 2, 17, 2, 3, 2, 2, 3, 3, 3, 17, 2, 3, 0, 0, 18, 0, 18, 0, 2, 18, 0, 0, 0, 0, 1, 1, 3, 0, 2, 3, 0, 0, 4, 1, 4, 2, 0, 4, 0, 0, 0, 2, 3, 0, 4, 1, 0, 1, 0, 0, 4, 1, 4, 2, 0, 4, 0, 1, 0, 2, 3, 3, 4, 1, 0, 1, 0, 0, 18, 4, 18, 2, 3, 18, 2, 3, 2, 2, 3, 3, 4, 18, 3, 4, 0, 0, 18, 4, 18, 2, 3, 18, 2, 0, 2, 2, 3, 0, 4, 18, 3, 4, 0, 0, 18, 4, 18, 0, 3, 18, 0, 0, 0, 0, 0, 0, 4, 18, 3, 4, 0, 0, 18, 4, 18, 0, 3, 18, 0, 1, 0, 0, 1, 1, 4, 18, 3, 4, 0, 0, 17, 3, 17, 0, 2, 17, 0, 0, 0, 0, 0, 0, 3, 17, 2, 3, 0, 0, 17, 3, 17, 1, 2, 17, 1, 0, 1, 1, 2, 0, 3, 17, 2, 3, 0, 0, 17, 3, 17, 2, 2, 17, 2, 0, 2, 2, 3, 0, 3, 17, 2, 3, 0, 0, 3, 0, 3, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 3, 1, 0, 3, 0, 0, 0, 1, 2, 0, 3, 0, 0, 0, 0, 0, 3, 0, 3, 1, 1, 3, 1, 0, 1, 1, 2, 0, 3, 0, 1, 2, 0, 0, 18, 0, 18, 1, 2, 18, 1, 0, 1, 1, 2, 0, 3, 0, 2, 3, 0, 0, 3, 0, 3, 0, 1, 3, 0, 0, 0, 0, 0, 0, 3, 0, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 0, 1, 2, 3, 0, 3, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 0, 3, 0, 0, 0, 0, 0, 18, 0, 18, 2, 2, 18, 2, 0, 2, 2, 3, 0, 3, 0, 2, 3, 0, 0, 18, 0, 18, 0, 2, 18, 0, 0, 0, 0, 0, 0, 3, 0, 2, 3, 0, 0, 4, 0, 4, 0, 1, 4, 0, 0, 0, 0, 1, 1, 4, 0, 1, 2, 0, 0, 4, 0, 4, 2, 1, 4, 1, 0, 1, 2, 3, 3, 4, 0, 1, 2, 0, 0, 4, 0, 4, 2, 0, 4, 0, 0, 0, 2, 3, 3, 4, 0, 0, 0, 0, 0, 18, 0, 18, 2, 3, 18, 2, 0, 2, 2, 3, 3, 4, 0, 3, 4, 0, 0, 17, 4, 17, 2, 3, 17, 2, 3, 2, 2, 3, 3, 4, 17, 3, 4, 0, 0, 18, 0, 18, 0, 3, 18, 0, 0, 0, 0, 1, 1, 4, 0, 3, 4, 0, 0, 5, 1, 5, 2, 0, 5, 0, 0, 0, 2, 3, 0, 5, 1, 0, 1, 0, 0, 5, 1, 5, 2, 0, 5, 0, 1, 0, 2, 3, 3, 5, 1, 0, 1, 0, 0, 18, 5, 18, 2, 4, 18, 2, 3, 2, 2, 3, 3, 5, 18, 4, 5, 0, 0, 18, 5, 18, 2, 4, 18, 2, 0, 2, 2, 3, 0, 5, 18, 4, 5, 0, 0, 18, 5, 18, 0, 4, 18, 0, 0, 0, 0, 0, 0, 5, 18, 4, 5, 0, 0, 18, 5, 18, 0, 4, 18, 0, 1, 0, 0, 1, 1, 5, 18, 4, 5, 0, 0, 17, 4, 17, 0, 3, 17, 0, 0, 0, 0, 0, 0, 4, 17, 3, 4, 0, 0, 17, 4, 17, 1, 3, 17, 1, 0, 1, 1, 2, 0, 4, 17, 3, 4, 0, 0, 17, 4, 17, 2, 3, 17, 2, 0, 2, 2, 3, 0, 4, 17, 3, 4, 0, 0, 16, 3, 16, 0, 2, 16, 0, 0, 0, 0, 0, 0, 3, 16, 2, 3, 0, 0, 16, 3, 16, 1, 2, 16, 1, 0, 1, 1, 2, 0, 3, 16, 2, 3, 0, 0, 16, 3, 16, 2, 2, 16, 2, 0, 2, 2, 3, 0, 3, 16, 2, 3, 0, 0, 16, 3, 16, 2, 2, 16, 2, 3, 2, 2, 3, 3, 3, 16, 2, 3, 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 4, 1, 0, 4, 0, 0, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 4, 0, 4, 1, 1, 4, 1, 0, 1, 1, 2, 0, 4, 0, 1, 2, 0, 0, 18, 0, 18, 1, 3, 18, 1, 0, 1, 1, 2, 0, 4, 0, 3, 4, 0, 0, 4, 0, 4, 0, 1, 4, 0, 0, 0, 0, 0, 0, 4, 0, 1, 2, 0, 0, 4, 0, 4, 2, 1, 4, 1, 0, 1, 2, 3, 0, 4, 0, 1, 2, 0, 0, 4, 0, 4, 2, 0, 4, 0, 0, 0, 2, 3, 0, 4, 0, 0, 0, 0, 0, 18, 0, 18, 2, 3, 18, 2, 0, 2, 2, 3, 0, 4, 0, 3, 4, 0, 0, 18, 0, 18, 0, 3, 18, 0, 0, 0, 0, 0, 0, 4, 0, 3, 4, 0, 0, 5, 0, 5, 0, 1, 5, 0, 0, 0, 0, 1, 1, 5, 0, 1, 2, 0, 0, 5, 0, 5, 2, 1, 5, 1, 0, 1, 2, 3, 3, 5, 0, 1, 2, 0, 0, 5, 0, 5, 2, 0, 5, 0, 0, 0, 2, 3, 3, 5, 0, 0, 0, 0, 0, 18, 0, 18, 2, 4, 18, 2, 0, 2, 2, 3, 3, 5, 0, 4, 5, 0, 0, 17, 5, 17, 2, 4, 17, 2, 3, 2, 2, 3, 3, 5, 17, 4, 5, 0, 0, 18, 0, 18, 0, 4, 18, 0, 0, 0, 0, 1, 1, 5, 0, 4, 5, 0, 0, 6, 1, 6, 2, 0, 6, 0, 0, 0, 2, 3, 0, 6, 1, 0, 1, 0, 0, 6, 1, 6, 2, 0, 6, 0, 1, 0, 2, 3, 3, 6, 1, 0, 1, 0, 0, 18, 6, 18, 2, 5, 18, 2, 3, 2, 2, 3, 3, 6, 18, 5, 6, 0, 0, 18, 6, 18, 2, 5, 18, 2, 0, 2, 2, 3, 0, 6, 18, 5, 6, 0, 0, 18, 6, 18, 0, 5, 18, 0, 0, 0, 0, 0, 0, 6, 18, 5, 6, 0, 0, 18, 6, 18, 0, 5, 18, 0, 1, 0, 0, 1, 1, 6, 18, 5, 6, 0, 0, 17, 5, 17, 0, 4, 17, 0, 0, 0, 0, 0, 0, 5, 17, 4, 5, 0, 0, 17, 5, 17, 1, 4, 17, 1, 0, 1, 1, 2, 0, 5, 17, 4, 5, 0, 0, 17, 5, 17, 2, 4, 17, 2, 0, 2, 2, 3, 0, 5, 17, 4, 5, 0, 0, 16, 4, 16, 0, 3, 16, 0, 0, 0, 0, 0, 0, 4, 16, 3, 4, 0, 0, 16, 4, 16, 1, 3, 16, 1, 0, 1, 1, 2, 0, 4, 16, 3, 4, 0, 0, 16, 4, 16, 2, 3, 16, 2, 0, 2, 2, 3, 0, 4, 16, 3, 4, 0, 0, 16, 4, 16, 2, 3, 16, 2, 3, 2, 2, 3, 3, 4, 16, 3, 4, 0, 0, 15, 3, 15, 0, 2, 15, 0, 0, 0, 0, 0, 0, 3, 15, 2, 3, 0, 0, 15, 3, 15, 1, 2, 15, 1, 0, 1, 1, 2, 0, 3, 15, 2, 3, 0, 0, 15, 3, 15, 2, 2, 15, 2, 0, 2, 2, 3, 0, 3, 15, 2, 3, 0, 0, 15, 3, 15, 2, 2, 15, 2, 3, 2, 2, 3, 3, 3, 15, 2, 3, 0, 0, 5, 0, 5, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 5, 1, 0, 5, 0, 0, 0, 1, 2, 0, 5, 0, 0, 0, 0, 0, 5, 0, 5, 1, 1, 5, 1, 0, 1, 1, 2, 0, 5, 0, 1, 2, 0, 0, 18, 0, 18, 1, 4, 18, 1, 0, 1, 1, 2, 0, 5, 0, 4, 5, 0, 0, 5, 0, 5, 0, 1, 5, 0, 0, 0, 0, 0, 0, 5, 0, 1, 2, 0, 0, 5, 0, 5, 2, 1, 5, 1, 0, 1, 2, 3, 0, 5, 0, 1, 2, 0, 0, 5, 0, 5, 2, 0, 5, 0, 0, 0, 2, 3, 0, 5, 0, 0, 0, 0, 0, 18, 0, 18, 2, 4, 18, 2, 0, 2, 2, 3, 0, 5, 0, 4, 5, 0, 0, 18, 0, 18, 0, 4, 18, 0, 0, 0, 0, 0, 0, 5, 0, 4, 5, 0, 0, 6, 0, 6, 0, 1, 6, 0, 0, 0, 0, 1, 1, 6, 0, 1, 2, 0, 0, 6, 0, 6, 2, 1, 6, 1, 0, 1, 2, 3, 3, 6, 0, 1, 2, 0, 0, 6, 0, 6, 2, 0, 6, 0, 0, 0, 2, 3, 3, 6, 0, 0, 0, 0, 0, 18, 0, 18, 2, 5, 18, 2, 0, 2, 2, 3, 3, 6, 0, 5, 6, 0, 0, 17, 6, 17, 2, 5, 17, 2, 3, 2, 2, 3, 3, 6, 17, 5, 6, 0, 0, 18, 0, 18, 0, 5, 18, 0, 0, 0, 0, 1, 1, 6, 0, 5, 6, 0, 0, 7, 1, 7, 2, 0, 7, 0, 0, 0, 2, 3, 0, 7, 1, 0, 1, 0, 0, 7, 1, 7, 2, 0, 7, 0, 1, 0, 2, 3, 3, 7, 1, 0, 1, 0, 0, 18, 7, 18, 2, 6, 18, 2, 3, 2, 2, 3, 3, 7, 18, 6, 7, 0, 0, 18, 7, 18, 2, 6, 18, 2, 0, 2, 2, 3, 0, 7, 18, 6, 7, 0, 0, 18, 7, 18, 0, 6, 18, 0, 0, 0, 0, 0, 0, 7, 18, 6, 7, 0, 0, 18, 7, 18, 0, 6, 18, 0, 1, 0, 0, 1, 1, 7, 18, 6, 7, 0, 0, 17, 6, 17, 0, 5, 17, 0, 0, 0, 0, 0, 0, 6, 17, 5, 6, 0, 0, 17, 6, 17, 1, 5, 17, 1, 0, 1, 1, 2, 0, 6, 17, 5, 6, 0, 0, 17, 6, 17, 2, 5, 17, 2, 0, 2, 2, 3, 0, 6, 17, 5, 6, 0, 0, 16, 5, 16, 0, 4, 16, 0, 0, 0, 0, 0, 0, 5, 16, 4, 5, 0, 0, 16, 5, 16, 1, 4, 16, 1, 0, 1, 1, 2, 0, 5, 16, 4, 5, 0, 0, 16, 5, 16, 2, 4, 16, 2, 0, 2, 2, 3, 0, 5, 16, 4, 5, 0, 0, 16, 5, 16, 2, 4, 16, 2, 3, 2, 2, 3, 3, 5, 16, 4, 5, 0, 0, 15, 4, 15, 0, 3, 15, 0, 0, 0, 0, 0, 0, 4, 15, 3, 4, 0, 0, 15, 4, 15, 1, 3, 15, 1, 0, 1, 1, 2, 0, 4, 15, 3, 4, 0, 0, 15, 4, 15, 2, 3, 15, 2, 0, 2, 2, 3, 0, 4, 15, 3, 4, 0, 0, 15, 4, 15, 2, 3, 15, 2, 3, 2, 2, 3, 3, 4, 15, 3, 4, 0, 0, 14, 3, 14, 0, 2, 14, 0, 0, 0, 0, 0, 0, 3, 14, 2, 3, 0, 0, 14, 3, 14, 1, 2, 14, 1, 0, 1, 1, 2, 0, 3, 14, 2, 3, 0, 0, 14, 3, 14, 2, 2, 14, 2, 0, 2, 2, 3, 0, 3, 14, 2, 3, 0, 0, 14, 3, 14, 2, 2, 14, 2, 3, 2, 2, 3, 3, 3, 14, 2, 3, 0, 0, 6, 0, 6, 0, 0, 6, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 6, 1, 0, 6, 0, 0, 0, 1, 2, 0, 6, 0, 0, 0, 0, 0, 6, 0, 6, 1, 1, 6, 1, 0, 1, 1, 2, 0, 6, 0, 1, 2, 0, 0, 18, 0, 18, 1, 5, 18, 1, 0, 1, 1, 2, 0, 6, 0, 5, 6, 0, 0, 6, 0, 6, 0, 1, 6, 0, 0, 0, 0, 0, 0, 6, 0, 1, 2, 0, 0, 6, 0, 6, 2, 1, 6, 1, 0, 1, 2, 3, 0, 6, 0, 1, 2, 0, 0, 6, 0, 6, 2, 0, 6, 0, 0, 0, 2, 3, 0, 6, 0, 0, 0, 0, 0, 18, 0, 18, 2, 5, 18, 2, 0, 2, 2, 3, 0, 6, 0, 5, 6, 0, 0, 18, 0, 18, 0, 5, 18, 0, 0, 0, 0, 0, 0, 6, 0, 5, 6, 0, 0, 7, 0, 7, 0, 1, 7, 0, 0, 0, 0, 1, 1, 7, 0, 1, 2, 0, 0, 7, 0, 7, 2, 1, 7, 1, 0, 1, 2, 3, 3, 7, 0, 1, 2, 0, 0, 7, 0, 7, 2, 0, 7, 0, 0, 0, 2, 3, 3, 7, 0, 0, 0, 0, 0, 18, 0, 18, 2, 6, 18, 2, 0, 2, 2, 3, 3, 7, 0, 6, 7, 0, 0, 17, 7, 17, 2, 6, 17, 2, 3, 2, 2, 3, 3, 7, 17, 6, 7, 0, 0, 18, 0, 18, 0, 6, 18, 0, 0, 0, 0, 1, 1, 7, 0, 6, 7, 0, 0, 8, 1, 8, 2, 0, 8, 0, 0, 0, 2, 3, 0, 8, 1, 0, 1, 0, 0, 8, 1, 8, 2, 0, 8, 0, 1, 0, 2, 3, 3, 8, 1, 0, 1, 0, 0, 18, 8, 18, 2, 7, 18, 2, 3, 2, 2, 3, 3, 8, 18, 7, 8, 0, 0, 18, 8, 18, 2, 7, 18, 2, 0, 2, 2, 3, 0, 8, 18, 7, 8, 0, 0, 18, 8, 18, 0, 7, 18, 0, 0, 0, 0, 0, 0, 8, 18, 7, 8, 0, 0, 18, 8, 18, 0, 7, 18, 0, 1, 0, 0, 1, 1, 8, 18, 7, 8, 0, 0, 17, 7, 17, 0, 6, 17, 0, 0, 0, 0, 0, 0, 7, 17, 6, 7, 0, 0, 17, 7, 17, 1, 6, 17, 1, 0, 1, 1, 2, 0, 7, 17, 6, 7, 0, 0, 17, 7, 17, 2, 6, 17, 2, 0, 2, 2, 3, 0, 7, 17, 6, 7, 0, 0, 16, 6, 16, 0, 5, 16, 0, 0, 0, 0, 0, 0, 6, 16, 5, 6, 0, 0, 16, 6, 16, 1, 5, 16, 1, 0, 1, 1, 2, 0, 6, 16, 5, 6, 0, 0, 16, 6, 16, 2, 5, 16, 2, 0, 2, 2, 3, 0, 6, 16, 5, 6, 0, 0, 16, 6, 16, 2, 5, 16, 2, 3, 2, 2, 3, 3, 6, 16, 5, 6, 0, 0, 15, 5, 15, 0, 4, 15, 0, 0, 0, 0, 0, 0, 5, 15, 4, 5, 0, 0, 15, 5, 15, 1, 4, 15, 1, 0, 1, 1, 2, 0, 5, 15, 4, 5, 0, 0, 15, 5, 15, 2, 4, 15, 2, 0, 2, 2, 3, 0, 5, 15, 4, 5, 0, 0, 15, 5, 15, 2, 4, 15, 2, 3, 2, 2, 3, 3, 5, 15, 4, 5, 0, 0, 14, 4, 14, 0, 3, 14, 0, 0, 0, 0, 0, 0, 4, 14, 3, 4, 0, 0, 14, 4, 14, 1, 3, 14, 1, 0, 1, 1, 2, 0, 4, 14, 3, 4, 0, 0, 14, 4, 14, 2, 3, 14, 2, 0, 2, 2, 3, 0, 4, 14, 3, 4, 0, 0, 14, 4, 14, 2, 3, 14, 2, 3, 2, 2, 3, 3, 4, 14, 3, 4, 0, 0, 13, 3, 13, 0, 2, 13, 0, 0, 0, 0, 0, 0, 3, 13, 2, 3, 0, 0, 13, 3, 13, 1, 2, 13, 1, 0, 1, 1, 2, 0, 3, 13, 2, 3, 0, 0, 13, 3, 13, 2, 2, 13, 2, 0, 2, 2, 3, 0, 3, 13, 2, 3, 0, 0, 13, 3, 13, 2, 2, 13, 2, 3, 2, 2, 3, 3, 3, 13, 2, 3, 0, 0, 7, 0, 7, 0, 0, 7, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 7, 1, 0, 7, 0, 0, 0, 1, 2, 0, 7, 0, 0, 0, 0, 0, 7, 0, 7, 1, 1, 7, 1, 0, 1, 1, 2, 0, 7, 0, 1, 2, 0, 0, 18, 0, 18, 1, 6, 18, 1, 0, 1, 1, 2, 0, 7, 0, 6, 7, 0, 0, 7, 0, 7, 0, 1, 7, 0, 0, 0, 0, 0, 0, 7, 0, 1, 2, 0, 0, 7, 0, 7, 2, 1, 7, 1, 0, 1, 2, 3, 0, 7, 0, 1, 2, 0, 0, 7, 0, 7, 2, 0, 7, 0, 0, 0, 2, 3, 0, 7, 0, 0, 0, 0, 0, 18, 0, 18, 2, 6, 18, 2, 0, 2, 2, 3, 0, 7, 0, 6, 7, 0, 0, 18, 0, 18, 0, 6, 18, 0, 0, 0, 0, 0, 0, 7, 0, 6, 7, 0, 0, 8, 0, 8, 0, 1, 8, 0, 0, 0, 0, 1, 1, 8, 0, 1, 2, 0, 0, 8, 0, 8, 2, 1, 8, 1, 0, 1, 2, 3, 3, 8, 0, 1, 2, 0, 0, 8, 0, 8, 2, 0, 8, 0, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, 0, 18, 0, 18, 2, 7, 18, 2, 0, 2, 2, 3, 3, 8, 0, 7, 8, 0, 0, 17, 8, 17, 2, 7, 17, 2, 3, 2, 2, 3, 3, 8, 17, 7, 8, 0, 0, 18, 0, 18, 0, 7, 18, 0, 0, 0, 0, 1, 1, 8, 0, 7, 8, 0, 0, 9, 1, 9, 2, 0, 9, 0, 0, 0, 2, 3, 0, 9, 1, 0, 1, 0, 0, 9, 1, 9, 2, 0, 9, 0, 1, 0, 2, 3, 3, 9, 1, 0, 1, 0, 0, 18, 9, 18, 2, 8, 18, 2, 3, 2, 2, 3, 3, 9, 18, 8, 9, 0, 0, 18, 9, 18, 2, 8, 18, 2, 0, 2, 2, 3, 0, 9, 18, 8, 9, 0, 0, 18, 9, 18, 0, 8, 18, 0, 0, 0, 0, 0, 0, 9, 18, 8, 9, 0, 0, 18, 9, 18, 0, 8, 18, 0, 1, 0, 0, 1, 1, 9, 18, 8, 9, 0, 0, 17, 8, 17, 0, 7, 17, 0, 0, 0, 0, 0, 0, 8, 17, 7, 8, 0, 0, 17, 8, 17, 1, 7, 17, 1, 0, 1, 1, 2, 0, 8, 17, 7, 8, 0, 0, 17, 8, 17, 2, 7, 17, 2, 0, 2, 2, 3, 0, 8, 17, 7, 8, 0, 0, 16, 7, 16, 0, 6, 16, 0, 0, 0, 0, 0, 0, 7, 16, 6, 7, 0, 0, 16, 7, 16, 1, 6, 16, 1, 0, 1, 1, 2, 0, 7, 16, 6, 7, 0, 0, 16, 7, 16, 2, 6, 16, 2, 0, 2, 2, 3, 0, 7, 16, 6, 7, 0, 0, 16, 7, 16, 2, 6, 16, 2, 3, 2, 2, 3, 3, 7, 16, 6, 7, 0, 0, 15, 6, 15, 0, 5, 15, 0, 0, 0, 0, 0, 0, 6, 15, 5, 6, 0, 0, 15, 6, 15, 1, 5, 15, 1, 0, 1, 1, 2, 0, 6, 15, 5, 6, 0, 0, 15, 6, 15, 2, 5, 15, 2, 0, 2, 2, 3, 0, 6, 15, 5, 6, 0, 0, 15, 6, 15, 2, 5, 15, 2, 3, 2, 2, 3, 3, 6, 15, 5, 6, 0, 0, 14, 5, 14, 0, 4, 14, 0, 0, 0, 0, 0, 0, 5, 14, 4, 5, 0, 0, 14, 5, 14, 1, 4, 14, 1, 0, 1, 1, 2, 0, 5, 14, 4, 5, 0, 0, 14, 5, 14, 2, 4, 14, 2, 0, 2, 2, 3, 0, 5, 14, 4, 5, 0, 0, 14, 5, 14, 2, 4, 14, 2, 3, 2, 2, 3, 3, 5, 14, 4, 5, 0, 0, 13, 4, 13, 0, 3, 13, 0, 0, 0, 0, 0, 0, 4, 13, 3, 4, 0, 0, 13, 4, 13, 1, 3, 13, 1, 0, 1, 1, 2, 0, 4, 13, 3, 4, 0, 0, 13, 4, 13, 2, 3, 13, 2, 0, 2, 2, 3, 0, 4, 13, 3, 4, 0, 0, 13, 4, 13, 2, 3, 13, 2, 3, 2, 2, 3, 3, 4, 13, 3, 4, 0, 0, 12, 3, 12, 0, 2, 12, 0, 0, 0, 0, 0, 0, 3, 12, 2, 3, 0, 0, 12, 3, 12, 1, 2, 12, 1, 0, 1, 1, 2, 0, 3, 12, 2, 3, 0, 0, 12, 3, 12, 2, 2, 12, 2, 0, 2, 2, 3, 0, 3, 12, 2, 3, 0, 0, 12, 3, 12, 2, 2, 12, 2, 3, 2, 2, 3, 3, 3, 12, 2, 3, 0, 0, 8, 0, 8, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 8, 0, 8, 1, 0, 8, 0, 0, 0, 1, 2, 0, 8, 0, 0, 0, 0, 0, 8, 0, 8, 1, 1, 8, 1, 0, 1, 1, 2, 0, 8, 0, 1, 2, 0, 0, 18, 0, 18, 1, 7, 18, 1, 0, 1, 1, 2, 0, 8, 0, 7, 8, 0, 0, 8, 0, 8, 0, 1, 8, 0, 0, 0, 0, 0, 0, 8, 0, 1, 2, 0, 0, 8, 0, 8, 2, 1, 8, 1, 0, 1, 2, 3, 0, 8, 0, 1, 2, 0, 0, 8, 0, 8, 2, 0, 8, 0, 0, 0, 2, 3, 0, 8, 0, 0, 0, 0, 0, 18, 0, 18, 2, 7, 18, 2, 0, 2, 2, 3, 0, 8, 0, 7, 8, 0, 0, 18, 0, 18, 0, 7, 18, 0, 0, 0, 0, 0, 0, 8, 0, 7, 8, 0, 0, 9, 0, 9, 0, 1, 9, 0, 0, 0, 0, 1, 1, 9, 0, 1, 2, 0, 0, 9, 0, 9, 2, 1, 9, 1, 0, 1, 2, 3, 3, 9, 0, 1, 2, 0, 0, 9, 0, 9, 2, 0, 9, 0, 0, 0, 2, 3, 3, 9, 0, 0, 0, 0, 0, 18, 0, 18, 2, 8, 18, 2, 0, 2, 2, 3, 3, 9, 0, 8, 9, 0, 0, 17, 9, 17, 2, 8, 17, 2, 3, 2, 2, 3, 3, 9, 17, 8, 9, 0, 0, 18, 0, 18, 0, 8, 18, 0, 0, 0, 0, 1, 1, 9, 0, 8, 9, 0, 0, 10, 1, 10, 2, 0, 10, 0, 0, 0, 2, 3, 0, 10, 1, 0, 1, 0, 0, 10, 1, 10, 2, 0, 10, 0, 1, 0, 2, 3, 3, 10, 1, 0, 1, 0, 0, 18, 10, 18, 2, 9, 18, 2, 3, 2, 2, 3, 3, 10, 18, 9, 10, 0, 0, 18, 10, 18, 2, 9, 18, 2, 0, 2, 2, 3, 0, 10, 18, 9, 10, 0, 0, 18, 10, 18, 0, 9, 18, 0, 0, 0, 0, 0, 0, 10, 18, 9, 10, 0, 0, 18, 10, 18, 0, 9, 18, 0, 1, 0, 0, 1, 1, 10, 18, 9, 10, 0, 0, 17, 9, 17, 0, 8, 17, 0, 0, 0, 0, 0, 0, 9, 17, 8, 9, 0, 0, 17, 9, 17, 1, 8, 17, 1, 0, 1, 1, 2, 0, 9, 17, 8, 9, 0, 0, 17, 9, 17, 2, 8, 17, 2, 0, 2, 2, 3, 0, 9, 17, 8, 9, 0, 0, 16, 8, 16, 0, 7, 16, 0, 0, 0, 0, 0, 0, 8, 16, 7, 8, 0, 0, 16, 8, 16, 1, 7, 16, 1, 0, 1, 1, 2, 0, 8, 16, 7, 8, 0, 0, 16, 8, 16, 2, 7, 16, 2, 0, 2, 2, 3, 0, 8, 16, 7, 8, 0, 0, 16, 8, 16, 2, 7, 16, 2, 3, 2, 2, 3, 3, 8, 16, 7, 8, 0, 0, 15, 7, 15, 0, 6, 15, 0, 0, 0, 0, 0, 0, 7, 15, 6, 7, 0, 0, 15, 7, 15, 1, 6, 15, 1, 0, 1, 1, 2, 0, 7, 15, 6, 7, 0, 0, 15, 7, 15, 2, 6, 15, 2, 0, 2, 2, 3, 0, 7, 15, 6, 7, 0, 0, 15, 7, 15, 2, 6, 15, 2, 3, 2, 2, 3, 3, 7, 15, 6, 7, 0, 0, 14, 6, 14, 0, 5, 14, 0, 0, 0, 0, 0, 0, 6, 14, 5, 6, 0, 0, 14, 6, 14, 1, 5, 14, 1, 0, 1, 1, 2, 0, 6, 14, 5, 6, 0, 0, 14, 6, 14, 2, 5, 14, 2, 0, 2, 2, 3, 0, 6, 14, 5, 6, 0, 0, 14, 6, 14, 2, 5, 14, 2, 3, 2, 2, 3, 3, 6, 14, 5, 6, 0, 0, 13, 5, 13, 0, 4, 13, 0, 0, 0, 0, 0, 0, 5, 13, 4, 5, 0, 0, 13, 5, 13, 1, 4, 13, 1, 0, 1, 1, 2, 0, 5, 13, 4, 5, 0, 0, 13, 5, 13, 2, 4, 13, 2, 0, 2, 2, 3, 0, 5, 13, 4, 5, 0, 0, 13, 5, 13, 2, 4, 13, 2, 3, 2, 2, 3, 3, 5, 13, 4, 5, 0, 0, 12, 4, 12, 0, 3, 12, 0, 0, 0, 0, 0, 0, 4, 12, 3, 4, 0, 0, 12, 4, 12, 1, 3, 12, 1, 0, 1, 1, 2, 0, 4, 12, 3, 4, 0, 0, 12, 4, 12, 2, 3, 12, 2, 0, 2, 2, 3, 0, 4, 12, 3, 4, 0, 0, 12, 4, 12, 2, 3, 12, 2, 3, 2, 2, 3, 3, 4, 12, 3, 4, 0, 0, 11, 3, 11, 0, 2, 11, 0, 0, 0, 0, 0, 0, 3, 11, 2, 3, 0, 0, 11, 3, 11, 1, 2, 11, 1, 0, 1, 1, 2, 0, 3, 11, 2, 3, 0, 0, 11, 3, 11, 2, 2, 11, 2, 0, 2, 2, 3, 0, 3, 11, 2, 3, 0, 0, 11, 3, 11, 2, 2, 11, 2, 3, 2, 2, 3, 3, 3, 11, 2, 3, 0, 0, 9, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 0, 9, 1, 0, 9, 0, 0, 0, 1, 2, 0, 9, 0, 0, 0, 0, 0, 9, 0, 9, 1, 1, 9, 1, 0, 1, 1, 2, 0, 9, 0, 1, 2, 0, 0, 18, 0, 18, 1, 8, 18, 1, 0, 1, 1, 2, 0, 9, 0, 8, 9, 0, 0, 9, 0, 9, 0, 1, 9, 0, 0, 0, 0, 0, 0, 9, 0, 1, 2, 0, 0, 9, 0, 9, 2, 1, 9, 1, 0, 1, 2, 3, 0, 9, 0, 1, 2, 0, 0, 9, 0, 9, 2, 0, 9, 0, 0, 0, 2, 3, 0, 9, 0, 0, 0, 0, 0, 18, 0, 18, 2, 8, 18, 2, 0, 2, 2, 3, 0, 9, 0, 8, 9, 0, 0, 18, 0, 18, 0, 8, 18, 0, 0, 0, 0, 0, 0, 9, 0, 8, 9, 0, 0, 10, 0, 10, 0, 1, 10, 0, 0, 0, 0, 1, 1, 10, 0, 1, 2, 0, 0, 10, 0, 10, 2, 1, 10, 1, 0, 1, 2, 3, 3, 10, 0, 1, 2, 0, 0, 10, 0, 10, 2, 0, 10, 0, 0, 0, 2, 3, 3, 10, 0, 0, 0, 0, 0, 18, 0, 18, 2, 9, 18, 2, 0, 2, 2, 3, 3, 10, 0, 9, 10, 0, 0, 17, 10, 17, 2, 9, 17, 2, 3, 2, 2, 3, 3, 10, 17, 9, 10, 0, 0, 18, 0, 18, 0, 9, 18, 0, 0, 0, 0, 1, 1, 10, 0, 9, 10, 0, 0, 11, 1, 11, 2, 0, 11, 0, 0, 0, 2, 3, 0, 11, 1, 0, 1, 0, 0, 11, 1, 11, 2, 0, 11, 0, 1, 0, 2, 3, 3, 11, 1, 0, 1, 0, 0, 18, 11, 18, 2, 10, 18, 2, 3, 2, 2, 3, 3, 11, 18, 10, 11, 0, 0, 18, 11, 18, 2, 10, 18, 2, 0, 2, 2, 3, 0, 11, 18, 10, 11, 0, 0, 18, 11, 18, 0, 10, 18, 0, 0, 0, 0, 0, 0, 11, 18, 10, 11, 0, 0, 18, 11, 18, 0, 10, 18, 0, 1, 0, 0, 1, 1, 11, 18, 10, 11, 0, 0, 17, 10, 17, 0, 9, 17, 0, 0, 0, 0, 0, 0, 10, 17, 9, 10, 0, 0, 17, 10, 17, 1, 9, 17, 1, 0, 1, 1, 2, 0, 10, 17, 9, 10, 0, 0, 17, 10, 17, 2, 9, 17, 2, 0, 2, 2, 3, 0, 10, 17, 9, 10, 0, 0, 16, 9, 16, 0, 8, 16, 0, 0, 0, 0, 0, 0, 9, 16, 8, 9, 0, 0, 16, 9, 16, 1, 8, 16, 1, 0, 1, 1, 2, 0, 9, 16, 8, 9, 0, 0, 16, 9, 16, 2, 8, 16, 2, 0, 2, 2, 3, 0, 9, 16, 8, 9, 0, 0, 16, 9, 16, 2, 8, 16, 2, 3, 2, 2, 3, 3, 9, 16, 8, 9, 0, 0, 15, 8, 15, 0, 7, 15, 0, 0, 0, 0, 0, 0, 8, 15, 7, 8, 0, 0, 15, 8, 15, 1, 7, 15, 1, 0, 1, 1, 2, 0, 8, 15, 7, 8, 0, 0, 15, 8, 15, 2, 7, 15, 2, 0, 2, 2, 3, 0, 8, 15, 7, 8, 0, 0, 15, 8, 15, 2, 7, 15, 2, 3, 2, 2, 3, 3, 8, 15, 7, 8, 0, 0, 14, 7, 14, 0, 6, 14, 0, 0, 0, 0, 0, 0, 7, 14, 6, 7, 0, 0, 14, 7, 14, 1, 6, 14, 1, 0, 1, 1, 2, 0, 7, 14, 6, 7, 0, 0, 14, 7, 14, 2, 6, 14, 2, 0, 2, 2, 3, 0, 7, 14, 6, 7, 0, 0, 14, 7, 14, 2, 6, 14, 2, 3, 2, 2, 3, 3, 7, 14, 6, 7, 0, 0, 13, 6, 13, 0, 5, 13, 0, 0, 0, 0, 0, 0, 6, 13, 5, 6, 0, 0, 13, 6, 13, 1, 5, 13, 1, 0, 1, 1, 2, 0, 6, 13, 5, 6, 0, 0, 13, 6, 13, 2, 5, 13, 2, 0, 2, 2, 3, 0, 6, 13, 5, 6, 0, 0, 13, 6, 13, 2, 5, 13, 2, 3, 2, 2, 3, 3, 6, 13, 5, 6, 0, 0, 12, 5, 12, 0, 4, 12, 0, 0, 0, 0, 0, 0, 5, 12, 4, 5, 0, 0, 12, 5, 12, 1, 4, 12, 1, 0, 1, 1, 2, 0, 5, 12, 4, 5, 0, 0, 12, 5, 12, 2, 4, 12, 2, 0, 2, 2, 3, 0, 5, 12, 4, 5, 0, 0, 12, 5, 12, 2, 4, 12, 2, 3, 2, 2, 3, 3, 5, 12, 4, 5, 0, 0, 11, 4, 11, 0, 3, 11, 0, 0, 0, 0, 0, 0, 4, 11, 3, 4, 0, 0, 11, 4, 11, 1, 3, 11, 1, 0, 1, 1, 2, 0, 4, 11, 3, 4, 0, 0, 11, 4, 11, 2, 3, 11, 2, 0, 2, 2, 3, 0, 4, 11, 3, 4, 0, 0, 11, 4, 11, 2, 3, 11, 2, 3, 2, 2, 3, 3, 4, 11, 3, 4, 0, 0, 10, 3, 10, 0, 2, 10, 0, 0, 0, 0, 0, 0, 3, 10, 2, 3, 0, 0, 10, 3, 10, 1, 2, 10, 1, 0, 1, 1, 2, 0, 3, 10, 2, 3, 0, 0, 10, 3, 10, 2, 2, 10, 2, 0, 2, 2, 3, 0, 3, 10, 2, 3, 0, 0, 10, 3, 10, 2, 2, 10, 2, 3, 2, 2, 3, 3, 3, 10, 2, 3, 0, 0, 10, 0, 10, 0, 0, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 1, 0, 10, 0, 0, 0, 1, 2, 0, 10, 0, 0, 0, 0, 0, 10, 0, 10, 1, 1, 10, 1, 0, 1, 1, 2, 0, 10, 0, 1, 2, 0, 0, 18, 0, 18, 1, 9, 18, 1, 0, 1, 1, 2, 0, 10, 0, 9, 10, 0, 0, 10, 0, 10, 0, 1, 10, 0, 0, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 10, 0, 10, 2, 1, 10, 1, 0, 1, 2, 3, 0, 10, 0, 1, 2, 0, 0, 10, 0, 10, 2, 0, 10, 0, 0, 0, 2, 3, 0, 10, 0, 0, 0, 0, 0, 18, 0, 18, 2, 9, 18, 2, 0, 2, 2, 3, 0, 10, 0, 9, 10, 0, 0, 18, 0, 18, 0, 9, 18, 0, 0, 0, 0, 0, 0, 10, 0, 9, 10, 0, 0, 11, 0, 11, 0, 1, 11, 0, 0, 0, 0, 1, 1, 11, 0, 1, 2, 0, 0, 11, 0, 11, 2, 1, 11, 1, 0, 1, 2, 3, 3, 11, 0, 1, 2, 0, 0, 11, 0, 11, 2, 0, 11, 0, 0, 0, 2, 3, 3, 11, 0, 0, 0, 0, 0, 18, 0, 18, 2, 10, 18, 2, 0, 2, 2, 3, 3, 11, 0, 10, 11, 0, 0, 17, 11, 17, 2, 10, 17, 2, 3, 2, 2, 3, 3, 11, 17, 10, 11, 0, 0, 18, 0, 18, 0, 10, 18, 0, 0, 0, 0, 1, 1, 11, 0, 10, 11, 0, 0, 12, 1, 12, 2, 0, 12, 0, 0, 0, 2, 3, 0, 12, 1, 0, 1, 0, 0, 12, 1, 12, 2, 0, 12, 0, 1, 0, 2, 3, 3, 12, 1, 0, 1, 0, 0, 18, 12, 18, 2, 11, 18, 2, 3, 2, 2, 3, 3, 12, 18, 11, 12, 0, 0, 18, 12, 18, 2, 11, 18, 2, 0, 2, 2, 3, 0, 12, 18, 11, 12, 0, 0, 18, 12, 18, 0, 11, 18, 0, 0, 0, 0, 0, 0, 12, 18, 11, 12, 0, 0, 18, 12, 18, 0, 11, 18, 0, 1, 0, 0, 1, 1, 12, 18, 11, 12, 0, 0, 17, 11, 17, 0, 10, 17, 0, 0, 0, 0, 0, 0, 11, 17, 10, 11, 0, 0, 17, 11, 17, 1, 10, 17, 1, 0, 1, 1, 2, 0, 11, 17, 10, 11, 0, 0, 17, 11, 17, 2, 10, 17, 2, 0, 2, 2, 3, 0, 11, 17, 10, 11, 0, 0, 16, 10, 16, 0, 9, 16, 0, 0, 0, 0, 0, 0, 10, 16, 9, 10, 0, 0, 16, 10, 16, 1, 9, 16, 1, 0, 1, 1, 2, 0, 10, 16, 9, 10, 0, 0, 16, 10, 16, 2, 9, 16, 2, 0, 2, 2, 3, 0, 10, 16, 9, 10, 0, 0, 16, 10, 16, 2, 9, 16, 2, 3, 2, 2, 3, 3, 10, 16, 9, 10, 0, 0, 15, 9, 15, 0, 8, 15, 0, 0, 0, 0, 0, 0, 9, 15, 8, 9, 0, 0, 15, 9, 15, 1, 8, 15, 1, 0, 1, 1, 2, 0, 9, 15, 8, 9, 0, 0, 15, 9, 15, 2, 8, 15, 2, 0, 2, 2, 3, 0, 9, 15, 8, 9, 0, 0, 15, 9, 15, 2, 8, 15, 2, 3, 2, 2, 3, 3, 9, 15, 8, 9, 0, 0, 14, 8, 14, 0, 7, 14, 0, 0, 0, 0, 0, 0, 8, 14, 7, 8, 0, 0, 14, 8, 14, 1, 7, 14, 1, 0, 1, 1, 2, 0, 8, 14, 7, 8, 0, 0, 14, 8, 14, 2, 7, 14, 2, 0, 2, 2, 3, 0, 8, 14, 7, 8, 0, 0, 14, 8, 14, 2, 7, 14, 2, 3, 2, 2, 3, 3, 8, 14, 7, 8, 0, 0, 13, 7, 13, 0, 6, 13, 0, 0, 0, 0, 0, 0, 7, 13, 6, 7, 0, 0, 13, 7, 13, 1, 6, 13, 1, 0, 1, 1, 2, 0, 7, 13, 6, 7, 0, 0, 13, 7, 13, 2, 6, 13, 2, 0, 2, 2, 3, 0, 7, 13, 6, 7, 0, 0, 13, 7, 13, 2, 6, 13, 2, 3, 2, 2, 3, 3, 7, 13, 6, 7, 0, 0, 12, 6, 12, 0, 5, 12, 0, 0, 0, 0, 0, 0, 6, 12, 5, 6, 0, 0, 12, 6, 12, 1, 5, 12, 1, 0, 1, 1, 2, 0, 6, 12, 5, 6, 0, 0, 12, 6, 12, 2, 5, 12, 2, 0, 2, 2, 3, 0, 6, 12, 5, 6, 0, 0, 12, 6, 12, 2, 5, 12, 2, 3, 2, 2, 3, 3, 6, 12, 5, 6, 0, 0, 11, 5, 11, 0, 4, 11, 0, 0, 0, 0, 0, 0, 5, 11, 4, 5, 0, 0, 11, 5, 11, 1, 4, 11, 1, 0, 1, 1, 2, 0, 5, 11, 4, 5, 0, 0, 11, 5, 11, 2, 4, 11, 2, 0, 2, 2, 3, 0, 5, 11, 4, 5, 0, 0, 11, 5, 11, 2, 4, 11, 2, 3, 2, 2, 3, 3, 5, 11, 4, 5, 0, 0, 10, 4, 10, 0, 3, 10, 0, 0, 0, 0, 0, 0, 4, 10, 3, 4, 0, 0, 10, 4, 10, 1, 3, 10, 1, 0, 1, 1, 2, 0, 4, 10, 3, 4, 0, 0, 10, 4, 10, 2, 3, 10, 2, 0, 2, 2, 3, 0, 4, 10, 3, 4, 0, 0, 10, 4, 10, 2, 3, 10, 2, 3, 2, 2, 3, 3, 4, 10, 3, 4, 0, 0, 9, 3, 9, 0, 2, 9, 0, 0, 0, 0, 0, 0, 3, 9, 2, 3, 0, 0, 9, 3, 9, 1, 2, 9, 1, 0, 1, 1, 2, 0, 3, 9, 2, 3, 0, 0, 9, 3, 9, 2, 2, 9, 2, 0, 2, 2, 3, 0, 3, 9, 2, 3, 0, 0, 9, 3, 9, 2, 2, 9, 2, 3, 2, 2, 3, 3, 3, 9, 2, 3, 0, 0, 11, 0, 11, 0, 0, 11, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 11, 0, 11, 1, 0, 11, 0, 0, 0, 1, 2, 0, 11, 0, 0, 0, 0, 0, 11, 0, 11, 1, 1, 11, 1, 0, 1, 1, 2, 0, 11, 0, 1, 2, 0, 0, 18, 0, 18, 1, 10, 18, 1, 0, 1, 1, 2, 0, 11, 0, 10, 11, 0, 0, 11, 0, 11, 0, 1, 11, 0, 0, 0, 0, 0, 0, 11, 0, 1, 2, 0, 0, 11, 0, 11, 2, 1, 11, 1, 0, 1, 2, 3, 0, 11, 0, 1, 2, 0, 0, 11, 0, 11, 2, 0, 11, 0, 0, 0, 2, 3, 0, 11, 0, 0, 0, 0, 0, 18, 0, 18, 2, 10, 18, 2, 0, 2, 2, 3, 0, 11, 0, 10, 11, 0, 0, 18, 0, 18, 0, 10, 18, 0, 0, 0, 0, 0, 0, 11, 0, 10, 11, 0, 0, 12, 0, 12, 0, 1, 12, 0, 0, 0, 0, 1, 1, 12, 0, 1, 2, 0, 0, 12, 0, 12, 2, 1, 12, 1, 0, 1, 2, 3, 3, 12, 0, 1, 2, 0, 0, 12, 0, 12, 2, 0, 12, 0, 0, 0, 2, 3, 3, 12, 0, 0, 0, 0, 0, 18, 0, 18, 2, 11, 18, 2, 0, 2, 2, 3, 3, 12, 0, 11, 12, 0, 0, 17, 12, 17, 2, 11, 17, 2, 3, 2, 2, 3, 3, 12, 17, 11, 12, 0, 0, 18, 0, 18, 0, 11, 18, 0, 0, 0, 0, 1, 1, 12, 0, 11, 12, 0, 0, 13, 1, 13, 2, 0, 13, 0, 0, 0, 2, 3, 0, 13, 1, 0, 1, 0, 0, 13, 1, 13, 2, 0, 13, 0, 1, 0, 2, 3, 3, 13, 1, 0, 1, 0, 0, 18, 13, 18, 2, 12, 18, 2, 3, 2, 2, 3, 3, 13, 18, 12, 13, 0, 0, 18, 13, 18, 2, 12, 18, 2, 0, 2, 2, 3, 0, 13, 18, 12, 13, 0, 0, 18, 13, 18, 0, 12, 18, 0, 0, 0, 0, 0, 0, 13, 18, 12, 13, 0, 0, 18, 13, 18, 0, 12, 18, 0, 1, 0, 0, 1, 1, 13, 18, 12, 13, 0, 0, 17, 12, 17, 0, 11, 17, 0, 0, 0, 0, 0, 0, 12, 17, 11, 12, 0, 0, 17, 12, 17, 1, 11, 17, 1, 0, 1, 1, 2, 0, 12, 17, 11, 12, 0, 0, 17, 12, 17, 2, 11, 17, 2, 0, 2, 2, 3, 0, 12, 17, 11, 12, 0, 0, 16, 11, 16, 0, 10, 16, 0, 0, 0, 0, 0, 0, 11, 16, 10, 11, 0, 0, 16, 11, 16, 1, 10, 16, 1, 0, 1, 1, 2, 0, 11, 16, 10, 11, 0, 0, 16, 11, 16, 2, 10, 16, 2, 0, 2, 2, 3, 0, 11, 16, 10, 11, 0, 0, 16, 11, 16, 2, 10, 16, 2, 3, 2, 2, 3, 3, 11, 16, 10, 11, 0, 0, 15, 10, 15, 0, 9, 15, 0, 0, 0, 0, 0, 0, 10, 15, 9, 10, 0, 0, 15, 10, 15, 1, 9, 15, 1, 0, 1, 1, 2, 0, 10, 15, 9, 10, 0, 0, 15, 10, 15, 2, 9, 15, 2, 0, 2, 2, 3, 0, 10, 15, 9, 10, 0, 0, 15, 10, 15, 2, 9, 15, 2, 3, 2, 2, 3, 3, 10, 15, 9, 10, 0, 0, 14, 9, 14, 0, 8, 14, 0, 0, 0, 0, 0, 0, 9, 14, 8, 9, 0, 0, 14, 9, 14, 1, 8, 14, 1, 0, 1, 1, 2, 0, 9, 14, 8, 9, 0, 0, 14, 9, 14, 2, 8, 14, 2, 0, 2, 2, 3, 0, 9, 14, 8, 9, 0, 0, 14, 9, 14, 2, 8, 14, 2, 3, 2, 2, 3, 3, 9, 14, 8, 9, 0, 0, 13, 8, 13, 0, 7, 13, 0, 0, 0, 0, 0, 0, 8, 13, 7, 8, 0, 0, 13, 8, 13, 1, 7, 13, 1, 0, 1, 1, 2, 0, 8, 13, 7, 8, 0, 0, 13, 8, 13, 2, 7, 13, 2, 0, 2, 2, 3, 0, 8, 13, 7, 8, 0, 0, 13, 8, 13, 2, 7, 13, 2, 3, 2, 2, 3, 3, 8, 13, 7, 8, 0, 0, 12, 7, 12, 0, 6, 12, 0, 0, 0, 0, 0, 0, 7, 12, 6, 7, 0, 0, 12, 7, 12, 1, 6, 12, 1, 0, 1, 1, 2, 0, 7, 12, 6, 7, 0, 0, 12, 7, 12, 2, 6, 12, 2, 0, 2, 2, 3, 0, 7, 12, 6, 7, 0, 0, 12, 7, 12, 2, 6, 12, 2, 3, 2, 2, 3, 3, 7, 12, 6, 7, 0, 0, 11, 6, 11, 0, 5, 11, 0, 0, 0, 0, 0, 0, 6, 11, 5, 6, 0, 0, 11, 6, 11, 1, 5, 11, 1, 0, 1, 1, 2, 0, 6, 11, 5, 6, 0, 0, 11, 6, 11, 2, 5, 11, 2, 0, 2, 2, 3, 0, 6, 11, 5, 6, 0, 0, 11, 6, 11, 2, 5, 11, 2, 3, 2, 2, 3, 3, 6, 11, 5, 6, 0, 0, 10, 5, 10, 0, 4, 10, 0, 0, 0, 0, 0, 0, 5, 10, 4, 5, 0, 0, 10, 5, 10, 1, 4, 10, 1, 0, 1, 1, 2, 0, 5, 10, 4, 5, 0, 0, 10, 5, 10, 2, 4, 10, 2, 0, 2, 2, 3, 0, 5, 10, 4, 5, 0, 0, 10, 5, 10, 2, 4, 10, 2, 3, 2, 2, 3, 3, 5, 10, 4, 5, 0, 0, 9, 4, 9, 0, 3, 9, 0, 0, 0, 0, 0, 0, 4, 9, 3, 4, 0, 0, 9, 4, 9, 1, 3, 9, 1, 0, 1, 1, 2, 0, 4, 9, 3, 4, 0, 0, 9, 4, 9, 2, 3, 9, 2, 0, 2, 2, 3, 0, 4, 9, 3, 4, 0, 0, 9, 4, 9, 2, 3, 9, 2, 3, 2, 2, 3, 3, 4, 9, 3, 4, 0, 0, 8, 3, 8, 0, 2, 8, 0, 0, 0, 0, 0, 0, 3, 8, 2, 3, 0, 0, 8, 3, 8, 1, 2, 8, 1, 0, 1, 1, 2, 0, 3, 8, 2, 3, 0, 0, 8, 3, 8, 2, 2, 8, 2, 0, 2, 2, 3, 0, 3, 8, 2, 3, 0, 0, 8, 3, 8, 2, 2, 8, 2, 3, 2, 2, 3, 3, 3, 8, 2, 3, 0, 0, 12, 0, 12, 0, 0, 12, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 12, 0, 12, 1, 0, 12, 0, 0, 0, 1, 2, 0, 12, 0, 0, 0, 0, 0, 12, 0, 12, 1, 1, 12, 1, 0, 1, 1, 2, 0, 12, 0, 1, 2, 0, 0, 18, 0, 18, 1, 11, 18, 1, 0, 1, 1, 2, 0, 12, 0, 11, 12, 0, 0, 12, 0, 12, 0, 1, 12, 0, 0, 0, 0, 0, 0, 12, 0, 1, 2, 0, 0, 12, 0, 12, 2, 1, 12, 1, 0, 1, 2, 3, 0, 12, 0, 1, 2, 0, 0, 12, 0, 12, 2, 0, 12, 0, 0, 0, 2, 3, 0, 12, 0, 0, 0, 0, 0, 18, 0, 18, 2, 11, 18, 2, 0, 2, 2, 3, 0, 12, 0, 11, 12, 0, 0, 18, 0, 18, 0, 11, 18, 0, 0, 0, 0, 0, 0, 12, 0, 11, 12, 0, 0, 13, 0, 13, 0, 1, 13, 0, 0, 0, 0, 1, 1, 13, 0, 1, 2, 0, 0, 13, 0, 13, 2, 1, 13, 1, 0, 1, 2, 3, 3, 13, 0, 1, 2, 0, 0, 13, 0, 13, 2, 0, 13, 0, 0, 0, 2, 3, 3, 13, 0, 0, 0, 0, 0, 18, 0, 18, 2, 12, 18, 2, 0, 2, 2, 3, 3, 13, 0, 12, 13, 0, 0, 17, 13, 17, 2, 12, 17, 2, 3, 2, 2, 3, 3, 13, 17, 12, 13, 0, 0, 18, 0, 18, 0, 12, 18, 0, 0, 0, 0, 1, 1, 13, 0, 12, 13, 0, 0, 14, 1, 14, 2, 0, 14, 0, 0, 0, 2, 3, 0, 14, 1, 0, 1, 0, 0, 14, 1, 14, 2, 0, 14, 0, 1, 0, 2, 3, 3, 14, 1, 0, 1, 0, 0, 18, 14, 18, 2, 13, 18, 2, 3, 2, 2, 3, 3, 14, 18, 13, 14, 0, 0, 18, 14, 18, 2, 13, 18, 2, 0, 2, 2, 3, 0, 14, 18, 13, 14, 0, 0, 18, 14, 18, 0, 13, 18, 0, 0, 0, 0, 0, 0, 14, 18, 13, 14, 0, 0, 18, 14, 18, 0, 13, 18, 0, 1, 0, 0, 1, 1, 14, 18, 13, 14, 0, 0, 17, 13, 17, 0, 12, 17, 0, 0, 0, 0, 0, 0, 13, 17, 12, 13, 0, 0, 17, 13, 17, 1, 12, 17, 1, 0, 1, 1, 2, 0, 13, 17, 12, 13, 0, 0, 17, 13, 17, 2, 12, 17, 2, 0, 2, 2, 3, 0, 13, 17, 12, 13, 0, 0, 16, 12, 16, 0, 11, 16, 0, 0, 0, 0, 0, 0, 12, 16, 11, 12, 0, 0, 16, 12, 16, 1, 11, 16, 1, 0, 1, 1, 2, 0, 12, 16, 11, 12, 0, 0, 16, 12, 16, 2, 11, 16, 2, 0, 2, 2, 3, 0, 12, 16, 11, 12, 0, 0, 16, 12, 16, 2, 11, 16, 2, 3, 2, 2, 3, 3, 12, 16, 11, 12, 0, 0, 15, 11, 15, 0, 10, 15, 0, 0, 0, 0, 0, 0, 11, 15, 10, 11, 0, 0, 15, 11, 15, 1, 10, 15, 1, 0, 1, 1, 2, 0, 11, 15, 10, 11, 0, 0, 15, 11, 15, 2, 10, 15, 2, 0, 2, 2, 3, 0, 11, 15, 10, 11, 0, 0, 15, 11, 15, 2, 10, 15, 2, 3, 2, 2, 3, 3, 11, 15, 10, 11, 0, 0, 14, 10, 14, 0, 9, 14, 0, 0, 0, 0, 0, 0, 10, 14, 9, 10, 0, 0, 14, 10, 14, 1, 9, 14, 1, 0, 1, 1, 2, 0, 10, 14, 9, 10, 0, 0, 14, 10, 14, 2, 9, 14, 2, 0, 2, 2, 3, 0, 10, 14, 9, 10, 0, 0, 14, 10, 14, 2, 9, 14, 2, 3, 2, 2, 3, 3, 10, 14, 9, 10, 0, 0, 13, 9, 13, 0, 8, 13, 0, 0, 0, 0, 0, 0, 9, 13, 8, 9, 0, 0, 13, 9, 13, 1, 8, 13, 1, 0, 1, 1, 2, 0, 9, 13, 8, 9, 0, 0, 13, 9, 13, 2, 8, 13, 2, 0, 2, 2, 3, 0, 9, 13, 8, 9, 0, 0, 13, 9, 13, 2, 8, 13, 2, 3, 2, 2, 3, 3, 9, 13, 8, 9, 0, 0, 12, 8, 12, 0, 7, 12, 0, 0, 0, 0, 0, 0, 8, 12, 7, 8, 0, 0, 12, 8, 12, 1, 7, 12, 1, 0, 1, 1, 2, 0, 8, 12, 7, 8, 0, 0, 12, 8, 12, 2, 7, 12, 2, 0, 2, 2, 3, 0, 8, 12, 7, 8, 0, 0, 12, 8, 12, 2, 7, 12, 2, 3, 2, 2, 3, 3, 8, 12, 7, 8, 0, 0, 11, 7, 11, 0, 6, 11, 0, 0, 0, 0, 0, 0, 7, 11, 6, 7, 0, 0, 11, 7, 11, 1, 6, 11, 1, 0, 1, 1, 2, 0, 7, 11, 6, 7, 0, 0, 11, 7, 11, 2, 6, 11, 2, 0, 2, 2, 3, 0, 7, 11, 6, 7, 0, 0, 11, 7, 11, 2, 6, 11, 2, 3, 2, 2, 3, 3, 7, 11, 6, 7, 0, 0, 10, 6, 10, 0, 5, 10, 0, 0, 0, 0, 0, 0, 6, 10, 5, 6, 0, 0, 10, 6, 10, 1, 5, 10, 1, 0, 1, 1, 2, 0, 6, 10, 5, 6, 0, 0, 10, 6, 10, 2, 5, 10, 2, 0, 2, 2, 3, 0, 6, 10, 5, 6, 0, 0, 10, 6, 10, 2, 5, 10, 2, 3, 2, 2, 3, 3, 6, 10, 5, 6, 0, 0, 9, 5, 9, 0, 4, 9, 0, 0, 0, 0, 0, 0, 5, 9, 4, 5, 0, 0, 9, 5, 9, 1, 4, 9, 1, 0, 1, 1, 2, 0, 5, 9, 4, 5, 0, 0, 9, 5, 9, 2, 4, 9, 2, 0, 2, 2, 3, 0, 5, 9, 4, 5, 0, 0, 9, 5, 9, 2, 4, 9, 2, 3, 2, 2, 3, 3, 5, 9, 4, 5, 0, 0, 8, 4, 8, 0, 3, 8, 0, 0, 0, 0, 0, 0, 4, 8, 3, 4, 0, 0, 8, 4, 8, 1, 3, 8, 1, 0, 1, 1, 2, 0, 4, 8, 3, 4, 0, 0, 8, 4, 8, 2, 3, 8, 2, 0, 2, 2, 3, 0, 4, 8, 3, 4, 0, 0, 8, 4, 8, 2, 3, 8, 2, 3, 2, 2, 3, 3, 4, 8, 3, 4, 0, 0, 7, 3, 7, 0, 2, 7, 0, 0, 0, 0, 0, 0, 3, 7, 2, 3, 0, 0, 7, 3, 7, 1, 2, 7, 1, 0, 1, 1, 2, 0, 3, 7, 2, 3, 0, 0, 7, 3, 7, 2, 2, 7, 2, 0, 2, 2, 3, 0, 3, 7, 2, 3, 0, 0, 7, 3, 7, 2, 2, 7, 2, 3, 2, 2, 3, 3, 3, 7, 2, 3, 0, 0, 13, 0, 13, 0, 0, 13, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 13, 0, 13, 1, 0, 13, 0, 0, 0, 1, 2, 0, 13, 0, 0, 0, 0, 0, 13, 0, 13, 1, 1, 13, 1, 0, 1, 1, 2, 0, 13, 0, 1, 2, 0, 0, 18, 0, 18, 1, 12, 18, 1, 0, 1, 1, 2, 0, 13, 0, 12, 13, 0, 0, 13, 0, 13, 0, 1, 13, 0, 0, 0, 0, 0, 0, 13, 0, 1, 2, 0, 0, 13, 0, 13, 2, 1, 13, 1, 0, 1, 2, 3, 0, 13, 0, 1, 2, 0, 0, 13, 0, 13, 2, 0, 13, 0, 0, 0, 2, 3, 0, 13, 0, 0, 0, 0, 0, 18, 0, 18, 2, 12, 18, 2, 0, 2, 2, 3, 0, 13, 0, 12, 13, 0, 0, 18, 0, 18, 0, 12, 18, 0, 0, 0, 0, 0, 0, 13, 0, 12, 13, 0, 0, 14, 0, 14, 0, 1, 14, 0, 0, 0, 0, 1, 1, 14, 0, 1, 2, 0, 0, 14, 0, 14, 2, 1, 14, 1, 0, 1, 2, 3, 3, 14, 0, 1, 2, 0, 0, 14, 0, 14, 2, 0, 14, 0, 0, 0, 2, 3, 3, 14, 0, 0, 0, 0, 0, 18, 0, 18, 2, 13, 18, 2, 0, 2, 2, 3, 3, 14, 0, 13, 14, 0, 0, 17, 14, 17, 2, 13, 17, 2, 3, 2, 2, 3, 3, 14, 17, 13, 14, 0, 0, 18, 0, 18, 0, 13, 18, 0, 0, 0, 0, 1, 1, 14, 0, 13, 14, 0, 0, 15, 1, 15, 2, 0, 15, 0, 0, 0, 2, 3, 0, 15, 1, 0, 1, 0, 0, 15, 1, 15, 2, 0, 15, 0, 1, 0, 2, 3, 3, 15, 1, 0, 1, 0, 0, 18, 15, 18, 2, 14, 18, 2, 3, 2, 2, 3, 3, 15, 18, 14, 15, 0, 0, 18, 15, 18, 2, 14, 18, 2, 0, 2, 2, 3, 0, 15, 18, 14, 15, 0, 0, 18, 15, 18, 0, 14, 18, 0, 0, 0, 0, 0, 0, 15, 18, 14, 15, 0, 0, 18, 15, 18, 0, 14, 18, 0, 1, 0, 0, 1, 1, 15, 18, 14, 15, 0, 0, 17, 14, 17, 0, 13, 17, 0, 0, 0, 0, 0, 0, 14, 17, 13, 14, 0, 0, 17, 14, 17, 1, 13, 17, 1, 0, 1, 1, 2, 0, 14, 17, 13, 14, 0, 0, 17, 14, 17, 2, 13, 17, 2, 0, 2, 2, 3, 0, 14, 17, 13, 14, 0, 0, 16, 13, 16, 0, 12, 16, 0, 0, 0, 0, 0, 0, 13, 16, 12, 13, 0, 0, 16, 13, 16, 1, 12, 16, 1, 0, 1, 1, 2, 0, 13, 16, 12, 13, 0, 0, 16, 13, 16, 2, 12, 16, 2, 0, 2, 2, 3, 0, 13, 16, 12, 13, 0, 0, 16, 13, 16, 2, 12, 16, 2, 3, 2, 2, 3, 3, 13, 16, 12, 13, 0, 0, 15, 12, 15, 0, 11, 15, 0, 0, 0, 0, 0, 0, 12, 15, 11, 12, 0, 0, 15, 12, 15, 1, 11, 15, 1, 0, 1, 1, 2, 0, 12, 15, 11, 12, 0, 0, 15, 12, 15, 2, 11, 15, 2, 0, 2, 2, 3, 0, 12, 15, 11, 12, 0, 0, 15, 12, 15, 2, 11, 15, 2, 3, 2, 2, 3, 3, 12, 15, 11, 12, 0, 0, 14, 11, 14, 0, 10, 14, 0, 0, 0, 0, 0, 0, 11, 14, 10, 11, 0, 0, 14, 11, 14, 1, 10, 14, 1, 0, 1, 1, 2, 0, 11, 14, 10, 11, 0, 0, 14, 11, 14, 2, 10, 14, 2, 0, 2, 2, 3, 0, 11, 14, 10, 11, 0, 0, 14, 11, 14, 2, 10, 14, 2, 3, 2, 2, 3, 3, 11, 14, 10, 11, 0, 0, 13, 10, 13, 0, 9, 13, 0, 0, 0, 0, 0, 0, 10, 13, 9, 10, 0, 0, 13, 10, 13, 1, 9, 13, 1, 0, 1, 1, 2, 0, 10, 13, 9, 10, 0, 0, 13, 10, 13, 2, 9, 13, 2, 0, 2, 2, 3, 0, 10, 13, 9, 10, 0, 0, 13, 10, 13, 2, 9, 13, 2, 3, 2, 2, 3, 3, 10, 13, 9, 10, 0, 0, 12, 9, 12, 0, 8, 12, 0, 0, 0, 0, 0, 0, 9, 12, 8, 9, 0, 0, 12, 9, 12, 1, 8, 12, 1, 0, 1, 1, 2, 0, 9, 12, 8, 9, 0, 0, 12, 9, 12, 2, 8, 12, 2, 0, 2, 2, 3, 0, 9, 12, 8, 9, 0, 0, 12, 9, 12, 2, 8, 12, 2, 3, 2, 2, 3, 3, 9, 12, 8, 9, 0, 0, 11, 8, 11, 0, 7, 11, 0, 0, 0, 0, 0, 0, 8, 11, 7, 8, 0, 0, 11, 8, 11, 1, 7, 11, 1, 0, 1, 1, 2, 0, 8, 11, 7, 8, 0, 0, 11, 8, 11, 2, 7, 11, 2, 0, 2, 2, 3, 0, 8, 11, 7, 8, 0, 0, 11, 8, 11, 2, 7, 11, 2, 3, 2, 2, 3, 3, 8, 11, 7, 8, 0, 0, 10, 7, 10, 0, 6, 10, 0, 0, 0, 0, 0, 0, 7, 10, 6, 7, 0, 0, 10, 7, 10, 1, 6, 10, 1, 0, 1, 1, 2, 0, 7, 10, 6, 7, 0, 0, 10, 7, 10, 2, 6, 10, 2, 0, 2, 2, 3, 0, 7, 10, 6, 7, 0, 0, 10, 7, 10, 2, 6, 10, 2, 3, 2, 2, 3, 3, 7, 10, 6, 7, 0, 0, 9, 6, 9, 0, 5, 9, 0, 0, 0, 0, 0, 0, 6, 9, 5, 6, 0, 0, 9, 6, 9, 1, 5, 9, 1, 0, 1, 1, 2, 0, 6, 9, 5, 6, 0, 0, 9, 6, 9, 2, 5, 9, 2, 0, 2, 2, 3, 0, 6, 9, 5, 6, 0, 0, 9, 6, 9, 2, 5, 9, 2, 3, 2, 2, 3, 3, 6, 9, 5, 6, 0, 0, 8, 5, 8, 0, 4, 8, 0, 0, 0, 0, 0, 0, 5, 8, 4, 5, 0, 0, 8, 5, 8, 1, 4, 8, 1, 0, 1, 1, 2, 0, 5, 8, 4, 5, 0, 0, 8, 5, 8, 2, 4, 8, 2, 0, 2, 2, 3, 0, 5, 8, 4, 5, 0, 0, 8, 5, 8, 2, 4, 8, 2, 3, 2, 2, 3, 3, 5, 8, 4, 5, 0, 0, 7, 4, 7, 0, 3, 7, 0, 0, 0, 0, 0, 0, 4, 7, 3, 4, 0, 0, 7, 4, 7, 1, 3, 7, 1, 0, 1, 1, 2, 0, 4, 7, 3, 4, 0, 0, 7, 4, 7, 2, 3, 7, 2, 0, 2, 2, 3, 0, 4, 7, 3, 4, 0, 0, 7, 4, 7, 2, 3, 7, 2, 3, 2, 2, 3, 3, 4, 7, 3, 4, 0, 0, 6, 3, 6, 0, 2, 6, 0, 0, 0, 0, 0, 0, 3, 6, 2, 3, 0, 0, 6, 3, 6, 1, 2, 6, 1, 0, 1, 1, 2, 0, 3, 6, 2, 3, 0, 0, 6, 3, 6, 2, 2, 6, 2, 0, 2, 2, 3, 0, 3, 6, 2, 3, 0, 0, 6, 3, 6, 2, 2, 6, 2, 3, 2, 2, 3, 3, 3, 6, 2, 3, 0, 0, 14, 0, 14, 0, 0, 14, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 14, 0, 14, 1, 0, 14, 0, 0, 0, 1, 2, 0, 14, 0, 0, 0, 0, 0, 14, 0, 14, 1, 1, 14, 1, 0, 1, 1, 2, 0, 14, 0, 1, 2, 0, 0, 18, 0, 18, 1, 13, 18, 1, 0, 1, 1, 2, 0, 14, 0, 13, 14, 0, 0, 14, 0, 14, 0, 1, 14, 0, 0, 0, 0, 0, 0, 14, 0, 1, 2, 0, 0, 14, 0, 14, 2, 1, 14, 1, 0, 1, 2, 3, 0, 14, 0, 1, 2, 0, 0, 14, 0, 14, 2, 0, 14, 0, 0, 0, 2, 3, 0, 14, 0, 0, 0, 0, 0, 18, 0, 18, 2, 13, 18, 2, 0, 2, 2, 3, 0, 14, 0, 13, 14, 0, 0, 18, 0, 18, 0, 13, 18, 0, 0, 0, 0, 0, 0, 14, 0, 13, 14, 0, 0, 15, 0, 15, 0, 1, 15, 0, 0, 0, 0, 1, 1, 15, 0, 1, 2, 0, 0, 15, 0, 15, 2, 1, 15, 1, 0, 1, 2, 3, 3, 15, 0, 1, 2, 0, 0, 15, 0, 15, 2, 0, 15, 0, 0, 0, 2, 3, 3, 15, 0, 0, 0, 0, 0, 18, 0, 18, 2, 14, 18, 2, 0, 2, 2, 3, 3, 15, 0, 14, 15, 0, 0, 17, 15, 17, 2, 14, 17, 2, 3, 2, 2, 3, 3, 15, 17, 14, 15, 0, 0, 18, 0, 18, 0, 14, 18, 0, 0, 0, 0, 1, 1, 15, 0, 14, 15, 0, 0, 16, 1, 16, 2, 0, 16, 0, 0, 0, 2, 3, 0, 16, 1, 0, 1, 0, 0, 16, 1, 16, 2, 0, 16, 0, 1, 0, 2, 3, 3, 16, 1, 0, 1, 0, 0, 18, 16, 18, 2, 15, 18, 2, 3, 2, 2, 3, 3, 16, 18, 15, 16, 0, 0, 18, 16, 18, 2, 15, 18, 2, 0, 2, 2, 3, 0, 16, 18, 15, 16, 0, 0, 18, 16, 18, 0, 15, 18, 0, 0, 0, 0, 0, 0, 16, 18, 15, 16, 0, 0, 18, 16, 18, 0, 15, 18, 0, 1, 0, 0, 1, 1, 16, 18, 15, 16, 0, 0, 17, 15, 17, 0, 14, 17, 0, 0, 0, 0, 0, 0, 15, 17, 14, 15, 0, 0, 17, 15, 17, 1, 14, 17, 1, 0, 1, 1, 2, 0, 15, 17, 14, 15, 0, 0, 17, 15, 17, 2, 14, 17, 2, 0, 2, 2, 3, 0, 15, 17, 14, 15, 0, 0, 16, 14, 16, 0, 13, 16, 0, 0, 0, 0, 0, 0, 14, 16, 13, 14, 0, 0, 16, 14, 16, 1, 13, 16, 1, 0, 1, 1, 2, 0, 14, 16, 13, 14, 0, 0, 16, 14, 16, 2, 13, 16, 2, 0, 2, 2, 3, 0, 14, 16, 13, 14, 0, 0, 16, 14, 16, 2, 13, 16, 2, 3, 2, 2, 3, 3, 14, 16, 13, 14, 0, 0, 15, 13, 15, 0, 12, 15, 0, 0, 0, 0, 0, 0, 13, 15, 12, 13, 0, 0, 15, 13, 15, 1, 12, 15, 1, 0, 1, 1, 2, 0, 13, 15, 12, 13, 0, 0, 15, 13, 15, 2, 12, 15, 2, 0, 2, 2, 3, 0, 13, 15, 12, 13, 0, 0, 15, 13, 15, 2, 12, 15, 2, 3, 2, 2, 3, 3, 13, 15, 12, 13, 0, 0, 14, 12, 14, 0, 11, 14, 0, 0, 0, 0, 0, 0, 12, 14, 11, 12, 0, 0, 14, 12, 14, 1, 11, 14, 1, 0, 1, 1, 2, 0, 12, 14, 11, 12, 0, 0, 14, 12, 14, 2, 11, 14, 2, 0, 2, 2, 3, 0, 12, 14, 11, 12, 0, 0, 14, 12, 14, 2, 11, 14, 2, 3, 2, 2, 3, 3, 12, 14, 11, 12, 0, 0, 13, 11, 13, 0, 10, 13, 0, 0, 0, 0, 0, 0, 11, 13, 10, 11, 0, 0, 13, 11, 13, 1, 10, 13, 1, 0, 1, 1, 2, 0, 11, 13, 10, 11, 0, 0, 13, 11, 13, 2, 10, 13, 2, 0, 2, 2, 3, 0, 11, 13, 10, 11, 0, 0, 13, 11, 13, 2, 10, 13, 2, 3, 2, 2, 3, 3, 11, 13, 10, 11, 0, 0, 12, 10, 12, 0, 9, 12, 0, 0, 0, 0, 0, 0, 10, 12, 9, 10, 0, 0, 12, 10, 12, 1, 9, 12, 1, 0, 1, 1, 2, 0, 10, 12, 9, 10, 0, 0, 12, 10, 12, 2, 9, 12, 2, 0, 2, 2, 3, 0, 10, 12, 9, 10, 0, 0, 12, 10, 12, 2, 9, 12, 2, 3, 2, 2, 3, 3, 10, 12, 9, 10, 0, 0, 11, 9, 11, 0, 8, 11, 0, 0, 0, 0, 0, 0, 9, 11, 8, 9, 0, 0, 11, 9, 11, 1, 8, 11, 1, 0, 1, 1, 2, 0, 9, 11, 8, 9, 0, 0, 11, 9, 11, 2, 8, 11, 2, 0, 2, 2, 3, 0, 9, 11, 8, 9, 0, 0, 11, 9, 11, 2, 8, 11, 2, 3, 2, 2, 3, 3, 9, 11, 8, 9, 0, 0, 10, 8, 10, 0, 7, 10, 0, 0, 0, 0, 0, 0, 8, 10, 7, 8, 0, 0, 10, 8, 10, 1, 7, 10, 1, 0, 1, 1, 2, 0, 8, 10, 7, 8, 0, 0, 10, 8, 10, 2, 7, 10, 2, 0, 2, 2, 3, 0, 8, 10, 7, 8, 0, 0, 10, 8, 10, 2, 7, 10, 2, 3, 2, 2, 3, 3, 8, 10, 7, 8, 0, 0, 9, 7, 9, 0, 6, 9, 0, 0, 0, 0, 0, 0, 7, 9, 6, 7, 0, 0, 9, 7, 9, 1, 6, 9, 1, 0, 1, 1, 2, 0, 7, 9, 6, 7, 0, 0, 9, 7, 9, 2, 6, 9, 2, 0, 2, 2, 3, 0, 7, 9, 6, 7, 0, 0, 9, 7, 9, 2, 6, 9, 2, 3, 2, 2, 3, 3, 7, 9, 6, 7, 0, 0, 8, 6, 8, 0, 5, 8, 0, 0, 0, 0, 0, 0, 6, 8, 5, 6, 0, 0, 8, 6, 8, 1, 5, 8, 1, 0, 1, 1, 2, 0, 6, 8, 5, 6, 0, 0, 8, 6, 8, 2, 5, 8, 2, 0, 2, 2, 3, 0, 6, 8, 5, 6, 0, 0, 8, 6, 8, 2, 5, 8, 2, 3, 2, 2, 3, 3, 6, 8, 5, 6, 0, 0, 7, 5, 7, 0, 4, 7, 0, 0, 0, 0, 0, 0, 5, 7, 4, 5, 0, 0, 7, 5, 7, 1, 4, 7, 1, 0, 1, 1, 2, 0, 5, 7, 4, 5, 0, 0, 7, 5, 7, 2, 4, 7, 2, 0, 2, 2, 3, 0, 5, 7, 4, 5, 0, 0, 7, 5, 7, 2, 4, 7, 2, 3, 2, 2, 3, 3, 5, 7, 4, 5, 0, 0, 6, 4, 6, 0, 3, 6, 0, 0, 0, 0, 0, 0, 4, 6, 3, 4, 0, 0, 6, 4, 6, 1, 3, 6, 1, 0, 1, 1, 2, 0, 4, 6, 3, 4, 0, 0, 6, 4, 6, 2, 3, 6, 2, 0, 2, 2, 3, 0, 4, 6, 3, 4, 0, 0, 6, 4, 6, 2, 3, 6, 2, 3, 2, 2, 3, 3, 4, 6, 3, 4, 0, 0, 5, 3, 5, 0, 2, 5, 0, 0, 0, 0, 0, 0, 3, 5, 2, 3, 0, 0, 5, 3, 5, 1, 2, 5, 1, 0, 1, 1, 2, 0, 3, 5, 2, 3, 0, 0, 5, 3, 5, 2, 2, 5, 2, 0, 2, 2, 3, 0, 3, 5, 2, 3, 0, 0, 5, 3, 5, 2, 2, 5, 2, 3, 2, 2, 3, 3, 3, 5, 2, 3, 0, 0, 15, 0, 15, 0, 0, 15, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 15, 0, 15, 1, 0, 15, 0, 0, 0, 1, 2, 0, 15, 0, 0, 0, 0, 0, 15, 0, 15, 1, 1, 15, 1, 0, 1, 1, 2, 0, 15, 0, 1, 2, 0, 0, 18, 0, 18, 1, 14, 18, 1, 0, 1, 1, 2, 0, 15, 0, 14, 15, 0, 0, 15, 0, 15, 0, 1, 15, 0, 0, 0, 0, 0, 0, 15, 0, 1, 2, 0, 0, 15, 0, 15, 2, 1, 15, 1, 0, 1, 2, 3, 0, 15, 0, 1, 2, 0, 0, 15, 0, 15, 2, 0, 15, 0, 0, 0, 2, 3, 0, 15, 0, 0, 0, 0, 0, 18, 0, 18, 2, 14, 18, 2, 0, 2, 2, 3, 0, 15, 0, 14, 15, 0, 0, 18, 0, 18, 0, 14, 18, 0, 0, 0, 0, 0, 0, 15, 0, 14, 15, 0, 0, 16, 0, 16, 0, 1, 16, 0, 0, 0, 0, 1, 1, 16, 0, 1, 2, 0, 0, 16, 0, 16, 2, 1, 16, 1, 0, 1, 2, 3, 3, 16, 0, 1, 2, 0, 0, 16, 0, 16, 2, 0, 16, 0, 0, 0, 2, 3, 3, 16, 0, 0, 0, 0, 0, 18, 0, 18, 2, 15, 18, 2, 0, 2, 2, 3, 3, 16, 0, 15, 16, 0, 0, 18, 0, 18, 0, 15, 18, 0, 0, 0, 0, 1, 1, 16, 0, 15, 16, 0, 0, 16, 0, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 16, 0, 16, 1, 0, 16, 0, 0, 0, 1, 2, 0, 16, 0, 0, 0, 0, 0, 16, 0, 16, 1, 1, 16, 1, 0, 1, 1, 2, 0, 16, 0, 1, 2, 0, 0, 18, 0, 18, 1, 15, 18, 1, 0, 1, 1, 2, 0, 16, 0, 15, 16, 0, 0, 16, 0, 16, 0, 1, 16, 0, 0, 0, 0, 0, 0, 16, 0, 1, 2, 0, 0, 16, 0, 16, 2, 1, 16, 1, 0, 1, 2, 3, 0, 16, 0, 1, 2, 0, 0, 16, 0, 16, 2, 0, 16, 0, 0, 0, 2, 3, 0, 16, 0, 0, 0, 0, 0, 18, 0, 18, 2, 15, 18, 2, 0, 2, 2, 3, 0, 16, 0, 15, 16, 0, 0, 18, 0, 18, 0, 15, 18, 0, 0, 0, 0, 0, 0, 16, 0, 15, 16, 0, 0, 2, 0, 2, 0, 0, 2, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 1, 2, 0, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 3, 0, 3, 2, 1, 3, 1, 0, 1, 2, 3, 3, 0, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 1, 2, 3, 3, 0, 0, 0, 0, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 1, 2, 3, 3, 0, 0, 1, 2, 0, 0, 17, 0, 17, 2, 1, 17, 1, 0, 1, 2, 3, 3, 17, 0, 1, 2, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 17, 0, 17, 0, 1, 17, 0, 0, 0, 0, 1, 1, 17, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 3, 0, 0, 0, 2, 3, 3, 0, 0, 0, 0, 0, 0, 18, 0, 18, 2, 0, 18, 0, 0, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 18, 0, 18, 2, 1, 18, 1, 0, 2, 2, 3, 3, 0, 0, 1, 2, 0, 0, 18, 0, 18, 2, 17, 18, 2, 0, 2, 2, 3, 3, 0, 0, 17, 18, 0, 0, 18, 0, 18, 2, 16, 18, 2, 0, 2, 2, 3, 3, 17, 0, 16, 17, 0, 0, 18, 0, 18, 0, 0, 18, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 1, 18, 0, 0, 0, 0, 1, 1, 0, 0, 1, 2, 0, 0, 18, 0, 18, 0, 17, 18, 0, 0, 0, 0, 1, 1, 0, 0, 17, 18, 0, 0, 18, 0, 18, 0, 16, 18, 0, 0, 0, 0, 1, 1, 17, 0, 16, 17, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 1, 1, 0, 1, 0, 1, 1, 2, 0, 0, 0, 1, 2, 0, 0, 18, 0, 18, 1, 1, 0, 1, 0, 1, 1, 2, 0, 0, 0, 1, 2, 0, 0, 17, 0, 17, 1, 1, 17, 1, 0, 1, 1, 2, 0, 17, 0, 1, 2, 0, 0, 18, 0, 18, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 1, 1, 0, 1, 0, 1, 1, 2, 0, 0, 0, 1, 2, 0, 0, 18, 0, 18, 1, 17, 0, 1, 0, 1, 1, 2, 0, 0, 0, 17, 18, 0, 0, 18, 0, 18, 1, 16, 18, 1, 0, 1, 1, 2, 0, 17, 0, 16, 17, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 3, 0, 3, 2, 1, 0, 1, 0, 1, 2, 3, 0, 0, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 2, 1, 0, 1, 0, 1, 2, 3, 0, 0, 0, 1, 2, 0, 0, 17, 0, 17, 2, 1, 17, 1, 0, 1, 2, 3, 0, 17, 0, 1, 2, 0, 0, 18, 0, 18, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 17, 0, 17, 0, 1, 17, 0, 0, 0, 0, 0, 0, 17, 0, 1, 2, 0, 0, 3, 0, 3, 2, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 2, 0, 0, 0, 0, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 2, 1, 0, 1, 0, 2, 2, 3, 0, 0, 0, 1, 2, 0, 0, 18, 0, 18, 2, 17, 0, 2, 0, 2, 2, 3, 0, 0, 0, 17, 18, 0, 0, 18, 0, 18, 2, 16, 18, 2, 0, 2, 2, 3, 0, 17, 0, 16, 17, 0, 0, 18, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 18, 0, 18, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 0, 18, 0, 18, 0, 16, 18, 0, 0, 0, 0, 0, 0, 17, 0, 16, 17, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char bdver3_agu_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 2, 0, 0, 0, 3, 3, 4, 0, 2, 3, 3, 0, 3, 3, 3, 3, 3, 0, 0, 0, 3, 0, 5, 0, 0, 3, 0, 3, 3, 0, 5, 0, 3, 0, 0, 3, 5, 3, 3, 5, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 5, 3, 0, 0, 3, 0, 5, 0, 3, 0, 3, 0, 3, 0, 5, 0, 3, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 3, 0, 5, 0, 3, 0, 3, 0, 3, 0, 5, 0, 5, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, }; /* Vector for state transitions. */ static const unsigned char bdver3_agu_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 5, 2, 29, 1, 0, 1, 10, 6, 3, 28, 10, 2, 2, 3, 30, 5, 23, 3, 0, 3, 4, 30, 6, 14, 4, 2, 4, 4, 30, 7, 8, 30, 5, 5, 6, 30, 30, 30, 6, 0, 6, 7, 30, 30, 30, 7, 2, 7, 7, 30, 30, 30, 30, 5, 8, 8, 30, 30, 30, 30, 9, 9, 12, 30, 30, 30, 12, 10, 10, 10, 7, 4, 11, 30, 5, 11, 11, 30, 8, 30, 30, 9, 12, 13, 30, 30, 30, 13, 4, 13, 13, 30, 30, 30, 30, 7, 14, 8, 30, 30, 30, 8, 15, 15, 16, 30, 9, 20, 16, 10, 16, 17, 30, 12, 19, 17, 4, 17, 17, 30, 13, 18, 30, 7, 18, 18, 30, 30, 30, 30, 13, 19, 18, 30, 30, 30, 18, 17, 20, 19, 30, 30, 30, 19, 21, 21, 21, 13, 17, 22, 30, 7, 22, 22, 30, 18, 30, 30, 13, 23, 14, 30, 30, 30, 14, 24, 24, 25, 9, 15, 27, 25, 10, 25, 21, 12, 16, 26, 21, 4, 26, 22, 30, 19, 30, 22, 17, 27, 26, 30, 20, 30, 26, 21, 28, 11, 30, 14, 30, 11, 15, 29, 28, 30, 23, 30, 28, 24, }; /* Vector of min issue delay of insns. */ static const unsigned char bdver3_agu_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 0, 0, 0, 32, 1, 0, 1, 17, 0, 0, 33, 16, 0, 2, 34, 16, 0, 34, 33, 0, 1, 17, 0, 0, 0, 1, 0, 2, 2, 16, 0, 49, 16, 0, 3, 51, 32, 0, 33, 16, 0, 1, 0, 0, 0, 48, 0, 0, 3, 0, 32, 0, 68, 67, 0, 4, 17, 0, 0, 17, 16, 0, 0, 0, 32, 0, 64, 67, 0, 1, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 16, 0, 1, 1, 0, 0, 32, 16, 0, 1, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char btver2_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char btver2_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 2, 0, 1, 3, 3, 0, 2, 3, 1, 0}; /* Vector of min issue delay of insns. */ static const unsigned char btver2_min_issue_delay[] ATTRIBUTE_UNUSED = { 6, 64}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char btver2_int_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 2, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 11, 12, 13, 1, 1, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, }; /* Comb vector for state transitions. */ static const unsigned char btver2_int_transitions[] ATTRIBUTE_UNUSED = { 0, 127, 93, 11, 14, 125, 123, 61, 121, 41, 119, 3, 117, 1, 0, 127, 124, 104, 109, 92, 126, 124, 88, 122, 56, 120, 116, 118, 105, 93, 93, 104, 1, 33, 1, 102, 100, 86, 98, 54, 96, 17, 94, 128, 0, 104, 101, 105, 34, 105, 103, 101, 87, 99, 55, 97, 18, 95, 128, 93, 14, 92, 1, 128, 128, 10, 13, 128, 60, 128, 40, 128, 15, 128, 0, 92, 106, 105, 2, 39, 107, 106, 128, 91, 128, 59, 128, 16, 128, 93, 1, 105, 3, 17, 18, 31, 37, 128, 89, 128, 57, 128, 2, 128, 0, 105, 38, 4, 128, 18, 32, 38, 128, 90, 95, 58, 39, 39, 39, 93, 117, 118, 94, 19, 15, 119, 120, 96, 17, 40, 128, 128, 128, 2, 3, 128, 19, 20, 57, 41, 121, 122, 98, 20, 60, 123, 124, 100, 128, 13, 5, 128, 128, 89, 61, 128, 128, 21, 37, 14, 125, 126, 102, 128, 10, 94, 95, 2, 128, 2, 3, 116, 17, 31, 11, 128, 96, 97, 57, 3, 57, 98, 99, 89, 4, 89, 128, 100, 101, 37, 41, 37, 102, 103, 31, 61, 31, 128, 118, 128, 95, 14, 16, 120, 128, 97, 11, 59, 128, 128, 128, 39, 17, 4, 115, 19, 58, 54, 122, 22, 99, 124, 91, 101, 126, 106, 103, 5, 107, 128, 128, 90, 86, 23, 38, 1, 128, 32, 33, 5, 114, 21, 6, 113, 23, 7, 112, 25, 8, 111, 27, 128, 128, 6, 128, 128, 7, 128, 128, 8, 128, 24, 9, 9, 110, 29, 10, 107, 31, 11, 109, 33, 12, 108, 35, 25, 128, 10, 128, 128, 11, 128, 128, 12, 128, 26, 13, 13, 106, 37, 15, 16, 2, 40, 59, 57, 41, 56, 54, 27, 128, 14, 128, 128, 3, 128, 128, 41, 128, 28, 42, 42, 53, 51, 43, 50, 48, 44, 47, 45, 60, 91, 89, 29, 128, 43, 128, 128, 44, 128, 128, 15, 128, 30, 61, 61, 88, 86, 62, 85, 83, 63, 82, 80, 64, 79, 77, 31, 128, 62, 128, 128, 63, 128, 128, 64, 128, 32, 65, 65, 76, 74, 66, 73, 71, 67, 70, 68, 97, 128, 58, 33, 58, 66, 128, 128, 67, 128, 16, 40, 39, 99, 54, 90, 101, 90, 38, 103, 38, 32, 128, 32, 17, 21, 22, 86, 23, 24, 1, 25, 26, 33, 27, 28, 29, 30, 128, 6, 31, 32, 7, 33, 34, 8, 35, 36, 9, 128, 10, 37, 38, 128, 11, 45, 46, 12, 128, 47, 13, 46, 48, 49, 50, 14, 49, 51, 52, 15, 53, 128, 52, 2, 54, 55, 44, 56, 45, 55, 128, 43, 57, 58, 48, 59, 128, 58, 42, 68, 69, 51, 70, 73, 69, 72, 41, 71, 72, 54, 74, 75, 76, 40, 75, 128, 57, 68, 77, 78, 79, 67, 78, 82, 66, 81, 71, 80, 81, 83, 84, 85, 65, 84, 74, 86, 87, 77, 88, 128, 87, 64, 91, 63, 90, 80, 89, 90, 106, 62, 38, 107, 83, 32, 128, 108, 86, 36, 128, 109, 61, 34, 1, 128, 110, 33, 30, 128, 111, 37, 28, 128, 112, 35, 26, 113, 128, 24, 31, 114, 34, 22, 29, 115, 36, 20, 27, 38, 116, 25, 18, 39, 46, 23, 35, 49, 52, 21, 37, 55, 58, 1, 19, 69, 72, 17, 2, 75, 78, 45, 48, 81, 84, 51, 54, 87, 90, 57, 68, 128, 128, 71, 74, 128, 128, 77, 80, 128, 128, 83, 86}; /* Check vector for state transitions. */ static const unsigned char btver2_int_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 128, 93, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 128, 104, 14, 14, 14, 128, 128, 14, 14, 128, 14, 128, 14, 128, 14, 128, 14, 92, 92, 92, 2, 2, 92, 92, 128, 92, 128, 92, 128, 92, 128, 92, 1, 1, 2, 17, 17, 1, 1, 128, 1, 128, 1, 128, 1, 128, 1, 105, 105, 17, 128, 18, 105, 105, 128, 105, 95, 105, 95, 105, 95, 105, 117, 117, 117, 18, 117, 119, 119, 119, 95, 119, 128, 128, 128, 117, 117, 128, 19, 19, 119, 119, 121, 121, 121, 20, 121, 123, 123, 123, 128, 123, 19, 128, 128, 121, 121, 128, 128, 20, 123, 123, 125, 125, 125, 128, 125, 94, 94, 94, 128, 94, 3, 3, 3, 125, 125, 128, 96, 96, 96, 94, 96, 98, 98, 98, 3, 98, 128, 100, 100, 100, 96, 100, 102, 102, 102, 98, 102, 128, 118, 128, 118, 100, 118, 120, 128, 120, 102, 120, 128, 128, 128, 118, 118, 4, 4, 4, 120, 120, 122, 22, 122, 124, 122, 124, 126, 124, 126, 4, 126, 128, 128, 122, 122, 22, 124, 124, 128, 126, 126, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 128, 128, 5, 128, 128, 6, 128, 128, 7, 128, 24, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 24, 128, 9, 128, 128, 10, 128, 128, 11, 128, 26, 12, 13, 13, 13, 15, 15, 15, 40, 40, 40, 41, 41, 41, 26, 128, 13, 128, 128, 15, 128, 128, 40, 128, 28, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 60, 60, 60, 28, 128, 42, 128, 128, 43, 128, 128, 44, 128, 30, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 30, 128, 61, 128, 128, 62, 128, 128, 63, 128, 32, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, 97, 128, 97, 32, 97, 65, 128, 128, 66, 128, 16, 67, 16, 99, 97, 99, 101, 99, 101, 103, 101, 103, 128, 103, 16, 21, 21, 99, 23, 23, 101, 25, 25, 103, 27, 27, 29, 29, 128, 21, 31, 31, 23, 33, 33, 25, 35, 35, 27, 128, 29, 37, 37, 128, 31, 45, 45, 33, 128, 47, 35, 47, 48, 48, 50, 37, 50, 51, 51, 45, 53, 128, 53, 47, 54, 54, 48, 56, 50, 56, 128, 51, 57, 57, 53, 59, 128, 59, 54, 68, 68, 56, 70, 73, 70, 73, 57, 71, 71, 59, 74, 74, 76, 68, 76, 128, 70, 73, 77, 77, 79, 71, 79, 82, 74, 82, 76, 80, 80, 83, 83, 85, 77, 85, 79, 86, 86, 82, 88, 128, 88, 80, 91, 83, 91, 85, 89, 89, 106, 86, 106, 107, 88, 107, 128, 108, 91, 108, 128, 109, 89, 109, 106, 128, 110, 107, 110, 128, 111, 108, 111, 128, 112, 109, 112, 113, 128, 113, 110, 114, 34, 114, 111, 115, 36, 115, 112, 38, 116, 113, 116, 39, 46, 114, 34, 49, 52, 115, 36, 55, 58, 38, 116, 69, 72, 39, 46, 75, 78, 49, 52, 81, 84, 55, 58, 87, 90, 69, 72, 128, 128, 75, 78, 128, 128, 81, 84, 128, 128, 87, 90}; /* Base vector for state transitions. */ static const unsigned short btver2_int_base[] = { 0, 90, 78, 170, 213, 239, 242, 245, 248, 263, 266, 269, 272, 287, 60, 290, 378, 93, 109, 136, 143, 393, 219, 396, 261, 399, 285, 402, 309, 404, 333, 408, 357, 411, 538, 414, 542, 419, 545, 549, 293, 296, 311, 314, 317, 423, 550, 427, 430, 553, 432, 435, 554, 438, 442, 557, 445, 450, 558, 453, 320, 335, 338, 341, 344, 359, 362, 365, 457, 561, 460, 465, 562, 461, 468, 565, 470, 476, 566, 478, 485, 569, 481, 487, 570, 489, 493, 573, 496, 504, 574, 500, 75, 30, 165, 114, 176, 368, 181, 381, 187, 384, 192, 387, 45, 105, 506, 509, 513, 517, 522, 526, 530, 533, 537, 541, 546, 120, 198, 125, 203, 140, 218, 145, 221, 160, 224, 15}; /* Vector of min issue delay of insns. */ static const unsigned char btver2_int_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 13, 13, 12, 12, 13, 12, 13, 12, 13, 12, 13, 0, 0, 0, 0, 12, 12, 11, 11, 12, 11, 12, 11, 12, 11, 12, 0, 0, 0, 0, 11, 11, 10, 10, 11, 10, 11, 10, 11, 10, 11, 0, 0, 0, 0, 10, 10, 9, 9, 10, 9, 10, 9, 10, 9, 10, 0, 0, 0, 0, 9, 9, 8, 8, 9, 8, 9, 8, 9, 8, 9, 0, 0, 0, 0, 8, 8, 7, 7, 8, 7, 8, 7, 8, 7, 8, 0, 0, 0, 0, 7, 7, 6, 6, 7, 6, 7, 6, 7, 6, 7, 0, 0, 0, 0, 6, 6, 5, 5, 6, 5, 6, 5, 6, 5, 6, 0, 0, 0, 0, 5, 5, 4, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 0, 0, 4, 4, 3, 3, 4, 3, 4, 3, 4, 3, 4, 0, 0, 0, 0, 3, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 0, 0, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 13, 13, 12, 12, 13, 12, 13, 12, 13, 12, 13, 0, 0, 1, 0, 13, 13, 12, 12, 13, 12, 13, 12, 13, 12, 13, 0, 0, 0, 1, 12, 12, 11, 11, 12, 11, 12, 11, 12, 11, 12, 0, 0, 1, 2, 12, 12, 11, 11, 12, 11, 12, 11, 12, 11, 12, 0, 0, 0, 1, 11, 11, 10, 10, 11, 10, 11, 10, 11, 10, 11, 0, 0, 1, 2, 11, 11, 10, 10, 11, 10, 11, 10, 11, 10, 11, 0, 0, 0, 1, 10, 10, 9, 9, 10, 9, 10, 9, 10, 9, 10, 0, 0, 1, 2, 10, 10, 9, 9, 10, 9, 10, 9, 10, 9, 10, 0, 0, 0, 1, 9, 9, 8, 8, 9, 8, 9, 8, 9, 8, 9, 0, 0, 1, 2, 9, 9, 8, 8, 9, 8, 9, 8, 9, 8, 9, 0, 0, 0, 1, 8, 8, 7, 7, 8, 7, 8, 7, 8, 7, 8, 0, 0, 1, 2, 8, 8, 7, 7, 8, 7, 8, 7, 8, 7, 8, 0, 0, 0, 1, 7, 7, 6, 6, 7, 6, 7, 6, 7, 6, 7, 0, 0, 1, 2, 7, 7, 6, 6, 7, 6, 7, 6, 7, 6, 7, 0, 0, 0, 1, 6, 6, 5, 5, 6, 5, 6, 5, 6, 5, 6, 0, 0, 1, 2, 6, 6, 5, 5, 6, 5, 6, 5, 6, 5, 6, 0, 0, 0, 1, 5, 5, 4, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 1, 2, 5, 5, 4, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 0, 1, 4, 4, 3, 3, 4, 3, 4, 3, 4, 3, 4, 0, 0, 1, 2, 4, 4, 3, 3, 4, 3, 4, 3, 4, 3, 4, 0, 0, 0, 1, 3, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 1, 2, 3, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 0, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 2, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 2, 13, 13, 12, 12, 13, 12, 13, 12, 13, 12, 13, 0, 0, 0, 0, 18, 18, 17, 17, 18, 17, 18, 17, 18, 17, 18, 0, 0, 0, 0, 17, 17, 16, 16, 17, 16, 17, 16, 17, 16, 17, 0, 0, 0, 0, 16, 16, 15, 15, 16, 15, 16, 15, 16, 15, 16, 0, 0, 0, 0, 15, 15, 14, 14, 15, 14, 15, 14, 15, 14, 15, 0, 0, 0, 0, 14, 14, 13, 13, 14, 13, 14, 13, 14, 13, 14, 0, 0, 0, 1, 14, 14, 13, 13, 14, 13, 14, 13, 14, 13, 14, 0, 0, 1, 2, 14, 14, 13, 13, 14, 13, 14, 13, 14, 13, 14, 0, 0, 1, 0, 14, 14, 13, 13, 14, 13, 14, 13, 14, 13, 14, 0, 0, 0, 1, 15, 15, 14, 14, 15, 14, 15, 14, 15, 14, 15, 0, 0, 1, 2, 15, 15, 14, 14, 15, 14, 15, 14, 15, 14, 15, 0, 0, 1, 0, 15, 15, 14, 14, 15, 14, 15, 14, 15, 14, 15, 0, 0, 0, 1, 16, 16, 15, 15, 16, 15, 16, 15, 16, 15, 16, 0, 0, 1, 2, 16, 16, 15, 15, 16, 15, 16, 15, 16, 15, 16, 0, 0, 1, 0, 16, 16, 15, 15, 16, 15, 16, 15, 16, 15, 16, 0, 0, 0, 1, 17, 17, 16, 16, 17, 16, 17, 16, 17, 16, 17, 0, 0, 1, 2, 17, 17, 16, 16, 17, 16, 17, 16, 17, 16, 17, 0, 0, 1, 0, 17, 17, 16, 16, 17, 16, 17, 16, 17, 16, 17, 0, 0, 0, 1, 18, 18, 17, 17, 18, 17, 18, 17, 18, 17, 18, 0, 0, 1, 2, 18, 18, 17, 17, 18, 17, 18, 17, 18, 17, 18, 0, 0, 1, 0, 18, 18, 17, 17, 18, 17, 18, 17, 18, 17, 18, 0, 0, 0, 0, 26, 26, 25, 25, 26, 25, 26, 25, 26, 25, 26, 0, 0, 0, 0, 25, 25, 24, 24, 25, 24, 25, 24, 25, 24, 25, 0, 0, 0, 0, 24, 24, 23, 23, 24, 23, 24, 23, 24, 23, 24, 0, 0, 0, 0, 23, 23, 22, 22, 23, 22, 23, 22, 23, 22, 23, 0, 0, 0, 0, 22, 22, 21, 21, 22, 21, 22, 21, 22, 21, 22, 0, 0, 0, 0, 21, 21, 20, 20, 21, 20, 21, 20, 21, 20, 21, 0, 0, 0, 0, 20, 20, 19, 19, 20, 19, 20, 19, 20, 19, 20, 0, 0, 0, 0, 19, 19, 18, 18, 19, 18, 19, 18, 19, 18, 19, 0, 0, 0, 1, 19, 19, 18, 18, 19, 18, 19, 18, 19, 18, 19, 0, 0, 1, 2, 19, 19, 18, 18, 19, 18, 19, 18, 19, 18, 19, 0, 0, 1, 0, 19, 19, 18, 18, 19, 18, 19, 18, 19, 18, 19, 0, 0, 0, 1, 20, 20, 19, 19, 20, 19, 20, 19, 20, 19, 20, 0, 0, 1, 2, 20, 20, 19, 19, 20, 19, 20, 19, 20, 19, 20, 0, 0, 1, 0, 20, 20, 19, 19, 20, 19, 20, 19, 20, 19, 20, 0, 0, 0, 1, 21, 21, 20, 20, 21, 20, 21, 20, 21, 20, 21, 0, 0, 1, 2, 21, 21, 20, 20, 21, 20, 21, 20, 21, 20, 21, 0, 0, 1, 0, 21, 21, 20, 20, 21, 20, 21, 20, 21, 20, 21, 0, 0, 0, 1, 22, 22, 21, 21, 22, 21, 22, 21, 22, 21, 22, 0, 0, 1, 2, 22, 22, 21, 21, 22, 21, 22, 21, 22, 21, 22, 0, 0, 1, 0, 22, 22, 21, 21, 22, 21, 22, 21, 22, 21, 22, 0, 0, 0, 1, 23, 23, 22, 22, 23, 22, 23, 22, 23, 22, 23, 0, 0, 1, 2, 23, 23, 22, 22, 23, 22, 23, 22, 23, 22, 23, 0, 0, 1, 0, 23, 23, 22, 22, 23, 22, 23, 22, 23, 22, 23, 0, 0, 0, 1, 24, 24, 23, 23, 24, 23, 24, 23, 24, 23, 24, 0, 0, 1, 2, 24, 24, 23, 23, 24, 23, 24, 23, 24, 23, 24, 0, 0, 1, 0, 24, 24, 23, 23, 24, 23, 24, 23, 24, 23, 24, 0, 0, 0, 1, 25, 25, 24, 24, 25, 24, 25, 24, 25, 24, 25, 0, 0, 1, 2, 25, 25, 24, 24, 25, 24, 25, 24, 25, 24, 25, 0, 0, 1, 0, 25, 25, 24, 24, 25, 24, 25, 24, 25, 24, 25, 0, 0, 0, 1, 26, 26, 25, 25, 26, 25, 26, 25, 26, 25, 26, 0, 0, 1, 2, 26, 26, 25, 25, 26, 25, 26, 25, 26, 25, 26, 0, 0, 1, 0, 26, 26, 25, 25, 26, 25, 26, 25, 26, 25, 26, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 13, 0, 12, 12, 13, 12, 13, 12, 13, 12, 13, 0, 0, 1, 0, 13, 0, 12, 12, 13, 12, 13, 12, 13, 12, 13, 0, 0, 0, 0, 18, 0, 17, 17, 18, 17, 18, 17, 18, 17, 18, 0, 0, 1, 0, 18, 0, 17, 17, 18, 17, 18, 17, 18, 17, 18, 0, 0, 0, 0, 26, 0, 25, 25, 26, 25, 26, 25, 26, 25, 26, 0, 0, 1, 0, 26, 0, 25, 25, 26, 25, 26, 25, 26, 25, 26, 0, 0, 0, 0, 2, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 0, 2, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 0, 0, 5, 0, 4, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 1, 0, 5, 0, 4, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 2, 0, 0, 1, 0, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 0, 5, 5, 4, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 1, 0, 3, 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 1, 0, 4, 4, 3, 3, 4, 3, 4, 3, 4, 3, 4, 0, 0, 1, 0, 6, 6, 5, 5, 6, 5, 6, 5, 6, 5, 6, 0, 0, 1, 0, 7, 7, 6, 6, 7, 6, 7, 6, 7, 6, 7, 0, 0, 1, 0, 8, 8, 7, 7, 8, 7, 8, 7, 8, 7, 8, 0, 0, 1, 0, 9, 9, 8, 8, 9, 8, 9, 8, 9, 8, 9, 0, 0, 1, 0, 10, 10, 9, 9, 10, 9, 10, 9, 10, 9, 10, 0, 0, 1, 0, 11, 11, 10, 10, 11, 10, 11, 10, 11, 10, 11, 0, 0, 1, 0, 12, 12, 11, 11, 12, 11, 12, 11, 12, 11, 12, 0, 0, 0, 0, 13, 0, 12, 12, 13, 12, 13, 12, 13, 12, 0, 0, 0, 1, 0, 13, 0, 12, 12, 13, 12, 13, 12, 13, 12, 0, 0, 0, 0, 0, 18, 0, 17, 17, 18, 17, 18, 17, 18, 17, 0, 0, 0, 1, 0, 18, 0, 17, 17, 18, 17, 18, 17, 18, 17, 0, 0, 0, 0, 0, 26, 0, 25, 25, 26, 25, 26, 25, 26, 25, 0, 0, 0, 1, 0, 26, 0, 25, 25, 26, 25, 26, 25, 26, 25, 0, 0, 0, 0, 0, 2, 0, 1, 1, 2, 1, 2, 1, 2, 1, 0, 0, 0, 1, 0, 2, 0, 1, 1, 2, 1, 2, 1, 2, 1, 0, 0, 0, 0, 0, 5, 0, 4, 4, 5, 4, 5, 4, 5, 4, 0, 0, 0, 1, 0, 5, 0, 4, 4, 5, 4, 5, 4, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char btver2_agu_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 1, 1, 3, 4, 3, 0, 5, 1, 6, 3, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 1, 1, 3, 0, 1, 0, 7, 0, 1, 0, 1, 0, 1, 0, 1, 3, 0, 1, 1, 3, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 8, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 3, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 3, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, }; /* Vector for state transitions. */ static const unsigned char btver2_agu_transitions[] ATTRIBUTE_UNUSED = { 0, 26, 26, 3, 15, 21, 33, 2, 1, 0, 1, 20, 20, 31, 16, 39, 39, 32, 39, 2, 2, 15, 15, 7, 39, 39, 39, 39, 32, 3, 3, 18, 18, 39, 14, 39, 39, 7, 31, 4, 4, 26, 39, 8, 15, 21, 39, 10, 5, 0, 5, 20, 39, 9, 16, 39, 39, 6, 39, 2, 6, 16, 39, 12, 39, 39, 39, 39, 39, 7, 7, 14, 14, 39, 39, 39, 39, 39, 19, 8, 8, 18, 39, 39, 14, 39, 39, 11, 9, 4, 9, 17, 39, 39, 13, 39, 39, 12, 39, 10, 10, 15, 39, 11, 39, 39, 39, 39, 6, 3, 11, 14, 39, 39, 39, 39, 39, 39, 12, 8, 12, 13, 39, 39, 39, 39, 39, 39, 39, 11, 13, 39, 39, 39, 39, 39, 39, 39, 39, 11, 14, 39, 39, 39, 39, 39, 39, 39, 13, 8, 15, 39, 39, 14, 39, 39, 39, 39, 16, 3, 16, 39, 39, 13, 39, 39, 39, 39, 39, 7, 17, 39, 39, 39, 39, 39, 39, 13, 39, 10, 18, 39, 39, 39, 39, 39, 39, 14, 17, 4, 19, 13, 13, 39, 39, 39, 39, 39, 39, 11, 20, 39, 39, 17, 39, 39, 39, 16, 39, 2, 21, 39, 39, 39, 39, 39, 39, 39, 39, 22, 22, 39, 39, 39, 39, 39, 39, 39, 39, 23, 23, 39, 39, 39, 39, 39, 39, 39, 39, 24, 24, 39, 39, 39, 39, 39, 39, 39, 30, 25, 25, 39, 39, 39, 39, 39, 39, 29, 27, 26, 26, 39, 39, 18, 39, 39, 39, 15, 20, 0, 27, 39, 39, 39, 39, 39, 39, 28, 39, 15, 28, 39, 39, 39, 39, 39, 39, 39, 39, 14, 29, 39, 39, 39, 39, 39, 39, 39, 28, 18, 30, 39, 39, 39, 39, 39, 39, 39, 39, 29, 31, 17, 17, 39, 13, 39, 39, 19, 39, 10, 32, 16, 16, 19, 39, 39, 39, 39, 39, 7, 33, 39, 39, 39, 39, 39, 39, 39, 39, 34, 34, 39, 39, 39, 39, 39, 39, 39, 39, 35, 35, 39, 39, 39, 39, 39, 39, 39, 39, 36, 36, 39, 39, 39, 39, 39, 39, 39, 39, 37, 37, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 30, }; /* Vector of min issue delay of insns. */ static const unsigned char btver2_agu_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 3, 64, 16, 0, 0, 18, 49, 0, 0, 1, 1, 32, 0, 0, 16, 0, 16, 0, 0, 16, 3, 64, 16, 0, 16, 35, 66, 16, 0, 2, 18, 49, 0, 0, 33, 1, 32, 0, 0, 33, 3, 64, 16, 0, 16, 18, 49, 0, 0, 50, 18, 49, 0, 0, 67, 35, 66, 16, 1, 67, 35, 66, 16, 1, 50, 18, 49, 0, 1, 16, 18, 49, 0, 1, 16, 35, 66, 16, 1, 33, 35, 64, 16, 1, 33, 17, 32, 0, 0, 3, 35, 66, 16, 1, 16, 35, 64, 16, 6, 101, 102, 100, 48, 5, 84, 85, 83, 32, 4, 67, 68, 66, 16, 3, 50, 51, 49, 0, 2, 33, 34, 32, 0, 1, 16, 17, 16, 0, 2, 33, 35, 64, 16, 2, 67, 35, 66, 16, 2, 50, 34, 49, 0, 3, 67, 51, 66, 16, 0, 1, 3, 64, 16, 0, 0, 35, 66, 16, 9, 169, 153, 168, 112, 8, 152, 136, 151, 96, 7, 135, 119, 134, 80, 6, 118, 102, 117, 64, 5, 101, 85, 100, 48, 4, 84, 68, 83, 32}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char btver2_fp_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 7, 8, 4, 8, 7, 4, 5, 11, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 0, 0, 5, 4, 4, 18, 11, 29, 29, 7, 8, 2, 6, 2, 6, 2, 6, 6, 2, 30, 6, 2, 6, 30, 31, 18, 11, 32, 33, 34, 35, 36, 18, 37, 11, 38, 38, 39, 8, 2, 6, 6, 2, 8, 6, 31, 7, 8, 40, 41, 42, 43, 44, 45, 44, 8, 7, 46, 47, 44, 2, 6, 2, 6, 31, 31, 7, 8, 7, 8, 48, 8, 29, 2, 6, 2, 6, 8, 29, 5, 4, 49, 50, 18, 11, 18, 11, 5, 4, 7, 8, 7, 8, 8, 8, 2, 6, 6, 6, 6, 2, 2, 13, 51, 11, 4, 12, 52, 18, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, }; /* Comb vector for state transitions. */ static const unsigned short btver2_fp_transitions[] ATTRIBUTE_UNUSED = { 0, 994, 990, 993, 15, 992, 56, 990, 56, 988, 13, 14, 986, 111, 982, 829, 957, 78, 980, 109, 977, 814, 974, 114, 971, 103, 968, 440, 965, 727, 957, 78, 940, 792, 953, 380, 949, 12, 942, 78, 940, 792, 935, 785, 587, 921, 921, 587, 916, 916, 727, 2, 1, 0, 56, 849, 78, 995, 35, 848, 35, 78, 17, 847, 52, 75, 846, 164, 828, 630, 587, 18, 827, 188, 825, 734, 813, 128, 811, 260, 809, 458, 807, 55, 587, 55, 791, 726, 805, 398, 804, 31, 794, 55, 791, 726, 784, 720, 77, 586, 586, 20, 783, 783, 55, 59, 57, 0, 990, 995, 991, 995, 727, 991, 78, 18, 78, 989, 745, 747, 987, 165, 985, 842, 19, 21, 981, 189, 979, 821, 976, 129, 973, 261, 970, 459, 967, 747, 920, 769, 941, 718, 956, 399, 952, 746, 948, 995, 941, 718, 939, 789, 80, 934, 21, 22, 920, 920, 995, 911, 915, 56, 78, 995, 769, 995, 55, 769, 55, 995, 24, 768, 74, 34, 767, 157, 766, 612, 22, 25, 765, 181, 764, 428, 763, 118, 762, 253, 761, 376, 760, 34, 80, 34, 725, 54, 759, 92, 758, 51, 748, 995, 725, 54, 719, 82, 54, 81, 23, 26, 80, 80, 28, 18, 79, 56, 957, 995, 920, 995, 84, 920, 587, 25, 587, 964, 86, 718, 963, 158, 919, 831, 26, 29, 918, 182, 962, 816, 961, 119, 960, 254, 959, 452, 958, 718, 918, 80, 917, 86, 954, 392, 950, 717, 943, 995, 917, 995, 936, 787, 589, 917, 27, 30, 918, 29, 995, 909, 913, 78, 587, 995, 80, 995, 77, 80, 77, 995, 32, 703, 33, 54, 702, 154, 701, 583, 30, 33, 589, 178, 700, 619, 699, 115, 698, 250, 697, 449, 696, 54, 589, 54, 590, 33, 695, 389, 694, 73, 593, 995, 590, 85, 592, 591, 33, 590, 31, 17, 589, 17, 995, 38, 588, 78, 921, 995, 934, 995, 868, 934, 586, 33, 586, 922, 87, 723, 933, 155, 932, 832, 34, 34, 917, 179, 931, 815, 930, 116, 929, 251, 928, 450, 927, 723, 917, 81, 922, 87, 926, 390, 925, 722, 924, 995, 18, 86, 923, 995, 590, 922, 995, 33, 917, 33, 995, 908, 912, 587, 586, 995, 81, 995, 616, 81, 616, 995, 37, 705, 53, 76, 716, 156, 715, 631, 35, 38, 590, 180, 714, 643, 713, 117, 712, 252, 711, 451, 710, 76, 590, 76, 705, 53, 709, 391, 708, 32, 706, 995, 34, 39, 652, 79, 53, 705, 995, 58, 590, 58, 995, 60, 704, 587, 599, 995, 666, 995, 613, 666, 613, 38, 41, 652, 614, 584, 665, 172, 664, 636, 39, 42, 651, 196, 663, 633, 662, 136, 661, 268, 660, 464, 659, 584, 651, 584, 652, 614, 658, 404, 657, 617, 653, 995, 40, 43, 59, 80, 614, 652, 995, 54, 651, 54, 995, 125, 650, 600, 600, 995, 649, 995, 585, 649, 585, 42, 45, 603, 591, 615, 648, 185, 646, 624, 43, 46, 602, 209, 645, 622, 642, 149, 641, 281, 640, 477, 639, 615, 602, 615, 603, 591, 638, 417, 637, 604, 605, 47, 44, 49, 55, 81, 591, 603, 995, 76, 602, 76, 995, 122, 601, 586, 982, 995, 985, 995, 877, 985, 828, 46, 828, 932, 681, 683, 984, 162, 983, 840, 47, 50, 919, 186, 978, 820, 975, 123, 972, 258, 969, 456, 966, 683, 919, 766, 932, 681, 955, 396, 951, 680, 48, 51, 50, 87, 77, 53, 701, 932, 995, 53, 919, 53, 995, 910, 914, 829, 828, 995, 766, 995, 845, 766, 845, 995, 54, 715, 611, 629, 844, 163, 843, 635, 51, 58, 701, 187, 826, 743, 822, 127, 812, 259, 810, 457, 808, 629, 701, 629, 715, 611, 806, 397, 646, 610, 52, 60, 54, 88, 54, 61, 611, 715, 995, 89, 701, 89, 62, 774, 778, 829, 829, 995, 842, 995, 630, 842, 630, 55, 995, 832, 583, 612, 841, 159, 840, 626, 59, 995, 831, 183, 839, 817, 838, 120, 837, 255, 836, 453, 835, 612, 831, 612, 832, 583, 834, 393, 833, 631, 61, 64, 82, 995, 62, 995, 583, 832, 995, 995, 831, 63, 995, 779, 830, 599, 15, 878, 727, 995, 995, 14, 35, 727, 35, 12, 995, 65, 110, 995, 877, 630, 84, 55, 13, 995, 108, 995, 875, 995, 113, 995, 102, 995, 439, 995, 84, 55, 874, 995, 379, 995, 11, 995, 65, 55, 874, 995, 872, 995, 77, 868, 868, 77, 792, 792, 995, 588, 16, 0, 727, 17, 747, 17, 66, 747, 55, 68, 55, 746, 66, 90, 177, 995, 683, 612, 995, 50, 745, 50, 201, 995, 733, 995, 141, 995, 273, 995, 469, 995, 718, 34, 730, 995, 409, 995, 732, 995, 69, 70, 730, 995, 729, 995, 54, 723, 995, 995, 718, 718, 18, 72, 728, 56, 35, 627, 55, 67, 995, 75, 69, 55, 73, 31, 51, 912, 176, 995, 845, 866, 77, 704, 52, 704, 200, 995, 824, 995, 140, 995, 272, 995, 468, 995, 77, 995, 793, 995, 408, 995, 71, 70, 71, 74, 793, 995, 790, 995, 76, 616, 616, 82, 726, 726, 73, 589, 36, 0, 84, 33, 718, 33, 995, 718, 77, 74, 77, 717, 38, 995, 170, 913, 681, 583, 995, 85, 86, 588, 194, 588, 427, 995, 134, 89, 266, 995, 375, 914, 86, 54, 87, 867, 91, 778, 90, 778, 75, 995, 87, 995, 88, 77, 33, 87, 83, 995, 86, 868, 34, 723, 85, 78, 723, 616, 590, 616, 722, 995, 53, 167, 53, 680, 631, 995, 18, 87, 915, 191, 92, 871, 728, 131, 79, 263, 79, 460, 82, 87, 76, 722, 779, 400, 917, 870, 115, 117, 87, 995, 590, 869, 590, 53, 722, 118, 995, 87, 598, 995, 679, 866, 587, 679, 630, 120, 630, 669, 995, 54, 678, 918, 677, 626, 995, 86, 668, 589, 676, 589, 675, 59, 674, 93, 673, 995, 672, 919, 668, 612, 669, 681, 671, 701, 670, 701, 995, 54, 995, 58, 17, 121, 583, 669, 122, 995, 668, 877, 36, 683, 667, 599, 683, 845, 995, 845, 680, 995, 121, 174, 124, 682, 635, 995, 34, 681, 920, 198, 125, 876, 718, 138, 80, 270, 80, 466, 995, 681, 629, 680, 612, 406, 91, 788, 55, 995, 34, 995, 374, 34, 374, 611, 680, 51, 122, 681, 169, 20, 629, 867, 829, 922, 74, 995, 193, 722, 744, 705, 133, 705, 265, 995, 462, 125, 54, 995, 731, 995, 402, 55, 30, 126, 116, 126, 731, 995, 724, 995, 117, 76, 117, 127, 54, 54, 995, 92, 58, 56, 77, 995, 54, 130, 592, 54, 132, 923, 89, 73, 89, 869, 166, 652, 611, 652, 33, 925, 33, 995, 190, 870, 582, 708, 130, 708, 262, 926, 426, 995, 33, 400, 53, 709, 374, 709, 50, 17, 41, 133, 53, 995, 89, 995, 995, 53, 124, 995, 33, 616, 995, 76, 17, 78, 76, 135, 118, 82, 32, 115, 591, 168, 136, 610, 995, 995, 995, 53, 927, 192, 73, 618, 460, 132, 710, 264, 710, 461, 995, 53, 389, 32, 19, 401, 39, 72, 83, 995, 76, 39, 995, 617, 128, 76, 32, 995, 862, 53, 61, 995, 610, 37, 587, 1, 995, 915, 995, 16, 136, 57, 915, 57, 61, 995, 995, 137, 53, 914, 830, 913, 79, 449, 995, 995, 995, 995, 995, 20, 20, 995, 995, 32, 728, 913, 79, 4, 995, 928, 995, 84, 601, 263, 79, 711, 137, 711, 137, 588, 912, 912, 588, 995, 585, 728, 615, 995, 2, 615, 995, 929, 995, 604, 995, 131, 197, 712, 647, 712, 995, 930, 591, 137, 221, 871, 644, 713, 161, 713, 293, 931, 489, 995, 591, 191, 604, 714, 446, 714, 628, 613, 250, 584, 995, 60, 584, 995, 139, 604, 617, 995, 591, 184, 932, 623, 137, 586, 680, 614, 715, 208, 715, 621, 115, 148, 602, 280, 142, 476, 591, 614, 591, 617, 619, 416, 60, 620, 630, 995, 612, 995, 995, 612, 178, 144, 617, 631, 995, 614, 171, 933, 635, 121, 600, 167, 583, 716, 195, 716, 632, 120, 135, 995, 267, 934, 463, 583, 583, 723, 631, 81, 403, 81, 624, 845, 995, 629, 995, 76, 629, 133, 995, 631, 610, 145, 583, 175, 936, 625, 124, 599, 88, 611, 592, 199, 592, 823, 130, 139, 995, 271, 995, 467, 154, 611, 995, 610, 995, 407, 995, 647, 609, 995, 629, 995, 119, 995, 77, 629, 610, 995, 115, 611, 115, 995, 625, 782, 829, 935, 995, 939, 995, 872, 995, 784, 939, 784, 140, 995, 995, 82, 611, 938, 937, 936, 719, 2, 995, 911, 147, 148, 995, 59, 911, 59, 149, 610, 729, 936, 719, 910, 779, 909, 18, 598, 603, 995, 719, 58, 604, 995, 604, 592, 923, 923, 592, 909, 18, 729, 995, 940, 785, 941, 995, 874, 18, 791, 941, 791, 995, 38, 908, 908, 38, 932, 832, 917, 725, 3, 3, 907, 151, 148, 149, 19, 907, 19, 154, 37, 730, 917, 725, 906, 775, 905, 39, 637, 638, 53, 725, 628, 446, 628, 446, 590, 922, 922, 590, 905, 39, 730, 995, 949, 792, 952, 995, 11, 39, 804, 952, 804, 995, 61, 904, 904, 61, 951, 833, 950, 758, 4, 4, 903, 156, 135, 995, 40, 903, 40, 157, 145, 732, 950, 758, 902, 863, 901, 62, 639, 32, 391, 758, 489, 995, 489, 995, 694, 925, 925, 694, 901, 62, 732, 995, 953, 12, 956, 995, 379, 62, 805, 956, 805, 995, 21, 900, 900, 21, 955, 834, 954, 759, 5, 5, 899, 159, 142, 995, 63, 899, 63, 160, 152, 409, 954, 759, 898, 855, 897, 22, 640, 451, 995, 759, 293, 995, 293, 995, 695, 926, 926, 695, 897, 22, 409, 995, 965, 380, 967, 995, 439, 22, 807, 967, 807, 995, 42, 896, 896, 42, 966, 835, 958, 760, 6, 6, 895, 161, 160, 995, 23, 895, 23, 163, 161, 469, 958, 760, 894, 771, 893, 43, 641, 252, 995, 760, 161, 995, 161, 995, 696, 927, 927, 696, 893, 43, 469, 995, 968, 440, 970, 995, 102, 43, 809, 970, 809, 995, 65, 892, 892, 65, 969, 836, 959, 761, 7, 7, 891, 166, 117, 995, 44, 891, 44, 168, 147, 273, 959, 761, 890, 859, 889, 66, 642, 117, 995, 761, 644, 995, 644, 995, 697, 928, 928, 697, 889, 66, 273, 995, 971, 103, 973, 995, 113, 66, 811, 973, 811, 995, 25, 888, 888, 25, 972, 837, 960, 762, 8, 8, 887, 169, 157, 995, 67, 887, 67, 171, 154, 141, 960, 762, 682, 851, 886, 26, 645, 643, 995, 762, 221, 995, 221, 995, 698, 929, 929, 698, 886, 26, 141, 995, 974, 114, 976, 995, 875, 26, 813, 976, 813, 995, 46, 885, 885, 46, 975, 838, 961, 763, 9, 9, 884, 172, 164, 995, 27, 884, 27, 173, 172, 733, 961, 763, 677, 626, 883, 47, 646, 180, 995, 763, 647, 995, 647, 995, 699, 930, 930, 699, 883, 47, 733, 995, 977, 814, 979, 995, 108, 47, 825, 979, 825, 995, 69, 882, 882, 69, 978, 839, 962, 764, 10, 10, 881, 175, 173, 995, 48, 881, 48, 178, 132, 201, 962, 764, 873, 636, 880, 70, 648, 631, 995, 764, 197, 995, 197, 995, 700, 931, 931, 700, 880, 70, 201, 995, 980, 109, 981, 995, 13, 70, 827, 981, 827, 995, 29, 879, 879, 29, 919, 831, 918, 765, 11, 11, 732, 180, 159, 995, 71, 732, 71, 181, 169, 745, 918, 765, 788, 624, 90, 30, 649, 156, 995, 765, 615, 995, 615, 995, 589, 917, 917, 589, 90, 30, 745, 995, 986, 14, 987, 995, 110, 30, 846, 987, 846, 995, 50, 870, 870, 50, 984, 841, 963, 767, 12, 12, 746, 183, 166, 995, 31, 746, 31, 184, 176, 177, 963, 767, 680, 631, 717, 51, 650, 616, 995, 767, 121, 995, 121, 995, 702, 933, 933, 702, 717, 51, 177, 995, 988, 111, 989, 995, 12, 51, 847, 989, 847, 995, 73, 722, 722, 73, 932, 832, 964, 768, 13, 13, 745, 995, 184, 995, 52, 745, 52, 185, 185, 746, 964, 768, 681, 583, 86, 74, 651, 122, 995, 768, 614, 995, 614, 995, 703, 922, 922, 703, 86, 74, 746, 995, 992, 13, 991, 187, 14, 74, 848, 991, 848, 190, 33, 87, 87, 33, 985, 842, 920, 769, 938, 14, 995, 995, 873, 995, 664, 995, 664, 123, 144, 747, 920, 769, 192, 127, 916, 127, 920, 615, 792, 769, 783, 920, 783, 995, 80, 934, 934, 80, 919, 831, 747, 80, 14, 15, 747, 995, 171, 995, 75, 747, 75, 193, 181, 718, 918, 80, 683, 612, 718, 34, 652, 624, 995, 80, 617, 195, 617, 995, 589, 917, 124, 589, 718, 34, 718, 178, 16, 727, 728, 995, 196, 34, 36, 728, 36, 197, 54, 723, 723, 54, 867, 124, 85, 58, 199, 15, 57, 202, 79, 995, 36, 995, 36, 79, 188, 995, 85, 58, 995, 995, 778, 124, 588, 591, 995, 58, 995, 995, 196, 995, 17, 866, 866, 17, 939, 58, 588, 58, 729, 2, 719, 995, 719, 197, 204, 58, 995, 94, 156, 369, 17, 704, 704, 368, 369, 368, 58, 183, 995, 2, 193, 366, 363, 362, 361, 95, 995, 357, 129, 205, 995, 356, 357, 356, 118, 995, 118, 362, 361, 354, 351, 350, 349, 995, 657, 995, 361, 720, 620, 995, 620, 358, 359, 359, 358, 350, 349, 190, 995, 96, 95, 345, 207, 995, 349, 344, 345, 344, 995, 346, 347, 347, 346, 342, 339, 338, 337, 97, 96, 333, 131, 36, 200, 332, 333, 332, 132, 995, 132, 338, 337, 330, 327, 326, 325, 658, 659, 604, 337, 416, 476, 416, 476, 334, 335, 335, 334, 326, 325, 208, 995, 98, 97, 321, 209, 208, 325, 320, 321, 320, 995, 322, 323, 323, 322, 318, 315, 314, 313, 99, 98, 309, 134, 115, 995, 308, 309, 308, 130, 995, 130, 314, 313, 306, 303, 302, 301, 660, 417, 477, 313, 280, 995, 280, 995, 310, 311, 311, 310, 302, 301, 211, 209, 100, 99, 297, 214, 168, 301, 296, 297, 296, 995, 298, 299, 299, 298, 294, 291, 290, 289, 101, 100, 285, 138, 118, 995, 284, 285, 284, 139, 995, 139, 290, 289, 282, 279, 278, 277, 661, 281, 995, 289, 148, 995, 148, 995, 286, 287, 287, 286, 278, 277, 216, 195, 102, 101, 273, 217, 205, 277, 272, 273, 272, 995, 274, 275, 275, 274, 270, 267, 266, 265, 103, 102, 261, 141, 120, 995, 260, 261, 260, 133, 995, 133, 266, 265, 258, 255, 254, 253, 662, 149, 995, 265, 621, 995, 621, 995, 262, 263, 263, 262, 254, 253, 219, 202, 104, 103, 249, 220, 212, 253, 248, 249, 248, 995, 250, 251, 251, 250, 246, 243, 242, 241, 105, 104, 237, 143, 128, 995, 236, 237, 236, 144, 995, 144, 242, 241, 234, 231, 230, 229, 663, 622, 995, 241, 208, 995, 208, 995, 238, 239, 239, 238, 230, 229, 221, 220, 106, 105, 225, 223, 221, 229, 224, 225, 224, 995, 226, 227, 227, 226, 222, 219, 218, 217, 107, 106, 213, 146, 130, 995, 212, 213, 212, 142, 995, 142, 218, 217, 210, 207, 206, 205, 664, 209, 995, 217, 623, 995, 623, 995, 214, 215, 215, 214, 206, 205, 226, 180, 108, 107, 201, 228, 207, 205, 200, 201, 200, 995, 202, 203, 203, 202, 198, 195, 194, 193, 109, 108, 189, 150, 133, 995, 188, 189, 188, 151, 995, 151, 194, 193, 186, 183, 182, 181, 665, 624, 995, 193, 184, 995, 184, 995, 190, 191, 191, 190, 182, 181, 229, 217, 110, 109, 177, 231, 214, 181, 176, 177, 176, 995, 178, 179, 179, 178, 174, 171, 170, 169, 111, 110, 165, 153, 135, 995, 164, 165, 164, 145, 995, 145, 170, 169, 162, 159, 158, 157, 666, 185, 995, 169, 584, 995, 584, 995, 166, 167, 167, 166, 158, 157, 232, 224, 112, 111, 153, 233, 232, 157, 152, 153, 152, 995, 154, 155, 155, 154, 150, 147, 146, 145, 113, 112, 141, 155, 140, 995, 140, 141, 140, 156, 995, 156, 146, 145, 138, 135, 134, 133, 694, 585, 995, 145, 50, 995, 50, 995, 142, 143, 143, 142, 134, 133, 235, 233, 114, 113, 129, 238, 192, 133, 128, 129, 128, 995, 130, 131, 131, 130, 123, 120, 119, 118, 378, 114, 421, 158, 142, 995, 420, 421, 420, 154, 995, 154, 119, 118, 418, 415, 414, 413, 695, 51, 995, 118, 374, 995, 374, 995, 115, 116, 116, 115, 414, 413, 240, 219, 379, 16, 409, 241, 229, 413, 408, 409, 408, 995, 410, 411, 411, 410, 406, 403, 91, 402, 380, 379, 399, 162, 145, 995, 398, 399, 398, 163, 995, 163, 91, 402, 396, 393, 392, 92, 696, 92, 995, 402, 426, 995, 426, 995, 374, 400, 400, 374, 392, 92, 243, 226, 381, 380, 388, 244, 236, 92, 93, 388, 93, 995, 389, 390, 390, 389, 387, 384, 383, 373, 430, 381, 577, 165, 147, 995, 576, 577, 576, 157, 995, 157, 383, 373, 574, 571, 570, 569, 697, 376, 995, 373, 262, 995, 262, 995, 371, 382, 382, 371, 570, 569, 245, 244, 431, 94, 565, 247, 245, 569, 564, 565, 564, 995, 566, 567, 567, 566, 562, 559, 558, 557, 432, 431, 553, 167, 152, 995, 552, 553, 552, 168, 995, 168, 558, 557, 550, 547, 546, 545, 698, 253, 995, 557, 130, 995, 130, 995, 554, 555, 555, 554, 546, 545, 250, 204, 433, 432, 541, 252, 231, 545, 540, 541, 540, 995, 542, 543, 543, 542, 538, 535, 534, 533, 434, 433, 529, 170, 154, 995, 528, 529, 528, 166, 995, 166, 534, 533, 526, 523, 522, 521, 699, 118, 995, 533, 582, 995, 582, 995, 530, 531, 531, 530, 522, 521, 253, 241, 435, 434, 517, 255, 238, 521, 516, 517, 516, 995, 518, 519, 519, 518, 514, 511, 510, 509, 436, 435, 505, 174, 157, 995, 504, 505, 504, 175, 995, 175, 510, 509, 502, 499, 498, 497, 700, 428, 995, 509, 190, 995, 190, 995, 506, 507, 507, 506, 498, 497, 256, 248, 437, 436, 493, 257, 256, 497, 492, 493, 492, 995, 494, 495, 495, 494, 490, 487, 486, 485, 438, 437, 481, 177, 159, 995, 480, 481, 480, 169, 995, 169, 486, 485, 478, 475, 474, 473, 701, 181, 995, 485, 611, 995, 611, 995, 482, 483, 483, 482, 474, 473, 259, 257, 439, 438, 469, 262, 216, 473, 468, 469, 468, 995, 470, 471, 471, 470, 466, 463, 375, 462, 440, 439, 459, 179, 164, 995, 458, 459, 458, 180, 995, 180, 375, 462, 456, 453, 452, 376, 702, 612, 995, 462, 166, 995, 166, 995, 426, 460, 460, 426, 452, 376, 264, 243, 441, 440, 448, 265, 253, 376, 377, 448, 377, 995, 449, 450, 450, 449, 447, 444, 443, 425, 596, 441, 691, 182, 166, 995, 690, 691, 690, 178, 995, 178, 443, 425, 688, 687, 686, 608, 703, 157, 995, 425, 73, 995, 73, 995, 423, 442, 442, 423, 686, 608, 267, 250, 735, 378, 742, 995, 260, 608, 429, 742, 429, 995, 656, 684, 684, 656, 741, 738, 737, 581, 750, 597, 756, 186, 169, 995, 595, 756, 595, 187, 995, 187, 737, 581, 755, 753, 752, 693, 704, 74, 995, 581, 37, 995, 37, 995, 579, 736, 736, 579, 752, 693, 268, 268, 784, 430, 719, 995, 790, 693, 790, 719, 269, 995, 607, 751, 751, 607, 664, 636, 592, 995, 785, 596, 789, 271, 171, 995, 720, 789, 720, 274, 995, 724, 592, 724, 788, 624, 787, 82, 705, 38, 995, 724, 32, 995, 32, 995, 89, 652, 652, 995, 787, 82, 724, 269, 791, 785, 725, 995, 793, 82, 793, 725, 276, 228, 591, 786, 786, 591, 715, 631, 590, 995, 795, 721, 802, 995, 255, 995, 749, 802, 749, 277, 265, 731, 590, 731, 801, 798, 797, 594, 708, 33, 995, 731, 72, 995, 72, 995, 53, 705, 705, 995, 797, 594, 731, 995, 804, 792, 758, 279, 71, 594, 71, 758, 280, 262, 707, 796, 796, 707, 646, 624, 694, 995, 805, 750, 759, 995, 408, 995, 408, 759, 995, 281, 272, 30, 694, 30, 806, 403, 695, 995, 709, 73, 283, 30, 401, 995, 401, 286, 50, 708, 708, 402, 695, 402, 30, 995, 726, 12, 54, 288, 280, 402, 289, 54, 291, 281, 374, 709, 709, 995, 611, 995, 402, 292, 807, 380, 760, 293, 468, 941, 468, 760, 295, 730, 240, 725, 33, 725, 808, 463, 696, 995, 809, 389, 761, 267, 272, 995, 272, 761, 277, 53, 995, 462, 696, 462, 810, 267, 697, 727, 710, 995, 274, 462, 461, 284, 461, 292, 426, 710, 710, 265, 697, 265, 462, 995, 293, 440, 298, 300, 252, 265, 726, 189, 995, 279, 262, 711, 711, 181, 995, 181, 265, 301, 811, 103, 762, 303, 140, 950, 140, 762, 995, 90, 995, 694, 995, 694, 812, 135, 698, 711, 813, 449, 763, 264, 824, 264, 824, 763, 304, 995, 305, 133, 698, 133, 822, 632, 699, 191, 995, 289, 286, 133, 995, 192, 176, 192, 130, 712, 712, 744, 699, 744, 133, 995, 296, 114, 995, 995, 304, 744, 51, 814, 995, 821, 582, 713, 713, 734, 821, 734, 744, 995, 250, 814, 307, 820, 817, 816, 428, 995, 825, 305, 764, 264, 200, 995, 200, 764, 995, 310, 178, 816, 428, 995, 826, 195, 700, 995, 712, 995, 428, 995, 132, 995, 132, 619, 815, 815, 619, 193, 700, 193, 995, 995, 735, 194, 713, 312, 995, 193, 618, 190, 618, 190, 190, 714, 714, 291, 995, 995, 193, 313, 827, 109, 765, 315, 52, 951, 52, 765, 316, 788, 301, 646, 995, 646, 701, 583, 589, 995, 846, 115, 767, 995, 176, 995, 176, 767, 995, 317, 995, 74, 589, 74, 844, 171, 702, 995, 181, 619, 298, 74, 995, 995, 995, 319, 33, 590, 590, 169, 702, 169, 74, 995, 308, 14, 322, 324, 316, 169, 631, 198, 995, 317, 166, 716, 716, 199, 995, 199, 169, 325, 847, 111, 768, 327, 31, 952, 31, 768, 995, 732, 276, 758, 995, 758, 715, 631, 703, 714, 848, 328, 769, 192, 75, 192, 75, 769, 303, 329, 331, 51, 703, 51, 766, 612, 80, 201, 995, 313, 310, 51, 995, 193, 183, 193, 73, 705, 705, 34, 80, 34, 51, 995, 320, 13, 995, 995, 328, 34, 31, 872, 995, 729, 54, 81, 81, 790, 729, 790, 34, 995, 178, 15, 329, 873, 636, 88, 724, 874, 995, 730, 288, 315, 995, 793, 730, 793, 334, 995, 188, 88, 724, 680, 631, 87, 731, 715, 716, 995, 724, 610, 168, 610, 168, 89, 869, 869, 89, 87, 731, 336, 995, 875, 785, 733, 337, 995, 731, 824, 733, 824, 995, 53, 722, 722, 53, 876, 632, 427, 744, 942, 792, 948, 203, 339, 995, 794, 948, 794, 204, 325, 204, 427, 744, 947, 944, 943, 748, 719, 583, 154, 744, 724, 995, 724, 995, 582, 871, 871, 582, 943, 748, 340, 322, 597, 814, 683, 995, 332, 748, 609, 683, 609, 995, 593, 924, 924, 593, 682, 635, 341, 629, 721, 795, 723, 206, 190, 340, 83, 723, 83, 202, 995, 202, 681, 629, 680, 631, 995, 76, 725, 720, 995, 629, 731, 995, 731, 995, 611, 680, 995, 611, 87, 76, 343, 341, 783, 598, 80, 995, 726, 76, 726, 80, 995, 995, 53, 722, 995, 53, 701, 583, 346, 300, 792, 84, 718, 348, 193, 995, 726, 718, 726, 995, 210, 54, 589, 54, 681, 583, 211, 54, 211, 726, 995, 54, 23, 995, 43, 995, 33, 590, 995, 43, 86, 54, 54, 327, 995, 727, 858, 349, 65, 54, 351, 27, 995, 47, 33, 87, 995, 33, 47, 352, 995, 337, 65, 727, 995, 635, 334, 69, 31, 995, 51, 353, 36, 195, 58, 51, 355, 24, 24, 58, 995, 69, 610, 954, 73, 7, 782, 91, 17, 695, 358, 695, 40, 995, 62, 995, 28, 28, 73, 62, 344, 955, 17, 352, 10, 406, 854, 806, 21, 806, 360, 995, 353, 32, 32, 361, 995, 37, 37, 995, 363, 13, 21, 995, 312, 2, 44, 995, 66, 339, 995, 364, 48, 66, 70, 995, 92, 41, 41, 70, 850, 213, 25, 349, 365, 5, 623, 205, 29, 205, 52, 995, 74, 59, 393, 18, 25, 74, 995, 995, 18, 995, 29, 346, 611, 367, 33, 774, 356, 38, 995, 45, 45, 364, 63, 995, 22, 49, 49, 8, 33, 22, 995, 38, 365, 11, 370, 995, 770, 995, 42, 995, 995, 995, 200, 53, 53, 324, 60, 60, 67, 995, 26, 14, 42, 956, 3, 26, 371, 409, 71, 759, 30, 759, 625, 995, 46, 30, 351, 64, 64, 75, 995, 34, 647, 958, 50, 6, 34, 375, 46, 696, 372, 696, 93, 629, 373, 54, 758, 358, 50, 373, 30, 759, 30, 68, 68, 402, 372, 402, 371, 54, 373, 9, 215, 72, 72, 374, 398, 376, 216, 361, 216, 12, 371, 995, 76, 76, 128, 995, 118, 384, 995, 995, 15, 118, 385, 995, 376, 370, 370, 140, 127, 133, 115, 363, 995, 94, 133, 995, 386, 31, 152, 389, 145, 139, 398, 130, 115, 145, 391, 995, 164, 995, 157, 368, 151, 202, 142, 157, 92, 130, 377, 117, 117, 995, 163, 218, 154, 393, 995, 16, 142, 214, 385, 214, 132, 132, 176, 386, 169, 394, 154, 222, 114, 169, 995, 144, 144, 223, 995, 223, 175, 336, 166, 113, 373, 156, 156, 188, 395, 181, 200, 371, 193, 112, 181, 995, 166, 193, 397, 995, 212, 187, 205, 178, 199, 995, 190, 205, 205, 995, 394, 168, 168, 995, 211, 995, 202, 178, 995, 111, 190, 959, 395, 995, 207, 266, 401, 697, 402, 697, 202, 225, 180, 180, 995, 192, 192, 217, 403, 217, 110, 348, 224, 109, 217, 204, 204, 404, 236, 217, 229, 384, 248, 108, 241, 229, 223, 960, 214, 241, 995, 134, 235, 698, 226, 698, 247, 227, 238, 260, 995, 253, 214, 228, 253, 228, 253, 995, 226, 389, 995, 398, 238, 259, 212, 250, 995, 216, 216, 405, 995, 404, 995, 228, 228, 107, 995, 240, 240, 250, 405, 106, 272, 407, 265, 105, 995, 760, 995, 265, 118, 462, 995, 462, 252, 252, 271, 410, 262, 284, 214, 277, 104, 296, 995, 289, 277, 412, 995, 308, 289, 301, 262, 283, 995, 274, 301, 295, 995, 286, 995, 995, 360, 307, 995, 298, 961, 264, 264, 274, 427, 995, 699, 286, 699, 103, 393, 761, 995, 298, 458, 265, 413, 265, 276, 276, 415, 416, 288, 288, 402, 320, 102, 313, 300, 300, 101, 332, 313, 325, 374, 344, 100, 337, 325, 319, 962, 310, 337, 995, 194, 331, 700, 322, 700, 343, 230, 334, 356, 428, 349, 310, 226, 417, 226, 349, 995, 322, 995, 995, 260, 334, 355, 995, 346, 408, 312, 312, 419, 416, 417, 995, 324, 324, 99, 995, 336, 336, 346, 995, 98, 368, 422, 361, 97, 995, 762, 995, 361, 181, 133, 995, 133, 348, 348, 367, 423, 358, 377, 217, 425, 96, 398, 995, 92, 425, 370, 995, 408, 92, 402, 358, 424, 995, 423, 402, 397, 995, 389, 995, 995, 403, 407, 995, 374, 963, 360, 360, 423, 170, 995, 702, 389, 702, 95, 410, 763, 995, 374, 128, 744, 424, 744, 422, 422, 425, 426, 391, 391, 413, 420, 378, 413, 401, 401, 381, 429, 413, 581, 995, 458, 380, 376, 581, 419, 964, 410, 376, 995, 717, 580, 703, 579, 703, 457, 234, 449, 468, 157, 462, 410, 235, 428, 235, 462, 995, 579, 995, 995, 734, 449, 467, 995, 426, 415, 412, 412, 444, 420, 376, 995, 578, 578, 379, 995, 451, 451, 426, 995, 430, 480, 445, 473, 441, 995, 764, 995, 473, 74, 193, 995, 193, 461, 461, 479, 446, 470, 492, 219, 485, 440, 504, 995, 497, 485, 429, 995, 516, 497, 509, 470, 491, 995, 482, 509, 503, 995, 494, 995, 995, 445, 515, 995, 506, 966, 472, 472, 482, 466, 995, 808, 494, 808, 439, 446, 765, 995, 506, 188, 74, 449, 74, 484, 484, 451, 453, 496, 496, 391, 528, 438, 521, 508, 508, 437, 540, 521, 533, 995, 552, 436, 545, 533, 527, 967, 518, 545, 995, 469, 539, 760, 530, 760, 551, 237, 542, 564, 453, 557, 518, 229, 454, 229, 557, 995, 530, 995, 995, 75, 542, 563, 995, 554, 425, 520, 520, 455, 423, 454, 995, 532, 532, 435, 995, 544, 544, 554, 995, 434, 576, 457, 569, 433, 995, 766, 995, 569, 458, 629, 995, 629, 556, 556, 575, 461, 566, 595, 224, 693, 432, 690, 995, 608, 693, 455, 995, 720, 608, 82, 566, 692, 995, 607, 82, 689, 995, 656, 995, 995, 401, 647, 995, 591, 969, 568, 568, 607, 270, 995, 810, 656, 810, 431, 444, 767, 995, 591, 630, 169, 995, 169, 655, 655, 995, 462, 685, 685, 449, 734, 596, 428, 604, 604, 597, 749, 428, 594, 995, 790, 721, 724, 594, 743, 970, 619, 724, 995, 273, 757, 761, 707, 761, 623, 239, 89, 793, 255, 731, 619, 240, 995, 240, 731, 995, 707, 995, 995, 164, 89, 610, 995, 53, 768, 643, 643, 463, 51, 458, 51, 606, 606, 735, 995, 617, 617, 53, 995, 750, 794, 464, 748, 785, 995, 769, 995, 748, 260, 34, 995, 34, 32, 32, 803, 995, 593, 824, 226, 744, 792, 972, 995, 995, 744, 138, 995, 812, 973, 812, 593, 823, 141, 582, 762, 975, 762, 52, 995, 876, 464, 822, 995, 822, 976, 706, 706, 582, 733, 995, 763, 978, 763, 795, 465, 198, 465, 826, 35, 826, 979, 981, 618, 618, 201, 745, 764, 765, 764, 765, 814, 983, 984, 995, 120, 682, 174, 843, 844, 843, 844, 128, 995, 985, 467, 995, 987, 683, 817, 766, 177, 766, 767, 995, 767, 989, 470, 734, 995, 746, 995, 768, 991, 768, 183, 995, 747, 995, 769, 412, 769, 994, 242, 188, 75, 878, 995, 849, 238, 849, 238, 246, 249, 995, 626, 159, 251, 247, 241, 247, 241, 995, 252, 472, 252, 254, 630, 453, 258, 164, 995, 250, 473, 250, 259, 261, 259, 995, 52, 462, 263, 253, 995, 253, 266, 35, 264, 995, 264, 995, 262, 270, 262, 995, 628, 229, 995, 271, 475, 271, 273, 995, 995, 995, 231, 236, 265, 275, 265, 238, 995, 278, 476, 276, 282, 276, 426, 274, 241, 274, 283, 243, 283, 285, 287, 468, 995, 477, 248, 277, 288, 277, 288, 250, 290, 294, 995, 253, 995, 297, 286, 295, 286, 295, 255, 289, 299, 289, 995, 302, 306, 476, 300, 260, 300, 298, 307, 298, 307, 995, 262, 995, 309, 311, 265, 477, 314, 267, 301, 312, 301, 312, 310, 318, 310, 479, 272, 274, 321, 319, 422, 319, 482, 323, 313, 995, 313, 277, 279, 324, 326, 324, 284, 995, 484, 485, 322, 487, 322, 286, 330, 333, 289, 291, 335, 338, 331, 325, 331, 325, 336, 334, 336, 334, 342, 296, 298, 345, 995, 301, 343, 347, 343, 337, 350, 337, 303, 348, 463, 348, 346, 308, 346, 354, 357, 473, 310, 488, 359, 355, 349, 355, 349, 313, 360, 995, 360, 470, 480, 489, 488, 995, 491, 315, 320, 362, 366, 322, 325, 995, 369, 358, 367, 358, 367, 375, 361, 327, 361, 995, 332, 426, 382, 426, 334, 383, 387, 337, 370, 995, 370, 371, 372, 371, 372, 494, 339, 344, 388, 390, 489, 346, 392, 396, 373, 391, 373, 391, 389, 397, 389, 397, 451, 995, 399, 475, 496, 497, 349, 351, 92, 400, 92, 356, 406, 409, 995, 401, 376, 401, 407, 402, 407, 402, 411, 358, 995, 414, 361, 363, 412, 418, 412, 410, 995, 410, 995, 419, 485, 419, 995, 368, 371, 421, 427, 373, 384, 442, 443, 413, 582, 413, 582, 422, 423, 422, 423, 93, 995, 482, 492, 499, 500, 447, 389, 995, 448, 393, 398, 424, 450, 424, 425, 452, 425, 995, 451, 374, 451, 449, 402, 449, 456, 459, 403, 995, 460, 466, 457, 376, 457, 376, 461, 467, 461, 467, 408, 428, 469, 471, 410, 413, 474, 478, 462, 472, 462, 472, 470, 479, 470, 479, 481, 995, 500, 501, 415, 501, 473, 420, 473, 483, 486, 423, 995, 490, 425, 484, 482, 484, 482, 491, 995, 491, 503, 444, 377, 493, 495, 449, 453, 498, 502, 485, 496, 485, 496, 494, 503, 494, 503, 458, 426, 505, 507, 462, 463, 506, 510, 497, 508, 497, 508, 514, 506, 468, 506, 995, 995, 515, 461, 515, 508, 517, 470, 473, 519, 522, 475, 509, 526, 509, 520, 518, 520, 518, 527, 487, 527, 509, 480, 482, 529, 531, 485, 487, 534, 538, 521, 532, 521, 532, 530, 539, 530, 539, 492, 494, 995, 541, 497, 497, 543, 546, 995, 533, 499, 533, 544, 542, 544, 542, 511, 995, 995, 494, 504, 512, 550, 506, 509, 553, 555, 511, 551, 558, 551, 545, 556, 545, 556, 554, 504, 554, 513, 516, 518, 562, 565, 521, 523, 567, 570, 563, 557, 563, 557, 568, 566, 568, 566, 574, 528, 515, 577, 530, 533, 575, 667, 575, 569, 668, 569, 995, 124, 512, 124, 583, 995, 583, 513, 535, 518, 669, 540, 542, 670, 671, 545, 631, 672, 631, 624, 403, 624, 403, 463, 472, 463, 520, 547, 552, 673, 674, 554, 557, 521, 675, 267, 135, 267, 135, 676, 632, 559, 632, 499, 564, 195, 677, 195, 125, 678, 679, 584, 635, 680, 635, 171, 612, 171, 612, 610, 995, 610, 509, 614, 523, 681, 617, 404, 682, 683, 464, 611, 684, 611, 625, 629, 625, 629, 685, 506, 685, 524, 268, 136, 995, 686, 516, 633, 688, 691, 995, 656, 196, 656, 689, 608, 689, 608, 525, 636, 995, 717, 172, 613, 718, 722, 583, 73, 723, 73, 54, 32, 54, 32, 76, 995, 76, 524, 612, 527, 728, 626, 630, 729, 730, 611, 58, 732, 58, 724, 731, 724, 731, 30, 525, 30, 530, 733, 629, 532, 736, 635, 609, 744, 737, 744, 578, 741, 578, 995, 579, 484, 579, 580, 74, 580, 742, 55, 33, 745, 746, 77, 581, 747, 581, 74, 51, 74, 51, 34, 995, 34, 511, 59, 995, 751, 720, 726, 752, 755, 31, 655, 995, 655, 607, 692, 607, 692, 756, 521, 734, 995, 518, 566, 693, 778, 693, 569, 786, 782, 571, 782, 787, 995, 604, 995, 604, 995, 591, 576, 591, 788, 75, 52, 789, 796, 35, 647, 797, 647, 82, 606, 82, 606, 707, 995, 707, 801, 656, 995, 802, 608, 687, 757, 995, 757, 594, 995, 594, 806, 808, 690, 995, 407, 467, 407, 467, 533, 779, 995, 810, 53, 815, 812, 271, 76, 271, 139, 643, 139, 643, 995, 535, 536, 631, 537, 816, 83, 607, 820, 821, 693, 619, 995, 619, 743, 428, 743, 428, 995, 753, 822, 826, 595, 995, 823, 199, 823, 199, 995, 830, 831, 393, 453, 124, 583, 124, 583, 832, 539, 528, 995, 631, 255, 631, 579, 120, 833, 834, 995, 995, 624, 403, 624, 403, 536, 537, 995, 496, 581, 835, 836, 738, 429, 463, 267, 463, 267, 995, 995, 542, 995, 837, 838, 817, 183, 135, 632, 135, 632, 544, 839, 840, 125, 584, 195, 635, 195, 635, 841, 842, 614, 523, 171, 612, 171, 612, 995, 843, 844, 617, 404, 625, 175, 625, 175, 849, 995, 995, 866, 627, 995, 627, 464, 268, 37, 867, 37, 995, 995, 995, 869, 782, 533, 782, 136, 633, 617, 545, 617, 870, 871, 995, 530, 196, 636, 72, 618, 72, 618, 873, 876, 172, 613, 995, 995, 623, 823, 623, 823, 878, 626, 159, 547, 995, 879, 627, 995, 627, 628, 880, 49, 38, 49, 881, 882, 29, 995, 29, 779, 70, 28, 70, 28, 591, 995, 995, 548, 549, 883, 884, 540, 995, 73, 619, 69, 47, 69, 47, 885, 886, 995, 995, 624, 817, 68, 46, 68, 46, 887, 995, 995, 551, 628, 888, 26, 548, 26, 50, 554, 45, 995, 45, 30, 889, 890, 995, 71, 29, 891, 25, 850, 25, 850, 995, 66, 556, 66, 892, 893, 549, 508, 70, 48, 24, 65, 24, 65, 894, 895, 995, 995, 69, 47, 858, 43, 858, 43, 896, 995, 995, 995, 27, 897, 64, 535, 64, 46, 898, 42, 995, 42, 545, 899, 770, 995, 770, 26, 851, 22, 900, 22, 67, 995, 995, 995, 41, 901, 41, 542, 902, 25, 66, 21, 995, 21, 854, 903, 854, 557, 904, 859, 44, 62, 905, 62, 20, 906, 20, 559, 61, 65, 61, 862, 907, 862, 43, 908, 560, 561, 39, 771, 39, 60, 909, 60, 23, 563, 910, 911, 38, 566, 38, 42, 774, 18, 774, 18, 924, 568, 22, 937, 569, 855, 706, 636, 706, 636, 943, 571, 63, 572, 552, 21, 593, 947, 593, 62, 948, 573, 863, 803, 560, 803, 748, 575, 748, 40, 578, 579, 61, 561, 520, 580, 581, 582, 583, 39, 584, 591, 547, 775, 19, 593, 557, 594, 604, 605, 606, 607, 608, 707, 554, 610, 620, 564, 611, 612, 614, 615, 617, 594, 572, 618, 573, 619, 620, 621, 798, 622, 623, 749, 532, 624, 625, 626, 627, 628, 559, 629, 631, 566, 569, 632, 633, 634, 571, 576, 428, 584, 635, 585, 76, 636, 643, 644, 594, 647, 595, 53, 606, 607, 608, 609, 653, 654, 583, 655, 656, 612, 613, 615, 616, 591, 685, 687, 619, 689, 581, 604, 622, 692, 578, 624, 693, 706, 617, 626, 627, 628, 32, 707, 630, 614, 724, 731, 633, 634, 568, 738, 739, 740, 743, 636, 744, 748, 620, 579, 643, 753, 631, 754, 757, 770, 771, 772, 773, 654, 655, 774, 656, 629, 775, 776, 777, 779, 780, 611, 623, 781, 635, 782, 798, 799, 687, 800, 803, 690, 707, 817, 818, 819, 823, 850, 693, 851, 852, 720, 726, 853, 854, 855, 739, 740, 544, 738, 856, 734, 749, 857, 858, 859, 754, 860, 647, 753, 771, 772, 773, 28, 861, 862, 775, 863, 864, 776, 777, 24, 780, 781, 865, 944, 64, 945, 779, 799, 800, 946, 610, 798, 993, 995, 818, 819, 556, 817, 851, 995, 852, 853, 995, 995, 72, 855, 856, 995, 995, 995, 995, 857, 995, 995, 68, 859, 860, 995, 861, 995, 995, 995, 995, 995, 995, 49, 863, 995, 864, 865, 995, 995, 995, 995, 995, 45, 945, 995, 946, 995, 995, 995, 685, 995, 995, 625}; /* Check vector for state transitions. */ static const unsigned short btver2_fp_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 995, 56, 56, 56, 56, 17, 56, 56, 56, 56, 56, 56, 56, 56, 18, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 20, 56, 56, 56, 56, 56, 56, 990, 995, 990, 995, 990, 990, 990, 17, 990, 990, 990, 990, 990, 990, 990, 990, 18, 21, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 990, 995, 990, 990, 990, 990, 990, 990, 20, 22, 990, 990, 995, 990, 990, 990, 78, 995, 78, 995, 78, 78, 78, 995, 24, 78, 78, 78, 78, 78, 78, 78, 21, 25, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 995, 78, 78, 78, 78, 78, 78, 22, 26, 78, 78, 28, 78, 78, 78, 957, 995, 957, 995, 957, 957, 957, 24, 957, 957, 957, 957, 957, 957, 957, 957, 25, 29, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 957, 995, 957, 995, 957, 957, 957, 957, 26, 30, 957, 28, 995, 957, 957, 957, 587, 995, 587, 995, 587, 587, 587, 995, 32, 587, 587, 587, 587, 587, 587, 587, 29, 33, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 995, 587, 85, 587, 587, 587, 587, 30, 85, 587, 85, 995, 587, 587, 587, 921, 995, 921, 995, 921, 921, 921, 32, 921, 921, 921, 921, 921, 921, 921, 921, 33, 34, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 921, 995, 85, 86, 921, 995, 921, 921, 995, 86, 921, 86, 995, 921, 921, 921, 586, 995, 586, 995, 586, 586, 586, 995, 37, 586, 586, 586, 586, 586, 586, 586, 34, 38, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 995, 86, 39, 586, 79, 586, 586, 995, 79, 586, 79, 995, 586, 586, 586, 599, 995, 599, 995, 599, 599, 599, 37, 41, 599, 599, 599, 599, 599, 599, 599, 38, 42, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 995, 39, 43, 79, 80, 599, 599, 995, 80, 599, 80, 995, 599, 599, 599, 600, 995, 600, 995, 600, 600, 600, 41, 45, 600, 600, 600, 600, 600, 600, 600, 42, 46, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 47, 43, 49, 80, 81, 600, 600, 995, 81, 600, 81, 995, 600, 600, 600, 982, 995, 982, 995, 982, 982, 982, 45, 982, 982, 982, 982, 982, 982, 982, 982, 46, 50, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, 47, 51, 49, 87, 81, 53, 982, 982, 995, 87, 982, 87, 995, 982, 982, 982, 828, 995, 828, 995, 828, 828, 828, 995, 54, 828, 828, 828, 828, 828, 828, 828, 50, 58, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 51, 60, 87, 88, 53, 61, 828, 828, 995, 88, 828, 88, 62, 828, 828, 828, 829, 995, 829, 995, 829, 829, 829, 54, 995, 829, 829, 829, 829, 829, 829, 829, 58, 995, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 829, 60, 64, 88, 995, 61, 995, 829, 829, 995, 995, 829, 62, 995, 829, 829, 829, 15, 15, 15, 995, 995, 15, 15, 15, 15, 15, 995, 65, 15, 995, 15, 15, 15, 15, 15, 995, 15, 995, 15, 995, 15, 995, 15, 995, 15, 995, 15, 15, 15, 995, 15, 995, 15, 995, 64, 15, 15, 995, 15, 995, 15, 15, 15, 15, 15, 15, 995, 588, 15, 15, 727, 588, 727, 588, 66, 727, 727, 68, 727, 727, 65, 90, 727, 995, 727, 727, 995, 90, 727, 90, 727, 995, 727, 995, 727, 995, 727, 995, 727, 995, 727, 727, 727, 995, 727, 995, 727, 995, 69, 70, 727, 995, 727, 995, 727, 727, 995, 995, 727, 727, 588, 72, 727, 727, 35, 35, 35, 66, 995, 35, 68, 35, 73, 35, 90, 912, 35, 995, 35, 912, 35, 912, 35, 912, 35, 995, 35, 995, 35, 995, 35, 995, 35, 995, 35, 995, 35, 995, 35, 995, 35, 69, 70, 74, 35, 995, 35, 995, 76, 35, 35, 82, 35, 35, 72, 589, 35, 35, 84, 589, 84, 589, 995, 84, 84, 73, 84, 84, 912, 995, 84, 913, 84, 84, 995, 913, 84, 913, 84, 913, 84, 995, 84, 89, 84, 995, 84, 914, 84, 84, 84, 914, 84, 914, 84, 914, 74, 995, 84, 995, 84, 76, 84, 84, 82, 995, 84, 868, 589, 868, 84, 84, 868, 868, 590, 868, 868, 995, 590, 868, 590, 868, 868, 995, 913, 868, 915, 868, 92, 868, 915, 868, 915, 868, 915, 868, 89, 868, 868, 868, 914, 868, 917, 868, 115, 117, 917, 995, 917, 868, 917, 868, 868, 118, 995, 868, 598, 995, 598, 868, 868, 598, 598, 120, 598, 598, 995, 590, 598, 918, 598, 598, 995, 918, 598, 918, 598, 918, 598, 915, 598, 92, 598, 995, 598, 919, 598, 598, 598, 919, 598, 919, 598, 919, 995, 917, 995, 115, 117, 121, 598, 598, 122, 995, 598, 877, 118, 877, 598, 598, 877, 877, 995, 877, 877, 995, 120, 877, 124, 877, 877, 995, 918, 877, 920, 877, 125, 877, 920, 877, 920, 877, 920, 877, 995, 877, 877, 877, 919, 877, 91, 877, 55, 995, 55, 995, 91, 55, 91, 877, 877, 55, 121, 877, 55, 122, 55, 877, 877, 922, 55, 995, 55, 922, 55, 922, 55, 922, 55, 995, 55, 124, 55, 995, 55, 995, 55, 920, 55, 125, 116, 126, 55, 995, 55, 995, 116, 55, 116, 127, 55, 55, 995, 91, 55, 55, 77, 995, 77, 130, 592, 77, 132, 923, 592, 77, 592, 923, 77, 923, 77, 923, 922, 925, 77, 995, 77, 925, 77, 925, 77, 925, 77, 926, 77, 995, 77, 926, 77, 926, 77, 926, 77, 116, 126, 133, 77, 995, 77, 995, 995, 77, 127, 995, 77, 616, 995, 616, 77, 77, 616, 135, 130, 592, 616, 132, 923, 616, 136, 616, 995, 995, 995, 616, 927, 616, 925, 616, 927, 616, 927, 616, 927, 616, 995, 616, 926, 616, 19, 616, 19, 616, 83, 995, 83, 19, 995, 616, 133, 83, 616, 995, 19, 616, 19, 995, 83, 616, 616, 1, 995, 1, 995, 1, 135, 1, 1, 1, 19, 995, 995, 136, 83, 1, 1, 1, 1, 927, 995, 995, 995, 995, 995, 19, 19, 995, 995, 83, 1, 1, 1, 19, 995, 928, 995, 83, 601, 928, 1, 928, 601, 928, 601, 1, 1, 1, 1, 995, 585, 1, 585, 995, 1, 585, 995, 929, 995, 585, 995, 929, 585, 929, 585, 929, 995, 930, 585, 137, 585, 930, 585, 930, 585, 930, 585, 931, 585, 995, 585, 931, 585, 931, 585, 931, 585, 613, 928, 613, 995, 601, 613, 995, 139, 585, 613, 995, 585, 613, 932, 613, 585, 585, 932, 613, 932, 613, 932, 613, 929, 613, 602, 613, 142, 613, 602, 613, 602, 613, 930, 613, 137, 613, 630, 995, 630, 995, 995, 630, 931, 144, 613, 630, 995, 613, 630, 933, 630, 613, 613, 933, 630, 933, 630, 933, 630, 139, 630, 995, 630, 934, 630, 932, 630, 934, 630, 934, 630, 934, 630, 845, 995, 845, 995, 602, 845, 142, 995, 630, 845, 145, 630, 845, 936, 845, 630, 630, 936, 845, 936, 845, 936, 845, 144, 845, 995, 845, 995, 845, 933, 845, 995, 845, 995, 845, 995, 845, 609, 995, 609, 995, 119, 995, 934, 609, 845, 995, 119, 845, 119, 995, 609, 845, 845, 935, 995, 935, 995, 935, 995, 935, 935, 935, 145, 995, 995, 936, 609, 935, 935, 935, 935, 2, 995, 2, 147, 148, 995, 2, 2, 2, 149, 609, 935, 935, 935, 2, 2, 2, 2, 609, 603, 995, 935, 119, 603, 995, 603, 935, 935, 935, 935, 2, 2, 935, 995, 940, 935, 940, 995, 940, 2, 940, 940, 940, 995, 2, 2, 2, 2, 940, 940, 940, 940, 3, 2, 3, 151, 147, 148, 3, 3, 3, 154, 149, 940, 940, 940, 3, 3, 3, 3, 637, 638, 603, 940, 637, 638, 637, 638, 940, 940, 940, 940, 3, 3, 940, 995, 949, 940, 949, 995, 949, 3, 949, 949, 949, 995, 3, 3, 3, 3, 949, 949, 949, 949, 4, 3, 4, 156, 151, 995, 4, 4, 4, 157, 154, 949, 949, 949, 4, 4, 4, 4, 639, 637, 638, 949, 639, 995, 639, 995, 949, 949, 949, 949, 4, 4, 949, 995, 953, 949, 953, 995, 953, 4, 953, 953, 953, 995, 4, 4, 4, 4, 953, 953, 953, 953, 5, 4, 5, 159, 156, 995, 5, 5, 5, 160, 157, 953, 953, 953, 5, 5, 5, 5, 640, 639, 995, 953, 640, 995, 640, 995, 953, 953, 953, 953, 5, 5, 953, 995, 965, 953, 965, 995, 965, 5, 965, 965, 965, 995, 5, 5, 5, 5, 965, 965, 965, 965, 6, 5, 6, 161, 159, 995, 6, 6, 6, 163, 160, 965, 965, 965, 6, 6, 6, 6, 641, 640, 995, 965, 641, 995, 641, 995, 965, 965, 965, 965, 6, 6, 965, 995, 968, 965, 968, 995, 968, 6, 968, 968, 968, 995, 6, 6, 6, 6, 968, 968, 968, 968, 7, 6, 7, 166, 161, 995, 7, 7, 7, 168, 163, 968, 968, 968, 7, 7, 7, 7, 642, 641, 995, 968, 642, 995, 642, 995, 968, 968, 968, 968, 7, 7, 968, 995, 971, 968, 971, 995, 971, 7, 971, 971, 971, 995, 7, 7, 7, 7, 971, 971, 971, 971, 8, 7, 8, 169, 166, 995, 8, 8, 8, 171, 168, 971, 971, 971, 8, 8, 8, 8, 645, 642, 995, 971, 645, 995, 645, 995, 971, 971, 971, 971, 8, 8, 971, 995, 974, 971, 974, 995, 974, 8, 974, 974, 974, 995, 8, 8, 8, 8, 974, 974, 974, 974, 9, 8, 9, 172, 169, 995, 9, 9, 9, 173, 171, 974, 974, 974, 9, 9, 9, 9, 646, 645, 995, 974, 646, 995, 646, 995, 974, 974, 974, 974, 9, 9, 974, 995, 977, 974, 977, 995, 977, 9, 977, 977, 977, 995, 9, 9, 9, 9, 977, 977, 977, 977, 10, 9, 10, 175, 172, 995, 10, 10, 10, 178, 173, 977, 977, 977, 10, 10, 10, 10, 648, 646, 995, 977, 648, 995, 648, 995, 977, 977, 977, 977, 10, 10, 977, 995, 980, 977, 980, 995, 980, 10, 980, 980, 980, 995, 10, 10, 10, 10, 980, 980, 980, 980, 11, 10, 11, 180, 175, 995, 11, 11, 11, 181, 178, 980, 980, 980, 11, 11, 11, 11, 649, 648, 995, 980, 649, 995, 649, 995, 980, 980, 980, 980, 11, 11, 980, 995, 986, 980, 986, 995, 986, 11, 986, 986, 986, 995, 11, 11, 11, 11, 986, 986, 986, 986, 12, 11, 12, 183, 180, 995, 12, 12, 12, 184, 181, 986, 986, 986, 12, 12, 12, 12, 650, 649, 995, 986, 650, 995, 650, 995, 986, 986, 986, 986, 12, 12, 986, 995, 988, 986, 988, 995, 988, 12, 988, 988, 988, 995, 12, 12, 12, 12, 988, 988, 988, 988, 13, 12, 13, 995, 183, 995, 13, 13, 13, 185, 184, 988, 988, 988, 13, 13, 13, 13, 651, 650, 995, 988, 651, 995, 651, 995, 988, 988, 988, 988, 13, 13, 988, 995, 992, 988, 992, 187, 992, 13, 992, 992, 992, 190, 13, 13, 13, 13, 992, 992, 992, 992, 938, 13, 995, 995, 938, 995, 938, 995, 938, 123, 185, 992, 992, 992, 192, 123, 916, 123, 916, 651, 916, 992, 916, 916, 916, 995, 992, 992, 992, 992, 916, 916, 992, 916, 14, 992, 14, 995, 187, 995, 14, 14, 14, 193, 190, 916, 916, 916, 14, 14, 14, 14, 652, 938, 995, 916, 652, 195, 652, 995, 916, 916, 123, 916, 14, 14, 916, 192, 16, 916, 16, 995, 196, 14, 16, 16, 16, 197, 14, 14, 14, 14, 16, 16, 16, 16, 199, 14, 57, 202, 57, 995, 57, 995, 57, 57, 193, 995, 16, 16, 995, 995, 57, 57, 57, 652, 995, 16, 995, 995, 195, 995, 16, 16, 16, 16, 939, 57, 57, 57, 939, 16, 939, 995, 939, 196, 204, 57, 995, 94, 197, 94, 57, 57, 57, 94, 94, 94, 57, 199, 995, 57, 202, 94, 94, 94, 94, 95, 995, 95, 129, 205, 995, 95, 95, 95, 129, 995, 129, 94, 94, 95, 95, 95, 95, 995, 657, 995, 94, 939, 657, 995, 657, 94, 94, 94, 94, 95, 95, 204, 995, 96, 94, 96, 207, 995, 95, 96, 96, 96, 995, 95, 95, 95, 95, 96, 96, 96, 96, 97, 95, 97, 131, 129, 205, 97, 97, 97, 131, 995, 131, 96, 96, 97, 97, 97, 97, 658, 659, 657, 96, 658, 659, 658, 659, 96, 96, 96, 96, 97, 97, 208, 995, 98, 96, 98, 209, 207, 97, 98, 98, 98, 995, 97, 97, 97, 97, 98, 98, 98, 98, 99, 97, 99, 134, 131, 995, 99, 99, 99, 134, 995, 134, 98, 98, 99, 99, 99, 99, 660, 658, 659, 98, 660, 995, 660, 995, 98, 98, 98, 98, 99, 99, 211, 208, 100, 98, 100, 214, 209, 99, 100, 100, 100, 995, 99, 99, 99, 99, 100, 100, 100, 100, 101, 99, 101, 138, 134, 995, 101, 101, 101, 138, 995, 138, 100, 100, 101, 101, 101, 101, 661, 660, 995, 100, 661, 995, 661, 995, 100, 100, 100, 100, 101, 101, 216, 211, 102, 100, 102, 217, 214, 101, 102, 102, 102, 995, 101, 101, 101, 101, 102, 102, 102, 102, 103, 101, 103, 141, 138, 995, 103, 103, 103, 141, 995, 141, 102, 102, 103, 103, 103, 103, 662, 661, 995, 102, 662, 995, 662, 995, 102, 102, 102, 102, 103, 103, 219, 216, 104, 102, 104, 220, 217, 103, 104, 104, 104, 995, 103, 103, 103, 103, 104, 104, 104, 104, 105, 103, 105, 143, 141, 995, 105, 105, 105, 143, 995, 143, 104, 104, 105, 105, 105, 105, 663, 662, 995, 104, 663, 995, 663, 995, 104, 104, 104, 104, 105, 105, 221, 219, 106, 104, 106, 223, 220, 105, 106, 106, 106, 995, 105, 105, 105, 105, 106, 106, 106, 106, 107, 105, 107, 146, 143, 995, 107, 107, 107, 146, 995, 146, 106, 106, 107, 107, 107, 107, 664, 663, 995, 106, 664, 995, 664, 995, 106, 106, 106, 106, 107, 107, 226, 221, 108, 106, 108, 228, 223, 107, 108, 108, 108, 995, 107, 107, 107, 107, 108, 108, 108, 108, 109, 107, 109, 150, 146, 995, 109, 109, 109, 150, 995, 150, 108, 108, 109, 109, 109, 109, 665, 664, 995, 108, 665, 995, 665, 995, 108, 108, 108, 108, 109, 109, 229, 226, 110, 108, 110, 231, 228, 109, 110, 110, 110, 995, 109, 109, 109, 109, 110, 110, 110, 110, 111, 109, 111, 153, 150, 995, 111, 111, 111, 153, 995, 153, 110, 110, 111, 111, 111, 111, 666, 665, 995, 110, 666, 995, 666, 995, 110, 110, 110, 110, 111, 111, 232, 229, 112, 110, 112, 233, 231, 111, 112, 112, 112, 995, 111, 111, 111, 111, 112, 112, 112, 112, 113, 111, 113, 155, 153, 995, 113, 113, 113, 155, 995, 155, 112, 112, 113, 113, 113, 113, 694, 666, 995, 112, 694, 995, 694, 995, 112, 112, 112, 112, 113, 113, 235, 232, 114, 112, 114, 238, 233, 113, 114, 114, 114, 995, 113, 113, 113, 113, 114, 114, 114, 114, 378, 113, 378, 158, 155, 995, 378, 378, 378, 158, 995, 158, 114, 114, 378, 378, 378, 378, 695, 694, 995, 114, 695, 995, 695, 995, 114, 114, 114, 114, 378, 378, 240, 235, 379, 114, 379, 241, 238, 378, 379, 379, 379, 995, 378, 378, 378, 378, 379, 379, 379, 379, 380, 378, 380, 162, 158, 995, 380, 380, 380, 162, 995, 162, 379, 379, 380, 380, 380, 380, 696, 695, 995, 379, 696, 995, 696, 995, 379, 379, 379, 379, 380, 380, 243, 240, 381, 379, 381, 244, 241, 380, 381, 381, 381, 995, 380, 380, 380, 380, 381, 381, 381, 381, 430, 380, 430, 165, 162, 995, 430, 430, 430, 165, 995, 165, 381, 381, 430, 430, 430, 430, 697, 696, 995, 381, 697, 995, 697, 995, 381, 381, 381, 381, 430, 430, 245, 243, 431, 381, 431, 247, 244, 430, 431, 431, 431, 995, 430, 430, 430, 430, 431, 431, 431, 431, 432, 430, 432, 167, 165, 995, 432, 432, 432, 167, 995, 167, 431, 431, 432, 432, 432, 432, 698, 697, 995, 431, 698, 995, 698, 995, 431, 431, 431, 431, 432, 432, 250, 245, 433, 431, 433, 252, 247, 432, 433, 433, 433, 995, 432, 432, 432, 432, 433, 433, 433, 433, 434, 432, 434, 170, 167, 995, 434, 434, 434, 170, 995, 170, 433, 433, 434, 434, 434, 434, 699, 698, 995, 433, 699, 995, 699, 995, 433, 433, 433, 433, 434, 434, 253, 250, 435, 433, 435, 255, 252, 434, 435, 435, 435, 995, 434, 434, 434, 434, 435, 435, 435, 435, 436, 434, 436, 174, 170, 995, 436, 436, 436, 174, 995, 174, 435, 435, 436, 436, 436, 436, 700, 699, 995, 435, 700, 995, 700, 995, 435, 435, 435, 435, 436, 436, 256, 253, 437, 435, 437, 257, 255, 436, 437, 437, 437, 995, 436, 436, 436, 436, 437, 437, 437, 437, 438, 436, 438, 177, 174, 995, 438, 438, 438, 177, 995, 177, 437, 437, 438, 438, 438, 438, 701, 700, 995, 437, 701, 995, 701, 995, 437, 437, 437, 437, 438, 438, 259, 256, 439, 437, 439, 262, 257, 438, 439, 439, 439, 995, 438, 438, 438, 438, 439, 439, 439, 439, 440, 438, 440, 179, 177, 995, 440, 440, 440, 179, 995, 179, 439, 439, 440, 440, 440, 440, 702, 701, 995, 439, 702, 995, 702, 995, 439, 439, 439, 439, 440, 440, 264, 259, 441, 439, 441, 265, 262, 440, 441, 441, 441, 995, 440, 440, 440, 440, 441, 441, 441, 441, 596, 440, 596, 182, 179, 995, 596, 596, 596, 182, 995, 182, 441, 441, 596, 596, 596, 596, 703, 702, 995, 441, 703, 995, 703, 995, 441, 441, 441, 441, 596, 596, 267, 264, 735, 441, 735, 995, 265, 596, 735, 735, 735, 995, 596, 596, 596, 596, 735, 735, 735, 735, 750, 596, 750, 186, 182, 995, 750, 750, 750, 186, 995, 186, 735, 735, 750, 750, 750, 750, 704, 703, 995, 735, 704, 995, 704, 995, 735, 735, 735, 735, 750, 750, 268, 267, 784, 735, 784, 995, 784, 750, 784, 784, 269, 995, 750, 750, 750, 750, 784, 784, 784, 995, 785, 750, 785, 271, 186, 995, 785, 785, 785, 274, 995, 784, 784, 784, 785, 785, 785, 785, 705, 704, 995, 784, 705, 995, 705, 995, 784, 784, 784, 995, 785, 785, 784, 268, 791, 784, 791, 995, 791, 785, 791, 791, 276, 269, 785, 785, 785, 785, 791, 791, 791, 995, 795, 785, 795, 995, 271, 995, 795, 795, 795, 277, 274, 791, 791, 791, 795, 795, 795, 795, 708, 705, 995, 791, 708, 995, 708, 995, 791, 791, 791, 995, 795, 795, 791, 995, 804, 791, 804, 279, 804, 795, 804, 804, 280, 276, 795, 795, 795, 795, 804, 804, 804, 995, 805, 795, 805, 995, 805, 995, 805, 805, 995, 281, 277, 804, 804, 804, 805, 805, 805, 995, 709, 708, 283, 804, 709, 995, 709, 286, 804, 804, 804, 805, 805, 805, 804, 995, 726, 804, 726, 288, 279, 805, 289, 726, 291, 280, 805, 805, 805, 995, 726, 995, 805, 292, 807, 805, 807, 293, 807, 941, 807, 807, 295, 941, 281, 941, 726, 941, 807, 807, 807, 995, 809, 709, 809, 283, 809, 995, 809, 809, 286, 726, 995, 807, 807, 807, 809, 809, 809, 726, 710, 995, 288, 807, 710, 289, 710, 291, 807, 807, 807, 809, 809, 809, 807, 995, 292, 807, 298, 300, 293, 809, 941, 189, 995, 295, 809, 809, 809, 189, 995, 189, 809, 301, 811, 809, 811, 303, 811, 950, 811, 811, 995, 950, 995, 950, 995, 950, 811, 811, 811, 711, 813, 710, 813, 711, 813, 711, 813, 813, 304, 995, 305, 811, 811, 811, 813, 813, 813, 191, 995, 298, 300, 811, 995, 191, 189, 191, 811, 811, 811, 813, 813, 813, 811, 995, 301, 811, 995, 995, 303, 813, 950, 814, 995, 814, 813, 813, 813, 814, 814, 814, 813, 995, 711, 813, 307, 814, 814, 814, 814, 995, 825, 304, 825, 305, 825, 995, 825, 825, 995, 310, 191, 814, 814, 995, 825, 825, 825, 995, 712, 995, 814, 995, 712, 995, 712, 814, 814, 814, 814, 825, 825, 825, 995, 995, 814, 194, 713, 312, 995, 825, 713, 194, 713, 194, 825, 825, 825, 307, 995, 995, 825, 313, 827, 825, 827, 315, 827, 951, 827, 827, 316, 951, 310, 951, 995, 951, 827, 827, 827, 995, 846, 712, 846, 995, 846, 995, 846, 846, 995, 317, 995, 827, 827, 827, 846, 846, 846, 995, 194, 713, 312, 827, 995, 995, 995, 319, 827, 827, 827, 846, 846, 846, 827, 995, 313, 827, 322, 324, 315, 846, 951, 198, 995, 316, 846, 846, 846, 198, 995, 198, 846, 325, 847, 846, 847, 327, 847, 952, 847, 847, 995, 952, 317, 952, 995, 952, 847, 847, 847, 714, 848, 328, 848, 714, 848, 714, 848, 848, 319, 329, 331, 847, 847, 847, 848, 848, 848, 201, 995, 322, 324, 847, 995, 201, 198, 201, 847, 847, 847, 848, 848, 848, 847, 995, 325, 847, 995, 995, 327, 848, 952, 872, 995, 872, 848, 848, 848, 872, 872, 872, 848, 995, 714, 848, 328, 872, 872, 872, 872, 874, 995, 874, 329, 331, 995, 874, 874, 874, 334, 995, 201, 872, 872, 874, 874, 874, 874, 715, 716, 995, 872, 715, 716, 715, 716, 872, 872, 872, 872, 874, 874, 336, 995, 875, 872, 875, 337, 995, 874, 875, 875, 875, 995, 874, 874, 874, 874, 875, 875, 875, 875, 942, 874, 942, 203, 339, 995, 942, 942, 942, 203, 334, 203, 875, 875, 942, 942, 942, 942, 719, 715, 716, 875, 719, 995, 719, 995, 875, 875, 875, 875, 942, 942, 340, 336, 597, 875, 597, 995, 337, 942, 597, 597, 597, 995, 942, 942, 942, 942, 597, 597, 341, 597, 721, 942, 721, 206, 203, 339, 721, 721, 721, 206, 995, 206, 597, 597, 721, 721, 995, 721, 725, 719, 995, 597, 725, 995, 725, 995, 597, 597, 995, 597, 721, 721, 343, 340, 783, 597, 783, 995, 783, 721, 783, 783, 995, 995, 721, 721, 995, 721, 783, 783, 346, 341, 792, 721, 792, 348, 206, 995, 792, 792, 792, 995, 210, 783, 783, 783, 792, 792, 210, 792, 210, 725, 995, 783, 23, 995, 23, 995, 783, 783, 995, 23, 792, 792, 783, 343, 995, 783, 23, 349, 23, 792, 351, 27, 995, 27, 792, 792, 995, 792, 27, 352, 995, 346, 23, 792, 995, 27, 348, 27, 31, 995, 31, 353, 36, 210, 36, 31, 355, 23, 23, 36, 995, 27, 31, 954, 31, 23, 36, 954, 36, 954, 358, 954, 40, 995, 40, 995, 27, 27, 31, 40, 349, 955, 36, 351, 27, 955, 40, 955, 40, 955, 360, 995, 352, 31, 31, 361, 995, 36, 36, 995, 363, 31, 40, 995, 353, 36, 44, 995, 44, 355, 995, 364, 48, 44, 48, 995, 954, 40, 40, 48, 44, 213, 44, 358, 365, 40, 48, 213, 48, 213, 52, 995, 52, 59, 955, 59, 44, 52, 995, 995, 59, 995, 48, 360, 52, 367, 52, 59, 361, 59, 995, 44, 44, 363, 63, 995, 63, 48, 48, 44, 52, 63, 995, 59, 364, 48, 370, 995, 63, 995, 63, 995, 995, 995, 213, 52, 52, 365, 59, 59, 67, 995, 67, 52, 63, 956, 59, 67, 371, 956, 71, 956, 71, 956, 67, 995, 67, 71, 367, 63, 63, 75, 995, 75, 71, 958, 71, 63, 75, 958, 67, 958, 372, 958, 93, 75, 93, 75, 758, 370, 71, 93, 758, 759, 758, 67, 67, 759, 93, 759, 93, 75, 373, 67, 215, 71, 71, 374, 956, 376, 215, 371, 215, 71, 93, 995, 75, 75, 128, 995, 128, 384, 995, 995, 75, 128, 385, 995, 958, 93, 93, 140, 128, 140, 128, 372, 995, 93, 140, 995, 386, 758, 152, 389, 152, 140, 759, 140, 128, 152, 391, 995, 164, 995, 164, 373, 152, 215, 152, 164, 374, 140, 376, 128, 128, 995, 164, 218, 164, 393, 995, 128, 152, 218, 384, 218, 140, 140, 176, 385, 176, 394, 164, 222, 140, 176, 995, 152, 152, 222, 995, 222, 176, 386, 176, 152, 389, 164, 164, 188, 395, 188, 200, 391, 200, 164, 188, 995, 176, 200, 397, 995, 212, 188, 212, 188, 200, 995, 200, 212, 218, 995, 393, 176, 176, 995, 212, 995, 212, 188, 995, 176, 200, 959, 394, 995, 222, 959, 401, 959, 402, 959, 212, 225, 188, 188, 995, 200, 200, 225, 403, 225, 188, 395, 224, 200, 224, 212, 212, 404, 236, 224, 236, 397, 248, 212, 248, 236, 224, 960, 224, 248, 995, 960, 236, 960, 236, 960, 248, 227, 248, 260, 995, 260, 224, 227, 959, 227, 260, 995, 236, 401, 995, 402, 248, 260, 225, 260, 995, 224, 224, 405, 995, 403, 995, 236, 236, 224, 995, 248, 248, 260, 404, 236, 272, 407, 272, 248, 995, 760, 995, 272, 960, 760, 995, 760, 260, 260, 272, 410, 272, 284, 227, 284, 260, 296, 995, 296, 284, 412, 995, 308, 296, 308, 272, 284, 995, 284, 308, 296, 995, 296, 995, 995, 405, 308, 995, 308, 961, 272, 272, 284, 961, 995, 961, 296, 961, 272, 407, 761, 995, 308, 760, 761, 413, 761, 284, 284, 415, 416, 296, 296, 410, 320, 284, 320, 308, 308, 296, 332, 320, 332, 412, 344, 308, 344, 332, 320, 962, 320, 344, 995, 962, 332, 962, 332, 962, 344, 230, 344, 356, 961, 356, 320, 230, 417, 230, 356, 995, 332, 995, 995, 761, 344, 356, 995, 356, 413, 320, 320, 419, 415, 416, 995, 332, 332, 320, 995, 344, 344, 356, 995, 332, 368, 422, 368, 344, 995, 762, 995, 368, 962, 762, 995, 762, 356, 356, 368, 423, 368, 377, 230, 377, 356, 398, 995, 398, 377, 417, 995, 408, 398, 408, 368, 377, 995, 377, 408, 398, 995, 398, 995, 995, 419, 408, 995, 408, 963, 368, 368, 377, 963, 995, 963, 398, 963, 368, 422, 763, 995, 408, 762, 763, 424, 763, 377, 377, 425, 426, 398, 398, 423, 420, 377, 420, 408, 408, 398, 429, 420, 429, 995, 458, 408, 458, 429, 420, 964, 420, 458, 995, 964, 429, 964, 429, 964, 458, 234, 458, 468, 963, 468, 420, 234, 428, 234, 468, 995, 429, 995, 995, 763, 458, 468, 995, 468, 424, 420, 420, 444, 425, 426, 995, 429, 429, 420, 995, 458, 458, 468, 995, 429, 480, 445, 480, 458, 995, 764, 995, 480, 964, 764, 995, 764, 468, 468, 480, 446, 480, 492, 234, 492, 468, 504, 995, 504, 492, 428, 995, 516, 504, 516, 480, 492, 995, 492, 516, 504, 995, 504, 995, 995, 444, 516, 995, 516, 966, 480, 480, 492, 966, 995, 966, 504, 966, 480, 445, 765, 995, 516, 764, 765, 449, 765, 492, 492, 451, 453, 504, 504, 446, 528, 492, 528, 516, 516, 504, 540, 528, 540, 995, 552, 516, 552, 540, 528, 967, 528, 552, 995, 967, 540, 967, 540, 967, 552, 237, 552, 564, 966, 564, 528, 237, 454, 237, 564, 995, 540, 995, 995, 765, 552, 564, 995, 564, 449, 528, 528, 455, 451, 453, 995, 540, 540, 528, 995, 552, 552, 564, 995, 540, 576, 457, 576, 552, 995, 766, 995, 576, 967, 766, 995, 766, 564, 564, 576, 461, 576, 595, 237, 595, 564, 690, 995, 690, 595, 454, 995, 720, 690, 720, 576, 595, 995, 595, 720, 690, 995, 690, 995, 995, 455, 720, 995, 720, 969, 576, 576, 595, 969, 995, 969, 690, 969, 576, 457, 767, 995, 720, 766, 767, 995, 767, 595, 595, 995, 462, 690, 690, 461, 734, 595, 734, 720, 720, 690, 749, 734, 749, 995, 790, 720, 790, 749, 734, 970, 734, 790, 995, 970, 749, 970, 749, 970, 790, 239, 790, 793, 969, 793, 734, 239, 995, 239, 793, 995, 749, 995, 995, 767, 790, 793, 995, 793, 768, 734, 734, 463, 768, 462, 768, 749, 749, 734, 995, 790, 790, 793, 995, 749, 794, 464, 794, 790, 995, 769, 995, 794, 970, 769, 995, 769, 793, 793, 794, 995, 794, 824, 239, 824, 793, 972, 995, 995, 824, 972, 995, 972, 973, 972, 794, 824, 973, 824, 973, 975, 973, 768, 995, 975, 463, 975, 995, 975, 976, 794, 794, 824, 976, 995, 976, 978, 976, 794, 464, 978, 465, 978, 769, 978, 979, 981, 824, 824, 979, 981, 979, 981, 979, 981, 824, 983, 984, 995, 972, 983, 984, 983, 984, 983, 984, 973, 995, 985, 467, 995, 987, 985, 975, 985, 987, 985, 987, 995, 987, 989, 470, 976, 995, 989, 995, 989, 991, 989, 978, 995, 991, 995, 991, 465, 991, 994, 242, 979, 981, 994, 995, 994, 242, 994, 242, 246, 249, 995, 983, 984, 251, 246, 249, 246, 249, 995, 251, 472, 251, 254, 985, 467, 258, 987, 995, 254, 473, 254, 258, 261, 258, 995, 989, 470, 263, 261, 995, 261, 266, 991, 263, 995, 263, 995, 266, 270, 266, 995, 994, 242, 995, 270, 475, 270, 273, 995, 995, 995, 246, 249, 273, 275, 273, 251, 995, 278, 476, 275, 282, 275, 472, 278, 254, 278, 282, 258, 282, 285, 287, 473, 995, 477, 261, 285, 287, 285, 287, 263, 290, 294, 995, 266, 995, 297, 290, 294, 290, 294, 270, 297, 299, 297, 995, 302, 306, 475, 299, 273, 299, 302, 306, 302, 306, 995, 275, 995, 309, 311, 278, 476, 314, 282, 309, 311, 309, 311, 314, 318, 314, 479, 285, 287, 321, 318, 477, 318, 482, 323, 321, 995, 321, 290, 294, 323, 326, 323, 297, 995, 484, 485, 326, 487, 326, 299, 330, 333, 302, 306, 335, 338, 330, 333, 330, 333, 335, 338, 335, 338, 342, 309, 311, 345, 995, 314, 342, 347, 342, 345, 350, 345, 318, 347, 479, 347, 350, 321, 350, 354, 357, 482, 323, 488, 359, 354, 357, 354, 357, 326, 359, 995, 359, 484, 485, 489, 487, 995, 491, 330, 333, 362, 366, 335, 338, 995, 369, 362, 366, 362, 366, 375, 369, 342, 369, 995, 345, 375, 382, 375, 347, 383, 387, 350, 382, 995, 382, 383, 387, 383, 387, 494, 354, 357, 388, 390, 488, 359, 392, 396, 388, 390, 388, 390, 392, 396, 392, 396, 489, 995, 399, 491, 496, 497, 362, 366, 399, 400, 399, 369, 406, 409, 995, 400, 375, 400, 406, 409, 406, 409, 411, 382, 995, 414, 383, 387, 411, 418, 411, 414, 995, 414, 995, 418, 494, 418, 995, 388, 390, 421, 427, 392, 396, 442, 443, 421, 427, 421, 427, 442, 443, 442, 443, 399, 995, 496, 497, 499, 500, 447, 400, 995, 448, 406, 409, 447, 450, 447, 448, 452, 448, 995, 450, 411, 450, 452, 414, 452, 456, 459, 418, 995, 460, 466, 456, 459, 456, 459, 460, 466, 460, 466, 421, 427, 469, 471, 442, 443, 474, 478, 469, 471, 469, 471, 474, 478, 474, 478, 481, 995, 499, 500, 447, 501, 481, 448, 481, 483, 486, 450, 995, 490, 452, 483, 486, 483, 486, 490, 995, 490, 503, 456, 459, 493, 495, 460, 466, 498, 502, 493, 495, 493, 495, 498, 502, 498, 502, 469, 471, 505, 507, 474, 478, 506, 510, 505, 507, 505, 507, 514, 510, 481, 510, 995, 995, 514, 501, 514, 508, 517, 483, 486, 519, 522, 490, 517, 526, 517, 519, 522, 519, 522, 526, 503, 526, 509, 493, 495, 529, 531, 498, 502, 534, 538, 529, 531, 529, 531, 534, 538, 534, 538, 505, 507, 995, 541, 506, 510, 543, 546, 995, 541, 514, 541, 543, 546, 543, 546, 511, 995, 995, 508, 517, 512, 550, 519, 522, 553, 555, 526, 550, 558, 550, 553, 555, 553, 555, 558, 509, 558, 513, 529, 531, 562, 565, 534, 538, 567, 570, 562, 565, 562, 565, 567, 570, 567, 570, 574, 541, 515, 577, 543, 546, 574, 667, 574, 577, 668, 577, 995, 667, 511, 667, 668, 995, 668, 512, 550, 518, 669, 553, 555, 670, 671, 558, 669, 672, 669, 670, 671, 670, 671, 672, 513, 672, 520, 562, 565, 673, 674, 567, 570, 521, 675, 673, 674, 673, 674, 676, 675, 574, 675, 515, 577, 676, 677, 676, 667, 678, 679, 668, 677, 680, 677, 678, 679, 678, 679, 680, 995, 680, 518, 669, 523, 681, 670, 671, 682, 683, 672, 681, 684, 681, 682, 683, 682, 683, 684, 520, 684, 524, 673, 674, 995, 686, 521, 675, 688, 691, 995, 686, 676, 686, 688, 691, 688, 691, 525, 677, 995, 717, 678, 679, 718, 722, 680, 717, 723, 717, 718, 722, 718, 722, 723, 995, 723, 523, 681, 527, 728, 682, 683, 729, 730, 684, 728, 732, 728, 729, 730, 729, 730, 732, 524, 732, 530, 733, 686, 532, 736, 688, 691, 733, 737, 733, 736, 741, 736, 995, 737, 525, 737, 741, 717, 741, 742, 718, 722, 745, 746, 723, 742, 747, 742, 745, 746, 745, 746, 747, 995, 747, 527, 728, 995, 751, 729, 730, 752, 755, 732, 751, 995, 751, 752, 755, 752, 755, 756, 530, 733, 995, 532, 736, 756, 778, 756, 737, 786, 778, 741, 778, 787, 995, 786, 995, 786, 995, 787, 742, 787, 788, 745, 746, 789, 796, 747, 788, 797, 788, 789, 796, 789, 796, 797, 995, 797, 801, 751, 995, 802, 752, 755, 801, 995, 801, 802, 995, 802, 806, 808, 756, 995, 806, 808, 806, 808, 533, 778, 995, 810, 786, 815, 812, 810, 787, 810, 812, 815, 812, 815, 995, 535, 536, 788, 537, 816, 789, 796, 820, 821, 797, 816, 995, 816, 820, 821, 820, 821, 995, 801, 822, 826, 802, 995, 822, 826, 822, 826, 995, 830, 831, 806, 808, 830, 831, 830, 831, 832, 539, 533, 995, 832, 810, 832, 815, 812, 833, 834, 995, 995, 833, 834, 833, 834, 535, 536, 995, 537, 816, 835, 836, 820, 821, 835, 836, 835, 836, 995, 995, 542, 995, 837, 838, 822, 826, 837, 838, 837, 838, 544, 839, 840, 830, 831, 839, 840, 839, 840, 841, 842, 832, 539, 841, 842, 841, 842, 995, 843, 844, 833, 834, 843, 844, 843, 844, 849, 995, 995, 866, 849, 995, 849, 835, 836, 866, 867, 866, 995, 995, 995, 869, 867, 542, 867, 837, 838, 869, 545, 869, 870, 871, 995, 544, 839, 840, 870, 871, 870, 871, 873, 876, 841, 842, 995, 995, 873, 876, 873, 876, 878, 843, 844, 547, 995, 879, 878, 995, 878, 849, 880, 879, 866, 879, 881, 882, 880, 995, 880, 867, 881, 882, 881, 882, 869, 995, 995, 548, 549, 883, 884, 545, 995, 870, 871, 883, 884, 883, 884, 885, 886, 995, 995, 873, 876, 885, 886, 885, 886, 887, 995, 995, 551, 878, 888, 887, 547, 887, 879, 554, 888, 995, 888, 880, 889, 890, 995, 881, 882, 891, 889, 890, 889, 890, 995, 891, 556, 891, 892, 893, 548, 549, 883, 884, 892, 893, 892, 893, 894, 895, 995, 995, 885, 886, 894, 895, 894, 895, 896, 995, 995, 995, 887, 897, 896, 551, 896, 888, 898, 897, 995, 897, 554, 899, 898, 995, 898, 889, 890, 899, 900, 899, 891, 995, 995, 995, 900, 901, 900, 556, 902, 892, 893, 901, 995, 901, 902, 903, 902, 557, 904, 894, 895, 903, 905, 903, 904, 906, 904, 559, 905, 896, 905, 906, 907, 906, 897, 908, 560, 561, 907, 898, 907, 908, 909, 908, 899, 563, 910, 911, 909, 566, 909, 900, 910, 911, 910, 911, 924, 568, 901, 937, 569, 902, 924, 937, 924, 937, 943, 571, 903, 572, 557, 904, 943, 947, 943, 905, 948, 573, 906, 947, 559, 947, 948, 575, 948, 907, 578, 579, 908, 560, 561, 580, 581, 582, 583, 909, 584, 591, 563, 910, 911, 593, 566, 594, 604, 605, 606, 607, 608, 924, 568, 610, 937, 569, 611, 612, 614, 615, 617, 943, 571, 618, 572, 619, 620, 621, 947, 622, 623, 948, 573, 624, 625, 626, 627, 628, 575, 629, 631, 578, 579, 632, 633, 634, 580, 581, 582, 583, 635, 584, 591, 636, 643, 644, 593, 647, 594, 604, 605, 606, 607, 608, 653, 654, 610, 655, 656, 611, 612, 614, 615, 617, 685, 687, 618, 689, 619, 620, 621, 692, 622, 623, 693, 706, 624, 625, 626, 627, 628, 707, 629, 631, 724, 731, 632, 633, 634, 738, 739, 740, 743, 635, 744, 748, 636, 643, 644, 753, 647, 754, 757, 770, 771, 772, 773, 653, 654, 774, 655, 656, 775, 776, 777, 779, 780, 685, 687, 781, 689, 782, 798, 799, 692, 800, 803, 693, 706, 817, 818, 819, 823, 850, 707, 851, 852, 724, 731, 853, 854, 855, 738, 739, 740, 743, 856, 744, 748, 857, 858, 859, 753, 860, 754, 757, 770, 771, 772, 773, 861, 862, 774, 863, 864, 775, 776, 777, 779, 780, 865, 944, 781, 945, 782, 798, 799, 946, 800, 803, 993, 995, 817, 818, 819, 823, 850, 995, 851, 852, 995, 995, 853, 854, 855, 995, 995, 995, 995, 856, 995, 995, 857, 858, 859, 995, 860, 995, 995, 995, 995, 995, 995, 861, 862, 995, 863, 864, 995, 995, 995, 995, 995, 865, 944, 995, 945, 995, 995, 995, 946, 995, 995, 993}; /* Base vector for state transitions. */ static const unsigned short btver2_fp_base[] = { 0, 1205, 1437, 1489, 1541, 1593, 1645, 1697, 1749, 1801, 1853, 1905, 1957, 2009, 2095, 702, 2129, 62, 71, 1184, 101, 125, 155, 3929, 170, 179, 209, 3948, 212, 233, 263, 3965, 278, 287, 341, 810, 3969, 386, 395, 419, 3989, 440, 449, 473, 4023, 494, 503, 525, 4029, 527, 557, 579, 4047, 583, 602, 1048, 54, 2149, 611, 4050, 633, 637, 644, 4071, 687, 713, 760, 4097, 763, 794, 795, 4107, 807, 818, 849, 4118, 854, 1102, 162, 421, 475, 529, 857, 1188, 864, 311, 365, 581, 635, 889, 767, 1046, 934, 4131, 2190, 2208, 2242, 2260, 2294, 2312, 2346, 2364, 2398, 2416, 2450, 2468, 2502, 2520, 2554, 2572, 2606, 2624, 2658, 2676, 2710, 950, 1086, 951, 959, 1406, 969, 1005, 1008, 2070, 1024, 1032, 1087, 1095, 4165, 2211, 1105, 2263, 1108, 1141, 2315, 1157, 1164, 1273, 2367, 1298, 4178, 2419, 1318, 2471, 1335, 1375, 2523, 1440, 1441, 1446, 2575, 1492, 4189, 2627, 1498, 2679, 1544, 1550, 2731, 1596, 1602, 1648, 2783, 1654, 4199, 2835, 1700, 2887, 1706, 1752, 2939, 1758, 1804, 1810, 2991, 1856, 4225, 3043, 1862, 3095, 1908, 1914, 3147, 1960, 1966, 2018, 3199, 2046, 4246, 3463, 2052, 3509, 2075, 2104, 3587, 2118, 2133, 2138, 3663, 2147, 4249, 3709, 2150, 3806, 2187, 2212, 3858, 2245, 2292, 2297, 3917, 2344, 4259, 4038, 2349, 4151, 2396, 2401, 4214, 2448, 2453, 2500, 4230, 2505, 4301, 4290, 2552, 4326, 2557, 2604, 4455, 2609, 2656, 2661, 4584, 2708, 4307, 4713, 2713, 4842, 2760, 2765, 4989, 2812, 2817, 2864, 4998, 2869, 4311, 4999, 2916, 5003, 2921, 2968, 5012, 2973, 3020, 3025, 5015, 3072, 4328, 5022, 3077, 5027, 3124, 3129, 5031, 3176, 3228, 3238, 5038, 3251, 4361, 5047, 3257, 5054, 3290, 3309, 5058, 3337, 3342, 3361, 5061, 3372, 4378, 5070, 3377, 5071, 3389, 3392, 5081, 3394, 3403, 3407, 5082, 3412, 4382, 5086, 3458, 5093, 3459, 3473, 5096, 3477, 3500, 3502, 5097, 3546, 4388, 5109, 3561, 5110, 3589, 3603, 5113, 3607, 3612, 3631, 5120, 3647, 4430, 5125, 3658, 5130, 3659, 3673, 5137, 3677, 3693, 3701, 5147, 3702, 4436, 5148, 3760, 5151, 3783, 3788, 5152, 3807, 3835, 3853, 5161, 3887, 4440, 5164, 3905, 5168, 3910, 3944, 5171, 3947, 3956, 3968, 5180, 3973, 4457, 5181, 3987, 5185, 4007, 4012, 5202, 4017, 4028, 4041, 5203, 4062, 4490, 5207, 4083, 4105, 4129, 4149, 4154, 5212, 4156, 4507, 2728, 2762, 2780, 2814, 5219, 5222, 4168, 4173, 4187, 5223, 5235, 4190, 5236, 4197, 5239, 4216, 4228, 4247, 5240, 4257, 4511, 5251, 5258, 4285, 4287, 4297, 4306, 4348, 5261, 4362, 4517, 5262, 4376, 5271, 4386, 4421, 5274, 4425, 4426, 4462, 5278, 4477, 4559, 5290, 4491, 4505, 4550, 4554, 4555, 5291, 4591, 4565, 2832, 2866, 2884, 2918, 2936, 2970, 2988, 3022, 3040, 3074, 3092, 3126, 5294, 5295, 4606, 4620, 4634, 5310, 5313, 4679, 5317, 4683, 5320, 4684, 4720, 4735, 5329, 4749, 4569, 5330, 5333, 4763, 4813, 4864, 4878, 4933, 5334, 4961, 4586, 5345, 4973, 5346, 5010, 5019, 5349, 5045, 5059, 5074, 5350, 5122, 4619, 5359, 5129, 5368, 5141, 5142, 5369, 5144, 5184, 5196, 5372, 5199, 4636, 5384, 5232, 5385, 5253, 5254, 5388, 5308, 5309, 5364, 5389, 5381, 4640, 5400, 5404, 5401, 5419, 5436, 5405, 5469, 5474, 5491, 5410, 5510, 4646, 5420, 5529, 5423, 5546, 5553, 5424, 5584, 5601, 5618, 5427, 5639, 4688, 5439, 5656, 5440, 5659, 5767, 5443, 5782, 5783, 5785, 5444, 5819, 4694, 5456, 5850, 5459, 5860, 5908, 5460, 5933, 5957, 5958, 5475, 5982, 4698, 5478, 5989, 5479, 6006, 6069, 5482, 6079, 6088, 6089, 5494, 6097, 4715, 5495, 6101, 5498, 6109, 6112, 5499, 6119, 6121, 6129, 5508, 6135, 4748, 5511, 6138, 6139, 6143, 6144, 6145, 6146, 6148, 1254, 378, 270, 753, 861, 920, 6149, 1106, 6153, 6155, 4765, 3144, 3837, 962, 432, 486, 1242, 1316, 1456, 6156, 6157, 6158, 6159, 6160, 1402, 6163, 6166, 6167, 1291, 6168, 6169, 1151, 6170, 6173, 6175, 6176, 6177, 6179, 6180, 6183, 6184, 6185, 6186, 6187, 6189, 1328, 6190, 6193, 6194, 6195, 6200, 6203, 1507, 1508, 1559, 1611, 1663, 1715, 6204, 6205, 1767, 1819, 6207, 1871, 1923, 1975, 2027, 2113, 6214, 6215, 6217, 6218, 2227, 2278, 2279, 2330, 2382, 2434, 2486, 2538, 2590, 2642, 5515, 5518, 5530, 5533, 5534, 5537, 5549, 5550, 5554, 5559, 5566, 5569, 5570, 5573, 5585, 5588, 5589, 5592, 6224, 5605, 6225, 5608, 6227, 4769, 5609, 6231, 6234, 2694, 2746, 2798, 2850, 2902, 2954, 3006, 3058, 3110, 3162, 3214, 3266, 6235, 6241, 3318, 3370, 3440, 3491, 3570, 3588, 3691, 3769, 3770, 5621, 5624, 3821, 4775, 3855, 5625, 5628, 6244, 3873, 3386, 756, 5640, 5643, 5644, 6245, 5647, 5657, 4817, 3178, 5660, 5664, 6249, 6250, 6251, 5667, 5676, 6252, 6254, 5679, 5680, 5683, 6255, 4823, 3196, 5695, 5698, 6259, 6261, 5699, 5708, 6262, 4135, 4140, 4366, 4416, 4495, 4545, 4624, 4674, 4753, 4803, 4861, 4882, 6263, 6264, 6265, 6266, 6269, 6272, 6273, 6274, 5715, 6275, 6276, 6279, 6281, 3889, 3230, 3248, 5718, 5722, 5731, 5734, 4827, 3282, 3907, 4844, 4877, 3300, 5735, 5738, 6282, 6283, 6285, 5747, 5750, 6286, 3334, 3352, 5759, 3404, 5760, 3422, 5770, 3474, 5773, 3492, 3533, 5772, 5786, 6289, 6290, 6291, 5789, 5790, 5801, 6292, 4894, 3552, 5802, 3604, 594, 648, 5810, 5811, 5818, 5827, 5828, 5840, 5841, 5852, 5853, 5861, 5862, 5869, 5870, 5878, 5879, 1365, 3622, 3674, 3692, 5886, 6293, 6295, 6296, 6299, 6300, 6301, 6306, 6309, 6310, 6311, 6313, 6320, 6321, 6323, 6324, 6330, 5889, 5896, 913, 5901, 5910, 5911, 3733, 5920, 3751, 3785, 5921, 1011, 5930, 5935, 5940, 5944, 5945, 5959, 5960, 5969, 5970, 5979, 5984, 5994, 5995, 5999, 6008, 6009, 6018, 6019, 6028, 6033, 6038, 6043, 6050, 6057, 6060, 6067, 6070, 6074, 6077, 6084, 6087, 6094, 6098, 6099, 821, 877, 893, 932, 2077, 948, 975, 991, 1030, 324, 1065, 1109, 6108, 1119, 1129, 1170, 1239, 1261, 1271, 1281, 1304, 1341, 1355, 1419, 1378, 6111, 2061, 2177, 1471, 3409, 3803, 6118, 6331, 6333, 6337, 6125, 6128, 1523, 3479, 3609, 3679, 1575, 3980, 3998, 4102, 216, 4122, 4280, 4316, 4405, 4445, 4534, 4574, 1627, 4663, 4703, 1679, 4792, 4832, 1731, 4898, 4905, 1783, 4912, 4921, 1835, 4928, 4937, 1887, 4938, 540, 4948, 4949, 4960, 1939, 4963, 1991, 4972, 108, 4979, 2043, 6340, 4988}; /* Vector of min issue delay of insns. */ static const unsigned char btver2_fp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 15, 0, 14, 0, 0, 0, 14, 15, 15, 14, 15, 0, 0, 0, 0, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 0, 0, 0, 14, 15, 14, 15, 14, 15, 15, 0, 14, 15, 14, 15, 0, 0, 0, 0, 14, 14, 0, 15, 14, 0, 0, 13, 0, 14, 14, 13, 0, 0, 0, 13, 14, 14, 13, 14, 0, 0, 0, 0, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 0, 0, 13, 14, 13, 14, 13, 14, 14, 0, 13, 14, 13, 14, 0, 0, 0, 0, 13, 13, 14, 14, 13, 0, 0, 12, 0, 13, 13, 12, 0, 0, 0, 12, 13, 13, 12, 13, 0, 0, 0, 0, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 0, 0, 12, 13, 12, 13, 12, 13, 13, 0, 12, 13, 12, 13, 0, 0, 0, 0, 12, 12, 13, 13, 12, 0, 0, 11, 0, 12, 12, 11, 0, 0, 0, 11, 12, 12, 11, 12, 0, 0, 0, 0, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 0, 0, 11, 12, 11, 12, 11, 12, 12, 0, 11, 12, 11, 12, 0, 0, 0, 0, 11, 11, 12, 12, 11, 0, 0, 10, 0, 11, 11, 10, 0, 0, 0, 10, 11, 11, 10, 11, 0, 0, 0, 0, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 0, 0, 10, 11, 10, 11, 10, 11, 11, 0, 10, 11, 10, 11, 0, 0, 0, 0, 10, 10, 11, 11, 10, 0, 0, 9, 0, 10, 10, 9, 0, 0, 0, 9, 10, 10, 9, 10, 0, 0, 0, 0, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 0, 0, 9, 10, 9, 10, 9, 10, 10, 0, 9, 10, 9, 10, 0, 0, 0, 0, 9, 9, 10, 10, 9, 0, 0, 8, 0, 9, 9, 8, 0, 0, 0, 8, 9, 9, 8, 9, 0, 0, 0, 0, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 0, 0, 8, 9, 8, 9, 8, 9, 9, 0, 8, 9, 8, 9, 0, 0, 0, 0, 8, 8, 9, 9, 8, 0, 0, 7, 0, 8, 8, 7, 0, 0, 0, 7, 8, 8, 7, 8, 0, 0, 0, 0, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 0, 0, 7, 8, 7, 8, 7, 8, 8, 0, 7, 8, 7, 8, 0, 0, 0, 0, 7, 7, 8, 8, 7, 0, 0, 6, 0, 7, 7, 6, 0, 0, 0, 6, 7, 7, 6, 7, 0, 0, 0, 0, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 0, 0, 6, 7, 6, 7, 6, 7, 7, 0, 6, 7, 6, 7, 0, 0, 0, 0, 6, 6, 7, 7, 6, 0, 0, 5, 0, 6, 6, 5, 0, 0, 0, 5, 6, 6, 5, 6, 0, 0, 0, 0, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 0, 0, 5, 6, 5, 6, 5, 6, 6, 0, 5, 6, 5, 6, 0, 0, 0, 0, 5, 5, 6, 6, 5, 0, 0, 4, 0, 5, 5, 4, 0, 0, 0, 4, 5, 5, 4, 5, 0, 0, 0, 0, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 4, 5, 4, 5, 4, 5, 5, 0, 4, 5, 4, 5, 0, 0, 0, 0, 4, 4, 5, 5, 4, 0, 0, 3, 0, 4, 4, 3, 0, 0, 0, 3, 4, 4, 3, 4, 0, 0, 0, 0, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 0, 0, 3, 4, 3, 4, 3, 4, 4, 0, 3, 4, 3, 4, 0, 0, 0, 0, 3, 3, 4, 4, 3, 0, 0, 2, 0, 3, 3, 2, 0, 0, 0, 2, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 2, 3, 2, 3, 0, 0, 0, 0, 2, 2, 3, 3, 2, 0, 0, 1, 0, 2, 2, 1, 0, 0, 0, 1, 2, 2, 1, 2, 0, 0, 0, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 0, 0, 0, 0, 1, 1, 2, 2, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 14, 0, 15, 15, 14, 0, 0, 0, 14, 15, 15, 14, 15, 0, 0, 0, 0, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 0, 0, 14, 15, 14, 15, 14, 15, 15, 0, 14, 15, 14, 15, 0, 0, 0, 0, 14, 14, 15, 15, 14, 0, 0, 14, 2, 15, 15, 14, 3, 2, 3, 14, 15, 15, 14, 15, 2, 3, 2, 3, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 2, 3, 14, 15, 14, 15, 14, 15, 15, 3, 14, 15, 14, 15, 3, 2, 2, 3, 14, 14, 15, 15, 14, 0, 0, 13, 1, 14, 14, 13, 2, 1, 2, 13, 14, 14, 13, 14, 1, 2, 1, 2, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 1, 2, 13, 14, 13, 14, 13, 14, 14, 2, 13, 14, 13, 14, 2, 1, 1, 2, 13, 13, 14, 14, 13, 0, 0, 12, 0, 13, 13, 12, 1, 0, 1, 12, 13, 13, 12, 13, 0, 1, 0, 1, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 0, 1, 12, 13, 12, 13, 12, 13, 13, 1, 12, 13, 12, 13, 1, 0, 0, 1, 12, 12, 13, 13, 12, 0, 0, 12, 3, 13, 13, 12, 4, 3, 4, 12, 13, 13, 12, 13, 3, 4, 3, 4, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 3, 4, 12, 13, 12, 13, 12, 13, 13, 4, 12, 13, 12, 13, 4, 3, 3, 4, 12, 12, 13, 13, 12, 0, 0, 11, 2, 12, 12, 11, 3, 2, 3, 11, 12, 12, 11, 12, 2, 3, 2, 3, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 2, 3, 11, 12, 11, 12, 11, 12, 12, 3, 11, 12, 11, 12, 3, 2, 2, 3, 11, 11, 12, 12, 11, 0, 0, 10, 1, 11, 11, 10, 2, 1, 2, 10, 11, 11, 10, 11, 1, 2, 1, 2, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 1, 2, 10, 11, 10, 11, 10, 11, 11, 2, 10, 11, 10, 11, 2, 1, 1, 2, 10, 10, 11, 11, 10, 0, 0, 9, 0, 10, 10, 9, 1, 0, 1, 9, 10, 10, 9, 10, 0, 1, 0, 1, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 0, 1, 9, 10, 9, 10, 9, 10, 10, 1, 9, 10, 9, 10, 1, 0, 0, 1, 9, 9, 10, 10, 9, 0, 0, 9, 3, 10, 10, 9, 4, 3, 4, 9, 10, 10, 9, 10, 3, 4, 3, 4, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 3, 4, 9, 10, 9, 10, 9, 10, 10, 4, 9, 10, 9, 10, 4, 3, 3, 4, 9, 9, 10, 10, 9, 0, 0, 8, 2, 9, 9, 8, 3, 2, 3, 8, 9, 9, 8, 9, 2, 3, 2, 3, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 2, 3, 8, 9, 8, 9, 8, 9, 9, 3, 8, 9, 8, 9, 3, 2, 2, 3, 8, 8, 9, 9, 8, 0, 0, 7, 1, 8, 8, 7, 2, 1, 2, 7, 8, 8, 7, 8, 1, 2, 1, 2, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 1, 2, 7, 8, 7, 8, 7, 8, 8, 2, 7, 8, 7, 8, 2, 1, 1, 2, 7, 7, 8, 8, 7, 0, 0, 6, 0, 7, 7, 6, 1, 0, 1, 6, 7, 7, 6, 7, 0, 1, 0, 1, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 0, 1, 6, 7, 6, 7, 6, 7, 7, 1, 6, 7, 6, 7, 1, 0, 0, 1, 6, 6, 7, 7, 6, 0, 0, 6, 3, 7, 7, 6, 4, 3, 4, 6, 7, 7, 6, 7, 3, 4, 3, 4, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 3, 4, 6, 7, 6, 7, 6, 7, 7, 4, 6, 7, 6, 7, 4, 3, 3, 4, 6, 6, 7, 7, 6, 0, 0, 5, 2, 6, 6, 5, 3, 2, 3, 5, 6, 6, 5, 6, 2, 3, 2, 3, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 2, 3, 5, 6, 5, 6, 5, 6, 6, 3, 5, 6, 5, 6, 3, 2, 2, 3, 5, 5, 6, 6, 5, 0, 0, 4, 1, 5, 5, 4, 2, 1, 2, 4, 5, 5, 4, 5, 1, 2, 1, 2, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 1, 2, 4, 5, 4, 5, 4, 5, 5, 2, 4, 5, 4, 5, 2, 1, 1, 2, 4, 4, 5, 5, 4, 0, 0, 3, 0, 4, 4, 3, 1, 0, 1, 3, 4, 4, 3, 4, 0, 1, 0, 1, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 0, 1, 3, 4, 3, 4, 3, 4, 4, 1, 3, 4, 3, 4, 1, 0, 0, 1, 3, 3, 4, 4, 3, 0, 0, 3, 3, 4, 4, 3, 4, 3, 4, 3, 4, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 3, 4, 4, 3, 0, 0, 2, 2, 3, 3, 2, 3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 2, 3, 3, 2, 0, 0, 1, 1, 2, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 14, 0, 15, 15, 14, 1, 0, 1, 14, 15, 15, 14, 15, 0, 1, 0, 1, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 0, 1, 14, 15, 14, 15, 14, 15, 15, 1, 14, 15, 14, 15, 1, 0, 0, 1, 14, 14, 15, 15, 14, 0, 0, 14, 3, 15, 15, 14, 4, 3, 4, 14, 15, 15, 14, 15, 3, 4, 3, 4, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 3, 4, 14, 15, 14, 15, 14, 15, 15, 4, 14, 15, 14, 15, 4, 3, 3, 4, 14, 14, 15, 15, 14, 0, 0, 13, 2, 14, 14, 13, 3, 2, 3, 13, 14, 14, 13, 14, 2, 3, 2, 3, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 2, 3, 13, 14, 13, 14, 13, 14, 14, 3, 13, 14, 13, 14, 3, 2, 2, 3, 13, 13, 14, 14, 13, 0, 0, 12, 1, 13, 13, 12, 2, 1, 2, 12, 13, 13, 12, 13, 1, 2, 1, 2, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 1, 2, 12, 13, 12, 13, 12, 13, 13, 2, 12, 13, 12, 13, 2, 1, 1, 2, 12, 12, 13, 13, 12, 0, 0, 11, 0, 12, 12, 11, 1, 0, 1, 11, 12, 12, 11, 12, 0, 1, 0, 1, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 0, 1, 11, 12, 11, 12, 11, 12, 12, 1, 11, 12, 11, 12, 1, 0, 0, 1, 11, 11, 12, 12, 11, 0, 0, 11, 3, 12, 12, 11, 4, 3, 4, 11, 12, 12, 11, 12, 3, 4, 3, 4, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 3, 4, 11, 12, 11, 12, 11, 12, 12, 4, 11, 12, 11, 12, 4, 3, 3, 4, 11, 11, 12, 12, 11, 0, 0, 10, 2, 11, 11, 10, 3, 2, 3, 10, 11, 11, 10, 11, 2, 3, 2, 3, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 2, 3, 10, 11, 10, 11, 10, 11, 11, 3, 10, 11, 10, 11, 3, 2, 2, 3, 10, 10, 11, 11, 10, 0, 0, 9, 1, 10, 10, 9, 2, 1, 2, 9, 10, 10, 9, 10, 1, 2, 1, 2, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 1, 2, 9, 10, 9, 10, 9, 10, 10, 2, 9, 10, 9, 10, 2, 1, 1, 2, 9, 9, 10, 10, 9, 0, 0, 8, 0, 9, 9, 8, 1, 0, 1, 8, 9, 9, 8, 9, 0, 1, 0, 1, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 0, 1, 8, 9, 8, 9, 8, 9, 9, 1, 8, 9, 8, 9, 1, 0, 0, 1, 8, 8, 9, 9, 8, 0, 0, 8, 3, 9, 9, 8, 4, 3, 4, 8, 9, 9, 8, 9, 3, 4, 3, 4, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 3, 4, 8, 9, 8, 9, 8, 9, 9, 4, 8, 9, 8, 9, 4, 3, 3, 4, 8, 8, 9, 9, 8, 0, 0, 7, 2, 8, 8, 7, 3, 2, 3, 7, 8, 8, 7, 8, 2, 3, 2, 3, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 2, 3, 7, 8, 7, 8, 7, 8, 8, 3, 7, 8, 7, 8, 3, 2, 2, 3, 7, 7, 8, 8, 7, 0, 0, 6, 1, 7, 7, 6, 2, 1, 2, 6, 7, 7, 6, 7, 1, 2, 1, 2, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 1, 2, 6, 7, 6, 7, 6, 7, 7, 2, 6, 7, 6, 7, 2, 1, 1, 2, 6, 6, 7, 7, 6, 0, 0, 5, 0, 6, 6, 5, 1, 0, 1, 5, 6, 6, 5, 6, 0, 1, 0, 1, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 0, 1, 5, 6, 5, 6, 5, 6, 6, 1, 5, 6, 5, 6, 1, 0, 0, 1, 5, 5, 6, 6, 5, 0, 0, 5, 3, 6, 6, 5, 4, 3, 4, 5, 6, 6, 5, 6, 3, 4, 3, 4, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 3, 4, 5, 6, 5, 6, 5, 6, 6, 4, 5, 6, 5, 6, 4, 3, 3, 4, 5, 5, 6, 6, 5, 0, 0, 4, 2, 5, 5, 4, 3, 2, 3, 4, 5, 5, 4, 5, 2, 3, 2, 3, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 2, 3, 4, 5, 4, 5, 4, 5, 5, 3, 4, 5, 4, 5, 3, 2, 2, 3, 4, 4, 5, 5, 4, 0, 0, 3, 1, 4, 4, 3, 2, 1, 2, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 3, 4, 4, 3, 0, 0, 2, 0, 3, 3, 2, 1, 0, 1, 2, 3, 3, 2, 3, 0, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 1, 2, 3, 2, 3, 2, 3, 3, 1, 2, 3, 2, 3, 1, 0, 0, 1, 2, 2, 3, 3, 2, 0, 0, 3, 2, 4, 3, 2, 3, 3, 4, 2, 3, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 3, 4, 2, 2, 3, 3, 2, 0, 0, 2, 1, 3, 2, 1, 2, 2, 3, 1, 2, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 3, 1, 1, 2, 2, 1, 0, 0, 1, 0, 2, 1, 0, 1, 1, 2, 0, 1, 1, 0, 1, 0, 1, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 14, 0, 15, 0, 14, 0, 0, 1, 14, 15, 15, 14, 15, 0, 0, 0, 1, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 0, 0, 0, 14, 15, 14, 15, 14, 15, 15, 0, 14, 15, 14, 15, 0, 0, 0, 1, 14, 14, 0, 15, 14, 0, 0, 14, 1, 15, 15, 14, 2, 1, 2, 14, 15, 15, 14, 15, 1, 2, 1, 2, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 1, 2, 14, 15, 14, 15, 14, 15, 15, 2, 14, 15, 14, 15, 2, 1, 1, 2, 14, 14, 15, 15, 14, 0, 0, 13, 0, 14, 14, 13, 1, 0, 1, 13, 14, 14, 13, 14, 0, 1, 0, 1, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 0, 1, 13, 14, 13, 14, 13, 14, 14, 1, 13, 14, 13, 14, 1, 0, 0, 1, 13, 13, 14, 14, 13, 0, 0, 13, 3, 14, 14, 13, 4, 3, 4, 13, 14, 14, 13, 14, 3, 4, 3, 4, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 3, 4, 13, 14, 13, 14, 13, 14, 14, 4, 13, 14, 13, 14, 4, 3, 3, 4, 13, 13, 14, 14, 13, 0, 0, 12, 2, 13, 13, 12, 3, 2, 3, 12, 13, 13, 12, 13, 2, 3, 2, 3, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 2, 3, 12, 13, 12, 13, 12, 13, 13, 3, 12, 13, 12, 13, 3, 2, 2, 3, 12, 12, 13, 13, 12, 0, 0, 11, 1, 12, 12, 11, 2, 1, 2, 11, 12, 12, 11, 12, 1, 2, 1, 2, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 1, 2, 11, 12, 11, 12, 11, 12, 12, 2, 11, 12, 11, 12, 2, 1, 1, 2, 11, 11, 12, 12, 11, 0, 0, 10, 0, 11, 11, 10, 1, 0, 1, 10, 11, 11, 10, 11, 0, 1, 0, 1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 0, 1, 10, 11, 10, 11, 10, 11, 11, 1, 10, 11, 10, 11, 1, 0, 0, 1, 10, 10, 11, 11, 10, 0, 0, 10, 3, 11, 11, 10, 4, 3, 4, 10, 11, 11, 10, 11, 3, 4, 3, 4, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 3, 4, 10, 11, 10, 11, 10, 11, 11, 4, 10, 11, 10, 11, 4, 3, 3, 4, 10, 10, 11, 11, 10, 0, 0, 9, 2, 10, 10, 9, 3, 2, 3, 9, 10, 10, 9, 10, 2, 3, 2, 3, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 2, 3, 9, 10, 9, 10, 9, 10, 10, 3, 9, 10, 9, 10, 3, 2, 2, 3, 9, 9, 10, 10, 9, 0, 0, 8, 1, 9, 9, 8, 2, 1, 2, 8, 9, 9, 8, 9, 1, 2, 1, 2, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 1, 2, 8, 9, 8, 9, 8, 9, 9, 2, 8, 9, 8, 9, 2, 1, 1, 2, 8, 8, 9, 9, 8, 0, 0, 7, 0, 8, 8, 7, 1, 0, 1, 7, 8, 8, 7, 8, 0, 1, 0, 1, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 0, 1, 7, 8, 7, 8, 7, 8, 8, 1, 7, 8, 7, 8, 1, 0, 0, 1, 7, 7, 8, 8, 7, 0, 0, 7, 3, 8, 8, 7, 4, 3, 4, 7, 8, 8, 7, 8, 3, 4, 3, 4, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 3, 4, 7, 8, 7, 8, 7, 8, 8, 4, 7, 8, 7, 8, 4, 3, 3, 4, 7, 7, 8, 8, 7, 0, 0, 6, 2, 7, 7, 6, 3, 2, 3, 6, 7, 7, 6, 7, 2, 3, 2, 3, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 2, 3, 6, 7, 6, 7, 6, 7, 7, 3, 6, 7, 6, 7, 3, 2, 2, 3, 6, 6, 7, 7, 6, 0, 0, 5, 1, 6, 6, 5, 2, 1, 2, 5, 6, 6, 5, 6, 1, 2, 1, 2, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 1, 2, 5, 6, 5, 6, 5, 6, 6, 2, 5, 6, 5, 6, 2, 1, 1, 2, 5, 5, 6, 6, 5, 0, 0, 4, 0, 5, 5, 4, 1, 0, 1, 4, 5, 5, 4, 5, 0, 1, 0, 1, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 0, 1, 4, 5, 4, 5, 4, 5, 5, 1, 4, 5, 4, 5, 1, 0, 0, 1, 4, 4, 5, 5, 4, 0, 0, 4, 3, 5, 5, 4, 4, 3, 4, 4, 5, 5, 4, 5, 3, 4, 3, 4, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 3, 4, 4, 5, 4, 5, 4, 5, 5, 4, 4, 5, 4, 5, 4, 3, 3, 4, 4, 4, 5, 5, 4, 0, 0, 3, 2, 4, 4, 3, 3, 2, 3, 3, 4, 4, 3, 4, 2, 3, 2, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 4, 3, 2, 2, 3, 3, 3, 4, 4, 3, 0, 0, 2, 1, 3, 3, 2, 2, 1, 2, 2, 3, 3, 2, 3, 1, 2, 1, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 3, 2, 1, 1, 2, 2, 2, 3, 3, 2, 0, 0, 1, 0, 2, 2, 1, 1, 0, 1, 1, 2, 2, 1, 2, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 1, 1, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 0, 0, 1, 1, 1, 2, 2, 1, 0, 0, 3, 1, 4, 2, 1, 2, 3, 4, 1, 2, 2, 1, 2, 1, 2, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 2, 1, 3, 4, 1, 2, 3, 2, 1, 0, 0, 2, 0, 3, 1, 0, 1, 2, 3, 0, 1, 1, 0, 1, 0, 1, 2, 3, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 2, 0, 1, 0, 1, 1, 0, 2, 3, 0, 1, 2, 1, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 14, 1, 15, 0, 14, 0, 1, 2, 14, 15, 15, 14, 15, 1, 2, 1, 2, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 1, 2, 14, 15, 14, 15, 14, 15, 15, 2, 14, 15, 14, 15, 2, 1, 1, 2, 14, 14, 15, 15, 14, 0, 0, 2, 1, 3, 0, 1, 0, 2, 3, 1, 2, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 3, 1, 1, 2, 2, 1, 0, 0, 3, 1, 4, 0, 1, 0, 3, 4, 1, 2, 2, 1, 2, 1, 2, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 2, 1, 3, 4, 1, 2, 3, 2, 1, 0, 0, 4, 1, 5, 3, 2, 2, 1, 2, 2, 3, 3, 2, 3, 1, 2, 4, 5, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 2, 1, 4, 5, 2, 3, 4, 3, 2, 0, 0, 3, 0, 4, 2, 1, 1, 0, 1, 1, 2, 2, 1, 2, 0, 1, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 1, 1, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 1, 0, 3, 4, 1, 2, 3, 2, 1, 0, 0, 2, 0, 3, 1, 0, 0, 2, 0, 0, 1, 1, 0, 1, 0, 0, 2, 3, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 2, 0, 1, 0, 1, 0, 0, 2, 3, 0, 1, 2, 1, 0, 0, 0, 14, 2, 15, 15, 14, 0, 2, 0, 14, 15, 15, 14, 15, 2, 3, 2, 3, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 2, 3, 14, 15, 14, 15, 14, 15, 15, 3, 14, 15, 14, 15, 3, 2, 2, 3, 14, 14, 15, 15, 14, 0, 0, 2, 2, 3, 3, 2, 0, 2, 0, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 2, 3, 3, 2, 0, 0, 3, 2, 4, 3, 2, 0, 3, 0, 2, 3, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 3, 4, 2, 2, 3, 3, 2, 0, 0, 5, 2, 6, 4, 3, 0, 2, 0, 3, 4, 4, 3, 4, 2, 3, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 3, 2, 5, 6, 3, 4, 5, 4, 3, 0, 0, 5, 2, 6, 4, 3, 3, 2, 3, 3, 4, 4, 3, 4, 2, 3, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 3, 2, 5, 6, 3, 4, 5, 4, 3, 0, 0, 4, 2, 5, 5, 4, 0, 2, 0, 4, 5, 5, 4, 5, 2, 3, 2, 3, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 2, 3, 4, 5, 4, 5, 4, 5, 5, 3, 4, 5, 4, 5, 3, 2, 2, 3, 4, 4, 5, 5, 4, 0, 0, 38, 2, 39, 39, 38, 0, 2, 0, 38, 39, 39, 38, 39, 2, 3, 2, 3, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 2, 3, 38, 39, 38, 39, 38, 39, 39, 3, 38, 39, 38, 39, 3, 2, 2, 3, 38, 38, 39, 39, 38, 0, 0, 37, 1, 38, 38, 37, 2, 1, 2, 37, 38, 38, 37, 38, 1, 2, 1, 2, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 1, 2, 37, 38, 37, 38, 37, 38, 38, 2, 37, 38, 37, 38, 2, 1, 1, 2, 37, 37, 38, 38, 37, 0, 0, 36, 0, 37, 37, 36, 1, 0, 1, 36, 37, 37, 36, 37, 0, 1, 0, 1, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 0, 1, 36, 37, 36, 37, 36, 37, 37, 1, 36, 37, 36, 37, 1, 0, 0, 1, 36, 36, 37, 37, 36, 0, 0, 35, 0, 36, 36, 35, 0, 0, 0, 35, 36, 36, 35, 36, 0, 0, 0, 0, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 0, 0, 35, 36, 35, 36, 35, 36, 36, 0, 35, 36, 35, 36, 0, 0, 0, 0, 35, 35, 36, 36, 35, 0, 0, 34, 0, 35, 35, 34, 0, 0, 0, 34, 35, 35, 34, 35, 0, 0, 0, 0, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 0, 0, 34, 35, 34, 35, 34, 35, 35, 0, 34, 35, 34, 35, 0, 0, 0, 0, 34, 34, 35, 35, 34, 0, 0, 33, 0, 34, 34, 33, 0, 0, 0, 33, 34, 34, 33, 34, 0, 0, 0, 0, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 0, 0, 33, 34, 33, 34, 33, 34, 34, 0, 33, 34, 33, 34, 0, 0, 0, 0, 33, 33, 34, 34, 33, 0, 0, 32, 0, 33, 33, 32, 0, 0, 0, 32, 33, 33, 32, 33, 0, 0, 0, 0, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 0, 0, 32, 33, 32, 33, 32, 33, 33, 0, 32, 33, 32, 33, 0, 0, 0, 0, 32, 32, 33, 33, 32, 0, 0, 31, 0, 32, 32, 31, 0, 0, 0, 31, 32, 32, 31, 32, 0, 0, 0, 0, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 0, 0, 31, 32, 31, 32, 31, 32, 32, 0, 31, 32, 31, 32, 0, 0, 0, 0, 31, 31, 32, 32, 31, 0, 0, 30, 0, 31, 31, 30, 0, 0, 0, 30, 31, 31, 30, 31, 0, 0, 0, 0, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 0, 0, 30, 31, 30, 31, 30, 31, 31, 0, 30, 31, 30, 31, 0, 0, 0, 0, 30, 30, 31, 31, 30, 0, 0, 29, 0, 30, 30, 29, 0, 0, 0, 29, 30, 30, 29, 30, 0, 0, 0, 0, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 0, 0, 29, 30, 29, 30, 29, 30, 30, 0, 29, 30, 29, 30, 0, 0, 0, 0, 29, 29, 30, 30, 29, 0, 0, 28, 0, 29, 29, 28, 0, 0, 0, 28, 29, 29, 28, 29, 0, 0, 0, 0, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 0, 0, 28, 29, 28, 29, 28, 29, 29, 0, 28, 29, 28, 29, 0, 0, 0, 0, 28, 28, 29, 29, 28, 0, 0, 27, 0, 28, 28, 27, 0, 0, 0, 27, 28, 28, 27, 28, 0, 0, 0, 0, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 0, 0, 27, 28, 27, 28, 27, 28, 28, 0, 27, 28, 27, 28, 0, 0, 0, 0, 27, 27, 28, 28, 27, 0, 0, 26, 0, 27, 27, 26, 0, 0, 0, 26, 27, 27, 26, 27, 0, 0, 0, 0, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 0, 0, 26, 27, 26, 27, 26, 27, 27, 0, 26, 27, 26, 27, 0, 0, 0, 0, 26, 26, 27, 27, 26, 0, 0, 25, 0, 26, 26, 25, 0, 0, 0, 25, 26, 26, 25, 26, 0, 0, 0, 0, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 0, 0, 25, 26, 25, 26, 25, 26, 26, 0, 25, 26, 25, 26, 0, 0, 0, 0, 25, 25, 26, 26, 25, 0, 0, 24, 0, 25, 25, 24, 0, 0, 0, 24, 25, 25, 24, 25, 0, 0, 0, 0, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 0, 0, 24, 25, 24, 25, 24, 25, 25, 0, 24, 25, 24, 25, 0, 0, 0, 0, 24, 24, 25, 25, 24, 0, 0, 23, 0, 24, 24, 23, 0, 0, 0, 23, 24, 24, 23, 24, 0, 0, 0, 0, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 0, 0, 23, 24, 23, 24, 23, 24, 24, 0, 23, 24, 23, 24, 0, 0, 0, 0, 23, 23, 24, 24, 23, 0, 0, 22, 0, 23, 23, 22, 0, 0, 0, 22, 23, 23, 22, 23, 0, 0, 0, 0, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 0, 0, 22, 23, 22, 23, 22, 23, 23, 0, 22, 23, 22, 23, 0, 0, 0, 0, 22, 22, 23, 23, 22, 0, 0, 21, 0, 22, 22, 21, 0, 0, 0, 21, 22, 22, 21, 22, 0, 0, 0, 0, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 0, 0, 21, 22, 21, 22, 21, 22, 22, 0, 21, 22, 21, 22, 0, 0, 0, 0, 21, 21, 22, 22, 21, 0, 0, 20, 0, 21, 21, 20, 0, 0, 0, 20, 21, 21, 20, 21, 0, 0, 0, 0, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 0, 0, 20, 21, 20, 21, 20, 21, 21, 0, 20, 21, 20, 21, 0, 0, 0, 0, 20, 20, 21, 21, 20, 0, 0, 19, 0, 20, 20, 19, 0, 0, 0, 19, 20, 20, 19, 20, 0, 0, 0, 0, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 0, 0, 19, 20, 19, 20, 19, 20, 20, 0, 19, 20, 19, 20, 0, 0, 0, 0, 19, 19, 20, 20, 19, 0, 0, 18, 0, 19, 19, 18, 0, 0, 0, 18, 19, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 0, 0, 18, 19, 18, 19, 18, 19, 19, 0, 18, 19, 18, 19, 0, 0, 0, 0, 18, 18, 19, 19, 18, 0, 0, 17, 0, 18, 18, 17, 0, 0, 0, 17, 18, 18, 17, 18, 0, 0, 0, 0, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 0, 0, 17, 18, 17, 18, 17, 18, 18, 0, 17, 18, 17, 18, 0, 0, 0, 0, 17, 17, 18, 18, 17, 0, 0, 16, 0, 17, 17, 16, 0, 0, 0, 16, 17, 17, 16, 17, 0, 0, 0, 0, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 0, 0, 16, 17, 16, 17, 16, 17, 17, 0, 16, 17, 16, 17, 0, 0, 0, 0, 16, 16, 17, 17, 16, 0, 0, 15, 0, 16, 16, 15, 0, 0, 0, 15, 16, 16, 15, 16, 0, 0, 0, 0, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 0, 0, 15, 16, 15, 16, 15, 16, 16, 0, 15, 16, 15, 16, 0, 0, 0, 0, 15, 15, 16, 16, 15, 0, 0, 15, 2, 16, 16, 15, 3, 2, 3, 15, 16, 16, 15, 16, 2, 3, 2, 3, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 2, 3, 15, 16, 15, 16, 15, 16, 16, 3, 15, 16, 15, 16, 3, 2, 2, 3, 15, 15, 16, 16, 15, 0, 0, 15, 3, 16, 16, 15, 0, 3, 0, 15, 16, 16, 15, 16, 3, 4, 3, 4, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 3, 4, 15, 16, 15, 16, 15, 16, 16, 4, 15, 16, 15, 16, 4, 3, 3, 4, 15, 15, 16, 16, 15, 0, 0, 15, 3, 16, 16, 15, 4, 3, 4, 15, 16, 16, 15, 16, 3, 4, 3, 4, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 3, 4, 15, 16, 15, 16, 15, 16, 16, 4, 15, 16, 15, 16, 4, 3, 3, 4, 15, 15, 16, 16, 15, 0, 0, 15, 1, 16, 16, 15, 2, 1, 2, 15, 16, 16, 15, 16, 1, 2, 1, 2, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 1, 2, 15, 16, 15, 16, 15, 16, 16, 2, 15, 16, 15, 16, 2, 1, 1, 2, 15, 15, 16, 16, 15, 0, 0, 15, 2, 16, 16, 15, 0, 2, 0, 15, 16, 16, 15, 16, 2, 3, 2, 3, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 2, 3, 15, 16, 15, 16, 15, 16, 16, 3, 15, 16, 15, 16, 3, 2, 2, 3, 15, 15, 16, 16, 15, 0, 0, 15, 6, 16, 16, 15, 7, 6, 7, 15, 16, 16, 15, 16, 6, 7, 6, 7, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 6, 7, 15, 16, 15, 16, 15, 16, 16, 7, 15, 16, 15, 16, 7, 6, 6, 7, 15, 15, 16, 16, 15, 0, 0, 14, 5, 15, 15, 14, 6, 5, 6, 14, 15, 15, 14, 15, 5, 6, 5, 6, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 5, 6, 14, 15, 14, 15, 14, 15, 15, 6, 14, 15, 14, 15, 6, 5, 5, 6, 14, 14, 15, 15, 14, 0, 0, 13, 4, 14, 14, 13, 5, 4, 5, 13, 14, 14, 13, 14, 4, 5, 4, 5, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 4, 5, 13, 14, 13, 14, 13, 14, 14, 5, 13, 14, 13, 14, 5, 4, 4, 5, 13, 13, 14, 14, 13, 0, 0, 15, 7, 16, 16, 15, 0, 7, 0, 15, 16, 16, 15, 16, 7, 8, 7, 8, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 7, 8, 15, 16, 15, 16, 15, 16, 16, 8, 15, 16, 15, 16, 8, 7, 7, 8, 15, 15, 16, 16, 15, 0, 0, 14, 6, 15, 15, 14, 7, 6, 7, 14, 15, 15, 14, 15, 6, 7, 6, 7, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 6, 7, 14, 15, 14, 15, 14, 15, 15, 7, 14, 15, 14, 15, 7, 6, 6, 7, 14, 14, 15, 15, 14, 0, 0, 13, 5, 14, 14, 13, 6, 5, 6, 13, 14, 14, 13, 14, 5, 6, 5, 6, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 5, 6, 13, 14, 13, 14, 13, 14, 14, 6, 13, 14, 13, 14, 6, 5, 5, 6, 13, 13, 14, 14, 13, 0, 0, 12, 4, 13, 13, 12, 5, 4, 5, 12, 13, 13, 12, 13, 4, 5, 4, 5, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 4, 5, 12, 13, 12, 13, 12, 13, 13, 5, 12, 13, 12, 13, 5, 4, 4, 5, 12, 12, 13, 13, 12, 0, 0, 15, 7, 16, 16, 15, 8, 7, 8, 15, 16, 16, 15, 16, 7, 8, 7, 8, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 7, 8, 15, 16, 15, 16, 15, 16, 16, 8, 15, 16, 15, 16, 8, 7, 7, 8, 15, 15, 16, 16, 15, 0, 0, 15, 0, 16, 16, 15, 1, 0, 1, 15, 16, 16, 15, 16, 0, 1, 0, 1, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 0, 1, 15, 16, 15, 16, 15, 16, 16, 1, 15, 16, 15, 16, 1, 0, 0, 1, 15, 15, 16, 16, 15, 0, 0, 15, 1, 16, 16, 15, 0, 1, 0, 15, 16, 16, 15, 16, 1, 2, 1, 2, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 1, 2, 15, 16, 15, 16, 15, 16, 16, 2, 15, 16, 15, 16, 2, 1, 1, 2, 15, 15, 16, 16, 15, 0, 0, 16, 2, 17, 17, 16, 3, 2, 3, 16, 17, 17, 16, 17, 2, 3, 2, 3, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 2, 3, 16, 17, 16, 17, 16, 17, 17, 3, 16, 17, 16, 17, 3, 2, 2, 3, 16, 16, 17, 17, 16, 0, 0, 16, 3, 17, 17, 16, 0, 3, 0, 16, 17, 17, 16, 17, 3, 4, 3, 4, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 3, 4, 16, 17, 16, 17, 16, 17, 17, 4, 16, 17, 16, 17, 4, 3, 3, 4, 16, 16, 17, 17, 16, 0, 0, 16, 3, 17, 17, 16, 4, 3, 4, 16, 17, 17, 16, 17, 3, 4, 3, 4, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 3, 4, 16, 17, 16, 17, 16, 17, 17, 4, 16, 17, 16, 17, 4, 3, 3, 4, 16, 16, 17, 17, 16, 0, 0, 16, 1, 17, 17, 16, 2, 1, 2, 16, 17, 17, 16, 17, 1, 2, 1, 2, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 1, 2, 16, 17, 16, 17, 16, 17, 17, 2, 16, 17, 16, 17, 2, 1, 1, 2, 16, 16, 17, 17, 16, 0, 0, 16, 2, 17, 17, 16, 0, 2, 0, 16, 17, 17, 16, 17, 2, 3, 2, 3, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 2, 3, 16, 17, 16, 17, 16, 17, 17, 3, 16, 17, 16, 17, 3, 2, 2, 3, 16, 16, 17, 17, 16, 0, 0, 16, 6, 17, 17, 16, 7, 6, 7, 16, 17, 17, 16, 17, 6, 7, 6, 7, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 6, 7, 16, 17, 16, 17, 16, 17, 17, 7, 16, 17, 16, 17, 7, 6, 6, 7, 16, 16, 17, 17, 16, 0, 0, 15, 5, 16, 16, 15, 6, 5, 6, 15, 16, 16, 15, 16, 5, 6, 5, 6, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 5, 6, 15, 16, 15, 16, 15, 16, 16, 6, 15, 16, 15, 16, 6, 5, 5, 6, 15, 15, 16, 16, 15, 0, 0, 14, 4, 15, 15, 14, 5, 4, 5, 14, 15, 15, 14, 15, 4, 5, 4, 5, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 4, 5, 14, 15, 14, 15, 14, 15, 15, 5, 14, 15, 14, 15, 5, 4, 4, 5, 14, 14, 15, 15, 14, 0, 0, 16, 7, 17, 17, 16, 0, 7, 0, 16, 17, 17, 16, 17, 7, 8, 7, 8, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 7, 8, 16, 17, 16, 17, 16, 17, 17, 8, 16, 17, 16, 17, 8, 7, 7, 8, 16, 16, 17, 17, 16, 0, 0, 16, 7, 17, 17, 16, 8, 7, 8, 16, 17, 17, 16, 17, 7, 8, 7, 8, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 7, 8, 16, 17, 16, 17, 16, 17, 17, 8, 16, 17, 16, 17, 8, 7, 7, 8, 16, 16, 17, 17, 16, 0, 0, 16, 0, 17, 17, 16, 1, 0, 1, 16, 17, 17, 16, 17, 0, 1, 0, 1, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 0, 1, 16, 17, 16, 17, 16, 17, 17, 1, 16, 17, 16, 17, 1, 0, 0, 1, 16, 16, 17, 17, 16, 0, 0, 16, 1, 17, 17, 16, 0, 1, 0, 16, 17, 17, 16, 17, 1, 2, 1, 2, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 1, 2, 16, 17, 16, 17, 16, 17, 17, 2, 16, 17, 16, 17, 2, 1, 1, 2, 16, 16, 17, 17, 16, 0, 0, 17, 2, 18, 18, 17, 3, 2, 3, 17, 18, 18, 17, 18, 2, 3, 2, 3, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 2, 3, 17, 18, 17, 18, 17, 18, 18, 3, 17, 18, 17, 18, 3, 2, 2, 3, 17, 17, 18, 18, 17, 0, 0, 17, 3, 18, 18, 17, 0, 3, 0, 17, 18, 18, 17, 18, 3, 4, 3, 4, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 3, 4, 17, 18, 17, 18, 17, 18, 18, 4, 17, 18, 17, 18, 4, 3, 3, 4, 17, 17, 18, 18, 17, 0, 0, 17, 3, 18, 18, 17, 4, 3, 4, 17, 18, 18, 17, 18, 3, 4, 3, 4, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 3, 4, 17, 18, 17, 18, 17, 18, 18, 4, 17, 18, 17, 18, 4, 3, 3, 4, 17, 17, 18, 18, 17, 0, 0, 17, 1, 18, 18, 17, 2, 1, 2, 17, 18, 18, 17, 18, 1, 2, 1, 2, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 1, 2, 17, 18, 17, 18, 17, 18, 18, 2, 17, 18, 17, 18, 2, 1, 1, 2, 17, 17, 18, 18, 17, 0, 0, 17, 2, 18, 18, 17, 0, 2, 0, 17, 18, 18, 17, 18, 2, 3, 2, 3, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 2, 3, 17, 18, 17, 18, 17, 18, 18, 3, 17, 18, 17, 18, 3, 2, 2, 3, 17, 17, 18, 18, 17, 0, 0, 17, 6, 18, 18, 17, 7, 6, 7, 17, 18, 18, 17, 18, 6, 7, 6, 7, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 6, 7, 17, 18, 17, 18, 17, 18, 18, 7, 17, 18, 17, 18, 7, 6, 6, 7, 17, 17, 18, 18, 17, 0, 0, 16, 5, 17, 17, 16, 6, 5, 6, 16, 17, 17, 16, 17, 5, 6, 5, 6, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 5, 6, 16, 17, 16, 17, 16, 17, 17, 6, 16, 17, 16, 17, 6, 5, 5, 6, 16, 16, 17, 17, 16, 0, 0, 15, 4, 16, 16, 15, 5, 4, 5, 15, 16, 16, 15, 16, 4, 5, 4, 5, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 15, 16, 4, 5, 15, 16, 15, 16, 15, 16, 16, 5, 15, 16, 15, 16, 5, 4, 4, 5, 15, 15, 16, 16, 15, 0, 0, 17, 7, 18, 18, 17, 0, 7, 0, 17, 18, 18, 17, 18, 7, 8, 7, 8, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 7, 8, 17, 18, 17, 18, 17, 18, 18, 8, 17, 18, 17, 18, 8, 7, 7, 8, 17, 17, 18, 18, 17, 0, 0, 17, 7, 18, 18, 17, 8, 7, 8, 17, 18, 18, 17, 18, 7, 8, 7, 8, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 7, 8, 17, 18, 17, 18, 17, 18, 18, 8, 17, 18, 17, 18, 8, 7, 7, 8, 17, 17, 18, 18, 17, 0, 0, 17, 0, 18, 18, 17, 1, 0, 1, 17, 18, 18, 17, 18, 0, 1, 0, 1, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 0, 1, 17, 18, 17, 18, 17, 18, 18, 1, 17, 18, 17, 18, 1, 0, 0, 1, 17, 17, 18, 18, 17, 0, 0, 17, 1, 18, 18, 17, 0, 1, 0, 17, 18, 18, 17, 18, 1, 2, 1, 2, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 1, 2, 17, 18, 17, 18, 17, 18, 18, 2, 17, 18, 17, 18, 2, 1, 1, 2, 17, 17, 18, 18, 17, 0, 0, 18, 2, 19, 19, 18, 3, 2, 3, 18, 19, 19, 18, 19, 2, 3, 2, 3, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 2, 3, 18, 19, 18, 19, 18, 19, 19, 3, 18, 19, 18, 19, 3, 2, 2, 3, 18, 18, 19, 19, 18, 0, 0, 18, 3, 19, 19, 18, 0, 3, 0, 18, 19, 19, 18, 19, 3, 4, 3, 4, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 3, 4, 18, 19, 18, 19, 18, 19, 19, 4, 18, 19, 18, 19, 4, 3, 3, 4, 18, 18, 19, 19, 18, 0, 0, 18, 3, 19, 19, 18, 4, 3, 4, 18, 19, 19, 18, 19, 3, 4, 3, 4, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 3, 4, 18, 19, 18, 19, 18, 19, 19, 4, 18, 19, 18, 19, 4, 3, 3, 4, 18, 18, 19, 19, 18, 0, 0, 18, 1, 19, 19, 18, 2, 1, 2, 18, 19, 19, 18, 19, 1, 2, 1, 2, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 1, 2, 18, 19, 18, 19, 18, 19, 19, 2, 18, 19, 18, 19, 2, 1, 1, 2, 18, 18, 19, 19, 18, 0, 0, 18, 2, 19, 19, 18, 0, 2, 0, 18, 19, 19, 18, 19, 2, 3, 2, 3, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 2, 3, 18, 19, 18, 19, 18, 19, 19, 3, 18, 19, 18, 19, 3, 2, 2, 3, 18, 18, 19, 19, 18, 0, 0, 18, 6, 19, 19, 18, 7, 6, 7, 18, 19, 19, 18, 19, 6, 7, 6, 7, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 6, 7, 18, 19, 18, 19, 18, 19, 19, 7, 18, 19, 18, 19, 7, 6, 6, 7, 18, 18, 19, 19, 18, 0, 0, 17, 5, 18, 18, 17, 6, 5, 6, 17, 18, 18, 17, 18, 5, 6, 5, 6, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 5, 6, 17, 18, 17, 18, 17, 18, 18, 6, 17, 18, 17, 18, 6, 5, 5, 6, 17, 17, 18, 18, 17, 0, 0, 16, 4, 17, 17, 16, 5, 4, 5, 16, 17, 17, 16, 17, 4, 5, 4, 5, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 4, 5, 16, 17, 16, 17, 16, 17, 17, 5, 16, 17, 16, 17, 5, 4, 4, 5, 16, 16, 17, 17, 16, 0, 0, 18, 7, 19, 19, 18, 0, 7, 0, 18, 19, 19, 18, 19, 7, 8, 7, 8, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 7, 8, 18, 19, 18, 19, 18, 19, 19, 8, 18, 19, 18, 19, 8, 7, 7, 8, 18, 18, 19, 19, 18, 0, 0, 18, 7, 19, 19, 18, 8, 7, 8, 18, 19, 19, 18, 19, 7, 8, 7, 8, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 7, 8, 18, 19, 18, 19, 18, 19, 19, 8, 18, 19, 18, 19, 8, 7, 7, 8, 18, 18, 19, 19, 18, 0, 0, 18, 0, 19, 19, 18, 1, 0, 1, 18, 19, 19, 18, 19, 0, 1, 0, 1, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 0, 1, 18, 19, 18, 19, 18, 19, 19, 1, 18, 19, 18, 19, 1, 0, 0, 1, 18, 18, 19, 19, 18, 0, 0, 18, 1, 19, 19, 18, 0, 1, 0, 18, 19, 19, 18, 19, 1, 2, 1, 2, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 1, 2, 18, 19, 18, 19, 18, 19, 19, 2, 18, 19, 18, 19, 2, 1, 1, 2, 18, 18, 19, 19, 18, 0, 0, 19, 2, 20, 20, 19, 3, 2, 3, 19, 20, 20, 19, 20, 2, 3, 2, 3, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 2, 3, 19, 20, 19, 20, 19, 20, 20, 3, 19, 20, 19, 20, 3, 2, 2, 3, 19, 19, 20, 20, 19, 0, 0, 19, 3, 20, 20, 19, 0, 3, 0, 19, 20, 20, 19, 20, 3, 4, 3, 4, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 3, 4, 19, 20, 19, 20, 19, 20, 20, 4, 19, 20, 19, 20, 4, 3, 3, 4, 19, 19, 20, 20, 19, 0, 0, 19, 3, 20, 20, 19, 4, 3, 4, 19, 20, 20, 19, 20, 3, 4, 3, 4, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 3, 4, 19, 20, 19, 20, 19, 20, 20, 4, 19, 20, 19, 20, 4, 3, 3, 4, 19, 19, 20, 20, 19, 0, 0, 19, 1, 20, 20, 19, 2, 1, 2, 19, 20, 20, 19, 20, 1, 2, 1, 2, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 1, 2, 19, 20, 19, 20, 19, 20, 20, 2, 19, 20, 19, 20, 2, 1, 1, 2, 19, 19, 20, 20, 19, 0, 0, 19, 2, 20, 20, 19, 0, 2, 0, 19, 20, 20, 19, 20, 2, 3, 2, 3, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 2, 3, 19, 20, 19, 20, 19, 20, 20, 3, 19, 20, 19, 20, 3, 2, 2, 3, 19, 19, 20, 20, 19, 0, 0, 19, 6, 20, 20, 19, 7, 6, 7, 19, 20, 20, 19, 20, 6, 7, 6, 7, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 6, 7, 19, 20, 19, 20, 19, 20, 20, 7, 19, 20, 19, 20, 7, 6, 6, 7, 19, 19, 20, 20, 19, 0, 0, 18, 5, 19, 19, 18, 6, 5, 6, 18, 19, 19, 18, 19, 5, 6, 5, 6, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 5, 6, 18, 19, 18, 19, 18, 19, 19, 6, 18, 19, 18, 19, 6, 5, 5, 6, 18, 18, 19, 19, 18, 0, 0, 17, 4, 18, 18, 17, 5, 4, 5, 17, 18, 18, 17, 18, 4, 5, 4, 5, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 17, 18, 4, 5, 17, 18, 17, 18, 17, 18, 18, 5, 17, 18, 17, 18, 5, 4, 4, 5, 17, 17, 18, 18, 17, 0, 0, 19, 7, 20, 20, 19, 0, 7, 0, 19, 20, 20, 19, 20, 7, 8, 7, 8, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 7, 8, 19, 20, 19, 20, 19, 20, 20, 8, 19, 20, 19, 20, 8, 7, 7, 8, 19, 19, 20, 20, 19, 0, 0, 19, 7, 20, 20, 19, 8, 7, 8, 19, 20, 20, 19, 20, 7, 8, 7, 8, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 7, 8, 19, 20, 19, 20, 19, 20, 20, 8, 19, 20, 19, 20, 8, 7, 7, 8, 19, 19, 20, 20, 19, 0, 0, 19, 0, 20, 20, 19, 1, 0, 1, 19, 20, 20, 19, 20, 0, 1, 0, 1, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 0, 1, 19, 20, 19, 20, 19, 20, 20, 1, 19, 20, 19, 20, 1, 0, 0, 1, 19, 19, 20, 20, 19, 0, 0, 19, 1, 20, 20, 19, 0, 1, 0, 19, 20, 20, 19, 20, 1, 2, 1, 2, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 1, 2, 19, 20, 19, 20, 19, 20, 20, 2, 19, 20, 19, 20, 2, 1, 1, 2, 19, 19, 20, 20, 19, 0, 0, 20, 2, 21, 21, 20, 3, 2, 3, 20, 21, 21, 20, 21, 2, 3, 2, 3, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 2, 3, 20, 21, 20, 21, 20, 21, 21, 3, 20, 21, 20, 21, 3, 2, 2, 3, 20, 20, 21, 21, 20, 0, 0, 20, 3, 21, 21, 20, 0, 3, 0, 20, 21, 21, 20, 21, 3, 4, 3, 4, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 3, 4, 20, 21, 20, 21, 20, 21, 21, 4, 20, 21, 20, 21, 4, 3, 3, 4, 20, 20, 21, 21, 20, 0, 0, 20, 3, 21, 21, 20, 4, 3, 4, 20, 21, 21, 20, 21, 3, 4, 3, 4, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 3, 4, 20, 21, 20, 21, 20, 21, 21, 4, 20, 21, 20, 21, 4, 3, 3, 4, 20, 20, 21, 21, 20, 0, 0, 20, 1, 21, 21, 20, 2, 1, 2, 20, 21, 21, 20, 21, 1, 2, 1, 2, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 1, 2, 20, 21, 20, 21, 20, 21, 21, 2, 20, 21, 20, 21, 2, 1, 1, 2, 20, 20, 21, 21, 20, 0, 0, 20, 2, 21, 21, 20, 0, 2, 0, 20, 21, 21, 20, 21, 2, 3, 2, 3, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 2, 3, 20, 21, 20, 21, 20, 21, 21, 3, 20, 21, 20, 21, 3, 2, 2, 3, 20, 20, 21, 21, 20, 0, 0, 20, 6, 21, 21, 20, 7, 6, 7, 20, 21, 21, 20, 21, 6, 7, 6, 7, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 6, 7, 20, 21, 20, 21, 20, 21, 21, 7, 20, 21, 20, 21, 7, 6, 6, 7, 20, 20, 21, 21, 20, 0, 0, 19, 5, 20, 20, 19, 6, 5, 6, 19, 20, 20, 19, 20, 5, 6, 5, 6, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 5, 6, 19, 20, 19, 20, 19, 20, 20, 6, 19, 20, 19, 20, 6, 5, 5, 6, 19, 19, 20, 20, 19, 0, 0, 18, 4, 19, 19, 18, 5, 4, 5, 18, 19, 19, 18, 19, 4, 5, 4, 5, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 18, 19, 4, 5, 18, 19, 18, 19, 18, 19, 19, 5, 18, 19, 18, 19, 5, 4, 4, 5, 18, 18, 19, 19, 18, 0, 0, 20, 7, 21, 21, 20, 0, 7, 0, 20, 21, 21, 20, 21, 7, 8, 7, 8, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 7, 8, 20, 21, 20, 21, 20, 21, 21, 8, 20, 21, 20, 21, 8, 7, 7, 8, 20, 20, 21, 21, 20, 0, 0, 20, 7, 21, 21, 20, 8, 7, 8, 20, 21, 21, 20, 21, 7, 8, 7, 8, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 7, 8, 20, 21, 20, 21, 20, 21, 21, 8, 20, 21, 20, 21, 8, 7, 7, 8, 20, 20, 21, 21, 20, 0, 0, 20, 0, 21, 21, 20, 1, 0, 1, 20, 21, 21, 20, 21, 0, 1, 0, 1, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 0, 1, 20, 21, 20, 21, 20, 21, 21, 1, 20, 21, 20, 21, 1, 0, 0, 1, 20, 20, 21, 21, 20, 0, 0, 20, 1, 21, 21, 20, 0, 1, 0, 20, 21, 21, 20, 21, 1, 2, 1, 2, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 1, 2, 20, 21, 20, 21, 20, 21, 21, 2, 20, 21, 20, 21, 2, 1, 1, 2, 20, 20, 21, 21, 20, 0, 0, 21, 2, 22, 22, 21, 3, 2, 3, 21, 22, 22, 21, 22, 2, 3, 2, 3, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 2, 3, 21, 22, 21, 22, 21, 22, 22, 3, 21, 22, 21, 22, 3, 2, 2, 3, 21, 21, 22, 22, 21, 0, 0, 21, 3, 22, 22, 21, 0, 3, 0, 21, 22, 22, 21, 22, 3, 4, 3, 4, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 3, 4, 21, 22, 21, 22, 21, 22, 22, 4, 21, 22, 21, 22, 4, 3, 3, 4, 21, 21, 22, 22, 21, 0, 0, 21, 3, 22, 22, 21, 4, 3, 4, 21, 22, 22, 21, 22, 3, 4, 3, 4, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 3, 4, 21, 22, 21, 22, 21, 22, 22, 4, 21, 22, 21, 22, 4, 3, 3, 4, 21, 21, 22, 22, 21, 0, 0, 21, 1, 22, 22, 21, 2, 1, 2, 21, 22, 22, 21, 22, 1, 2, 1, 2, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 1, 2, 21, 22, 21, 22, 21, 22, 22, 2, 21, 22, 21, 22, 2, 1, 1, 2, 21, 21, 22, 22, 21, 0, 0, 21, 2, 22, 22, 21, 0, 2, 0, 21, 22, 22, 21, 22, 2, 3, 2, 3, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 2, 3, 21, 22, 21, 22, 21, 22, 22, 3, 21, 22, 21, 22, 3, 2, 2, 3, 21, 21, 22, 22, 21, 0, 0, 21, 6, 22, 22, 21, 7, 6, 7, 21, 22, 22, 21, 22, 6, 7, 6, 7, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 6, 7, 21, 22, 21, 22, 21, 22, 22, 7, 21, 22, 21, 22, 7, 6, 6, 7, 21, 21, 22, 22, 21, 0, 0, 20, 5, 21, 21, 20, 6, 5, 6, 20, 21, 21, 20, 21, 5, 6, 5, 6, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 5, 6, 20, 21, 20, 21, 20, 21, 21, 6, 20, 21, 20, 21, 6, 5, 5, 6, 20, 20, 21, 21, 20, 0, 0, 19, 4, 20, 20, 19, 5, 4, 5, 19, 20, 20, 19, 20, 4, 5, 4, 5, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 4, 5, 19, 20, 19, 20, 19, 20, 20, 5, 19, 20, 19, 20, 5, 4, 4, 5, 19, 19, 20, 20, 19, 0, 0, 21, 7, 22, 22, 21, 0, 7, 0, 21, 22, 22, 21, 22, 7, 8, 7, 8, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 7, 8, 21, 22, 21, 22, 21, 22, 22, 8, 21, 22, 21, 22, 8, 7, 7, 8, 21, 21, 22, 22, 21, 0, 0, 21, 7, 22, 22, 21, 8, 7, 8, 21, 22, 22, 21, 22, 7, 8, 7, 8, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 7, 8, 21, 22, 21, 22, 21, 22, 22, 8, 21, 22, 21, 22, 8, 7, 7, 8, 21, 21, 22, 22, 21, 0, 0, 21, 0, 22, 22, 21, 1, 0, 1, 21, 22, 22, 21, 22, 0, 1, 0, 1, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 0, 1, 21, 22, 21, 22, 21, 22, 22, 1, 21, 22, 21, 22, 1, 0, 0, 1, 21, 21, 22, 22, 21, 0, 0, 21, 1, 22, 22, 21, 0, 1, 0, 21, 22, 22, 21, 22, 1, 2, 1, 2, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 1, 2, 21, 22, 21, 22, 21, 22, 22, 2, 21, 22, 21, 22, 2, 1, 1, 2, 21, 21, 22, 22, 21, 0, 0, 22, 2, 23, 23, 22, 3, 2, 3, 22, 23, 23, 22, 23, 2, 3, 2, 3, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 2, 3, 22, 23, 22, 23, 22, 23, 23, 3, 22, 23, 22, 23, 3, 2, 2, 3, 22, 22, 23, 23, 22, 0, 0, 22, 3, 23, 23, 22, 0, 3, 0, 22, 23, 23, 22, 23, 3, 4, 3, 4, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 3, 4, 22, 23, 22, 23, 22, 23, 23, 4, 22, 23, 22, 23, 4, 3, 3, 4, 22, 22, 23, 23, 22, 0, 0, 22, 3, 23, 23, 22, 4, 3, 4, 22, 23, 23, 22, 23, 3, 4, 3, 4, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 3, 4, 22, 23, 22, 23, 22, 23, 23, 4, 22, 23, 22, 23, 4, 3, 3, 4, 22, 22, 23, 23, 22, 0, 0, 22, 1, 23, 23, 22, 2, 1, 2, 22, 23, 23, 22, 23, 1, 2, 1, 2, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 1, 2, 22, 23, 22, 23, 22, 23, 23, 2, 22, 23, 22, 23, 2, 1, 1, 2, 22, 22, 23, 23, 22, 0, 0, 22, 2, 23, 23, 22, 0, 2, 0, 22, 23, 23, 22, 23, 2, 3, 2, 3, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 2, 3, 22, 23, 22, 23, 22, 23, 23, 3, 22, 23, 22, 23, 3, 2, 2, 3, 22, 22, 23, 23, 22, 0, 0, 22, 6, 23, 23, 22, 7, 6, 7, 22, 23, 23, 22, 23, 6, 7, 6, 7, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 6, 7, 22, 23, 22, 23, 22, 23, 23, 7, 22, 23, 22, 23, 7, 6, 6, 7, 22, 22, 23, 23, 22, 0, 0, 21, 5, 22, 22, 21, 6, 5, 6, 21, 22, 22, 21, 22, 5, 6, 5, 6, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 5, 6, 21, 22, 21, 22, 21, 22, 22, 6, 21, 22, 21, 22, 6, 5, 5, 6, 21, 21, 22, 22, 21, 0, 0, 20, 4, 21, 21, 20, 5, 4, 5, 20, 21, 21, 20, 21, 4, 5, 4, 5, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 4, 5, 20, 21, 20, 21, 20, 21, 21, 5, 20, 21, 20, 21, 5, 4, 4, 5, 20, 20, 21, 21, 20, 0, 0, 22, 7, 23, 23, 22, 0, 7, 0, 22, 23, 23, 22, 23, 7, 8, 7, 8, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 7, 8, 22, 23, 22, 23, 22, 23, 23, 8, 22, 23, 22, 23, 8, 7, 7, 8, 22, 22, 23, 23, 22, 0, 0, 22, 7, 23, 23, 22, 8, 7, 8, 22, 23, 23, 22, 23, 7, 8, 7, 8, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 7, 8, 22, 23, 22, 23, 22, 23, 23, 8, 22, 23, 22, 23, 8, 7, 7, 8, 22, 22, 23, 23, 22, 0, 0, 22, 0, 23, 23, 22, 1, 0, 1, 22, 23, 23, 22, 23, 0, 1, 0, 1, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 0, 1, 22, 23, 22, 23, 22, 23, 23, 1, 22, 23, 22, 23, 1, 0, 0, 1, 22, 22, 23, 23, 22, 0, 0, 22, 1, 23, 23, 22, 0, 1, 0, 22, 23, 23, 22, 23, 1, 2, 1, 2, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 1, 2, 22, 23, 22, 23, 22, 23, 23, 2, 22, 23, 22, 23, 2, 1, 1, 2, 22, 22, 23, 23, 22, 0, 0, 23, 2, 24, 24, 23, 3, 2, 3, 23, 24, 24, 23, 24, 2, 3, 2, 3, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 2, 3, 23, 24, 23, 24, 23, 24, 24, 3, 23, 24, 23, 24, 3, 2, 2, 3, 23, 23, 24, 24, 23, 0, 0, 23, 3, 24, 24, 23, 0, 3, 0, 23, 24, 24, 23, 24, 3, 4, 3, 4, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 3, 4, 23, 24, 23, 24, 23, 24, 24, 4, 23, 24, 23, 24, 4, 3, 3, 4, 23, 23, 24, 24, 23, 0, 0, 23, 3, 24, 24, 23, 4, 3, 4, 23, 24, 24, 23, 24, 3, 4, 3, 4, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 3, 4, 23, 24, 23, 24, 23, 24, 24, 4, 23, 24, 23, 24, 4, 3, 3, 4, 23, 23, 24, 24, 23, 0, 0, 23, 1, 24, 24, 23, 2, 1, 2, 23, 24, 24, 23, 24, 1, 2, 1, 2, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 1, 2, 23, 24, 23, 24, 23, 24, 24, 2, 23, 24, 23, 24, 2, 1, 1, 2, 23, 23, 24, 24, 23, 0, 0, 23, 2, 24, 24, 23, 0, 2, 0, 23, 24, 24, 23, 24, 2, 3, 2, 3, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 2, 3, 23, 24, 23, 24, 23, 24, 24, 3, 23, 24, 23, 24, 3, 2, 2, 3, 23, 23, 24, 24, 23, 0, 0, 23, 6, 24, 24, 23, 7, 6, 7, 23, 24, 24, 23, 24, 6, 7, 6, 7, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 6, 7, 23, 24, 23, 24, 23, 24, 24, 7, 23, 24, 23, 24, 7, 6, 6, 7, 23, 23, 24, 24, 23, 0, 0, 22, 5, 23, 23, 22, 6, 5, 6, 22, 23, 23, 22, 23, 5, 6, 5, 6, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 5, 6, 22, 23, 22, 23, 22, 23, 23, 6, 22, 23, 22, 23, 6, 5, 5, 6, 22, 22, 23, 23, 22, 0, 0, 21, 4, 22, 22, 21, 5, 4, 5, 21, 22, 22, 21, 22, 4, 5, 4, 5, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 4, 5, 21, 22, 21, 22, 21, 22, 22, 5, 21, 22, 21, 22, 5, 4, 4, 5, 21, 21, 22, 22, 21, 0, 0, 23, 7, 24, 24, 23, 0, 7, 0, 23, 24, 24, 23, 24, 7, 8, 7, 8, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 7, 8, 23, 24, 23, 24, 23, 24, 24, 8, 23, 24, 23, 24, 8, 7, 7, 8, 23, 23, 24, 24, 23, 0, 0, 23, 7, 24, 24, 23, 8, 7, 8, 23, 24, 24, 23, 24, 7, 8, 7, 8, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 7, 8, 23, 24, 23, 24, 23, 24, 24, 8, 23, 24, 23, 24, 8, 7, 7, 8, 23, 23, 24, 24, 23, 0, 0, 23, 0, 24, 24, 23, 1, 0, 1, 23, 24, 24, 23, 24, 0, 1, 0, 1, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 0, 1, 23, 24, 23, 24, 23, 24, 24, 1, 23, 24, 23, 24, 1, 0, 0, 1, 23, 23, 24, 24, 23, 0, 0, 23, 1, 24, 24, 23, 0, 1, 0, 23, 24, 24, 23, 24, 1, 2, 1, 2, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 1, 2, 23, 24, 23, 24, 23, 24, 24, 2, 23, 24, 23, 24, 2, 1, 1, 2, 23, 23, 24, 24, 23, 0, 0, 24, 2, 25, 25, 24, 3, 2, 3, 24, 25, 25, 24, 25, 2, 3, 2, 3, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 2, 3, 24, 25, 24, 25, 24, 25, 25, 3, 24, 25, 24, 25, 3, 2, 2, 3, 24, 24, 25, 25, 24, 0, 0, 24, 3, 25, 25, 24, 0, 3, 0, 24, 25, 25, 24, 25, 3, 4, 3, 4, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 3, 4, 24, 25, 24, 25, 24, 25, 25, 4, 24, 25, 24, 25, 4, 3, 3, 4, 24, 24, 25, 25, 24, 0, 0, 24, 3, 25, 25, 24, 4, 3, 4, 24, 25, 25, 24, 25, 3, 4, 3, 4, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 3, 4, 24, 25, 24, 25, 24, 25, 25, 4, 24, 25, 24, 25, 4, 3, 3, 4, 24, 24, 25, 25, 24, 0, 0, 24, 1, 25, 25, 24, 2, 1, 2, 24, 25, 25, 24, 25, 1, 2, 1, 2, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 1, 2, 24, 25, 24, 25, 24, 25, 25, 2, 24, 25, 24, 25, 2, 1, 1, 2, 24, 24, 25, 25, 24, 0, 0, 24, 2, 25, 25, 24, 0, 2, 0, 24, 25, 25, 24, 25, 2, 3, 2, 3, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 2, 3, 24, 25, 24, 25, 24, 25, 25, 3, 24, 25, 24, 25, 3, 2, 2, 3, 24, 24, 25, 25, 24, 0, 0, 24, 6, 25, 25, 24, 7, 6, 7, 24, 25, 25, 24, 25, 6, 7, 6, 7, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 6, 7, 24, 25, 24, 25, 24, 25, 25, 7, 24, 25, 24, 25, 7, 6, 6, 7, 24, 24, 25, 25, 24, 0, 0, 23, 5, 24, 24, 23, 6, 5, 6, 23, 24, 24, 23, 24, 5, 6, 5, 6, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 5, 6, 23, 24, 23, 24, 23, 24, 24, 6, 23, 24, 23, 24, 6, 5, 5, 6, 23, 23, 24, 24, 23, 0, 0, 22, 4, 23, 23, 22, 5, 4, 5, 22, 23, 23, 22, 23, 4, 5, 4, 5, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 23, 4, 5, 22, 23, 22, 23, 22, 23, 23, 5, 22, 23, 22, 23, 5, 4, 4, 5, 22, 22, 23, 23, 22, 0, 0, 24, 7, 25, 25, 24, 0, 7, 0, 24, 25, 25, 24, 25, 7, 8, 7, 8, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 7, 8, 24, 25, 24, 25, 24, 25, 25, 8, 24, 25, 24, 25, 8, 7, 7, 8, 24, 24, 25, 25, 24, 0, 0, 24, 7, 25, 25, 24, 8, 7, 8, 24, 25, 25, 24, 25, 7, 8, 7, 8, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 7, 8, 24, 25, 24, 25, 24, 25, 25, 8, 24, 25, 24, 25, 8, 7, 7, 8, 24, 24, 25, 25, 24, 0, 0, 24, 0, 25, 25, 24, 1, 0, 1, 24, 25, 25, 24, 25, 0, 1, 0, 1, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 0, 1, 24, 25, 24, 25, 24, 25, 25, 1, 24, 25, 24, 25, 1, 0, 0, 1, 24, 24, 25, 25, 24, 0, 0, 24, 1, 25, 25, 24, 0, 1, 0, 24, 25, 25, 24, 25, 1, 2, 1, 2, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 1, 2, 24, 25, 24, 25, 24, 25, 25, 2, 24, 25, 24, 25, 2, 1, 1, 2, 24, 24, 25, 25, 24, 0, 0, 25, 2, 26, 26, 25, 3, 2, 3, 25, 26, 26, 25, 26, 2, 3, 2, 3, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 2, 3, 25, 26, 25, 26, 25, 26, 26, 3, 25, 26, 25, 26, 3, 2, 2, 3, 25, 25, 26, 26, 25, 0, 0, 25, 3, 26, 26, 25, 0, 3, 0, 25, 26, 26, 25, 26, 3, 4, 3, 4, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 3, 4, 25, 26, 25, 26, 25, 26, 26, 4, 25, 26, 25, 26, 4, 3, 3, 4, 25, 25, 26, 26, 25, 0, 0, 25, 3, 26, 26, 25, 4, 3, 4, 25, 26, 26, 25, 26, 3, 4, 3, 4, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 3, 4, 25, 26, 25, 26, 25, 26, 26, 4, 25, 26, 25, 26, 4, 3, 3, 4, 25, 25, 26, 26, 25, 0, 0, 25, 1, 26, 26, 25, 2, 1, 2, 25, 26, 26, 25, 26, 1, 2, 1, 2, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 1, 2, 25, 26, 25, 26, 25, 26, 26, 2, 25, 26, 25, 26, 2, 1, 1, 2, 25, 25, 26, 26, 25, 0, 0, 25, 2, 26, 26, 25, 0, 2, 0, 25, 26, 26, 25, 26, 2, 3, 2, 3, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 2, 3, 25, 26, 25, 26, 25, 26, 26, 3, 25, 26, 25, 26, 3, 2, 2, 3, 25, 25, 26, 26, 25, 0, 0, 25, 6, 26, 26, 25, 7, 6, 7, 25, 26, 26, 25, 26, 6, 7, 6, 7, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 6, 7, 25, 26, 25, 26, 25, 26, 26, 7, 25, 26, 25, 26, 7, 6, 6, 7, 25, 25, 26, 26, 25, 0, 0, 24, 5, 25, 25, 24, 6, 5, 6, 24, 25, 25, 24, 25, 5, 6, 5, 6, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 5, 6, 24, 25, 24, 25, 24, 25, 25, 6, 24, 25, 24, 25, 6, 5, 5, 6, 24, 24, 25, 25, 24, 0, 0, 23, 4, 24, 24, 23, 5, 4, 5, 23, 24, 24, 23, 24, 4, 5, 4, 5, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 23, 24, 4, 5, 23, 24, 23, 24, 23, 24, 24, 5, 23, 24, 23, 24, 5, 4, 4, 5, 23, 23, 24, 24, 23, 0, 0, 25, 7, 26, 26, 25, 0, 7, 0, 25, 26, 26, 25, 26, 7, 8, 7, 8, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 7, 8, 25, 26, 25, 26, 25, 26, 26, 8, 25, 26, 25, 26, 8, 7, 7, 8, 25, 25, 26, 26, 25, 0, 0, 25, 7, 26, 26, 25, 8, 7, 8, 25, 26, 26, 25, 26, 7, 8, 7, 8, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 7, 8, 25, 26, 25, 26, 25, 26, 26, 8, 25, 26, 25, 26, 8, 7, 7, 8, 25, 25, 26, 26, 25, 0, 0, 25, 0, 26, 26, 25, 1, 0, 1, 25, 26, 26, 25, 26, 0, 1, 0, 1, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 0, 1, 25, 26, 25, 26, 25, 26, 26, 1, 25, 26, 25, 26, 1, 0, 0, 1, 25, 25, 26, 26, 25, 0, 0, 25, 1, 26, 26, 25, 0, 1, 0, 25, 26, 26, 25, 26, 1, 2, 1, 2, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 1, 2, 25, 26, 25, 26, 25, 26, 26, 2, 25, 26, 25, 26, 2, 1, 1, 2, 25, 25, 26, 26, 25, 0, 0, 26, 2, 27, 27, 26, 3, 2, 3, 26, 27, 27, 26, 27, 2, 3, 2, 3, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 2, 3, 26, 27, 26, 27, 26, 27, 27, 3, 26, 27, 26, 27, 3, 2, 2, 3, 26, 26, 27, 27, 26, 0, 0, 26, 3, 27, 27, 26, 0, 3, 0, 26, 27, 27, 26, 27, 3, 4, 3, 4, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 3, 4, 26, 27, 26, 27, 26, 27, 27, 4, 26, 27, 26, 27, 4, 3, 3, 4, 26, 26, 27, 27, 26, 0, 0, 26, 3, 27, 27, 26, 4, 3, 4, 26, 27, 27, 26, 27, 3, 4, 3, 4, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 3, 4, 26, 27, 26, 27, 26, 27, 27, 4, 26, 27, 26, 27, 4, 3, 3, 4, 26, 26, 27, 27, 26, 0, 0, 26, 1, 27, 27, 26, 2, 1, 2, 26, 27, 27, 26, 27, 1, 2, 1, 2, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 1, 2, 26, 27, 26, 27, 26, 27, 27, 2, 26, 27, 26, 27, 2, 1, 1, 2, 26, 26, 27, 27, 26, 0, 0, 26, 2, 27, 27, 26, 0, 2, 0, 26, 27, 27, 26, 27, 2, 3, 2, 3, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 2, 3, 26, 27, 26, 27, 26, 27, 27, 3, 26, 27, 26, 27, 3, 2, 2, 3, 26, 26, 27, 27, 26, 0, 0, 26, 6, 27, 27, 26, 7, 6, 7, 26, 27, 27, 26, 27, 6, 7, 6, 7, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 6, 7, 26, 27, 26, 27, 26, 27, 27, 7, 26, 27, 26, 27, 7, 6, 6, 7, 26, 26, 27, 27, 26, 0, 0, 25, 5, 26, 26, 25, 6, 5, 6, 25, 26, 26, 25, 26, 5, 6, 5, 6, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 5, 6, 25, 26, 25, 26, 25, 26, 26, 6, 25, 26, 25, 26, 6, 5, 5, 6, 25, 25, 26, 26, 25, 0, 0, 24, 4, 25, 25, 24, 5, 4, 5, 24, 25, 25, 24, 25, 4, 5, 4, 5, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 24, 25, 4, 5, 24, 25, 24, 25, 24, 25, 25, 5, 24, 25, 24, 25, 5, 4, 4, 5, 24, 24, 25, 25, 24, 0, 0, 26, 7, 27, 27, 26, 0, 7, 0, 26, 27, 27, 26, 27, 7, 8, 7, 8, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 7, 8, 26, 27, 26, 27, 26, 27, 27, 8, 26, 27, 26, 27, 8, 7, 7, 8, 26, 26, 27, 27, 26, 0, 0, 26, 7, 27, 27, 26, 8, 7, 8, 26, 27, 27, 26, 27, 7, 8, 7, 8, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 7, 8, 26, 27, 26, 27, 26, 27, 27, 8, 26, 27, 26, 27, 8, 7, 7, 8, 26, 26, 27, 27, 26, 0, 0, 26, 0, 27, 27, 26, 1, 0, 1, 26, 27, 27, 26, 27, 0, 1, 0, 1, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 0, 1, 26, 27, 26, 27, 26, 27, 27, 1, 26, 27, 26, 27, 1, 0, 0, 1, 26, 26, 27, 27, 26, 0, 0, 26, 1, 27, 27, 26, 0, 1, 0, 26, 27, 27, 26, 27, 1, 2, 1, 2, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 1, 2, 26, 27, 26, 27, 26, 27, 27, 2, 26, 27, 26, 27, 2, 1, 1, 2, 26, 26, 27, 27, 26, 0, 0, 27, 2, 28, 28, 27, 3, 2, 3, 27, 28, 28, 27, 28, 2, 3, 2, 3, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 2, 3, 27, 28, 27, 28, 27, 28, 28, 3, 27, 28, 27, 28, 3, 2, 2, 3, 27, 27, 28, 28, 27, 0, 0, 27, 3, 28, 28, 27, 0, 3, 0, 27, 28, 28, 27, 28, 3, 4, 3, 4, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 3, 4, 27, 28, 27, 28, 27, 28, 28, 4, 27, 28, 27, 28, 4, 3, 3, 4, 27, 27, 28, 28, 27, 0, 0, 27, 3, 28, 28, 27, 4, 3, 4, 27, 28, 28, 27, 28, 3, 4, 3, 4, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 3, 4, 27, 28, 27, 28, 27, 28, 28, 4, 27, 28, 27, 28, 4, 3, 3, 4, 27, 27, 28, 28, 27, 0, 0, 27, 1, 28, 28, 27, 2, 1, 2, 27, 28, 28, 27, 28, 1, 2, 1, 2, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 1, 2, 27, 28, 27, 28, 27, 28, 28, 2, 27, 28, 27, 28, 2, 1, 1, 2, 27, 27, 28, 28, 27, 0, 0, 27, 2, 28, 28, 27, 0, 2, 0, 27, 28, 28, 27, 28, 2, 3, 2, 3, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 2, 3, 27, 28, 27, 28, 27, 28, 28, 3, 27, 28, 27, 28, 3, 2, 2, 3, 27, 27, 28, 28, 27, 0, 0, 27, 6, 28, 28, 27, 7, 6, 7, 27, 28, 28, 27, 28, 6, 7, 6, 7, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 6, 7, 27, 28, 27, 28, 27, 28, 28, 7, 27, 28, 27, 28, 7, 6, 6, 7, 27, 27, 28, 28, 27, 0, 0, 26, 5, 27, 27, 26, 6, 5, 6, 26, 27, 27, 26, 27, 5, 6, 5, 6, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 5, 6, 26, 27, 26, 27, 26, 27, 27, 6, 26, 27, 26, 27, 6, 5, 5, 6, 26, 26, 27, 27, 26, 0, 0, 25, 4, 26, 26, 25, 5, 4, 5, 25, 26, 26, 25, 26, 4, 5, 4, 5, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 25, 26, 4, 5, 25, 26, 25, 26, 25, 26, 26, 5, 25, 26, 25, 26, 5, 4, 4, 5, 25, 25, 26, 26, 25, 0, 0, 27, 7, 28, 28, 27, 0, 7, 0, 27, 28, 28, 27, 28, 7, 8, 7, 8, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 7, 8, 27, 28, 27, 28, 27, 28, 28, 8, 27, 28, 27, 28, 8, 7, 7, 8, 27, 27, 28, 28, 27, 0, 0, 27, 7, 28, 28, 27, 8, 7, 8, 27, 28, 28, 27, 28, 7, 8, 7, 8, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 7, 8, 27, 28, 27, 28, 27, 28, 28, 8, 27, 28, 27, 28, 8, 7, 7, 8, 27, 27, 28, 28, 27, 0, 0, 27, 0, 28, 28, 27, 1, 0, 1, 27, 28, 28, 27, 28, 0, 1, 0, 1, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 0, 1, 27, 28, 27, 28, 27, 28, 28, 1, 27, 28, 27, 28, 1, 0, 0, 1, 27, 27, 28, 28, 27, 0, 0, 27, 1, 28, 28, 27, 0, 1, 0, 27, 28, 28, 27, 28, 1, 2, 1, 2, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 1, 2, 27, 28, 27, 28, 27, 28, 28, 2, 27, 28, 27, 28, 2, 1, 1, 2, 27, 27, 28, 28, 27, 0, 0, 28, 2, 29, 29, 28, 3, 2, 3, 28, 29, 29, 28, 29, 2, 3, 2, 3, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 2, 3, 28, 29, 28, 29, 28, 29, 29, 3, 28, 29, 28, 29, 3, 2, 2, 3, 28, 28, 29, 29, 28, 0, 0, 28, 3, 29, 29, 28, 0, 3, 0, 28, 29, 29, 28, 29, 3, 4, 3, 4, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 3, 4, 28, 29, 28, 29, 28, 29, 29, 4, 28, 29, 28, 29, 4, 3, 3, 4, 28, 28, 29, 29, 28, 0, 0, 28, 3, 29, 29, 28, 4, 3, 4, 28, 29, 29, 28, 29, 3, 4, 3, 4, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 3, 4, 28, 29, 28, 29, 28, 29, 29, 4, 28, 29, 28, 29, 4, 3, 3, 4, 28, 28, 29, 29, 28, 0, 0, 28, 1, 29, 29, 28, 2, 1, 2, 28, 29, 29, 28, 29, 1, 2, 1, 2, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 1, 2, 28, 29, 28, 29, 28, 29, 29, 2, 28, 29, 28, 29, 2, 1, 1, 2, 28, 28, 29, 29, 28, 0, 0, 28, 2, 29, 29, 28, 0, 2, 0, 28, 29, 29, 28, 29, 2, 3, 2, 3, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 2, 3, 28, 29, 28, 29, 28, 29, 29, 3, 28, 29, 28, 29, 3, 2, 2, 3, 28, 28, 29, 29, 28, 0, 0, 28, 6, 29, 29, 28, 7, 6, 7, 28, 29, 29, 28, 29, 6, 7, 6, 7, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 6, 7, 28, 29, 28, 29, 28, 29, 29, 7, 28, 29, 28, 29, 7, 6, 6, 7, 28, 28, 29, 29, 28, 0, 0, 27, 5, 28, 28, 27, 6, 5, 6, 27, 28, 28, 27, 28, 5, 6, 5, 6, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 5, 6, 27, 28, 27, 28, 27, 28, 28, 6, 27, 28, 27, 28, 6, 5, 5, 6, 27, 27, 28, 28, 27, 0, 0, 26, 4, 27, 27, 26, 5, 4, 5, 26, 27, 27, 26, 27, 4, 5, 4, 5, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 26, 27, 4, 5, 26, 27, 26, 27, 26, 27, 27, 5, 26, 27, 26, 27, 5, 4, 4, 5, 26, 26, 27, 27, 26, 0, 0, 28, 7, 29, 29, 28, 0, 7, 0, 28, 29, 29, 28, 29, 7, 8, 7, 8, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 7, 8, 28, 29, 28, 29, 28, 29, 29, 8, 28, 29, 28, 29, 8, 7, 7, 8, 28, 28, 29, 29, 28, 0, 0, 28, 7, 29, 29, 28, 8, 7, 8, 28, 29, 29, 28, 29, 7, 8, 7, 8, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 7, 8, 28, 29, 28, 29, 28, 29, 29, 8, 28, 29, 28, 29, 8, 7, 7, 8, 28, 28, 29, 29, 28, 0, 0, 28, 0, 29, 29, 28, 1, 0, 1, 28, 29, 29, 28, 29, 0, 1, 0, 1, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 0, 1, 28, 29, 28, 29, 28, 29, 29, 1, 28, 29, 28, 29, 1, 0, 0, 1, 28, 28, 29, 29, 28, 0, 0, 28, 1, 29, 29, 28, 0, 1, 0, 28, 29, 29, 28, 29, 1, 2, 1, 2, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 1, 2, 28, 29, 28, 29, 28, 29, 29, 2, 28, 29, 28, 29, 2, 1, 1, 2, 28, 28, 29, 29, 28, 0, 0, 29, 2, 30, 30, 29, 3, 2, 3, 29, 30, 30, 29, 30, 2, 3, 2, 3, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 2, 3, 29, 30, 29, 30, 29, 30, 30, 3, 29, 30, 29, 30, 3, 2, 2, 3, 29, 29, 30, 30, 29, 0, 0, 29, 3, 30, 30, 29, 0, 3, 0, 29, 30, 30, 29, 30, 3, 4, 3, 4, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 3, 4, 29, 30, 29, 30, 29, 30, 30, 4, 29, 30, 29, 30, 4, 3, 3, 4, 29, 29, 30, 30, 29, 0, 0, 29, 3, 30, 30, 29, 4, 3, 4, 29, 30, 30, 29, 30, 3, 4, 3, 4, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 3, 4, 29, 30, 29, 30, 29, 30, 30, 4, 29, 30, 29, 30, 4, 3, 3, 4, 29, 29, 30, 30, 29, 0, 0, 29, 1, 30, 30, 29, 2, 1, 2, 29, 30, 30, 29, 30, 1, 2, 1, 2, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 1, 2, 29, 30, 29, 30, 29, 30, 30, 2, 29, 30, 29, 30, 2, 1, 1, 2, 29, 29, 30, 30, 29, 0, 0, 29, 2, 30, 30, 29, 0, 2, 0, 29, 30, 30, 29, 30, 2, 3, 2, 3, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 2, 3, 29, 30, 29, 30, 29, 30, 30, 3, 29, 30, 29, 30, 3, 2, 2, 3, 29, 29, 30, 30, 29, 0, 0, 29, 6, 30, 30, 29, 7, 6, 7, 29, 30, 30, 29, 30, 6, 7, 6, 7, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 6, 7, 29, 30, 29, 30, 29, 30, 30, 7, 29, 30, 29, 30, 7, 6, 6, 7, 29, 29, 30, 30, 29, 0, 0, 28, 5, 29, 29, 28, 6, 5, 6, 28, 29, 29, 28, 29, 5, 6, 5, 6, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 5, 6, 28, 29, 28, 29, 28, 29, 29, 6, 28, 29, 28, 29, 6, 5, 5, 6, 28, 28, 29, 29, 28, 0, 0, 27, 4, 28, 28, 27, 5, 4, 5, 27, 28, 28, 27, 28, 4, 5, 4, 5, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 4, 5, 27, 28, 27, 28, 27, 28, 28, 5, 27, 28, 27, 28, 5, 4, 4, 5, 27, 27, 28, 28, 27, 0, 0, 29, 7, 30, 30, 29, 0, 7, 0, 29, 30, 30, 29, 30, 7, 8, 7, 8, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 7, 8, 29, 30, 29, 30, 29, 30, 30, 8, 29, 30, 29, 30, 8, 7, 7, 8, 29, 29, 30, 30, 29, 0, 0, 29, 7, 30, 30, 29, 8, 7, 8, 29, 30, 30, 29, 30, 7, 8, 7, 8, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 7, 8, 29, 30, 29, 30, 29, 30, 30, 8, 29, 30, 29, 30, 8, 7, 7, 8, 29, 29, 30, 30, 29, 0, 0, 29, 0, 30, 30, 29, 1, 0, 1, 29, 30, 30, 29, 30, 0, 1, 0, 1, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 0, 1, 29, 30, 29, 30, 29, 30, 30, 1, 29, 30, 29, 30, 1, 0, 0, 1, 29, 29, 30, 30, 29, 0, 0, 29, 1, 30, 30, 29, 0, 1, 0, 29, 30, 30, 29, 30, 1, 2, 1, 2, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 1, 2, 29, 30, 29, 30, 29, 30, 30, 2, 29, 30, 29, 30, 2, 1, 1, 2, 29, 29, 30, 30, 29, 0, 0, 30, 2, 31, 31, 30, 3, 2, 3, 30, 31, 31, 30, 31, 2, 3, 2, 3, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 2, 3, 30, 31, 30, 31, 30, 31, 31, 3, 30, 31, 30, 31, 3, 2, 2, 3, 30, 30, 31, 31, 30, 0, 0, 30, 3, 31, 31, 30, 0, 3, 0, 30, 31, 31, 30, 31, 3, 4, 3, 4, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 3, 4, 30, 31, 30, 31, 30, 31, 31, 4, 30, 31, 30, 31, 4, 3, 3, 4, 30, 30, 31, 31, 30, 0, 0, 30, 3, 31, 31, 30, 4, 3, 4, 30, 31, 31, 30, 31, 3, 4, 3, 4, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 3, 4, 30, 31, 30, 31, 30, 31, 31, 4, 30, 31, 30, 31, 4, 3, 3, 4, 30, 30, 31, 31, 30, 0, 0, 30, 1, 31, 31, 30, 2, 1, 2, 30, 31, 31, 30, 31, 1, 2, 1, 2, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 1, 2, 30, 31, 30, 31, 30, 31, 31, 2, 30, 31, 30, 31, 2, 1, 1, 2, 30, 30, 31, 31, 30, 0, 0, 30, 2, 31, 31, 30, 0, 2, 0, 30, 31, 31, 30, 31, 2, 3, 2, 3, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 2, 3, 30, 31, 30, 31, 30, 31, 31, 3, 30, 31, 30, 31, 3, 2, 2, 3, 30, 30, 31, 31, 30, 0, 0, 30, 6, 31, 31, 30, 7, 6, 7, 30, 31, 31, 30, 31, 6, 7, 6, 7, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 6, 7, 30, 31, 30, 31, 30, 31, 31, 7, 30, 31, 30, 31, 7, 6, 6, 7, 30, 30, 31, 31, 30, 0, 0, 29, 5, 30, 30, 29, 6, 5, 6, 29, 30, 30, 29, 30, 5, 6, 5, 6, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 5, 6, 29, 30, 29, 30, 29, 30, 30, 6, 29, 30, 29, 30, 6, 5, 5, 6, 29, 29, 30, 30, 29, 0, 0, 28, 4, 29, 29, 28, 5, 4, 5, 28, 29, 29, 28, 29, 4, 5, 4, 5, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 28, 29, 4, 5, 28, 29, 28, 29, 28, 29, 29, 5, 28, 29, 28, 29, 5, 4, 4, 5, 28, 28, 29, 29, 28, 0, 0, 30, 7, 31, 31, 30, 0, 7, 0, 30, 31, 31, 30, 31, 7, 8, 7, 8, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 7, 8, 30, 31, 30, 31, 30, 31, 31, 8, 30, 31, 30, 31, 8, 7, 7, 8, 30, 30, 31, 31, 30, 0, 0, 30, 7, 31, 31, 30, 8, 7, 8, 30, 31, 31, 30, 31, 7, 8, 7, 8, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 7, 8, 30, 31, 30, 31, 30, 31, 31, 8, 30, 31, 30, 31, 8, 7, 7, 8, 30, 30, 31, 31, 30, 0, 0, 30, 0, 31, 31, 30, 1, 0, 1, 30, 31, 31, 30, 31, 0, 1, 0, 1, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 0, 1, 30, 31, 30, 31, 30, 31, 31, 1, 30, 31, 30, 31, 1, 0, 0, 1, 30, 30, 31, 31, 30, 0, 0, 30, 1, 31, 31, 30, 0, 1, 0, 30, 31, 31, 30, 31, 1, 2, 1, 2, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 1, 2, 30, 31, 30, 31, 30, 31, 31, 2, 30, 31, 30, 31, 2, 1, 1, 2, 30, 30, 31, 31, 30, 0, 0, 31, 2, 32, 32, 31, 3, 2, 3, 31, 32, 32, 31, 32, 2, 3, 2, 3, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 2, 3, 31, 32, 31, 32, 31, 32, 32, 3, 31, 32, 31, 32, 3, 2, 2, 3, 31, 31, 32, 32, 31, 0, 0, 31, 3, 32, 32, 31, 0, 3, 0, 31, 32, 32, 31, 32, 3, 4, 3, 4, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 3, 4, 31, 32, 31, 32, 31, 32, 32, 4, 31, 32, 31, 32, 4, 3, 3, 4, 31, 31, 32, 32, 31, 0, 0, 31, 3, 32, 32, 31, 4, 3, 4, 31, 32, 32, 31, 32, 3, 4, 3, 4, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 3, 4, 31, 32, 31, 32, 31, 32, 32, 4, 31, 32, 31, 32, 4, 3, 3, 4, 31, 31, 32, 32, 31, 0, 0, 31, 1, 32, 32, 31, 2, 1, 2, 31, 32, 32, 31, 32, 1, 2, 1, 2, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 1, 2, 31, 32, 31, 32, 31, 32, 32, 2, 31, 32, 31, 32, 2, 1, 1, 2, 31, 31, 32, 32, 31, 0, 0, 31, 2, 32, 32, 31, 0, 2, 0, 31, 32, 32, 31, 32, 2, 3, 2, 3, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 2, 3, 31, 32, 31, 32, 31, 32, 32, 3, 31, 32, 31, 32, 3, 2, 2, 3, 31, 31, 32, 32, 31, 0, 0, 31, 6, 32, 32, 31, 7, 6, 7, 31, 32, 32, 31, 32, 6, 7, 6, 7, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 6, 7, 31, 32, 31, 32, 31, 32, 32, 7, 31, 32, 31, 32, 7, 6, 6, 7, 31, 31, 32, 32, 31, 0, 0, 30, 5, 31, 31, 30, 6, 5, 6, 30, 31, 31, 30, 31, 5, 6, 5, 6, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 5, 6, 30, 31, 30, 31, 30, 31, 31, 6, 30, 31, 30, 31, 6, 5, 5, 6, 30, 30, 31, 31, 30, 0, 0, 29, 4, 30, 30, 29, 5, 4, 5, 29, 30, 30, 29, 30, 4, 5, 4, 5, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 4, 5, 29, 30, 29, 30, 29, 30, 30, 5, 29, 30, 29, 30, 5, 4, 4, 5, 29, 29, 30, 30, 29, 0, 0, 31, 7, 32, 32, 31, 0, 7, 0, 31, 32, 32, 31, 32, 7, 8, 7, 8, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 7, 8, 31, 32, 31, 32, 31, 32, 32, 8, 31, 32, 31, 32, 8, 7, 7, 8, 31, 31, 32, 32, 31, 0, 0, 31, 7, 32, 32, 31, 8, 7, 8, 31, 32, 32, 31, 32, 7, 8, 7, 8, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 7, 8, 31, 32, 31, 32, 31, 32, 32, 8, 31, 32, 31, 32, 8, 7, 7, 8, 31, 31, 32, 32, 31, 0, 0, 31, 0, 32, 32, 31, 1, 0, 1, 31, 32, 32, 31, 32, 0, 1, 0, 1, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 0, 1, 31, 32, 31, 32, 31, 32, 32, 1, 31, 32, 31, 32, 1, 0, 0, 1, 31, 31, 32, 32, 31, 0, 0, 31, 1, 32, 32, 31, 0, 1, 0, 31, 32, 32, 31, 32, 1, 2, 1, 2, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 1, 2, 31, 32, 31, 32, 31, 32, 32, 2, 31, 32, 31, 32, 2, 1, 1, 2, 31, 31, 32, 32, 31, 0, 0, 32, 2, 33, 33, 32, 3, 2, 3, 32, 33, 33, 32, 33, 2, 3, 2, 3, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 2, 3, 32, 33, 32, 33, 32, 33, 33, 3, 32, 33, 32, 33, 3, 2, 2, 3, 32, 32, 33, 33, 32, 0, 0, 32, 3, 33, 33, 32, 0, 3, 0, 32, 33, 33, 32, 33, 3, 4, 3, 4, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 3, 4, 32, 33, 32, 33, 32, 33, 33, 4, 32, 33, 32, 33, 4, 3, 3, 4, 32, 32, 33, 33, 32, 0, 0, 32, 3, 33, 33, 32, 4, 3, 4, 32, 33, 33, 32, 33, 3, 4, 3, 4, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 3, 4, 32, 33, 32, 33, 32, 33, 33, 4, 32, 33, 32, 33, 4, 3, 3, 4, 32, 32, 33, 33, 32, 0, 0, 32, 1, 33, 33, 32, 2, 1, 2, 32, 33, 33, 32, 33, 1, 2, 1, 2, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 1, 2, 32, 33, 32, 33, 32, 33, 33, 2, 32, 33, 32, 33, 2, 1, 1, 2, 32, 32, 33, 33, 32, 0, 0, 32, 2, 33, 33, 32, 0, 2, 0, 32, 33, 33, 32, 33, 2, 3, 2, 3, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 2, 3, 32, 33, 32, 33, 32, 33, 33, 3, 32, 33, 32, 33, 3, 2, 2, 3, 32, 32, 33, 33, 32, 0, 0, 32, 6, 33, 33, 32, 7, 6, 7, 32, 33, 33, 32, 33, 6, 7, 6, 7, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 6, 7, 32, 33, 32, 33, 32, 33, 33, 7, 32, 33, 32, 33, 7, 6, 6, 7, 32, 32, 33, 33, 32, 0, 0, 31, 5, 32, 32, 31, 6, 5, 6, 31, 32, 32, 31, 32, 5, 6, 5, 6, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 5, 6, 31, 32, 31, 32, 31, 32, 32, 6, 31, 32, 31, 32, 6, 5, 5, 6, 31, 31, 32, 32, 31, 0, 0, 30, 4, 31, 31, 30, 5, 4, 5, 30, 31, 31, 30, 31, 4, 5, 4, 5, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31, 4, 5, 30, 31, 30, 31, 30, 31, 31, 5, 30, 31, 30, 31, 5, 4, 4, 5, 30, 30, 31, 31, 30, 0, 0, 32, 7, 33, 33, 32, 0, 7, 0, 32, 33, 33, 32, 33, 7, 8, 7, 8, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 7, 8, 32, 33, 32, 33, 32, 33, 33, 8, 32, 33, 32, 33, 8, 7, 7, 8, 32, 32, 33, 33, 32, 0, 0, 32, 7, 33, 33, 32, 8, 7, 8, 32, 33, 33, 32, 33, 7, 8, 7, 8, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 7, 8, 32, 33, 32, 33, 32, 33, 33, 8, 32, 33, 32, 33, 8, 7, 7, 8, 32, 32, 33, 33, 32, 0, 0, 32, 0, 33, 33, 32, 1, 0, 1, 32, 33, 33, 32, 33, 0, 1, 0, 1, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 0, 1, 32, 33, 32, 33, 32, 33, 33, 1, 32, 33, 32, 33, 1, 0, 0, 1, 32, 32, 33, 33, 32, 0, 0, 32, 1, 33, 33, 32, 0, 1, 0, 32, 33, 33, 32, 33, 1, 2, 1, 2, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 1, 2, 32, 33, 32, 33, 32, 33, 33, 2, 32, 33, 32, 33, 2, 1, 1, 2, 32, 32, 33, 33, 32, 0, 0, 33, 2, 34, 34, 33, 3, 2, 3, 33, 34, 34, 33, 34, 2, 3, 2, 3, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 2, 3, 33, 34, 33, 34, 33, 34, 34, 3, 33, 34, 33, 34, 3, 2, 2, 3, 33, 33, 34, 34, 33, 0, 0, 33, 3, 34, 34, 33, 0, 3, 0, 33, 34, 34, 33, 34, 3, 4, 3, 4, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 3, 4, 33, 34, 33, 34, 33, 34, 34, 4, 33, 34, 33, 34, 4, 3, 3, 4, 33, 33, 34, 34, 33, 0, 0, 33, 3, 34, 34, 33, 4, 3, 4, 33, 34, 34, 33, 34, 3, 4, 3, 4, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 3, 4, 33, 34, 33, 34, 33, 34, 34, 4, 33, 34, 33, 34, 4, 3, 3, 4, 33, 33, 34, 34, 33, 0, 0, 33, 1, 34, 34, 33, 2, 1, 2, 33, 34, 34, 33, 34, 1, 2, 1, 2, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 1, 2, 33, 34, 33, 34, 33, 34, 34, 2, 33, 34, 33, 34, 2, 1, 1, 2, 33, 33, 34, 34, 33, 0, 0, 33, 2, 34, 34, 33, 0, 2, 0, 33, 34, 34, 33, 34, 2, 3, 2, 3, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 2, 3, 33, 34, 33, 34, 33, 34, 34, 3, 33, 34, 33, 34, 3, 2, 2, 3, 33, 33, 34, 34, 33, 0, 0, 33, 6, 34, 34, 33, 7, 6, 7, 33, 34, 34, 33, 34, 6, 7, 6, 7, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 6, 7, 33, 34, 33, 34, 33, 34, 34, 7, 33, 34, 33, 34, 7, 6, 6, 7, 33, 33, 34, 34, 33, 0, 0, 32, 5, 33, 33, 32, 6, 5, 6, 32, 33, 33, 32, 33, 5, 6, 5, 6, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 5, 6, 32, 33, 32, 33, 32, 33, 33, 6, 32, 33, 32, 33, 6, 5, 5, 6, 32, 32, 33, 33, 32, 0, 0, 31, 4, 32, 32, 31, 5, 4, 5, 31, 32, 32, 31, 32, 4, 5, 4, 5, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 31, 32, 4, 5, 31, 32, 31, 32, 31, 32, 32, 5, 31, 32, 31, 32, 5, 4, 4, 5, 31, 31, 32, 32, 31, 0, 0, 33, 7, 34, 34, 33, 0, 7, 0, 33, 34, 34, 33, 34, 7, 8, 7, 8, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 7, 8, 33, 34, 33, 34, 33, 34, 34, 8, 33, 34, 33, 34, 8, 7, 7, 8, 33, 33, 34, 34, 33, 0, 0, 33, 7, 34, 34, 33, 8, 7, 8, 33, 34, 34, 33, 34, 7, 8, 7, 8, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 7, 8, 33, 34, 33, 34, 33, 34, 34, 8, 33, 34, 33, 34, 8, 7, 7, 8, 33, 33, 34, 34, 33, 0, 0, 33, 0, 34, 34, 33, 1, 0, 1, 33, 34, 34, 33, 34, 0, 1, 0, 1, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 0, 1, 33, 34, 33, 34, 33, 34, 34, 1, 33, 34, 33, 34, 1, 0, 0, 1, 33, 33, 34, 34, 33, 0, 0, 33, 1, 34, 34, 33, 0, 1, 0, 33, 34, 34, 33, 34, 1, 2, 1, 2, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 1, 2, 33, 34, 33, 34, 33, 34, 34, 2, 33, 34, 33, 34, 2, 1, 1, 2, 33, 33, 34, 34, 33, 0, 0, 34, 2, 35, 35, 34, 3, 2, 3, 34, 35, 35, 34, 35, 2, 3, 2, 3, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 2, 3, 34, 35, 34, 35, 34, 35, 35, 3, 34, 35, 34, 35, 3, 2, 2, 3, 34, 34, 35, 35, 34, 0, 0, 34, 3, 35, 35, 34, 0, 3, 0, 34, 35, 35, 34, 35, 3, 4, 3, 4, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 3, 4, 34, 35, 34, 35, 34, 35, 35, 4, 34, 35, 34, 35, 4, 3, 3, 4, 34, 34, 35, 35, 34, 0, 0, 34, 3, 35, 35, 34, 4, 3, 4, 34, 35, 35, 34, 35, 3, 4, 3, 4, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 3, 4, 34, 35, 34, 35, 34, 35, 35, 4, 34, 35, 34, 35, 4, 3, 3, 4, 34, 34, 35, 35, 34, 0, 0, 34, 1, 35, 35, 34, 2, 1, 2, 34, 35, 35, 34, 35, 1, 2, 1, 2, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 1, 2, 34, 35, 34, 35, 34, 35, 35, 2, 34, 35, 34, 35, 2, 1, 1, 2, 34, 34, 35, 35, 34, 0, 0, 34, 2, 35, 35, 34, 0, 2, 0, 34, 35, 35, 34, 35, 2, 3, 2, 3, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 2, 3, 34, 35, 34, 35, 34, 35, 35, 3, 34, 35, 34, 35, 3, 2, 2, 3, 34, 34, 35, 35, 34, 0, 0, 34, 6, 35, 35, 34, 7, 6, 7, 34, 35, 35, 34, 35, 6, 7, 6, 7, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 6, 7, 34, 35, 34, 35, 34, 35, 35, 7, 34, 35, 34, 35, 7, 6, 6, 7, 34, 34, 35, 35, 34, 0, 0, 33, 5, 34, 34, 33, 6, 5, 6, 33, 34, 34, 33, 34, 5, 6, 5, 6, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 5, 6, 33, 34, 33, 34, 33, 34, 34, 6, 33, 34, 33, 34, 6, 5, 5, 6, 33, 33, 34, 34, 33, 0, 0, 32, 4, 33, 33, 32, 5, 4, 5, 32, 33, 33, 32, 33, 4, 5, 4, 5, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 32, 33, 4, 5, 32, 33, 32, 33, 32, 33, 33, 5, 32, 33, 32, 33, 5, 4, 4, 5, 32, 32, 33, 33, 32, 0, 0, 34, 7, 35, 35, 34, 0, 7, 0, 34, 35, 35, 34, 35, 7, 8, 7, 8, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 7, 8, 34, 35, 34, 35, 34, 35, 35, 8, 34, 35, 34, 35, 8, 7, 7, 8, 34, 34, 35, 35, 34, 0, 0, 34, 7, 35, 35, 34, 8, 7, 8, 34, 35, 35, 34, 35, 7, 8, 7, 8, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 7, 8, 34, 35, 34, 35, 34, 35, 35, 8, 34, 35, 34, 35, 8, 7, 7, 8, 34, 34, 35, 35, 34, 0, 0, 34, 0, 35, 35, 34, 1, 0, 1, 34, 35, 35, 34, 35, 0, 1, 0, 1, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 0, 1, 34, 35, 34, 35, 34, 35, 35, 1, 34, 35, 34, 35, 1, 0, 0, 1, 34, 34, 35, 35, 34, 0, 0, 34, 1, 35, 35, 34, 0, 1, 0, 34, 35, 35, 34, 35, 1, 2, 1, 2, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 1, 2, 34, 35, 34, 35, 34, 35, 35, 2, 34, 35, 34, 35, 2, 1, 1, 2, 34, 34, 35, 35, 34, 0, 0, 35, 2, 36, 36, 35, 3, 2, 3, 35, 36, 36, 35, 36, 2, 3, 2, 3, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 2, 3, 35, 36, 35, 36, 35, 36, 36, 3, 35, 36, 35, 36, 3, 2, 2, 3, 35, 35, 36, 36, 35, 0, 0, 35, 3, 36, 36, 35, 0, 3, 0, 35, 36, 36, 35, 36, 3, 4, 3, 4, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 3, 4, 35, 36, 35, 36, 35, 36, 36, 4, 35, 36, 35, 36, 4, 3, 3, 4, 35, 35, 36, 36, 35, 0, 0, 35, 3, 36, 36, 35, 4, 3, 4, 35, 36, 36, 35, 36, 3, 4, 3, 4, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 3, 4, 35, 36, 35, 36, 35, 36, 36, 4, 35, 36, 35, 36, 4, 3, 3, 4, 35, 35, 36, 36, 35, 0, 0, 35, 1, 36, 36, 35, 2, 1, 2, 35, 36, 36, 35, 36, 1, 2, 1, 2, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 1, 2, 35, 36, 35, 36, 35, 36, 36, 2, 35, 36, 35, 36, 2, 1, 1, 2, 35, 35, 36, 36, 35, 0, 0, 35, 2, 36, 36, 35, 0, 2, 0, 35, 36, 36, 35, 36, 2, 3, 2, 3, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 2, 3, 35, 36, 35, 36, 35, 36, 36, 3, 35, 36, 35, 36, 3, 2, 2, 3, 35, 35, 36, 36, 35, 0, 0, 35, 6, 36, 36, 35, 7, 6, 7, 35, 36, 36, 35, 36, 6, 7, 6, 7, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 6, 7, 35, 36, 35, 36, 35, 36, 36, 7, 35, 36, 35, 36, 7, 6, 6, 7, 35, 35, 36, 36, 35, 0, 0, 34, 5, 35, 35, 34, 6, 5, 6, 34, 35, 35, 34, 35, 5, 6, 5, 6, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 5, 6, 34, 35, 34, 35, 34, 35, 35, 6, 34, 35, 34, 35, 6, 5, 5, 6, 34, 34, 35, 35, 34, 0, 0, 33, 4, 34, 34, 33, 5, 4, 5, 33, 34, 34, 33, 34, 4, 5, 4, 5, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 33, 34, 4, 5, 33, 34, 33, 34, 33, 34, 34, 5, 33, 34, 33, 34, 5, 4, 4, 5, 33, 33, 34, 34, 33, 0, 0, 35, 7, 36, 36, 35, 0, 7, 0, 35, 36, 36, 35, 36, 7, 8, 7, 8, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 7, 8, 35, 36, 35, 36, 35, 36, 36, 8, 35, 36, 35, 36, 8, 7, 7, 8, 35, 35, 36, 36, 35, 0, 0, 35, 7, 36, 36, 35, 8, 7, 8, 35, 36, 36, 35, 36, 7, 8, 7, 8, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 7, 8, 35, 36, 35, 36, 35, 36, 36, 8, 35, 36, 35, 36, 8, 7, 7, 8, 35, 35, 36, 36, 35, 0, 0, 35, 0, 36, 36, 35, 1, 0, 1, 35, 36, 36, 35, 36, 0, 1, 0, 1, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 0, 1, 35, 36, 35, 36, 35, 36, 36, 1, 35, 36, 35, 36, 1, 0, 0, 1, 35, 35, 36, 36, 35, 0, 0, 35, 1, 36, 36, 35, 0, 1, 0, 35, 36, 36, 35, 36, 1, 2, 1, 2, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 1, 2, 35, 36, 35, 36, 35, 36, 36, 2, 35, 36, 35, 36, 2, 1, 1, 2, 35, 35, 36, 36, 35, 0, 0, 36, 3, 37, 37, 36, 4, 3, 4, 36, 37, 37, 36, 37, 3, 4, 3, 4, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 3, 4, 36, 37, 36, 37, 36, 37, 37, 4, 36, 37, 36, 37, 4, 3, 3, 4, 36, 36, 37, 37, 36, 0, 0, 36, 2, 37, 37, 36, 3, 2, 3, 36, 37, 37, 36, 37, 2, 3, 2, 3, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 2, 3, 36, 37, 36, 37, 36, 37, 37, 3, 36, 37, 36, 37, 3, 2, 2, 3, 36, 36, 37, 37, 36, 0, 0, 36, 7, 37, 37, 36, 8, 7, 8, 36, 37, 37, 36, 37, 7, 8, 7, 8, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 7, 8, 36, 37, 36, 37, 36, 37, 37, 8, 36, 37, 36, 37, 8, 7, 7, 8, 36, 36, 37, 37, 36, 0, 0, 36, 1, 37, 37, 36, 2, 1, 2, 36, 37, 37, 36, 37, 1, 2, 1, 2, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 1, 2, 36, 37, 36, 37, 36, 37, 37, 2, 36, 37, 36, 37, 2, 1, 1, 2, 36, 36, 37, 37, 36, 0, 0, 38, 2, 39, 39, 38, 3, 2, 3, 38, 39, 39, 38, 39, 2, 3, 2, 3, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 2, 3, 38, 39, 38, 39, 38, 39, 39, 3, 38, 39, 38, 39, 3, 2, 2, 3, 38, 38, 39, 39, 38, 0, 0, 42, 2, 43, 43, 42, 0, 2, 0, 42, 43, 43, 42, 43, 2, 3, 2, 3, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 2, 3, 42, 43, 42, 43, 42, 43, 43, 3, 42, 43, 42, 43, 3, 2, 2, 3, 42, 42, 43, 43, 42, 0, 0, 41, 1, 42, 42, 41, 2, 1, 2, 41, 42, 42, 41, 42, 1, 2, 1, 2, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 1, 2, 41, 42, 41, 42, 41, 42, 42, 2, 41, 42, 41, 42, 2, 1, 1, 2, 41, 41, 42, 42, 41, 0, 0, 40, 0, 41, 41, 40, 1, 0, 1, 40, 41, 41, 40, 41, 0, 1, 0, 1, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 0, 1, 40, 41, 40, 41, 40, 41, 41, 1, 40, 41, 40, 41, 1, 0, 0, 1, 40, 40, 41, 41, 40, 0, 0, 39, 0, 40, 40, 39, 0, 0, 0, 39, 40, 40, 39, 40, 0, 0, 0, 0, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 0, 0, 39, 40, 39, 40, 39, 40, 40, 0, 39, 40, 39, 40, 0, 0, 0, 0, 39, 39, 40, 40, 39, 0, 0, 38, 0, 39, 39, 38, 0, 0, 0, 38, 39, 39, 38, 39, 0, 0, 0, 0, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 0, 0, 38, 39, 38, 39, 38, 39, 39, 0, 38, 39, 38, 39, 0, 0, 0, 0, 38, 38, 39, 39, 38, 0, 0, 37, 0, 38, 38, 37, 0, 0, 0, 37, 38, 38, 37, 38, 0, 0, 0, 0, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 0, 0, 37, 38, 37, 38, 37, 38, 38, 0, 37, 38, 37, 38, 0, 0, 0, 0, 37, 37, 38, 38, 37, 0, 0, 36, 0, 37, 37, 36, 0, 0, 0, 36, 37, 37, 36, 37, 0, 0, 0, 0, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 0, 0, 36, 37, 36, 37, 36, 37, 37, 0, 36, 37, 36, 37, 0, 0, 0, 0, 36, 36, 37, 37, 36, 0, 0, 36, 3, 37, 37, 36, 0, 3, 0, 36, 37, 37, 36, 37, 3, 4, 3, 4, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 3, 4, 36, 37, 36, 37, 36, 37, 37, 4, 36, 37, 36, 37, 4, 3, 3, 4, 36, 36, 37, 37, 36, 0, 0, 36, 2, 37, 37, 36, 0, 2, 0, 36, 37, 37, 36, 37, 2, 3, 2, 3, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 2, 3, 36, 37, 36, 37, 36, 37, 37, 3, 36, 37, 36, 37, 3, 2, 2, 3, 36, 36, 37, 37, 36, 0, 0, 36, 6, 37, 37, 36, 7, 6, 7, 36, 37, 37, 36, 37, 6, 7, 6, 7, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 6, 7, 36, 37, 36, 37, 36, 37, 37, 7, 36, 37, 36, 37, 7, 6, 6, 7, 36, 36, 37, 37, 36, 0, 0, 35, 5, 36, 36, 35, 6, 5, 6, 35, 36, 36, 35, 36, 5, 6, 5, 6, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 5, 6, 35, 36, 35, 36, 35, 36, 36, 6, 35, 36, 35, 36, 6, 5, 5, 6, 35, 35, 36, 36, 35, 0, 0, 34, 4, 35, 35, 34, 5, 4, 5, 34, 35, 35, 34, 35, 4, 5, 4, 5, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 35, 4, 5, 34, 35, 34, 35, 34, 35, 35, 5, 34, 35, 34, 35, 5, 4, 4, 5, 34, 34, 35, 35, 34, 0, 0, 36, 7, 37, 37, 36, 0, 7, 0, 36, 37, 37, 36, 37, 7, 8, 7, 8, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 7, 8, 36, 37, 36, 37, 36, 37, 37, 8, 36, 37, 36, 37, 8, 7, 7, 8, 36, 36, 37, 37, 36, 0, 0, 36, 1, 37, 37, 36, 0, 1, 0, 36, 37, 37, 36, 37, 1, 2, 1, 2, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 1, 2, 36, 37, 36, 37, 36, 37, 37, 2, 36, 37, 36, 37, 2, 1, 1, 2, 36, 36, 37, 37, 36, 0, 0, 37, 2, 38, 38, 37, 3, 2, 3, 37, 38, 38, 37, 38, 2, 3, 2, 3, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 2, 3, 37, 38, 37, 38, 37, 38, 38, 3, 37, 38, 37, 38, 3, 2, 2, 3, 37, 37, 38, 38, 37, 0, 0, 37, 3, 38, 38, 37, 0, 3, 0, 37, 38, 38, 37, 38, 3, 4, 3, 4, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 3, 4, 37, 38, 37, 38, 37, 38, 38, 4, 37, 38, 37, 38, 4, 3, 3, 4, 37, 37, 38, 38, 37, 0, 0, 37, 3, 38, 38, 37, 4, 3, 4, 37, 38, 38, 37, 38, 3, 4, 3, 4, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 3, 4, 37, 38, 37, 38, 37, 38, 38, 4, 37, 38, 37, 38, 4, 3, 3, 4, 37, 37, 38, 38, 37, 0, 0, 37, 2, 38, 38, 37, 0, 2, 0, 37, 38, 38, 37, 38, 2, 3, 2, 3, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 2, 3, 37, 38, 37, 38, 37, 38, 38, 3, 37, 38, 37, 38, 3, 2, 2, 3, 37, 37, 38, 38, 37, 0, 0, 37, 6, 38, 38, 37, 7, 6, 7, 37, 38, 38, 37, 38, 6, 7, 6, 7, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 6, 7, 37, 38, 37, 38, 37, 38, 38, 7, 37, 38, 37, 38, 7, 6, 6, 7, 37, 37, 38, 38, 37, 0, 0, 36, 5, 37, 37, 36, 6, 5, 6, 36, 37, 37, 36, 37, 5, 6, 5, 6, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 5, 6, 36, 37, 36, 37, 36, 37, 37, 6, 36, 37, 36, 37, 6, 5, 5, 6, 36, 36, 37, 37, 36, 0, 0, 35, 4, 36, 36, 35, 5, 4, 5, 35, 36, 36, 35, 36, 4, 5, 4, 5, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 35, 36, 4, 5, 35, 36, 35, 36, 35, 36, 36, 5, 35, 36, 35, 36, 5, 4, 4, 5, 35, 35, 36, 36, 35, 0, 0, 37, 7, 38, 38, 37, 0, 7, 0, 37, 38, 38, 37, 38, 7, 8, 7, 8, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 7, 8, 37, 38, 37, 38, 37, 38, 38, 8, 37, 38, 37, 38, 8, 7, 7, 8, 37, 37, 38, 38, 37, 0, 0, 37, 7, 38, 38, 37, 8, 7, 8, 37, 38, 38, 37, 38, 7, 8, 7, 8, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 7, 8, 37, 38, 37, 38, 37, 38, 38, 8, 37, 38, 37, 38, 8, 7, 7, 8, 37, 37, 38, 38, 37, 0, 0, 37, 0, 38, 38, 37, 1, 0, 1, 37, 38, 38, 37, 38, 0, 1, 0, 1, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 0, 1, 37, 38, 37, 38, 37, 38, 38, 1, 37, 38, 37, 38, 1, 0, 0, 1, 37, 37, 38, 38, 37, 0, 0, 37, 1, 38, 38, 37, 0, 1, 0, 37, 38, 38, 37, 38, 1, 2, 1, 2, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 1, 2, 37, 38, 37, 38, 37, 38, 38, 2, 37, 38, 37, 38, 2, 1, 1, 2, 37, 37, 38, 38, 37, 0, 0, 38, 3, 39, 39, 38, 0, 3, 0, 38, 39, 39, 38, 39, 3, 4, 3, 4, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 3, 4, 38, 39, 38, 39, 38, 39, 39, 4, 38, 39, 38, 39, 4, 3, 3, 4, 38, 38, 39, 39, 38, 0, 0, 38, 3, 39, 39, 38, 4, 3, 4, 38, 39, 39, 38, 39, 3, 4, 3, 4, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 3, 4, 38, 39, 38, 39, 38, 39, 39, 4, 38, 39, 38, 39, 4, 3, 3, 4, 38, 38, 39, 39, 38, 0, 0, 38, 1, 39, 39, 38, 2, 1, 2, 38, 39, 39, 38, 39, 1, 2, 1, 2, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 1, 2, 38, 39, 38, 39, 38, 39, 39, 2, 38, 39, 38, 39, 2, 1, 1, 2, 38, 38, 39, 39, 38, 0, 0, 38, 6, 39, 39, 38, 7, 6, 7, 38, 39, 39, 38, 39, 6, 7, 6, 7, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 6, 7, 38, 39, 38, 39, 38, 39, 39, 7, 38, 39, 38, 39, 7, 6, 6, 7, 38, 38, 39, 39, 38, 0, 0, 37, 5, 38, 38, 37, 6, 5, 6, 37, 38, 38, 37, 38, 5, 6, 5, 6, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 5, 6, 37, 38, 37, 38, 37, 38, 38, 6, 37, 38, 37, 38, 6, 5, 5, 6, 37, 37, 38, 38, 37, 0, 0, 36, 4, 37, 37, 36, 5, 4, 5, 36, 37, 37, 36, 37, 4, 5, 4, 5, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 36, 37, 4, 5, 36, 37, 36, 37, 36, 37, 37, 5, 36, 37, 36, 37, 5, 4, 4, 5, 36, 36, 37, 37, 36, 0, 0, 38, 7, 39, 39, 38, 0, 7, 0, 38, 39, 39, 38, 39, 7, 8, 7, 8, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 7, 8, 38, 39, 38, 39, 38, 39, 39, 8, 38, 39, 38, 39, 8, 7, 7, 8, 38, 38, 39, 39, 38, 0, 0, 38, 7, 39, 39, 38, 8, 7, 8, 38, 39, 39, 38, 39, 7, 8, 7, 8, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 7, 8, 38, 39, 38, 39, 38, 39, 39, 8, 38, 39, 38, 39, 8, 7, 7, 8, 38, 38, 39, 39, 38, 0, 0, 38, 0, 39, 39, 38, 1, 0, 1, 38, 39, 39, 38, 39, 0, 1, 0, 1, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 0, 1, 38, 39, 38, 39, 38, 39, 39, 1, 38, 39, 38, 39, 1, 0, 0, 1, 38, 38, 39, 39, 38, 0, 0, 38, 1, 39, 39, 38, 0, 1, 0, 38, 39, 39, 38, 39, 1, 2, 1, 2, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 1, 2, 38, 39, 38, 39, 38, 39, 39, 2, 38, 39, 38, 39, 2, 1, 1, 2, 38, 38, 39, 39, 38, 0, 0, 39, 2, 40, 40, 39, 3, 2, 3, 39, 40, 40, 39, 40, 2, 3, 2, 3, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 2, 3, 39, 40, 39, 40, 39, 40, 40, 3, 39, 40, 39, 40, 3, 2, 2, 3, 39, 39, 40, 40, 39, 0, 0, 39, 3, 40, 40, 39, 0, 3, 0, 39, 40, 40, 39, 40, 3, 4, 3, 4, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 3, 4, 39, 40, 39, 40, 39, 40, 40, 4, 39, 40, 39, 40, 4, 3, 3, 4, 39, 39, 40, 40, 39, 0, 0, 39, 3, 40, 40, 39, 4, 3, 4, 39, 40, 40, 39, 40, 3, 4, 3, 4, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 3, 4, 39, 40, 39, 40, 39, 40, 40, 4, 39, 40, 39, 40, 4, 3, 3, 4, 39, 39, 40, 40, 39, 0, 0, 39, 1, 40, 40, 39, 2, 1, 2, 39, 40, 40, 39, 40, 1, 2, 1, 2, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 1, 2, 39, 40, 39, 40, 39, 40, 40, 2, 39, 40, 39, 40, 2, 1, 1, 2, 39, 39, 40, 40, 39, 0, 0, 39, 2, 40, 40, 39, 0, 2, 0, 39, 40, 40, 39, 40, 2, 3, 2, 3, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 2, 3, 39, 40, 39, 40, 39, 40, 40, 3, 39, 40, 39, 40, 3, 2, 2, 3, 39, 39, 40, 40, 39, 0, 0, 39, 6, 40, 40, 39, 7, 6, 7, 39, 40, 40, 39, 40, 6, 7, 6, 7, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 6, 7, 39, 40, 39, 40, 39, 40, 40, 7, 39, 40, 39, 40, 7, 6, 6, 7, 39, 39, 40, 40, 39, 0, 0, 38, 5, 39, 39, 38, 6, 5, 6, 38, 39, 39, 38, 39, 5, 6, 5, 6, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 5, 6, 38, 39, 38, 39, 38, 39, 39, 6, 38, 39, 38, 39, 6, 5, 5, 6, 38, 38, 39, 39, 38, 0, 0, 37, 4, 38, 38, 37, 5, 4, 5, 37, 38, 38, 37, 38, 4, 5, 4, 5, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 37, 38, 4, 5, 37, 38, 37, 38, 37, 38, 38, 5, 37, 38, 37, 38, 5, 4, 4, 5, 37, 37, 38, 38, 37, 0, 0, 39, 7, 40, 40, 39, 0, 7, 0, 39, 40, 40, 39, 40, 7, 8, 7, 8, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 7, 8, 39, 40, 39, 40, 39, 40, 40, 8, 39, 40, 39, 40, 8, 7, 7, 8, 39, 39, 40, 40, 39, 0, 0, 39, 7, 40, 40, 39, 8, 7, 8, 39, 40, 40, 39, 40, 7, 8, 7, 8, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 7, 8, 39, 40, 39, 40, 39, 40, 40, 8, 39, 40, 39, 40, 8, 7, 7, 8, 39, 39, 40, 40, 39, 0, 0, 39, 0, 40, 40, 39, 1, 0, 1, 39, 40, 40, 39, 40, 0, 1, 0, 1, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 0, 1, 39, 40, 39, 40, 39, 40, 40, 1, 39, 40, 39, 40, 1, 0, 0, 1, 39, 39, 40, 40, 39, 0, 0, 39, 1, 40, 40, 39, 0, 1, 0, 39, 40, 40, 39, 40, 1, 2, 1, 2, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 1, 2, 39, 40, 39, 40, 39, 40, 40, 2, 39, 40, 39, 40, 2, 1, 1, 2, 39, 39, 40, 40, 39, 0, 0, 40, 3, 41, 41, 40, 4, 3, 4, 40, 41, 41, 40, 41, 3, 4, 3, 4, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 3, 4, 40, 41, 40, 41, 40, 41, 41, 4, 40, 41, 40, 41, 4, 3, 3, 4, 40, 40, 41, 41, 40, 0, 0, 40, 2, 41, 41, 40, 3, 2, 3, 40, 41, 41, 40, 41, 2, 3, 2, 3, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 2, 3, 40, 41, 40, 41, 40, 41, 41, 3, 40, 41, 40, 41, 3, 2, 2, 3, 40, 40, 41, 41, 40, 0, 0, 40, 7, 41, 41, 40, 8, 7, 8, 40, 41, 41, 40, 41, 7, 8, 7, 8, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 7, 8, 40, 41, 40, 41, 40, 41, 41, 8, 40, 41, 40, 41, 8, 7, 7, 8, 40, 40, 41, 41, 40, 0, 0, 40, 1, 41, 41, 40, 2, 1, 2, 40, 41, 41, 40, 41, 1, 2, 1, 2, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 1, 2, 40, 41, 40, 41, 40, 41, 41, 2, 40, 41, 40, 41, 2, 1, 1, 2, 40, 40, 41, 41, 40, 0, 0, 42, 2, 43, 43, 42, 3, 2, 3, 42, 43, 43, 42, 43, 2, 3, 2, 3, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 2, 3, 42, 43, 42, 43, 42, 43, 43, 3, 42, 43, 42, 43, 3, 2, 2, 3, 42, 42, 43, 43, 42, 0, 0, 54, 2, 55, 55, 54, 0, 2, 0, 54, 55, 55, 54, 55, 2, 3, 2, 3, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 2, 3, 54, 55, 54, 55, 54, 55, 55, 3, 54, 55, 54, 55, 3, 2, 2, 3, 54, 54, 55, 55, 54, 0, 0, 53, 1, 54, 54, 53, 2, 1, 2, 53, 54, 54, 53, 54, 1, 2, 1, 2, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 1, 2, 53, 54, 53, 54, 53, 54, 54, 2, 53, 54, 53, 54, 2, 1, 1, 2, 53, 53, 54, 54, 53, 0, 0, 52, 0, 53, 53, 52, 1, 0, 1, 52, 53, 53, 52, 53, 0, 1, 0, 1, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 0, 1, 52, 53, 52, 53, 52, 53, 53, 1, 52, 53, 52, 53, 1, 0, 0, 1, 52, 52, 53, 53, 52, 0, 0, 51, 0, 52, 52, 51, 0, 0, 0, 51, 52, 52, 51, 52, 0, 0, 0, 0, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 0, 0, 51, 52, 51, 52, 51, 52, 52, 0, 51, 52, 51, 52, 0, 0, 0, 0, 51, 51, 52, 52, 51, 0, 0, 50, 0, 51, 51, 50, 0, 0, 0, 50, 51, 51, 50, 51, 0, 0, 0, 0, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 0, 0, 50, 51, 50, 51, 50, 51, 51, 0, 50, 51, 50, 51, 0, 0, 0, 0, 50, 50, 51, 51, 50, 0, 0, 49, 0, 50, 50, 49, 0, 0, 0, 49, 50, 50, 49, 50, 0, 0, 0, 0, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 0, 0, 49, 50, 49, 50, 49, 50, 50, 0, 49, 50, 49, 50, 0, 0, 0, 0, 49, 49, 50, 50, 49, 0, 0, 48, 0, 49, 49, 48, 0, 0, 0, 48, 49, 49, 48, 49, 0, 0, 0, 0, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 0, 0, 48, 49, 48, 49, 48, 49, 49, 0, 48, 49, 48, 49, 0, 0, 0, 0, 48, 48, 49, 49, 48, 0, 0, 47, 0, 48, 48, 47, 0, 0, 0, 47, 48, 48, 47, 48, 0, 0, 0, 0, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 0, 0, 47, 48, 47, 48, 47, 48, 48, 0, 47, 48, 47, 48, 0, 0, 0, 0, 47, 47, 48, 48, 47, 0, 0, 46, 0, 47, 47, 46, 0, 0, 0, 46, 47, 47, 46, 47, 0, 0, 0, 0, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 0, 0, 46, 47, 46, 47, 46, 47, 47, 0, 46, 47, 46, 47, 0, 0, 0, 0, 46, 46, 47, 47, 46, 0, 0, 45, 0, 46, 46, 45, 0, 0, 0, 45, 46, 46, 45, 46, 0, 0, 0, 0, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 0, 0, 45, 46, 45, 46, 45, 46, 46, 0, 45, 46, 45, 46, 0, 0, 0, 0, 45, 45, 46, 46, 45, 0, 0, 44, 0, 45, 45, 44, 0, 0, 0, 44, 45, 45, 44, 45, 0, 0, 0, 0, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 0, 0, 44, 45, 44, 45, 44, 45, 45, 0, 44, 45, 44, 45, 0, 0, 0, 0, 44, 44, 45, 45, 44, 0, 0, 43, 0, 44, 44, 43, 0, 0, 0, 43, 44, 44, 43, 44, 0, 0, 0, 0, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 0, 0, 43, 44, 43, 44, 43, 44, 44, 0, 43, 44, 43, 44, 0, 0, 0, 0, 43, 43, 44, 44, 43, 0, 0, 42, 0, 43, 43, 42, 0, 0, 0, 42, 43, 43, 42, 43, 0, 0, 0, 0, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 0, 0, 42, 43, 42, 43, 42, 43, 43, 0, 42, 43, 42, 43, 0, 0, 0, 0, 42, 42, 43, 43, 42, 0, 0, 41, 0, 42, 42, 41, 0, 0, 0, 41, 42, 42, 41, 42, 0, 0, 0, 0, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 0, 0, 41, 42, 41, 42, 41, 42, 42, 0, 41, 42, 41, 42, 0, 0, 0, 0, 41, 41, 42, 42, 41, 0, 0, 40, 0, 41, 41, 40, 0, 0, 0, 40, 41, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 0, 0, 40, 41, 40, 41, 40, 41, 41, 0, 40, 41, 40, 41, 0, 0, 0, 0, 40, 40, 41, 41, 40, 0, 0, 40, 3, 41, 41, 40, 0, 3, 0, 40, 41, 41, 40, 41, 3, 4, 3, 4, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 3, 4, 40, 41, 40, 41, 40, 41, 41, 4, 40, 41, 40, 41, 4, 3, 3, 4, 40, 40, 41, 41, 40, 0, 0, 40, 2, 41, 41, 40, 0, 2, 0, 40, 41, 41, 40, 41, 2, 3, 2, 3, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 2, 3, 40, 41, 40, 41, 40, 41, 41, 3, 40, 41, 40, 41, 3, 2, 2, 3, 40, 40, 41, 41, 40, 0, 0, 40, 6, 41, 41, 40, 7, 6, 7, 40, 41, 41, 40, 41, 6, 7, 6, 7, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 6, 7, 40, 41, 40, 41, 40, 41, 41, 7, 40, 41, 40, 41, 7, 6, 6, 7, 40, 40, 41, 41, 40, 0, 0, 39, 5, 40, 40, 39, 6, 5, 6, 39, 40, 40, 39, 40, 5, 6, 5, 6, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 5, 6, 39, 40, 39, 40, 39, 40, 40, 6, 39, 40, 39, 40, 6, 5, 5, 6, 39, 39, 40, 40, 39, 0, 0, 38, 4, 39, 39, 38, 5, 4, 5, 38, 39, 39, 38, 39, 4, 5, 4, 5, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 4, 5, 38, 39, 38, 39, 38, 39, 39, 5, 38, 39, 38, 39, 5, 4, 4, 5, 38, 38, 39, 39, 38, 0, 0, 40, 7, 41, 41, 40, 0, 7, 0, 40, 41, 41, 40, 41, 7, 8, 7, 8, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 7, 8, 40, 41, 40, 41, 40, 41, 41, 8, 40, 41, 40, 41, 8, 7, 7, 8, 40, 40, 41, 41, 40, 0, 0, 40, 1, 41, 41, 40, 0, 1, 0, 40, 41, 41, 40, 41, 1, 2, 1, 2, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 1, 2, 40, 41, 40, 41, 40, 41, 41, 2, 40, 41, 40, 41, 2, 1, 1, 2, 40, 40, 41, 41, 40, 0, 0, 41, 2, 42, 42, 41, 3, 2, 3, 41, 42, 42, 41, 42, 2, 3, 2, 3, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 2, 3, 41, 42, 41, 42, 41, 42, 42, 3, 41, 42, 41, 42, 3, 2, 2, 3, 41, 41, 42, 42, 41, 0, 0, 41, 3, 42, 42, 41, 0, 3, 0, 41, 42, 42, 41, 42, 3, 4, 3, 4, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 3, 4, 41, 42, 41, 42, 41, 42, 42, 4, 41, 42, 41, 42, 4, 3, 3, 4, 41, 41, 42, 42, 41, 0, 0, 41, 3, 42, 42, 41, 4, 3, 4, 41, 42, 42, 41, 42, 3, 4, 3, 4, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 3, 4, 41, 42, 41, 42, 41, 42, 42, 4, 41, 42, 41, 42, 4, 3, 3, 4, 41, 41, 42, 42, 41, 0, 0, 41, 2, 42, 42, 41, 0, 2, 0, 41, 42, 42, 41, 42, 2, 3, 2, 3, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 2, 3, 41, 42, 41, 42, 41, 42, 42, 3, 41, 42, 41, 42, 3, 2, 2, 3, 41, 41, 42, 42, 41, 0, 0, 41, 6, 42, 42, 41, 7, 6, 7, 41, 42, 42, 41, 42, 6, 7, 6, 7, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 6, 7, 41, 42, 41, 42, 41, 42, 42, 7, 41, 42, 41, 42, 7, 6, 6, 7, 41, 41, 42, 42, 41, 0, 0, 40, 5, 41, 41, 40, 6, 5, 6, 40, 41, 41, 40, 41, 5, 6, 5, 6, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 5, 6, 40, 41, 40, 41, 40, 41, 41, 6, 40, 41, 40, 41, 6, 5, 5, 6, 40, 40, 41, 41, 40, 0, 0, 39, 4, 40, 40, 39, 5, 4, 5, 39, 40, 40, 39, 40, 4, 5, 4, 5, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 4, 5, 39, 40, 39, 40, 39, 40, 40, 5, 39, 40, 39, 40, 5, 4, 4, 5, 39, 39, 40, 40, 39, 0, 0, 41, 7, 42, 42, 41, 0, 7, 0, 41, 42, 42, 41, 42, 7, 8, 7, 8, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 7, 8, 41, 42, 41, 42, 41, 42, 42, 8, 41, 42, 41, 42, 8, 7, 7, 8, 41, 41, 42, 42, 41, 0, 0, 41, 7, 42, 42, 41, 8, 7, 8, 41, 42, 42, 41, 42, 7, 8, 7, 8, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 7, 8, 41, 42, 41, 42, 41, 42, 42, 8, 41, 42, 41, 42, 8, 7, 7, 8, 41, 41, 42, 42, 41, 0, 0, 41, 0, 42, 42, 41, 1, 0, 1, 41, 42, 42, 41, 42, 0, 1, 0, 1, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 0, 1, 41, 42, 41, 42, 41, 42, 42, 1, 41, 42, 41, 42, 1, 0, 0, 1, 41, 41, 42, 42, 41, 0, 0, 41, 1, 42, 42, 41, 0, 1, 0, 41, 42, 42, 41, 42, 1, 2, 1, 2, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 1, 2, 41, 42, 41, 42, 41, 42, 42, 2, 41, 42, 41, 42, 2, 1, 1, 2, 41, 41, 42, 42, 41, 0, 0, 42, 3, 43, 43, 42, 0, 3, 0, 42, 43, 43, 42, 43, 3, 4, 3, 4, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 3, 4, 42, 43, 42, 43, 42, 43, 43, 4, 42, 43, 42, 43, 4, 3, 3, 4, 42, 42, 43, 43, 42, 0, 0, 42, 3, 43, 43, 42, 4, 3, 4, 42, 43, 43, 42, 43, 3, 4, 3, 4, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 3, 4, 42, 43, 42, 43, 42, 43, 43, 4, 42, 43, 42, 43, 4, 3, 3, 4, 42, 42, 43, 43, 42, 0, 0, 42, 1, 43, 43, 42, 2, 1, 2, 42, 43, 43, 42, 43, 1, 2, 1, 2, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 1, 2, 42, 43, 42, 43, 42, 43, 43, 2, 42, 43, 42, 43, 2, 1, 1, 2, 42, 42, 43, 43, 42, 0, 0, 42, 6, 43, 43, 42, 7, 6, 7, 42, 43, 43, 42, 43, 6, 7, 6, 7, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 6, 7, 42, 43, 42, 43, 42, 43, 43, 7, 42, 43, 42, 43, 7, 6, 6, 7, 42, 42, 43, 43, 42, 0, 0, 41, 5, 42, 42, 41, 6, 5, 6, 41, 42, 42, 41, 42, 5, 6, 5, 6, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 5, 6, 41, 42, 41, 42, 41, 42, 42, 6, 41, 42, 41, 42, 6, 5, 5, 6, 41, 41, 42, 42, 41, 0, 0, 40, 4, 41, 41, 40, 5, 4, 5, 40, 41, 41, 40, 41, 4, 5, 4, 5, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 40, 41, 4, 5, 40, 41, 40, 41, 40, 41, 41, 5, 40, 41, 40, 41, 5, 4, 4, 5, 40, 40, 41, 41, 40, 0, 0, 42, 7, 43, 43, 42, 0, 7, 0, 42, 43, 43, 42, 43, 7, 8, 7, 8, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 7, 8, 42, 43, 42, 43, 42, 43, 43, 8, 42, 43, 42, 43, 8, 7, 7, 8, 42, 42, 43, 43, 42, 0, 0, 42, 7, 43, 43, 42, 8, 7, 8, 42, 43, 43, 42, 43, 7, 8, 7, 8, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 7, 8, 42, 43, 42, 43, 42, 43, 43, 8, 42, 43, 42, 43, 8, 7, 7, 8, 42, 42, 43, 43, 42, 0, 0, 42, 0, 43, 43, 42, 1, 0, 1, 42, 43, 43, 42, 43, 0, 1, 0, 1, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 0, 1, 42, 43, 42, 43, 42, 43, 43, 1, 42, 43, 42, 43, 1, 0, 0, 1, 42, 42, 43, 43, 42, 0, 0, 42, 1, 43, 43, 42, 0, 1, 0, 42, 43, 43, 42, 43, 1, 2, 1, 2, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 1, 2, 42, 43, 42, 43, 42, 43, 43, 2, 42, 43, 42, 43, 2, 1, 1, 2, 42, 42, 43, 43, 42, 0, 0, 43, 2, 44, 44, 43, 3, 2, 3, 43, 44, 44, 43, 44, 2, 3, 2, 3, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 2, 3, 43, 44, 43, 44, 43, 44, 44, 3, 43, 44, 43, 44, 3, 2, 2, 3, 43, 43, 44, 44, 43, 0, 0, 43, 3, 44, 44, 43, 0, 3, 0, 43, 44, 44, 43, 44, 3, 4, 3, 4, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 3, 4, 43, 44, 43, 44, 43, 44, 44, 4, 43, 44, 43, 44, 4, 3, 3, 4, 43, 43, 44, 44, 43, 0, 0, 43, 3, 44, 44, 43, 4, 3, 4, 43, 44, 44, 43, 44, 3, 4, 3, 4, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 3, 4, 43, 44, 43, 44, 43, 44, 44, 4, 43, 44, 43, 44, 4, 3, 3, 4, 43, 43, 44, 44, 43, 0, 0, 43, 1, 44, 44, 43, 2, 1, 2, 43, 44, 44, 43, 44, 1, 2, 1, 2, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 1, 2, 43, 44, 43, 44, 43, 44, 44, 2, 43, 44, 43, 44, 2, 1, 1, 2, 43, 43, 44, 44, 43, 0, 0, 43, 2, 44, 44, 43, 0, 2, 0, 43, 44, 44, 43, 44, 2, 3, 2, 3, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 2, 3, 43, 44, 43, 44, 43, 44, 44, 3, 43, 44, 43, 44, 3, 2, 2, 3, 43, 43, 44, 44, 43, 0, 0, 43, 6, 44, 44, 43, 7, 6, 7, 43, 44, 44, 43, 44, 6, 7, 6, 7, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 6, 7, 43, 44, 43, 44, 43, 44, 44, 7, 43, 44, 43, 44, 7, 6, 6, 7, 43, 43, 44, 44, 43, 0, 0, 42, 5, 43, 43, 42, 6, 5, 6, 42, 43, 43, 42, 43, 5, 6, 5, 6, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 5, 6, 42, 43, 42, 43, 42, 43, 43, 6, 42, 43, 42, 43, 6, 5, 5, 6, 42, 42, 43, 43, 42, 0, 0, 41, 4, 42, 42, 41, 5, 4, 5, 41, 42, 42, 41, 42, 4, 5, 4, 5, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 4, 5, 41, 42, 41, 42, 41, 42, 42, 5, 41, 42, 41, 42, 5, 4, 4, 5, 41, 41, 42, 42, 41, 0, 0, 43, 7, 44, 44, 43, 0, 7, 0, 43, 44, 44, 43, 44, 7, 8, 7, 8, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 7, 8, 43, 44, 43, 44, 43, 44, 44, 8, 43, 44, 43, 44, 8, 7, 7, 8, 43, 43, 44, 44, 43, 0, 0, 43, 7, 44, 44, 43, 8, 7, 8, 43, 44, 44, 43, 44, 7, 8, 7, 8, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 7, 8, 43, 44, 43, 44, 43, 44, 44, 8, 43, 44, 43, 44, 8, 7, 7, 8, 43, 43, 44, 44, 43, 0, 0, 43, 0, 44, 44, 43, 1, 0, 1, 43, 44, 44, 43, 44, 0, 1, 0, 1, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 0, 1, 43, 44, 43, 44, 43, 44, 44, 1, 43, 44, 43, 44, 1, 0, 0, 1, 43, 43, 44, 44, 43, 0, 0, 43, 1, 44, 44, 43, 0, 1, 0, 43, 44, 44, 43, 44, 1, 2, 1, 2, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 1, 2, 43, 44, 43, 44, 43, 44, 44, 2, 43, 44, 43, 44, 2, 1, 1, 2, 43, 43, 44, 44, 43, 0, 0, 44, 2, 45, 45, 44, 3, 2, 3, 44, 45, 45, 44, 45, 2, 3, 2, 3, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 2, 3, 44, 45, 44, 45, 44, 45, 45, 3, 44, 45, 44, 45, 3, 2, 2, 3, 44, 44, 45, 45, 44, 0, 0, 44, 3, 45, 45, 44, 0, 3, 0, 44, 45, 45, 44, 45, 3, 4, 3, 4, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 3, 4, 44, 45, 44, 45, 44, 45, 45, 4, 44, 45, 44, 45, 4, 3, 3, 4, 44, 44, 45, 45, 44, 0, 0, 44, 3, 45, 45, 44, 4, 3, 4, 44, 45, 45, 44, 45, 3, 4, 3, 4, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 3, 4, 44, 45, 44, 45, 44, 45, 45, 4, 44, 45, 44, 45, 4, 3, 3, 4, 44, 44, 45, 45, 44, 0, 0, 44, 1, 45, 45, 44, 2, 1, 2, 44, 45, 45, 44, 45, 1, 2, 1, 2, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 1, 2, 44, 45, 44, 45, 44, 45, 45, 2, 44, 45, 44, 45, 2, 1, 1, 2, 44, 44, 45, 45, 44, 0, 0, 44, 2, 45, 45, 44, 0, 2, 0, 44, 45, 45, 44, 45, 2, 3, 2, 3, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 2, 3, 44, 45, 44, 45, 44, 45, 45, 3, 44, 45, 44, 45, 3, 2, 2, 3, 44, 44, 45, 45, 44, 0, 0, 44, 6, 45, 45, 44, 7, 6, 7, 44, 45, 45, 44, 45, 6, 7, 6, 7, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 6, 7, 44, 45, 44, 45, 44, 45, 45, 7, 44, 45, 44, 45, 7, 6, 6, 7, 44, 44, 45, 45, 44, 0, 0, 43, 5, 44, 44, 43, 6, 5, 6, 43, 44, 44, 43, 44, 5, 6, 5, 6, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 5, 6, 43, 44, 43, 44, 43, 44, 44, 6, 43, 44, 43, 44, 6, 5, 5, 6, 43, 43, 44, 44, 43, 0, 0, 42, 4, 43, 43, 42, 5, 4, 5, 42, 43, 43, 42, 43, 4, 5, 4, 5, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 4, 5, 42, 43, 42, 43, 42, 43, 43, 5, 42, 43, 42, 43, 5, 4, 4, 5, 42, 42, 43, 43, 42, 0, 0, 44, 7, 45, 45, 44, 0, 7, 0, 44, 45, 45, 44, 45, 7, 8, 7, 8, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 7, 8, 44, 45, 44, 45, 44, 45, 45, 8, 44, 45, 44, 45, 8, 7, 7, 8, 44, 44, 45, 45, 44, 0, 0, 44, 7, 45, 45, 44, 8, 7, 8, 44, 45, 45, 44, 45, 7, 8, 7, 8, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 7, 8, 44, 45, 44, 45, 44, 45, 45, 8, 44, 45, 44, 45, 8, 7, 7, 8, 44, 44, 45, 45, 44, 0, 0, 44, 0, 45, 45, 44, 1, 0, 1, 44, 45, 45, 44, 45, 0, 1, 0, 1, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 0, 1, 44, 45, 44, 45, 44, 45, 45, 1, 44, 45, 44, 45, 1, 0, 0, 1, 44, 44, 45, 45, 44, 0, 0, 44, 1, 45, 45, 44, 0, 1, 0, 44, 45, 45, 44, 45, 1, 2, 1, 2, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 1, 2, 44, 45, 44, 45, 44, 45, 45, 2, 44, 45, 44, 45, 2, 1, 1, 2, 44, 44, 45, 45, 44, 0, 0, 45, 2, 46, 46, 45, 3, 2, 3, 45, 46, 46, 45, 46, 2, 3, 2, 3, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 2, 3, 45, 46, 45, 46, 45, 46, 46, 3, 45, 46, 45, 46, 3, 2, 2, 3, 45, 45, 46, 46, 45, 0, 0, 45, 3, 46, 46, 45, 0, 3, 0, 45, 46, 46, 45, 46, 3, 4, 3, 4, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 3, 4, 45, 46, 45, 46, 45, 46, 46, 4, 45, 46, 45, 46, 4, 3, 3, 4, 45, 45, 46, 46, 45, 0, 0, 45, 3, 46, 46, 45, 4, 3, 4, 45, 46, 46, 45, 46, 3, 4, 3, 4, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 3, 4, 45, 46, 45, 46, 45, 46, 46, 4, 45, 46, 45, 46, 4, 3, 3, 4, 45, 45, 46, 46, 45, 0, 0, 45, 1, 46, 46, 45, 2, 1, 2, 45, 46, 46, 45, 46, 1, 2, 1, 2, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 1, 2, 45, 46, 45, 46, 45, 46, 46, 2, 45, 46, 45, 46, 2, 1, 1, 2, 45, 45, 46, 46, 45, 0, 0, 45, 2, 46, 46, 45, 0, 2, 0, 45, 46, 46, 45, 46, 2, 3, 2, 3, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 2, 3, 45, 46, 45, 46, 45, 46, 46, 3, 45, 46, 45, 46, 3, 2, 2, 3, 45, 45, 46, 46, 45, 0, 0, 45, 6, 46, 46, 45, 7, 6, 7, 45, 46, 46, 45, 46, 6, 7, 6, 7, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 6, 7, 45, 46, 45, 46, 45, 46, 46, 7, 45, 46, 45, 46, 7, 6, 6, 7, 45, 45, 46, 46, 45, 0, 0, 44, 5, 45, 45, 44, 6, 5, 6, 44, 45, 45, 44, 45, 5, 6, 5, 6, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 5, 6, 44, 45, 44, 45, 44, 45, 45, 6, 44, 45, 44, 45, 6, 5, 5, 6, 44, 44, 45, 45, 44, 0, 0, 43, 4, 44, 44, 43, 5, 4, 5, 43, 44, 44, 43, 44, 4, 5, 4, 5, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 43, 44, 4, 5, 43, 44, 43, 44, 43, 44, 44, 5, 43, 44, 43, 44, 5, 4, 4, 5, 43, 43, 44, 44, 43, 0, 0, 45, 7, 46, 46, 45, 0, 7, 0, 45, 46, 46, 45, 46, 7, 8, 7, 8, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 7, 8, 45, 46, 45, 46, 45, 46, 46, 8, 45, 46, 45, 46, 8, 7, 7, 8, 45, 45, 46, 46, 45, 0, 0, 45, 7, 46, 46, 45, 8, 7, 8, 45, 46, 46, 45, 46, 7, 8, 7, 8, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 7, 8, 45, 46, 45, 46, 45, 46, 46, 8, 45, 46, 45, 46, 8, 7, 7, 8, 45, 45, 46, 46, 45, 0, 0, 45, 0, 46, 46, 45, 1, 0, 1, 45, 46, 46, 45, 46, 0, 1, 0, 1, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 0, 1, 45, 46, 45, 46, 45, 46, 46, 1, 45, 46, 45, 46, 1, 0, 0, 1, 45, 45, 46, 46, 45, 0, 0, 45, 1, 46, 46, 45, 0, 1, 0, 45, 46, 46, 45, 46, 1, 2, 1, 2, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 1, 2, 45, 46, 45, 46, 45, 46, 46, 2, 45, 46, 45, 46, 2, 1, 1, 2, 45, 45, 46, 46, 45, 0, 0, 46, 2, 47, 47, 46, 3, 2, 3, 46, 47, 47, 46, 47, 2, 3, 2, 3, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 2, 3, 46, 47, 46, 47, 46, 47, 47, 3, 46, 47, 46, 47, 3, 2, 2, 3, 46, 46, 47, 47, 46, 0, 0, 46, 3, 47, 47, 46, 0, 3, 0, 46, 47, 47, 46, 47, 3, 4, 3, 4, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 3, 4, 46, 47, 46, 47, 46, 47, 47, 4, 46, 47, 46, 47, 4, 3, 3, 4, 46, 46, 47, 47, 46, 0, 0, 46, 3, 47, 47, 46, 4, 3, 4, 46, 47, 47, 46, 47, 3, 4, 3, 4, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 3, 4, 46, 47, 46, 47, 46, 47, 47, 4, 46, 47, 46, 47, 4, 3, 3, 4, 46, 46, 47, 47, 46, 0, 0, 46, 1, 47, 47, 46, 2, 1, 2, 46, 47, 47, 46, 47, 1, 2, 1, 2, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 1, 2, 46, 47, 46, 47, 46, 47, 47, 2, 46, 47, 46, 47, 2, 1, 1, 2, 46, 46, 47, 47, 46, 0, 0, 46, 2, 47, 47, 46, 0, 2, 0, 46, 47, 47, 46, 47, 2, 3, 2, 3, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 2, 3, 46, 47, 46, 47, 46, 47, 47, 3, 46, 47, 46, 47, 3, 2, 2, 3, 46, 46, 47, 47, 46, 0, 0, 46, 6, 47, 47, 46, 7, 6, 7, 46, 47, 47, 46, 47, 6, 7, 6, 7, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 6, 7, 46, 47, 46, 47, 46, 47, 47, 7, 46, 47, 46, 47, 7, 6, 6, 7, 46, 46, 47, 47, 46, 0, 0, 45, 5, 46, 46, 45, 6, 5, 6, 45, 46, 46, 45, 46, 5, 6, 5, 6, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 5, 6, 45, 46, 45, 46, 45, 46, 46, 6, 45, 46, 45, 46, 6, 5, 5, 6, 45, 45, 46, 46, 45, 0, 0, 44, 4, 45, 45, 44, 5, 4, 5, 44, 45, 45, 44, 45, 4, 5, 4, 5, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 44, 45, 4, 5, 44, 45, 44, 45, 44, 45, 45, 5, 44, 45, 44, 45, 5, 4, 4, 5, 44, 44, 45, 45, 44, 0, 0, 46, 7, 47, 47, 46, 0, 7, 0, 46, 47, 47, 46, 47, 7, 8, 7, 8, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 7, 8, 46, 47, 46, 47, 46, 47, 47, 8, 46, 47, 46, 47, 8, 7, 7, 8, 46, 46, 47, 47, 46, 0, 0, 46, 7, 47, 47, 46, 8, 7, 8, 46, 47, 47, 46, 47, 7, 8, 7, 8, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 7, 8, 46, 47, 46, 47, 46, 47, 47, 8, 46, 47, 46, 47, 8, 7, 7, 8, 46, 46, 47, 47, 46, 0, 0, 46, 0, 47, 47, 46, 1, 0, 1, 46, 47, 47, 46, 47, 0, 1, 0, 1, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 0, 1, 46, 47, 46, 47, 46, 47, 47, 1, 46, 47, 46, 47, 1, 0, 0, 1, 46, 46, 47, 47, 46, 0, 0, 46, 1, 47, 47, 46, 0, 1, 0, 46, 47, 47, 46, 47, 1, 2, 1, 2, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 1, 2, 46, 47, 46, 47, 46, 47, 47, 2, 46, 47, 46, 47, 2, 1, 1, 2, 46, 46, 47, 47, 46, 0, 0, 47, 2, 48, 48, 47, 3, 2, 3, 47, 48, 48, 47, 48, 2, 3, 2, 3, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 2, 3, 47, 48, 47, 48, 47, 48, 48, 3, 47, 48, 47, 48, 3, 2, 2, 3, 47, 47, 48, 48, 47, 0, 0, 47, 3, 48, 48, 47, 0, 3, 0, 47, 48, 48, 47, 48, 3, 4, 3, 4, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 3, 4, 47, 48, 47, 48, 47, 48, 48, 4, 47, 48, 47, 48, 4, 3, 3, 4, 47, 47, 48, 48, 47, 0, 0, 47, 3, 48, 48, 47, 4, 3, 4, 47, 48, 48, 47, 48, 3, 4, 3, 4, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 3, 4, 47, 48, 47, 48, 47, 48, 48, 4, 47, 48, 47, 48, 4, 3, 3, 4, 47, 47, 48, 48, 47, 0, 0, 47, 1, 48, 48, 47, 2, 1, 2, 47, 48, 48, 47, 48, 1, 2, 1, 2, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 1, 2, 47, 48, 47, 48, 47, 48, 48, 2, 47, 48, 47, 48, 2, 1, 1, 2, 47, 47, 48, 48, 47, 0, 0, 47, 2, 48, 48, 47, 0, 2, 0, 47, 48, 48, 47, 48, 2, 3, 2, 3, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 2, 3, 47, 48, 47, 48, 47, 48, 48, 3, 47, 48, 47, 48, 3, 2, 2, 3, 47, 47, 48, 48, 47, 0, 0, 47, 6, 48, 48, 47, 7, 6, 7, 47, 48, 48, 47, 48, 6, 7, 6, 7, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 6, 7, 47, 48, 47, 48, 47, 48, 48, 7, 47, 48, 47, 48, 7, 6, 6, 7, 47, 47, 48, 48, 47, 0, 0, 46, 5, 47, 47, 46, 6, 5, 6, 46, 47, 47, 46, 47, 5, 6, 5, 6, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 5, 6, 46, 47, 46, 47, 46, 47, 47, 6, 46, 47, 46, 47, 6, 5, 5, 6, 46, 46, 47, 47, 46, 0, 0, 45, 4, 46, 46, 45, 5, 4, 5, 45, 46, 46, 45, 46, 4, 5, 4, 5, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 4, 5, 45, 46, 45, 46, 45, 46, 46, 5, 45, 46, 45, 46, 5, 4, 4, 5, 45, 45, 46, 46, 45, 0, 0, 47, 7, 48, 48, 47, 0, 7, 0, 47, 48, 48, 47, 48, 7, 8, 7, 8, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 7, 8, 47, 48, 47, 48, 47, 48, 48, 8, 47, 48, 47, 48, 8, 7, 7, 8, 47, 47, 48, 48, 47, 0, 0, 47, 7, 48, 48, 47, 8, 7, 8, 47, 48, 48, 47, 48, 7, 8, 7, 8, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 7, 8, 47, 48, 47, 48, 47, 48, 48, 8, 47, 48, 47, 48, 8, 7, 7, 8, 47, 47, 48, 48, 47, 0, 0, 47, 0, 48, 48, 47, 1, 0, 1, 47, 48, 48, 47, 48, 0, 1, 0, 1, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 0, 1, 47, 48, 47, 48, 47, 48, 48, 1, 47, 48, 47, 48, 1, 0, 0, 1, 47, 47, 48, 48, 47, 0, 0, 47, 1, 48, 48, 47, 0, 1, 0, 47, 48, 48, 47, 48, 1, 2, 1, 2, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 1, 2, 47, 48, 47, 48, 47, 48, 48, 2, 47, 48, 47, 48, 2, 1, 1, 2, 47, 47, 48, 48, 47, 0, 0, 48, 2, 49, 49, 48, 3, 2, 3, 48, 49, 49, 48, 49, 2, 3, 2, 3, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 2, 3, 48, 49, 48, 49, 48, 49, 49, 3, 48, 49, 48, 49, 3, 2, 2, 3, 48, 48, 49, 49, 48, 0, 0, 48, 3, 49, 49, 48, 0, 3, 0, 48, 49, 49, 48, 49, 3, 4, 3, 4, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 3, 4, 48, 49, 48, 49, 48, 49, 49, 4, 48, 49, 48, 49, 4, 3, 3, 4, 48, 48, 49, 49, 48, 0, 0, 48, 3, 49, 49, 48, 4, 3, 4, 48, 49, 49, 48, 49, 3, 4, 3, 4, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 3, 4, 48, 49, 48, 49, 48, 49, 49, 4, 48, 49, 48, 49, 4, 3, 3, 4, 48, 48, 49, 49, 48, 0, 0, 48, 1, 49, 49, 48, 2, 1, 2, 48, 49, 49, 48, 49, 1, 2, 1, 2, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 1, 2, 48, 49, 48, 49, 48, 49, 49, 2, 48, 49, 48, 49, 2, 1, 1, 2, 48, 48, 49, 49, 48, 0, 0, 48, 2, 49, 49, 48, 0, 2, 0, 48, 49, 49, 48, 49, 2, 3, 2, 3, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 2, 3, 48, 49, 48, 49, 48, 49, 49, 3, 48, 49, 48, 49, 3, 2, 2, 3, 48, 48, 49, 49, 48, 0, 0, 48, 6, 49, 49, 48, 7, 6, 7, 48, 49, 49, 48, 49, 6, 7, 6, 7, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 6, 7, 48, 49, 48, 49, 48, 49, 49, 7, 48, 49, 48, 49, 7, 6, 6, 7, 48, 48, 49, 49, 48, 0, 0, 47, 5, 48, 48, 47, 6, 5, 6, 47, 48, 48, 47, 48, 5, 6, 5, 6, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 5, 6, 47, 48, 47, 48, 47, 48, 48, 6, 47, 48, 47, 48, 6, 5, 5, 6, 47, 47, 48, 48, 47, 0, 0, 46, 4, 47, 47, 46, 5, 4, 5, 46, 47, 47, 46, 47, 4, 5, 4, 5, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 46, 47, 4, 5, 46, 47, 46, 47, 46, 47, 47, 5, 46, 47, 46, 47, 5, 4, 4, 5, 46, 46, 47, 47, 46, 0, 0, 48, 7, 49, 49, 48, 0, 7, 0, 48, 49, 49, 48, 49, 7, 8, 7, 8, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 7, 8, 48, 49, 48, 49, 48, 49, 49, 8, 48, 49, 48, 49, 8, 7, 7, 8, 48, 48, 49, 49, 48, 0, 0, 48, 7, 49, 49, 48, 8, 7, 8, 48, 49, 49, 48, 49, 7, 8, 7, 8, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 7, 8, 48, 49, 48, 49, 48, 49, 49, 8, 48, 49, 48, 49, 8, 7, 7, 8, 48, 48, 49, 49, 48, 0, 0, 48, 0, 49, 49, 48, 1, 0, 1, 48, 49, 49, 48, 49, 0, 1, 0, 1, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 0, 1, 48, 49, 48, 49, 48, 49, 49, 1, 48, 49, 48, 49, 1, 0, 0, 1, 48, 48, 49, 49, 48, 0, 0, 48, 1, 49, 49, 48, 0, 1, 0, 48, 49, 49, 48, 49, 1, 2, 1, 2, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 1, 2, 48, 49, 48, 49, 48, 49, 49, 2, 48, 49, 48, 49, 2, 1, 1, 2, 48, 48, 49, 49, 48, 0, 0, 49, 2, 50, 50, 49, 3, 2, 3, 49, 50, 50, 49, 50, 2, 3, 2, 3, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 2, 3, 49, 50, 49, 50, 49, 50, 50, 3, 49, 50, 49, 50, 3, 2, 2, 3, 49, 49, 50, 50, 49, 0, 0, 49, 3, 50, 50, 49, 0, 3, 0, 49, 50, 50, 49, 50, 3, 4, 3, 4, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 3, 4, 49, 50, 49, 50, 49, 50, 50, 4, 49, 50, 49, 50, 4, 3, 3, 4, 49, 49, 50, 50, 49, 0, 0, 49, 3, 50, 50, 49, 4, 3, 4, 49, 50, 50, 49, 50, 3, 4, 3, 4, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 3, 4, 49, 50, 49, 50, 49, 50, 50, 4, 49, 50, 49, 50, 4, 3, 3, 4, 49, 49, 50, 50, 49, 0, 0, 49, 1, 50, 50, 49, 2, 1, 2, 49, 50, 50, 49, 50, 1, 2, 1, 2, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 1, 2, 49, 50, 49, 50, 49, 50, 50, 2, 49, 50, 49, 50, 2, 1, 1, 2, 49, 49, 50, 50, 49, 0, 0, 49, 2, 50, 50, 49, 0, 2, 0, 49, 50, 50, 49, 50, 2, 3, 2, 3, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 2, 3, 49, 50, 49, 50, 49, 50, 50, 3, 49, 50, 49, 50, 3, 2, 2, 3, 49, 49, 50, 50, 49, 0, 0, 49, 6, 50, 50, 49, 7, 6, 7, 49, 50, 50, 49, 50, 6, 7, 6, 7, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 6, 7, 49, 50, 49, 50, 49, 50, 50, 7, 49, 50, 49, 50, 7, 6, 6, 7, 49, 49, 50, 50, 49, 0, 0, 48, 5, 49, 49, 48, 6, 5, 6, 48, 49, 49, 48, 49, 5, 6, 5, 6, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 5, 6, 48, 49, 48, 49, 48, 49, 49, 6, 48, 49, 48, 49, 6, 5, 5, 6, 48, 48, 49, 49, 48, 0, 0, 47, 4, 48, 48, 47, 5, 4, 5, 47, 48, 48, 47, 48, 4, 5, 4, 5, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 47, 48, 4, 5, 47, 48, 47, 48, 47, 48, 48, 5, 47, 48, 47, 48, 5, 4, 4, 5, 47, 47, 48, 48, 47, 0, 0, 49, 7, 50, 50, 49, 0, 7, 0, 49, 50, 50, 49, 50, 7, 8, 7, 8, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 7, 8, 49, 50, 49, 50, 49, 50, 50, 8, 49, 50, 49, 50, 8, 7, 7, 8, 49, 49, 50, 50, 49, 0, 0, 49, 7, 50, 50, 49, 8, 7, 8, 49, 50, 50, 49, 50, 7, 8, 7, 8, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 7, 8, 49, 50, 49, 50, 49, 50, 50, 8, 49, 50, 49, 50, 8, 7, 7, 8, 49, 49, 50, 50, 49, 0, 0, 49, 0, 50, 50, 49, 1, 0, 1, 49, 50, 50, 49, 50, 0, 1, 0, 1, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 0, 1, 49, 50, 49, 50, 49, 50, 50, 1, 49, 50, 49, 50, 1, 0, 0, 1, 49, 49, 50, 50, 49, 0, 0, 49, 1, 50, 50, 49, 0, 1, 0, 49, 50, 50, 49, 50, 1, 2, 1, 2, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 1, 2, 49, 50, 49, 50, 49, 50, 50, 2, 49, 50, 49, 50, 2, 1, 1, 2, 49, 49, 50, 50, 49, 0, 0, 50, 2, 51, 51, 50, 3, 2, 3, 50, 51, 51, 50, 51, 2, 3, 2, 3, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 2, 3, 50, 51, 50, 51, 50, 51, 51, 3, 50, 51, 50, 51, 3, 2, 2, 3, 50, 50, 51, 51, 50, 0, 0, 50, 3, 51, 51, 50, 0, 3, 0, 50, 51, 51, 50, 51, 3, 4, 3, 4, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 3, 4, 50, 51, 50, 51, 50, 51, 51, 4, 50, 51, 50, 51, 4, 3, 3, 4, 50, 50, 51, 51, 50, 0, 0, 50, 3, 51, 51, 50, 4, 3, 4, 50, 51, 51, 50, 51, 3, 4, 3, 4, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 3, 4, 50, 51, 50, 51, 50, 51, 51, 4, 50, 51, 50, 51, 4, 3, 3, 4, 50, 50, 51, 51, 50, 0, 0, 50, 1, 51, 51, 50, 2, 1, 2, 50, 51, 51, 50, 51, 1, 2, 1, 2, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 1, 2, 50, 51, 50, 51, 50, 51, 51, 2, 50, 51, 50, 51, 2, 1, 1, 2, 50, 50, 51, 51, 50, 0, 0, 50, 2, 51, 51, 50, 0, 2, 0, 50, 51, 51, 50, 51, 2, 3, 2, 3, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 2, 3, 50, 51, 50, 51, 50, 51, 51, 3, 50, 51, 50, 51, 3, 2, 2, 3, 50, 50, 51, 51, 50, 0, 0, 50, 6, 51, 51, 50, 7, 6, 7, 50, 51, 51, 50, 51, 6, 7, 6, 7, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 6, 7, 50, 51, 50, 51, 50, 51, 51, 7, 50, 51, 50, 51, 7, 6, 6, 7, 50, 50, 51, 51, 50, 0, 0, 49, 5, 50, 50, 49, 6, 5, 6, 49, 50, 50, 49, 50, 5, 6, 5, 6, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 5, 6, 49, 50, 49, 50, 49, 50, 50, 6, 49, 50, 49, 50, 6, 5, 5, 6, 49, 49, 50, 50, 49, 0, 0, 48, 4, 49, 49, 48, 5, 4, 5, 48, 49, 49, 48, 49, 4, 5, 4, 5, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 48, 49, 4, 5, 48, 49, 48, 49, 48, 49, 49, 5, 48, 49, 48, 49, 5, 4, 4, 5, 48, 48, 49, 49, 48, 0, 0, 50, 7, 51, 51, 50, 0, 7, 0, 50, 51, 51, 50, 51, 7, 8, 7, 8, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 7, 8, 50, 51, 50, 51, 50, 51, 51, 8, 50, 51, 50, 51, 8, 7, 7, 8, 50, 50, 51, 51, 50, 0, 0, 50, 7, 51, 51, 50, 8, 7, 8, 50, 51, 51, 50, 51, 7, 8, 7, 8, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 7, 8, 50, 51, 50, 51, 50, 51, 51, 8, 50, 51, 50, 51, 8, 7, 7, 8, 50, 50, 51, 51, 50, 0, 0, 50, 0, 51, 51, 50, 1, 0, 1, 50, 51, 51, 50, 51, 0, 1, 0, 1, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 0, 1, 50, 51, 50, 51, 50, 51, 51, 1, 50, 51, 50, 51, 1, 0, 0, 1, 50, 50, 51, 51, 50, 0, 0, 50, 1, 51, 51, 50, 0, 1, 0, 50, 51, 51, 50, 51, 1, 2, 1, 2, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 1, 2, 50, 51, 50, 51, 50, 51, 51, 2, 50, 51, 50, 51, 2, 1, 1, 2, 50, 50, 51, 51, 50, 0, 0, 51, 2, 52, 52, 51, 3, 2, 3, 51, 52, 52, 51, 52, 2, 3, 2, 3, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 2, 3, 51, 52, 51, 52, 51, 52, 52, 3, 51, 52, 51, 52, 3, 2, 2, 3, 51, 51, 52, 52, 51, 0, 0, 51, 3, 52, 52, 51, 0, 3, 0, 51, 52, 52, 51, 52, 3, 4, 3, 4, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 3, 4, 51, 52, 51, 52, 51, 52, 52, 4, 51, 52, 51, 52, 4, 3, 3, 4, 51, 51, 52, 52, 51, 0, 0, 51, 3, 52, 52, 51, 4, 3, 4, 51, 52, 52, 51, 52, 3, 4, 3, 4, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 3, 4, 51, 52, 51, 52, 51, 52, 52, 4, 51, 52, 51, 52, 4, 3, 3, 4, 51, 51, 52, 52, 51, 0, 0, 51, 1, 52, 52, 51, 2, 1, 2, 51, 52, 52, 51, 52, 1, 2, 1, 2, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 1, 2, 51, 52, 51, 52, 51, 52, 52, 2, 51, 52, 51, 52, 2, 1, 1, 2, 51, 51, 52, 52, 51, 0, 0, 51, 2, 52, 52, 51, 0, 2, 0, 51, 52, 52, 51, 52, 2, 3, 2, 3, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 2, 3, 51, 52, 51, 52, 51, 52, 52, 3, 51, 52, 51, 52, 3, 2, 2, 3, 51, 51, 52, 52, 51, 0, 0, 51, 6, 52, 52, 51, 7, 6, 7, 51, 52, 52, 51, 52, 6, 7, 6, 7, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 6, 7, 51, 52, 51, 52, 51, 52, 52, 7, 51, 52, 51, 52, 7, 6, 6, 7, 51, 51, 52, 52, 51, 0, 0, 50, 5, 51, 51, 50, 6, 5, 6, 50, 51, 51, 50, 51, 5, 6, 5, 6, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 5, 6, 50, 51, 50, 51, 50, 51, 51, 6, 50, 51, 50, 51, 6, 5, 5, 6, 50, 50, 51, 51, 50, 0, 0, 49, 4, 50, 50, 49, 5, 4, 5, 49, 50, 50, 49, 50, 4, 5, 4, 5, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 49, 50, 4, 5, 49, 50, 49, 50, 49, 50, 50, 5, 49, 50, 49, 50, 5, 4, 4, 5, 49, 49, 50, 50, 49, 0, 0, 51, 7, 52, 52, 51, 0, 7, 0, 51, 52, 52, 51, 52, 7, 8, 7, 8, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 7, 8, 51, 52, 51, 52, 51, 52, 52, 8, 51, 52, 51, 52, 8, 7, 7, 8, 51, 51, 52, 52, 51, 0, 0, 51, 7, 52, 52, 51, 8, 7, 8, 51, 52, 52, 51, 52, 7, 8, 7, 8, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 7, 8, 51, 52, 51, 52, 51, 52, 52, 8, 51, 52, 51, 52, 8, 7, 7, 8, 51, 51, 52, 52, 51, 0, 0, 51, 0, 52, 52, 51, 1, 0, 1, 51, 52, 52, 51, 52, 0, 1, 0, 1, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 0, 1, 51, 52, 51, 52, 51, 52, 52, 1, 51, 52, 51, 52, 1, 0, 0, 1, 51, 51, 52, 52, 51, 0, 0, 51, 1, 52, 52, 51, 0, 1, 0, 51, 52, 52, 51, 52, 1, 2, 1, 2, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 1, 2, 51, 52, 51, 52, 51, 52, 52, 2, 51, 52, 51, 52, 2, 1, 1, 2, 51, 51, 52, 52, 51, 0, 0, 52, 3, 53, 53, 52, 4, 3, 4, 52, 53, 53, 52, 53, 3, 4, 3, 4, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 3, 4, 52, 53, 52, 53, 52, 53, 53, 4, 52, 53, 52, 53, 4, 3, 3, 4, 52, 52, 53, 53, 52, 0, 0, 52, 2, 53, 53, 52, 3, 2, 3, 52, 53, 53, 52, 53, 2, 3, 2, 3, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 2, 3, 52, 53, 52, 53, 52, 53, 53, 3, 52, 53, 52, 53, 3, 2, 2, 3, 52, 52, 53, 53, 52, 0, 0, 52, 7, 53, 53, 52, 8, 7, 8, 52, 53, 53, 52, 53, 7, 8, 7, 8, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 7, 8, 52, 53, 52, 53, 52, 53, 53, 8, 52, 53, 52, 53, 8, 7, 7, 8, 52, 52, 53, 53, 52, 0, 0, 52, 1, 53, 53, 52, 2, 1, 2, 52, 53, 53, 52, 53, 1, 2, 1, 2, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 1, 2, 52, 53, 52, 53, 52, 53, 53, 2, 52, 53, 52, 53, 2, 1, 1, 2, 52, 52, 53, 53, 52, 0, 0, 54, 2, 55, 55, 54, 3, 2, 3, 54, 55, 55, 54, 55, 2, 3, 2, 3, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 2, 3, 54, 55, 54, 55, 54, 55, 55, 3, 54, 55, 54, 55, 3, 2, 2, 3, 54, 54, 55, 55, 54, 0, 0, 6, 2, 7, 3, 2, 3, 6, 7, 2, 3, 3, 2, 3, 2, 3, 6, 7, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 6, 4, 5, 3, 4, 3, 2, 6, 7, 2, 5, 6, 3, 2, 0, 0, 5, 1, 6, 2, 1, 2, 5, 6, 1, 2, 2, 1, 2, 1, 2, 5, 6, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 5, 3, 4, 2, 3, 2, 1, 5, 6, 1, 4, 5, 2, 1, 0, 0, 4, 0, 5, 1, 0, 1, 4, 5, 0, 1, 1, 0, 1, 0, 1, 4, 5, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 4, 2, 3, 1, 2, 1, 0, 4, 5, 0, 3, 4, 1, 0, 0, 0, 3, 0, 4, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 1, 0, 0, 3, 4, 0, 2, 3, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 2, 3, 0, 1, 2, 0, 0, 0, 0, 14, 2, 15, 0, 14, 0, 2, 3, 14, 15, 15, 14, 15, 2, 3, 2, 3, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 2, 3, 14, 15, 14, 15, 14, 15, 15, 3, 14, 15, 14, 15, 3, 2, 2, 3, 14, 14, 15, 15, 14, 0, 0, 2, 2, 3, 0, 2, 0, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 2, 3, 3, 2, 0, 0, 3, 2, 4, 0, 2, 0, 3, 4, 2, 3, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 3, 4, 2, 2, 3, 3, 2, 0, 0, 4, 2, 5, 3, 2, 3, 4, 5, 2, 3, 3, 2, 3, 2, 3, 4, 5, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 3, 2, 4, 5, 2, 3, 4, 3, 2, 0, 0, 5, 2, 6, 0, 3, 0, 2, 3, 3, 4, 4, 3, 4, 2, 3, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 3, 2, 5, 6, 3, 4, 5, 4, 3, 0, 0, 11, 2, 12, 6, 5, 3, 2, 3, 5, 6, 6, 5, 6, 2, 3, 2, 3, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 2, 3, 5, 6, 5, 6, 5, 6, 6, 3, 9, 10, 8, 9, 3, 2, 2, 3, 5, 10, 11, 6, 5, 0, 0, 10, 1, 11, 5, 4, 2, 1, 2, 4, 5, 5, 4, 5, 1, 2, 1, 2, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 1, 2, 4, 5, 4, 5, 4, 5, 5, 2, 8, 9, 7, 8, 2, 1, 1, 2, 4, 9, 10, 5, 4, 0, 0, 9, 0, 10, 4, 3, 1, 0, 1, 3, 4, 4, 3, 4, 0, 1, 0, 1, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 0, 1, 3, 4, 3, 4, 3, 4, 4, 1, 7, 8, 6, 7, 1, 0, 0, 1, 3, 8, 9, 4, 3, 0, 0, 8, 0, 9, 3, 2, 0, 0, 0, 2, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 6, 7, 5, 6, 0, 0, 0, 0, 2, 7, 8, 3, 2, 0, 0, 7, 0, 8, 2, 1, 0, 0, 0, 1, 2, 2, 1, 2, 0, 0, 7, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 5, 6, 4, 5, 0, 0, 7, 0, 1, 6, 7, 2, 1, 0, 0, 6, 0, 7, 1, 0, 0, 6, 0, 0, 1, 1, 0, 1, 0, 0, 6, 7, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 6, 4, 5, 3, 4, 0, 0, 6, 7, 0, 5, 6, 1, 0, 0, 0, 5, 0, 6, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 4, 2, 3, 0, 0, 5, 6, 0, 4, 5, 0, 0, 0, 0, 4, 0, 5, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 3, 1, 2, 0, 0, 4, 5, 0, 3, 4, 0, 0, 0, 0, 14, 4, 15, 0, 14, 0, 4, 5, 14, 15, 15, 14, 15, 4, 5, 4, 5, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 4, 5, 14, 15, 14, 15, 14, 15, 15, 5, 14, 15, 14, 15, 5, 4, 4, 5, 14, 14, 15, 15, 14, 0, 0, 4, 2, 5, 0, 2, 0, 4, 5, 2, 3, 3, 2, 3, 2, 3, 4, 5, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 3, 2, 4, 5, 2, 3, 4, 3, 2, 0, 0, 4, 3, 5, 0, 3, 0, 4, 5, 3, 4, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 4, 3, 4, 3, 4, 4, 3, 4, 5, 3, 3, 4, 4, 3, 0, 0, 4, 3, 5, 4, 3, 4, 4, 5, 3, 4, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 4, 3, 4, 3, 4, 4, 3, 4, 5, 3, 3, 4, 4, 3, 0, 0, 11, 4, 12, 6, 5, 5, 4, 5, 5, 6, 6, 5, 6, 4, 5, 11, 12, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 4, 5, 5, 6, 5, 6, 5, 6, 6, 11, 9, 10, 8, 9, 5, 4, 11, 12, 5, 10, 11, 6, 5, 0, 0, 10, 3, 11, 5, 4, 4, 3, 4, 4, 5, 5, 4, 5, 3, 4, 10, 11, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 3, 4, 4, 5, 4, 5, 4, 5, 5, 10, 8, 9, 7, 8, 4, 3, 10, 11, 4, 9, 10, 5, 4, 0, 0, 9, 2, 10, 4, 3, 3, 2, 3, 3, 4, 4, 3, 4, 2, 3, 9, 10, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 9, 7, 8, 6, 7, 3, 2, 9, 10, 3, 8, 9, 4, 3, 0, 0, 8, 1, 9, 3, 2, 2, 1, 2, 2, 3, 3, 2, 3, 1, 2, 8, 9, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 8, 6, 7, 5, 6, 2, 1, 8, 9, 2, 7, 8, 3, 2, 0, 0, 7, 0, 8, 2, 1, 1, 0, 1, 1, 2, 2, 1, 2, 0, 1, 7, 8, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 1, 1, 2, 1, 2, 1, 2, 2, 7, 5, 6, 4, 5, 1, 0, 7, 8, 1, 6, 7, 2, 1, 0, 0, 7, 3, 8, 4, 3, 4, 7, 8, 3, 4, 4, 3, 4, 3, 4, 7, 8, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 7, 5, 6, 4, 5, 4, 3, 7, 8, 3, 6, 7, 4, 3, 0, 0, 7, 2, 8, 3, 2, 3, 7, 8, 2, 3, 3, 2, 3, 2, 3, 7, 8, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 7, 5, 6, 4, 5, 3, 2, 7, 8, 2, 6, 7, 3, 2, 0, 0, 6, 1, 7, 2, 1, 2, 6, 7, 1, 2, 2, 1, 2, 1, 2, 6, 7, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 6, 4, 5, 3, 4, 2, 1, 6, 7, 1, 5, 6, 2, 1, 0, 0, 5, 0, 6, 1, 0, 1, 5, 6, 0, 1, 1, 0, 1, 0, 1, 5, 6, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 5, 3, 4, 2, 3, 1, 0, 5, 6, 0, 4, 5, 1, 0, 0, 0, 5, 2, 6, 3, 2, 3, 5, 6, 2, 3, 3, 2, 3, 2, 3, 5, 6, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 5, 3, 4, 2, 3, 3, 2, 5, 6, 2, 4, 5, 3, 2, 0, 0, 4, 1, 5, 2, 1, 2, 4, 5, 1, 2, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 4, 2, 3, 1, 2, 2, 1, 4, 5, 1, 3, 4, 2, 1, 0, 0, 3, 0, 4, 1, 0, 1, 3, 4, 0, 1, 1, 0, 1, 0, 1, 3, 4, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 3, 1, 2, 0, 1, 1, 0, 3, 4, 0, 2, 3, 1, 0, 0, 0, 5, 3, 6, 4, 3, 4, 5, 6, 3, 4, 4, 3, 4, 3, 4, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 4, 3, 5, 6, 3, 4, 5, 4, 3, 0, 0, 54, 3, 55, 55, 54, 4, 3, 4, 54, 55, 55, 54, 55, 3, 4, 3, 4, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 3, 4, 54, 55, 54, 55, 54, 55, 55, 4, 54, 55, 54, 55, 4, 3, 3, 4, 54, 54, 55, 55, 54, 0, 0, 53, 2, 54, 54, 53, 3, 2, 3, 53, 54, 54, 53, 54, 2, 3, 2, 3, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 2, 3, 53, 54, 53, 54, 53, 54, 54, 3, 53, 54, 53, 54, 3, 2, 2, 3, 53, 53, 54, 54, 53, 0, 0, 5, 4, 6, 5, 4, 5, 5, 6, 4, 5, 5, 4, 5, 4, 5, 5, 6, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 4, 5, 4, 5, 5, 4, 5, 6, 4, 4, 5, 5, 4, 0, 0, 54, 5, 55, 55, 54, 6, 5, 6, 54, 55, 55, 54, 55, 5, 6, 5, 6, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 5, 6, 54, 55, 54, 55, 54, 55, 55, 6, 54, 55, 54, 55, 6, 5, 5, 6, 54, 54, 55, 55, 54, 0, 0, 53, 4, 54, 54, 53, 5, 4, 5, 53, 54, 54, 53, 54, 4, 5, 4, 5, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 4, 5, 53, 54, 53, 54, 53, 54, 54, 5, 53, 54, 53, 54, 5, 4, 4, 5, 53, 53, 54, 54, 53, 0, 0, 7, 5, 8, 6, 5, 6, 7, 8, 5, 6, 6, 5, 6, 5, 6, 7, 8, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 7, 5, 6, 5, 6, 6, 5, 7, 8, 5, 6, 7, 6, 5, 0, 0, 6, 4, 7, 5, 4, 5, 6, 7, 4, 5, 5, 4, 5, 4, 5, 6, 7, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 6, 4, 5, 4, 5, 5, 4, 6, 7, 4, 5, 6, 5, 4, 0, 0, 7, 7, 8, 8, 7, 8, 7, 8, 7, 8, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 8, 7, 8, 7, 8, 8, 7, 7, 8, 7, 7, 8, 8, 7, 0, 0, 6, 6, 7, 7, 6, 7, 6, 7, 6, 7, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 7, 6, 7, 6, 7, 7, 6, 6, 7, 6, 6, 7, 7, 6, 0, 0, 5, 5, 6, 6, 5, 6, 5, 6, 5, 6, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 5, 6, 5, 6, 6, 5, 5, 6, 5, 5, 6, 6, 5, 0, 0, 4, 4, 5, 5, 4, 5, 4, 5, 4, 5, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 4, 5, 4, 5, 5, 4, 4, 5, 4, 4, 5, 5, 4, 0, 0, 7, 1, 8, 2, 1, 2, 7, 8, 1, 2, 2, 1, 2, 1, 2, 7, 8, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 7, 5, 6, 4, 5, 2, 1, 7, 8, 1, 6, 7, 2, 1, 0, 0, 6, 0, 7, 1, 0, 1, 6, 7, 0, 1, 1, 0, 1, 0, 1, 6, 7, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 6, 4, 5, 3, 4, 1, 0, 6, 7, 0, 5, 6, 1, 0, 0, 0, 6, 3, 7, 4, 3, 4, 6, 7, 3, 4, 4, 3, 4, 3, 4, 6, 7, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 6, 4, 5, 3, 4, 4, 3, 6, 7, 3, 5, 6, 4, 3, 0, 0, 54, 6, 55, 55, 54, 7, 6, 7, 54, 55, 55, 54, 55, 6, 7, 6, 7, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 6, 7, 54, 55, 54, 55, 54, 55, 55, 7, 54, 55, 54, 55, 7, 6, 6, 7, 54, 54, 55, 55, 54, 0, 0, 53, 5, 54, 54, 53, 6, 5, 6, 53, 54, 54, 53, 54, 5, 6, 5, 6, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 5, 6, 53, 54, 53, 54, 53, 54, 54, 6, 53, 54, 53, 54, 6, 5, 5, 6, 53, 53, 54, 54, 53, 0, 0, 52, 4, 53, 53, 52, 5, 4, 5, 52, 53, 53, 52, 53, 4, 5, 4, 5, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 4, 5, 52, 53, 52, 53, 52, 53, 53, 5, 52, 53, 52, 53, 5, 4, 4, 5, 52, 52, 53, 53, 52, 0, 0, 7, 6, 8, 7, 6, 7, 7, 8, 6, 7, 7, 6, 7, 6, 7, 7, 8, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 7, 6, 7, 6, 7, 7, 6, 7, 8, 6, 6, 7, 7, 6, 0, 0, 6, 5, 7, 6, 5, 6, 6, 7, 5, 6, 6, 5, 6, 5, 6, 6, 7, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 5, 6, 5, 6, 6, 5, 6, 7, 5, 5, 6, 6, 5, 0, 0, 4, 4, 5, 0, 4, 0, 4, 5, 4, 5, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 4, 5, 4, 5, 5, 4, 4, 5, 4, 4, 5, 5, 4, 0, 0, 38, 4, 39, 0, 38, 0, 4, 5, 38, 39, 39, 38, 39, 4, 5, 4, 5, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 4, 5, 38, 39, 38, 39, 38, 39, 39, 5, 38, 39, 38, 39, 5, 4, 4, 5, 38, 38, 39, 39, 38, 0, 0, 42, 4, 43, 0, 42, 0, 4, 5, 42, 43, 43, 42, 43, 4, 5, 4, 5, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 4, 5, 42, 43, 42, 43, 42, 43, 43, 5, 42, 43, 42, 43, 5, 4, 4, 5, 42, 42, 43, 43, 42, 0, 0, 27, 4, 28, 0, 27, 0, 4, 5, 27, 28, 28, 27, 28, 4, 5, 4, 5, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 4, 5, 27, 28, 27, 28, 27, 28, 28, 5, 27, 28, 27, 28, 5, 4, 4, 5, 27, 27, 28, 28, 27, 0, 0, 16, 4, 17, 0, 16, 0, 4, 5, 16, 17, 17, 16, 17, 4, 5, 4, 5, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 4, 5, 16, 17, 16, 17, 16, 17, 17, 5, 16, 17, 16, 17, 5, 4, 4, 5, 16, 16, 17, 17, 16, 0, 0, 54, 4, 55, 0, 54, 0, 4, 5, 54, 55, 55, 54, 55, 4, 5, 4, 5, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 4, 5, 54, 55, 54, 55, 54, 55, 55, 5, 54, 55, 54, 55, 5, 4, 4, 5, 54, 54, 55, 55, 54, 0, 0, 53, 3, 54, 54, 53, 4, 3, 4, 53, 54, 54, 53, 54, 3, 4, 3, 4, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 3, 4, 53, 54, 53, 54, 53, 54, 54, 4, 53, 54, 53, 54, 4, 3, 3, 4, 53, 53, 54, 54, 53, 0, 0, 54, 4, 55, 55, 54, 5, 4, 5, 54, 55, 55, 54, 55, 4, 5, 4, 5, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 4, 5, 54, 55, 54, 55, 54, 55, 55, 5, 54, 55, 54, 55, 5, 4, 4, 5, 54, 54, 55, 55, 54, 0, 0, 21, 4, 22, 0, 21, 0, 4, 5, 21, 22, 22, 21, 22, 4, 5, 4, 5, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 4, 5, 21, 22, 21, 22, 21, 22, 22, 5, 21, 22, 21, 22, 5, 4, 4, 5, 21, 21, 22, 22, 21, 0, 0, 7, 4, 8, 0, 4, 0, 7, 8, 4, 5, 5, 4, 5, 4, 5, 7, 8, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 7, 5, 6, 4, 5, 5, 4, 7, 8, 4, 6, 7, 5, 4, 0, 0, 7, 4, 8, 5, 4, 5, 7, 8, 4, 5, 5, 4, 5, 4, 5, 7, 8, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 7, 5, 6, 4, 5, 5, 4, 7, 8, 4, 6, 7, 5, 4, 0, 0, 19, 4, 20, 0, 19, 0, 4, 5, 19, 20, 20, 19, 20, 4, 5, 4, 5, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 4, 5, 19, 20, 19, 20, 19, 20, 20, 5, 19, 20, 19, 20, 5, 4, 4, 5, 19, 19, 20, 20, 19, 0, 0, 4, 1, 5, 0, 1, 0, 4, 5, 1, 2, 2, 1, 2, 1, 2, 4, 5, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 4, 2, 3, 1, 2, 2, 1, 4, 5, 1, 3, 4, 2, 1, 0, 0, 14, 5, 15, 0, 14, 0, 5, 6, 14, 15, 15, 14, 15, 5, 6, 5, 6, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 5, 6, 14, 15, 14, 15, 14, 15, 15, 6, 14, 15, 14, 15, 6, 5, 5, 6, 14, 14, 15, 15, 14, 0, 0, 5, 2, 6, 0, 2, 0, 5, 6, 2, 3, 3, 2, 3, 2, 3, 5, 6, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 5, 3, 4, 2, 3, 3, 2, 5, 6, 2, 4, 5, 3, 2, 0, 0, 5, 3, 6, 0, 3, 0, 5, 6, 3, 4, 4, 3, 4, 3, 4, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 4, 3, 5, 6, 3, 4, 5, 4, 3, 0, 0, 11, 5, 12, 6, 5, 6, 11, 12, 5, 6, 6, 5, 6, 5, 6, 11, 12, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 11, 9, 10, 8, 9, 6, 5, 11, 12, 5, 10, 11, 6, 5, 0, 0, 10, 4, 11, 5, 4, 5, 10, 11, 4, 5, 5, 4, 5, 4, 5, 10, 11, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 10, 8, 9, 7, 8, 5, 4, 10, 11, 4, 9, 10, 5, 4, 0, 0, 9, 3, 10, 4, 3, 4, 9, 10, 3, 4, 4, 3, 4, 3, 4, 9, 10, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 9, 7, 8, 6, 7, 4, 3, 9, 10, 3, 8, 9, 4, 3, 0, 0, 8, 2, 9, 3, 2, 3, 8, 9, 2, 3, 3, 2, 3, 2, 3, 8, 9, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 8, 6, 7, 5, 6, 3, 2, 8, 9, 2, 7, 8, 3, 2, 0, 0, 5, 4, 6, 0, 4, 0, 5, 6, 4, 5, 5, 4, 5, 4, 5, 5, 6, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 4, 5, 4, 5, 5, 4, 5, 6, 4, 4, 5, 5, 4, 0, 0, 38, 5, 39, 0, 38, 0, 5, 6, 38, 39, 39, 38, 39, 5, 6, 5, 6, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 5, 6, 38, 39, 38, 39, 38, 39, 39, 6, 38, 39, 38, 39, 6, 5, 5, 6, 38, 38, 39, 39, 38, 0, 0, 42, 5, 43, 0, 42, 0, 5, 6, 42, 43, 43, 42, 43, 5, 6, 5, 6, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 5, 6, 42, 43, 42, 43, 42, 43, 43, 6, 42, 43, 42, 43, 6, 5, 5, 6, 42, 42, 43, 43, 42, 0, 0, 27, 5, 28, 0, 27, 0, 5, 6, 27, 28, 28, 27, 28, 5, 6, 5, 6, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 5, 6, 27, 28, 27, 28, 27, 28, 28, 6, 27, 28, 27, 28, 6, 5, 5, 6, 27, 27, 28, 28, 27, 0, 0, 16, 5, 17, 0, 16, 0, 5, 6, 16, 17, 17, 16, 17, 5, 6, 5, 6, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 5, 6, 16, 17, 16, 17, 16, 17, 17, 6, 16, 17, 16, 17, 6, 5, 5, 6, 16, 16, 17, 17, 16, 0, 0, 54, 5, 55, 0, 54, 0, 5, 6, 54, 55, 55, 54, 55, 5, 6, 5, 6, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 5, 6, 54, 55, 54, 55, 54, 55, 55, 6, 54, 55, 54, 55, 6, 5, 5, 6, 54, 54, 55, 55, 54, 0, 0, 21, 5, 22, 0, 21, 0, 5, 6, 21, 22, 22, 21, 22, 5, 6, 5, 6, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 5, 6, 21, 22, 21, 22, 21, 22, 22, 6, 21, 22, 21, 22, 6, 5, 5, 6, 21, 21, 22, 22, 21, 0, 0, 7, 5, 8, 0, 5, 0, 7, 8, 5, 6, 6, 5, 6, 5, 6, 7, 8, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 7, 5, 6, 5, 6, 6, 5, 7, 8, 5, 6, 7, 6, 5, 0, 0, 19, 5, 20, 0, 19, 0, 5, 6, 19, 20, 20, 19, 20, 5, 6, 5, 6, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 5, 6, 19, 20, 19, 20, 19, 20, 20, 6, 19, 20, 19, 20, 6, 5, 5, 6, 19, 19, 20, 20, 19, 0, 0, 5, 1, 6, 0, 1, 0, 5, 6, 1, 2, 2, 1, 2, 1, 2, 5, 6, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 5, 3, 4, 2, 3, 2, 1, 5, 6, 1, 4, 5, 2, 1, 0, 0, 14, 6, 15, 15, 14, 0, 6, 0, 14, 15, 15, 14, 15, 6, 7, 6, 7, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 6, 7, 14, 15, 14, 15, 14, 15, 15, 7, 14, 15, 14, 15, 7, 6, 6, 7, 14, 14, 15, 15, 14, 0, 0, 6, 2, 7, 3, 2, 0, 6, 0, 2, 3, 3, 2, 3, 2, 3, 6, 7, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 6, 4, 5, 3, 4, 3, 2, 6, 7, 2, 5, 6, 3, 2, 0, 0, 6, 3, 7, 4, 3, 0, 6, 0, 3, 4, 4, 3, 4, 3, 4, 6, 7, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 6, 4, 5, 3, 4, 4, 3, 6, 7, 3, 5, 6, 4, 3, 0, 0, 6, 4, 7, 5, 4, 0, 6, 0, 4, 5, 5, 4, 5, 4, 5, 6, 7, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 6, 4, 5, 4, 5, 5, 4, 6, 7, 4, 5, 6, 5, 4, 0, 0, 38, 6, 39, 39, 38, 0, 6, 0, 38, 39, 39, 38, 39, 6, 7, 6, 7, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 6, 7, 38, 39, 38, 39, 38, 39, 39, 7, 38, 39, 38, 39, 7, 6, 6, 7, 38, 38, 39, 39, 38, 0, 0, 42, 6, 43, 43, 42, 0, 6, 0, 42, 43, 43, 42, 43, 6, 7, 6, 7, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 6, 7, 42, 43, 42, 43, 42, 43, 43, 7, 42, 43, 42, 43, 7, 6, 6, 7, 42, 42, 43, 43, 42, 0, 0, 27, 6, 28, 28, 27, 0, 6, 0, 27, 28, 28, 27, 28, 6, 7, 6, 7, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 6, 7, 27, 28, 27, 28, 27, 28, 28, 7, 27, 28, 27, 28, 7, 6, 6, 7, 27, 27, 28, 28, 27, 0, 0, 16, 6, 17, 17, 16, 0, 6, 0, 16, 17, 17, 16, 17, 6, 7, 6, 7, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 6, 7, 16, 17, 16, 17, 16, 17, 17, 7, 16, 17, 16, 17, 7, 6, 6, 7, 16, 16, 17, 17, 16, 0, 0, 54, 6, 55, 55, 54, 0, 6, 0, 54, 55, 55, 54, 55, 6, 7, 6, 7, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 6, 7, 54, 55, 54, 55, 54, 55, 55, 7, 54, 55, 54, 55, 7, 6, 6, 7, 54, 54, 55, 55, 54, 0, 0, 21, 6, 22, 22, 21, 0, 6, 0, 21, 22, 22, 21, 22, 6, 7, 6, 7, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 6, 7, 21, 22, 21, 22, 21, 22, 22, 7, 21, 22, 21, 22, 7, 6, 6, 7, 21, 21, 22, 22, 21, 0, 0, 7, 6, 8, 7, 6, 0, 7, 0, 6, 7, 7, 6, 7, 6, 7, 7, 8, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 7, 6, 7, 6, 7, 7, 6, 7, 8, 6, 6, 7, 7, 6, 0, 0, 19, 6, 20, 20, 19, 0, 6, 0, 19, 20, 20, 19, 20, 6, 7, 6, 7, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 6, 7, 19, 20, 19, 20, 19, 20, 20, 7, 19, 20, 19, 20, 7, 6, 6, 7, 19, 19, 20, 20, 19, 0, 0, 6, 1, 7, 2, 1, 0, 6, 0, 1, 2, 2, 1, 2, 1, 2, 6, 7, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 6, 4, 5, 3, 4, 2, 1, 6, 7, 1, 5, 6, 2, 1, 0, 0, 7, 3, 8, 4, 3, 0, 7, 0, 3, 4, 4, 3, 4, 3, 4, 7, 8, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 7, 5, 6, 4, 5, 4, 3, 7, 8, 3, 6, 7, 4, 3, 0, 0, 7, 2, 8, 3, 2, 0, 7, 0, 2, 3, 3, 2, 3, 2, 3, 7, 8, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 7, 5, 6, 4, 5, 3, 2, 7, 8, 2, 6, 7, 3, 2, 0, 0, 7, 7, 8, 8, 7, 0, 7, 0, 7, 8, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 8, 7, 8, 7, 8, 8, 7, 7, 8, 7, 7, 8, 8, 7, 0, 0, 7, 1, 8, 2, 1, 0, 7, 0, 1, 2, 2, 1, 2, 1, 2, 7, 8, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 7, 5, 6, 4, 5, 2, 1, 7, 8, 1, 6, 7, 2, 1, 0, 0, 8, 3, 9, 4, 3, 0, 8, 0, 3, 4, 4, 3, 4, 3, 4, 8, 9, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 8, 6, 7, 5, 6, 4, 3, 8, 9, 3, 7, 8, 4, 3, 0, 0, 8, 3, 9, 4, 3, 4, 8, 9, 3, 4, 4, 3, 4, 3, 4, 8, 9, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 8, 6, 7, 5, 6, 4, 3, 8, 9, 3, 7, 8, 4, 3, 0, 0, 8, 2, 9, 3, 2, 0, 8, 0, 2, 3, 3, 2, 3, 2, 3, 8, 9, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 8, 6, 7, 5, 6, 3, 2, 8, 9, 2, 7, 8, 3, 2, 0, 0, 8, 6, 9, 7, 6, 7, 8, 9, 6, 7, 7, 6, 7, 6, 7, 8, 9, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 8, 6, 7, 6, 7, 7, 6, 8, 9, 6, 7, 8, 7, 6, 0, 0, 8, 7, 9, 8, 7, 0, 8, 0, 7, 8, 8, 7, 8, 7, 8, 8, 9, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 8, 7, 8, 7, 8, 8, 7, 8, 9, 7, 7, 8, 8, 7, 0, 0, 8, 7, 9, 8, 7, 8, 8, 9, 7, 8, 8, 7, 8, 7, 8, 8, 9, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 8, 7, 8, 7, 8, 8, 7, 8, 9, 7, 7, 8, 8, 7, 0, 0, 8, 0, 9, 3, 2, 1, 0, 1, 2, 3, 3, 2, 3, 0, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 1, 2, 3, 2, 3, 2, 3, 3, 1, 6, 7, 5, 6, 1, 0, 0, 1, 2, 7, 8, 3, 2, 0, 0, 8, 1, 9, 3, 2, 0, 1, 0, 2, 3, 3, 2, 3, 1, 2, 8, 9, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 8, 6, 7, 5, 6, 2, 1, 8, 9, 2, 7, 8, 3, 2, 0, 0, 9, 7, 10, 8, 7, 8, 9, 10, 7, 8, 8, 7, 8, 7, 8, 9, 10, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 9, 7, 8, 7, 8, 8, 7, 9, 10, 7, 8, 9, 8, 7, 0, 0, 9, 1, 10, 4, 3, 2, 1, 2, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 7, 8, 6, 7, 2, 1, 1, 2, 3, 8, 9, 4, 3, 0, 0, 4, 2, 5, 0, 4, 0, 2, 3, 4, 5, 5, 4, 5, 2, 3, 2, 3, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 2, 3, 4, 5, 4, 5, 4, 5, 5, 3, 4, 5, 4, 5, 3, 2, 2, 3, 4, 4, 5, 5, 4, 0, 0, 38, 2, 39, 0, 38, 0, 2, 3, 38, 39, 39, 38, 39, 2, 3, 2, 3, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 2, 3, 38, 39, 38, 39, 38, 39, 39, 3, 38, 39, 38, 39, 3, 2, 2, 3, 38, 38, 39, 39, 38, 0, 0, 42, 2, 43, 0, 42, 0, 2, 3, 42, 43, 43, 42, 43, 2, 3, 2, 3, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 2, 3, 42, 43, 42, 43, 42, 43, 43, 3, 42, 43, 42, 43, 3, 2, 2, 3, 42, 42, 43, 43, 42, 0, 0, 27, 2, 28, 0, 27, 0, 2, 3, 27, 28, 28, 27, 28, 2, 3, 2, 3, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 2, 3, 27, 28, 27, 28, 27, 28, 28, 3, 27, 28, 27, 28, 3, 2, 2, 3, 27, 27, 28, 28, 27, 0, 0, 16, 2, 17, 0, 16, 0, 2, 3, 16, 17, 17, 16, 17, 2, 3, 2, 3, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 2, 3, 16, 17, 16, 17, 16, 17, 17, 3, 16, 17, 16, 17, 3, 2, 2, 3, 16, 16, 17, 17, 16, 0, 0, 54, 2, 55, 0, 54, 0, 2, 3, 54, 55, 55, 54, 55, 2, 3, 2, 3, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 2, 3, 54, 55, 54, 55, 54, 55, 55, 3, 54, 55, 54, 55, 3, 2, 2, 3, 54, 54, 55, 55, 54, 0, 0, 21, 2, 22, 0, 21, 0, 2, 3, 21, 22, 22, 21, 22, 2, 3, 2, 3, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 2, 3, 21, 22, 21, 22, 21, 22, 22, 3, 21, 22, 21, 22, 3, 2, 2, 3, 21, 21, 22, 22, 21, 0, 0, 7, 2, 8, 0, 2, 0, 7, 8, 2, 3, 3, 2, 3, 2, 3, 7, 8, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 7, 5, 6, 4, 5, 3, 2, 7, 8, 2, 6, 7, 3, 2, 0, 0, 19, 2, 20, 0, 19, 0, 2, 3, 19, 20, 20, 19, 20, 2, 3, 2, 3, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 2, 3, 19, 20, 19, 20, 19, 20, 20, 3, 19, 20, 19, 20, 3, 2, 2, 3, 19, 19, 20, 20, 19, 0, 0, 3, 2, 4, 0, 3, 0, 2, 3, 3, 4, 4, 3, 4, 2, 3, 2, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 4, 3, 2, 2, 3, 3, 3, 4, 4, 3, 0, 0, 14, 3, 15, 0, 14, 0, 3, 4, 14, 15, 15, 14, 15, 3, 4, 3, 4, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 3, 4, 14, 15, 14, 15, 14, 15, 15, 4, 14, 15, 14, 15, 4, 3, 3, 4, 14, 14, 15, 15, 14, 0, 0, 3, 3, 4, 0, 3, 0, 3, 4, 3, 4, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 3, 4, 4, 3, 0, 0, 11, 3, 12, 6, 5, 4, 3, 4, 5, 6, 6, 5, 6, 3, 4, 3, 4, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 3, 4, 5, 6, 5, 6, 5, 6, 6, 4, 9, 10, 8, 9, 4, 3, 3, 4, 5, 10, 11, 6, 5, 0, 0, 10, 2, 11, 5, 4, 3, 2, 3, 4, 5, 5, 4, 5, 2, 3, 2, 3, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 2, 3, 4, 5, 4, 5, 4, 5, 5, 3, 8, 9, 7, 8, 3, 2, 2, 3, 4, 9, 10, 5, 4, 0, 0, 4, 3, 5, 0, 4, 0, 3, 4, 4, 5, 5, 4, 5, 3, 4, 3, 4, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 3, 4, 4, 5, 4, 5, 4, 5, 5, 4, 4, 5, 4, 5, 4, 3, 3, 4, 4, 4, 5, 5, 4, 0, 0, 38, 3, 39, 0, 38, 0, 3, 4, 38, 39, 39, 38, 39, 3, 4, 3, 4, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 3, 4, 38, 39, 38, 39, 38, 39, 39, 4, 38, 39, 38, 39, 4, 3, 3, 4, 38, 38, 39, 39, 38, 0, 0, 42, 3, 43, 0, 42, 0, 3, 4, 42, 43, 43, 42, 43, 3, 4, 3, 4, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 3, 4, 42, 43, 42, 43, 42, 43, 43, 4, 42, 43, 42, 43, 4, 3, 3, 4, 42, 42, 43, 43, 42, 0, 0, 27, 3, 28, 0, 27, 0, 3, 4, 27, 28, 28, 27, 28, 3, 4, 3, 4, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 3, 4, 27, 28, 27, 28, 27, 28, 28, 4, 27, 28, 27, 28, 4, 3, 3, 4, 27, 27, 28, 28, 27, 0, 0, 16, 3, 17, 0, 16, 0, 3, 4, 16, 17, 17, 16, 17, 3, 4, 3, 4, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 3, 4, 16, 17, 16, 17, 16, 17, 17, 4, 16, 17, 16, 17, 4, 3, 3, 4, 16, 16, 17, 17, 16, 0, 0, 54, 3, 55, 0, 54, 0, 3, 4, 54, 55, 55, 54, 55, 3, 4, 3, 4, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 3, 4, 54, 55, 54, 55, 54, 55, 55, 4, 54, 55, 54, 55, 4, 3, 3, 4, 54, 54, 55, 55, 54, 0, 0, 21, 3, 22, 0, 21, 0, 3, 4, 21, 22, 22, 21, 22, 3, 4, 3, 4, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 3, 4, 21, 22, 21, 22, 21, 22, 22, 4, 21, 22, 21, 22, 4, 3, 3, 4, 21, 21, 22, 22, 21, 0, 0, 7, 3, 8, 0, 3, 0, 7, 8, 3, 4, 4, 3, 4, 3, 4, 7, 8, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 7, 5, 6, 4, 5, 4, 3, 7, 8, 3, 6, 7, 4, 3, 0, 0, 19, 3, 20, 0, 19, 0, 3, 4, 19, 20, 20, 19, 20, 3, 4, 3, 4, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 3, 4, 19, 20, 19, 20, 19, 20, 20, 4, 19, 20, 19, 20, 4, 3, 3, 4, 19, 19, 20, 20, 19, 0, 0, 3, 2, 4, 4, 3, 0, 2, 0, 3, 4, 4, 3, 4, 2, 3, 2, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 4, 3, 2, 2, 3, 3, 3, 4, 4, 3, 0, 0, 2, 1, 3, 2, 1, 0, 2, 0, 1, 2, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 3, 1, 1, 2, 2, 1, 0, 0, 5, 1, 6, 0, 3, 0, 1, 2, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 4, 5, 4, 3, 0, 0, 4, 0, 5, 3, 2, 1, 0, 1, 2, 3, 3, 2, 3, 0, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 1, 2, 3, 2, 3, 2, 3, 3, 1, 2, 3, 2, 3, 1, 0, 0, 1, 2, 3, 4, 3, 2, 0, 0, 3, 0, 4, 2, 1, 0, 0, 0, 1, 2, 2, 1, 2, 0, 0, 3, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 0, 0, 3, 0, 1, 2, 3, 2, 1, 0, 0, 3, 3, 4, 4, 3, 0, 3, 0, 3, 4, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 3, 4, 4, 3, 0, 0, 3, 1, 4, 2, 1, 0, 3, 0, 1, 2, 2, 1, 2, 1, 2, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 2, 1, 3, 4, 1, 2, 3, 2, 1, 0, 0, 5, 1, 6, 4, 3, 2, 1, 2, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 4, 5, 4, 3, 0, 0, 3, 1, 4, 0, 2, 0, 1, 2, 2, 3, 3, 2, 3, 1, 2, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 2, 1, 3, 4, 2, 2, 3, 3, 2, 0, 0, 2, 0, 3, 2, 1, 1, 0, 1, 1, 2, 2, 1, 2, 0, 1, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 0, 2, 3, 1, 1, 2, 2, 1, 0, 0, 1, 0, 2, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0, 0, 14, 1, 15, 15, 14, 0, 1, 0, 14, 15, 15, 14, 15, 1, 2, 1, 2, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 1, 2, 14, 15, 14, 15, 14, 15, 15, 2, 14, 15, 14, 15, 2, 1, 1, 2, 14, 14, 15, 15, 14, 0, 0, 5, 1, 6, 4, 3, 0, 1, 0, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 4, 5, 4, 3, 0, 0, 3, 1, 4, 3, 2, 0, 1, 0, 2, 3, 3, 2, 3, 1, 2, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 2, 1, 3, 4, 2, 2, 3, 3, 2, 0, 0, 3, 1, 4, 3, 2, 2, 1, 2, 2, 3, 3, 2, 3, 1, 2, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 2, 1, 3, 4, 2, 2, 3, 3, 2, 0, 0, 4, 1, 5, 5, 4, 0, 1, 0, 4, 5, 5, 4, 5, 1, 2, 1, 2, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 1, 2, 4, 5, 4, 5, 4, 5, 5, 2, 4, 5, 4, 5, 2, 1, 1, 2, 4, 4, 5, 5, 4, 0, 0, 54, 1, 55, 55, 54, 0, 1, 0, 54, 55, 55, 54, 55, 1, 2, 1, 2, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 1, 2, 54, 55, 54, 55, 54, 55, 55, 2, 54, 55, 54, 55, 2, 1, 1, 2, 54, 54, 55, 55, 54, 0, 0, 53, 0, 54, 54, 53, 1, 0, 1, 53, 54, 54, 53, 54, 0, 1, 0, 1, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 0, 1, 53, 54, 53, 54, 53, 54, 54, 1, 53, 54, 53, 54, 1, 0, 0, 1, 53, 53, 54, 54, 53, 0, 0, 52, 0, 53, 53, 52, 0, 0, 0, 52, 53, 53, 52, 53, 0, 0, 0, 0, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 0, 0, 52, 53, 52, 53, 52, 53, 53, 0, 52, 53, 52, 53, 0, 0, 0, 0, 52, 52, 53, 53, 52, 0, 0, 52, 3, 53, 53, 52, 0, 3, 0, 52, 53, 53, 52, 53, 3, 4, 3, 4, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 3, 4, 52, 53, 52, 53, 52, 53, 53, 4, 52, 53, 52, 53, 4, 3, 3, 4, 52, 52, 53, 53, 52, 0, 0, 52, 2, 53, 53, 52, 0, 2, 0, 52, 53, 53, 52, 53, 2, 3, 2, 3, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 2, 3, 52, 53, 52, 53, 52, 53, 53, 3, 52, 53, 52, 53, 3, 2, 2, 3, 52, 52, 53, 53, 52, 0, 0, 52, 6, 53, 53, 52, 7, 6, 7, 52, 53, 53, 52, 53, 6, 7, 6, 7, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 6, 7, 52, 53, 52, 53, 52, 53, 53, 7, 52, 53, 52, 53, 7, 6, 6, 7, 52, 52, 53, 53, 52, 0, 0, 51, 5, 52, 52, 51, 6, 5, 6, 51, 52, 52, 51, 52, 5, 6, 5, 6, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 5, 6, 51, 52, 51, 52, 51, 52, 52, 6, 51, 52, 51, 52, 6, 5, 5, 6, 51, 51, 52, 52, 51, 0, 0, 50, 4, 51, 51, 50, 5, 4, 5, 50, 51, 51, 50, 51, 4, 5, 4, 5, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 50, 51, 4, 5, 50, 51, 50, 51, 50, 51, 51, 5, 50, 51, 50, 51, 5, 4, 4, 5, 50, 50, 51, 51, 50, 0, 0, 52, 7, 53, 53, 52, 0, 7, 0, 52, 53, 53, 52, 53, 7, 8, 7, 8, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 7, 8, 52, 53, 52, 53, 52, 53, 53, 8, 52, 53, 52, 53, 8, 7, 7, 8, 52, 52, 53, 53, 52, 0, 0, 52, 1, 53, 53, 52, 0, 1, 0, 52, 53, 53, 52, 53, 1, 2, 1, 2, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 1, 2, 52, 53, 52, 53, 52, 53, 53, 2, 52, 53, 52, 53, 2, 1, 1, 2, 52, 52, 53, 53, 52, 0, 0, 53, 7, 54, 54, 53, 8, 7, 8, 53, 54, 54, 53, 54, 7, 8, 7, 8, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 7, 8, 53, 54, 53, 54, 53, 54, 54, 8, 53, 54, 53, 54, 8, 7, 7, 8, 53, 53, 54, 54, 53, 0, 0, 54, 1, 55, 55, 54, 2, 1, 2, 54, 55, 55, 54, 55, 1, 2, 1, 2, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 1, 2, 54, 55, 54, 55, 54, 55, 55, 2, 54, 55, 54, 55, 2, 1, 1, 2, 54, 54, 55, 55, 54, 0, 0, 2, 1, 3, 3, 2, 0, 1, 0, 2, 3, 3, 2, 3, 1, 2, 1, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 3, 2, 1, 1, 2, 2, 2, 3, 3, 2, 0, 0, 3, 1, 4, 4, 3, 0, 1, 0, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 3, 4, 4, 3, 0, 0, 1, 1, 2, 2, 1, 0, 1, 0, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 0, 0, 11, 1, 12, 6, 5, 2, 1, 2, 5, 6, 6, 5, 6, 1, 2, 1, 2, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 1, 2, 5, 6, 5, 6, 5, 6, 6, 2, 9, 10, 8, 9, 2, 1, 1, 2, 5, 10, 11, 6, 5, 0, 0, 10, 0, 11, 5, 4, 1, 0, 1, 4, 5, 5, 4, 5, 0, 1, 0, 1, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 0, 1, 4, 5, 4, 5, 4, 5, 5, 1, 8, 9, 7, 8, 1, 0, 0, 1, 4, 9, 10, 5, 4, 0, 0, 9, 0, 10, 4, 3, 0, 0, 0, 3, 4, 4, 3, 4, 0, 0, 0, 0, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 0, 0, 3, 4, 3, 4, 3, 4, 4, 0, 7, 8, 6, 7, 0, 0, 0, 0, 3, 8, 9, 4, 3, 0, 0, 9, 3, 10, 4, 3, 0, 9, 0, 3, 4, 4, 3, 4, 3, 4, 9, 10, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 9, 7, 8, 6, 7, 4, 3, 9, 10, 3, 8, 9, 4, 3, 0, 0, 9, 2, 10, 4, 3, 0, 2, 0, 3, 4, 4, 3, 4, 2, 3, 9, 10, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 9, 7, 8, 6, 7, 3, 2, 9, 10, 3, 8, 9, 4, 3, 0, 0, 9, 6, 10, 7, 6, 7, 9, 10, 6, 7, 7, 6, 7, 6, 7, 9, 10, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 9, 7, 8, 6, 7, 7, 6, 9, 10, 6, 8, 9, 7, 6, 0, 0, 8, 5, 9, 6, 5, 6, 8, 9, 5, 6, 6, 5, 6, 5, 6, 8, 9, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 8, 6, 7, 5, 6, 6, 5, 8, 9, 5, 7, 8, 6, 5, 0, 0, 9, 7, 10, 8, 7, 0, 9, 0, 7, 8, 8, 7, 8, 7, 8, 9, 10, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 9, 7, 8, 7, 8, 8, 7, 9, 10, 7, 8, 9, 8, 7, 0, 0, 9, 1, 10, 4, 3, 0, 1, 0, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 7, 8, 6, 7, 2, 1, 1, 2, 3, 8, 9, 4, 3, 0, 0, 10, 7, 11, 8, 7, 8, 10, 11, 7, 8, 8, 7, 8, 7, 8, 10, 11, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 10, 8, 9, 7, 8, 8, 7, 10, 11, 7, 9, 10, 8, 7, 0, 0, 4, 1, 5, 0, 4, 0, 1, 2, 4, 5, 5, 4, 5, 1, 2, 1, 2, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 1, 2, 4, 5, 4, 5, 4, 5, 5, 2, 4, 5, 4, 5, 2, 1, 1, 2, 4, 4, 5, 5, 4, 0, 0, 38, 1, 39, 0, 38, 0, 1, 2, 38, 39, 39, 38, 39, 1, 2, 1, 2, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 1, 2, 38, 39, 38, 39, 38, 39, 39, 2, 38, 39, 38, 39, 2, 1, 1, 2, 38, 38, 39, 39, 38, 0, 0, 42, 1, 43, 0, 42, 0, 1, 2, 42, 43, 43, 42, 43, 1, 2, 1, 2, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 1, 2, 42, 43, 42, 43, 42, 43, 43, 2, 42, 43, 42, 43, 2, 1, 1, 2, 42, 42, 43, 43, 42, 0, 0, 27, 1, 28, 0, 27, 0, 1, 2, 27, 28, 28, 27, 28, 1, 2, 1, 2, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 1, 2, 27, 28, 27, 28, 27, 28, 28, 2, 27, 28, 27, 28, 2, 1, 1, 2, 27, 27, 28, 28, 27, 0, 0, 16, 1, 17, 0, 16, 0, 1, 2, 16, 17, 17, 16, 17, 1, 2, 1, 2, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 1, 2, 16, 17, 16, 17, 16, 17, 17, 2, 16, 17, 16, 17, 2, 1, 1, 2, 16, 16, 17, 17, 16, 0, 0, 54, 1, 55, 0, 54, 0, 1, 2, 54, 55, 55, 54, 55, 1, 2, 1, 2, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 1, 2, 54, 55, 54, 55, 54, 55, 55, 2, 54, 55, 54, 55, 2, 1, 1, 2, 54, 54, 55, 55, 54, 0, 0, 21, 1, 22, 0, 21, 0, 1, 2, 21, 22, 22, 21, 22, 1, 2, 1, 2, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 1, 2, 21, 22, 21, 22, 21, 22, 22, 2, 21, 22, 21, 22, 2, 1, 1, 2, 21, 21, 22, 22, 21, 0, 0, 2, 1, 3, 0, 2, 0, 1, 2, 2, 3, 3, 2, 3, 1, 2, 1, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 3, 2, 1, 1, 2, 2, 2, 3, 3, 2, 0, 0, 7, 1, 8, 0, 1, 0, 7, 8, 1, 2, 2, 1, 2, 1, 2, 7, 8, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 7, 5, 6, 4, 5, 2, 1, 7, 8, 1, 6, 7, 2, 1, 0, 0, 19, 1, 20, 0, 19, 0, 1, 2, 19, 20, 20, 19, 20, 1, 2, 1, 2, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 1, 2, 19, 20, 19, 20, 19, 20, 20, 2, 19, 20, 19, 20, 2, 1, 1, 2, 19, 19, 20, 20, 19, 0, 0, 3, 1, 4, 0, 3, 0, 1, 2, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 3, 4, 4, 3, 0, 0, 1, 1, 2, 0, 1, 0, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 0, 0, 10, 7, 11, 11, 10, 8, 7, 8, 10, 11, 11, 10, 11, 7, 8, 7, 8, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 7, 8, 10, 11, 10, 11, 10, 11, 11, 8, 10, 11, 10, 11, 8, 7, 7, 8, 10, 10, 11, 11, 10, 0, 0, 9, 6, 10, 10, 9, 7, 6, 7, 9, 10, 10, 9, 10, 6, 7, 6, 7, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 6, 7, 9, 10, 9, 10, 9, 10, 10, 7, 9, 10, 9, 10, 7, 6, 6, 7, 9, 9, 10, 10, 9, 0, 0, 8, 5, 9, 9, 8, 6, 5, 6, 8, 9, 9, 8, 9, 5, 6, 5, 6, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 5, 6, 8, 9, 8, 9, 8, 9, 9, 6, 8, 9, 8, 9, 6, 5, 5, 6, 8, 8, 9, 9, 8, 0, 0, 7, 4, 8, 8, 7, 5, 4, 5, 7, 8, 8, 7, 8, 4, 5, 4, 5, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 4, 5, 7, 8, 7, 8, 7, 8, 8, 5, 7, 8, 7, 8, 5, 4, 4, 5, 7, 7, 8, 8, 7, 0, 0, 13, 7, 14, 14, 13, 8, 7, 8, 13, 14, 14, 13, 14, 7, 8, 7, 8, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 7, 8, 13, 14, 13, 14, 13, 14, 14, 8, 13, 14, 13, 14, 8, 7, 7, 8, 13, 13, 14, 14, 13, 0, 0, 12, 6, 13, 13, 12, 7, 6, 7, 12, 13, 13, 12, 13, 6, 7, 6, 7, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 6, 7, 12, 13, 12, 13, 12, 13, 13, 7, 12, 13, 12, 13, 7, 6, 6, 7, 12, 12, 13, 13, 12, 0, 0, 11, 5, 12, 12, 11, 6, 5, 6, 11, 12, 12, 11, 12, 5, 6, 5, 6, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 5, 6, 11, 12, 11, 12, 11, 12, 12, 6, 11, 12, 11, 12, 6, 5, 5, 6, 11, 11, 12, 12, 11, 0, 0, 10, 4, 11, 11, 10, 5, 4, 5, 10, 11, 11, 10, 11, 4, 5, 4, 5, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 4, 5, 10, 11, 10, 11, 10, 11, 11, 5, 10, 11, 10, 11, 5, 4, 4, 5, 10, 10, 11, 11, 10, 0, 0, 14, 7, 15, 0, 14, 0, 7, 8, 14, 15, 15, 14, 15, 7, 8, 7, 8, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 7, 8, 14, 15, 14, 15, 14, 15, 15, 8, 14, 15, 14, 15, 8, 7, 7, 8, 14, 14, 15, 15, 14, 0, 0, 13, 6, 14, 14, 13, 7, 6, 7, 13, 14, 14, 13, 14, 6, 7, 6, 7, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 6, 7, 13, 14, 13, 14, 13, 14, 14, 7, 13, 14, 13, 14, 7, 6, 6, 7, 13, 13, 14, 14, 13, 0, 0, 12, 5, 13, 13, 12, 6, 5, 6, 12, 13, 13, 12, 13, 5, 6, 5, 6, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 5, 6, 12, 13, 12, 13, 12, 13, 13, 6, 12, 13, 12, 13, 6, 5, 5, 6, 12, 12, 13, 13, 12, 0, 0, 11, 4, 12, 12, 11, 5, 4, 5, 11, 12, 12, 11, 12, 4, 5, 4, 5, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 4, 5, 11, 12, 11, 12, 11, 12, 12, 5, 11, 12, 11, 12, 5, 4, 4, 5, 11, 11, 12, 12, 11, 0, 0, 14, 7, 15, 15, 14, 8, 7, 8, 14, 15, 15, 14, 15, 7, 8, 7, 8, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 7, 8, 14, 15, 14, 15, 14, 15, 15, 8, 14, 15, 14, 15, 8, 7, 7, 8, 14, 14, 15, 15, 14, 0, 0, 2, 0, 3, 0, 1, 0, 0, 1, 1, 2, 2, 1, 2, 0, 0, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 0, 0, 2, 3, 1, 1, 0, 2, 1, 0, 0, 5, 0, 6, 0, 3, 0, 0, 1, 3, 4, 4, 3, 4, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 0, 0, 0, 3, 4, 3, 4, 3, 4, 4, 0, 3, 4, 3, 4, 0, 0, 0, 1, 3, 4, 0, 4, 3, 0, 0, 4, 0, 5, 3, 2, 0, 0, 0, 2, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 2, 3, 2, 3, 0, 0, 0, 0, 2, 3, 4, 3, 2, 0, 0, 4, 3, 5, 4, 3, 0, 4, 0, 3, 4, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 4, 3, 4, 3, 4, 4, 3, 4, 5, 3, 3, 4, 4, 3, 0, 0, 4, 2, 5, 3, 2, 0, 4, 0, 2, 3, 3, 2, 3, 2, 3, 4, 5, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 3, 2, 4, 5, 2, 3, 4, 3, 2, 0, 0, 7, 4, 8, 5, 4, 0, 7, 0, 4, 5, 5, 4, 5, 4, 5, 7, 8, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 7, 5, 6, 4, 5, 5, 4, 7, 8, 4, 6, 7, 5, 4, 0, 0, 4, 1, 5, 3, 2, 0, 1, 0, 2, 3, 3, 2, 3, 1, 2, 4, 5, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 2, 1, 4, 5, 2, 3, 4, 3, 2, 0, 0, 5, 0, 6, 4, 3, 1, 0, 1, 3, 4, 4, 3, 4, 0, 1, 0, 1, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 0, 1, 3, 4, 3, 4, 3, 4, 4, 1, 3, 4, 3, 4, 1, 0, 0, 1, 3, 4, 5, 4, 3, 0, 0, 3, 0, 4, 0, 2, 0, 0, 1, 2, 3, 3, 2, 3, 0, 0, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 0, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 2, 3, 2, 3, 0, 0, 0, 1, 2, 2, 0, 3, 2, 0, 0, 2, 0, 3, 2, 1, 0, 0, 0, 1, 2, 2, 1, 2, 0, 0, 2, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 0, 0, 2, 0, 1, 1, 2, 2, 1, 0, 0, 3, 0, 4, 3, 2, 1, 0, 1, 2, 3, 3, 2, 3, 0, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 1, 2, 3, 2, 3, 2, 3, 3, 1, 2, 3, 2, 3, 1, 0, 0, 1, 2, 2, 3, 3, 2, 0, 0, 11, 0, 12, 6, 5, 1, 0, 1, 5, 6, 6, 5, 6, 0, 1, 0, 1, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 0, 1, 5, 6, 5, 6, 5, 6, 6, 1, 9, 10, 8, 9, 1, 0, 0, 1, 5, 10, 11, 6, 5, 0, 0, 10, 0, 11, 5, 4, 0, 0, 0, 4, 5, 5, 4, 5, 0, 0, 0, 0, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 0, 0, 4, 5, 4, 5, 4, 5, 5, 0, 8, 9, 7, 8, 0, 0, 0, 0, 4, 9, 10, 5, 4, 0, 0, 10, 3, 11, 5, 4, 0, 3, 0, 4, 5, 5, 4, 5, 3, 4, 10, 11, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 3, 4, 4, 5, 4, 5, 4, 5, 5, 10, 8, 9, 7, 8, 4, 3, 10, 11, 4, 9, 10, 5, 4, 0, 0, 10, 2, 11, 5, 4, 0, 2, 0, 4, 5, 5, 4, 5, 2, 3, 2, 3, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 2, 3, 4, 5, 4, 5, 4, 5, 5, 3, 8, 9, 7, 8, 3, 2, 2, 3, 4, 9, 10, 5, 4, 0, 0, 10, 6, 11, 7, 6, 7, 10, 11, 6, 7, 7, 6, 7, 6, 7, 10, 11, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 10, 8, 9, 7, 8, 7, 6, 10, 11, 6, 9, 10, 7, 6, 0, 0, 9, 5, 10, 6, 5, 6, 9, 10, 5, 6, 6, 5, 6, 5, 6, 9, 10, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 9, 7, 8, 6, 7, 6, 5, 9, 10, 5, 8, 9, 6, 5, 0, 0, 8, 4, 9, 5, 4, 5, 8, 9, 4, 5, 5, 4, 5, 4, 5, 8, 9, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 8, 6, 7, 5, 6, 5, 4, 8, 9, 4, 7, 8, 5, 4, 0, 0, 10, 7, 11, 8, 7, 0, 10, 0, 7, 8, 8, 7, 8, 7, 8, 10, 11, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 10, 8, 9, 7, 8, 8, 7, 10, 11, 7, 9, 10, 8, 7, 0, 0, 10, 1, 11, 5, 4, 0, 1, 0, 4, 5, 5, 4, 5, 1, 2, 1, 2, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 1, 2, 4, 5, 4, 5, 4, 5, 5, 2, 8, 9, 7, 8, 2, 1, 1, 2, 4, 9, 10, 5, 4, 0, 0, 11, 7, 12, 8, 7, 8, 11, 12, 7, 8, 8, 7, 8, 7, 8, 11, 12, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 11, 9, 10, 8, 9, 8, 7, 11, 12, 7, 10, 11, 8, 7, 0, 0, 4, 0, 5, 0, 4, 0, 0, 1, 4, 5, 5, 4, 5, 0, 0, 0, 1, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 0, 0, 0, 4, 5, 4, 5, 4, 5, 5, 0, 4, 5, 4, 5, 0, 0, 0, 1, 4, 4, 0, 5, 4, 0, 0, 38, 0, 39, 0, 38, 0, 0, 1, 38, 39, 39, 38, 39, 0, 0, 0, 1, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 0, 0, 0, 38, 39, 38, 39, 38, 39, 39, 0, 38, 39, 38, 39, 0, 0, 0, 1, 38, 38, 0, 39, 38, 0, 0, 38, 7, 39, 0, 38, 0, 7, 8, 38, 39, 39, 38, 39, 7, 8, 7, 8, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 7, 8, 38, 39, 38, 39, 38, 39, 39, 8, 38, 39, 38, 39, 8, 7, 7, 8, 38, 38, 39, 39, 38, 0, 0, 42, 0, 43, 0, 42, 0, 0, 1, 42, 43, 43, 42, 43, 0, 0, 0, 1, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 0, 0, 0, 42, 43, 42, 43, 42, 43, 43, 0, 42, 43, 42, 43, 0, 0, 0, 1, 42, 42, 0, 43, 42, 0, 0, 42, 7, 43, 0, 42, 0, 7, 8, 42, 43, 43, 42, 43, 7, 8, 7, 8, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 7, 8, 42, 43, 42, 43, 42, 43, 43, 8, 42, 43, 42, 43, 8, 7, 7, 8, 42, 42, 43, 43, 42, 0, 0, 27, 0, 28, 0, 27, 0, 0, 1, 27, 28, 28, 27, 28, 0, 0, 0, 1, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 0, 0, 0, 27, 28, 27, 28, 27, 28, 28, 0, 27, 28, 27, 28, 0, 0, 0, 1, 27, 27, 0, 28, 27, 0, 0, 27, 7, 28, 0, 27, 0, 7, 8, 27, 28, 28, 27, 28, 7, 8, 7, 8, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 7, 8, 27, 28, 27, 28, 27, 28, 28, 8, 27, 28, 27, 28, 8, 7, 7, 8, 27, 27, 28, 28, 27, 0, 0, 16, 0, 17, 0, 16, 0, 0, 1, 16, 17, 17, 16, 17, 0, 0, 0, 1, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 0, 0, 0, 16, 17, 16, 17, 16, 17, 17, 0, 16, 17, 16, 17, 0, 0, 0, 1, 16, 16, 0, 17, 16, 0, 0, 16, 7, 17, 0, 16, 0, 7, 8, 16, 17, 17, 16, 17, 7, 8, 7, 8, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 7, 8, 16, 17, 16, 17, 16, 17, 17, 8, 16, 17, 16, 17, 8, 7, 7, 8, 16, 16, 17, 17, 16, 0, 0, 54, 0, 55, 0, 54, 0, 0, 1, 54, 55, 55, 54, 55, 0, 0, 0, 1, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 0, 0, 0, 54, 55, 54, 55, 54, 55, 55, 0, 54, 55, 54, 55, 0, 0, 0, 1, 54, 54, 0, 55, 54, 0, 0, 53, 0, 54, 54, 53, 0, 0, 0, 53, 54, 54, 53, 54, 0, 0, 0, 0, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 0, 0, 53, 54, 53, 54, 53, 54, 54, 0, 53, 54, 53, 54, 0, 0, 0, 0, 53, 53, 54, 54, 53, 0, 0, 53, 3, 54, 54, 53, 0, 3, 0, 53, 54, 54, 53, 54, 3, 4, 3, 4, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 3, 4, 53, 54, 53, 54, 53, 54, 54, 4, 53, 54, 53, 54, 4, 3, 3, 4, 53, 53, 54, 54, 53, 0, 0, 53, 2, 54, 54, 53, 0, 2, 0, 53, 54, 54, 53, 54, 2, 3, 2, 3, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 2, 3, 53, 54, 53, 54, 53, 54, 54, 3, 53, 54, 53, 54, 3, 2, 2, 3, 53, 53, 54, 54, 53, 0, 0, 53, 6, 54, 54, 53, 7, 6, 7, 53, 54, 54, 53, 54, 6, 7, 6, 7, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 6, 7, 53, 54, 53, 54, 53, 54, 54, 7, 53, 54, 53, 54, 7, 6, 6, 7, 53, 53, 54, 54, 53, 0, 0, 52, 5, 53, 53, 52, 6, 5, 6, 52, 53, 53, 52, 53, 5, 6, 5, 6, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 52, 53, 5, 6, 52, 53, 52, 53, 52, 53, 53, 6, 52, 53, 52, 53, 6, 5, 5, 6, 52, 52, 53, 53, 52, 0, 0, 51, 4, 52, 52, 51, 5, 4, 5, 51, 52, 52, 51, 52, 4, 5, 4, 5, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 4, 5, 51, 52, 51, 52, 51, 52, 52, 5, 51, 52, 51, 52, 5, 4, 4, 5, 51, 51, 52, 52, 51, 0, 0, 53, 7, 54, 54, 53, 0, 7, 0, 53, 54, 54, 53, 54, 7, 8, 7, 8, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 7, 8, 53, 54, 53, 54, 53, 54, 54, 8, 53, 54, 53, 54, 8, 7, 7, 8, 53, 53, 54, 54, 53, 0, 0, 53, 1, 54, 54, 53, 0, 1, 0, 53, 54, 54, 53, 54, 1, 2, 1, 2, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 53, 54, 1, 2, 53, 54, 53, 54, 53, 54, 54, 2, 53, 54, 53, 54, 2, 1, 1, 2, 53, 53, 54, 54, 53, 0, 0, 54, 7, 55, 0, 54, 0, 7, 8, 54, 55, 55, 54, 55, 7, 8, 7, 8, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 7, 8, 54, 55, 54, 55, 54, 55, 55, 8, 54, 55, 54, 55, 8, 7, 7, 8, 54, 54, 55, 55, 54, 0, 0, 54, 7, 55, 55, 54, 8, 7, 8, 54, 55, 55, 54, 55, 7, 8, 7, 8, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 7, 8, 54, 55, 54, 55, 54, 55, 55, 8, 54, 55, 54, 55, 8, 7, 7, 8, 54, 54, 55, 55, 54, 0, 0, 54, 0, 55, 55, 54, 1, 0, 1, 54, 55, 55, 54, 55, 0, 1, 0, 1, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 0, 1, 54, 55, 54, 55, 54, 55, 55, 1, 54, 55, 54, 55, 1, 0, 0, 1, 54, 54, 55, 55, 54, 0, 0, 21, 0, 22, 0, 21, 0, 0, 1, 21, 22, 22, 21, 22, 0, 0, 0, 1, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 0, 0, 0, 21, 22, 21, 22, 21, 22, 22, 0, 21, 22, 21, 22, 0, 0, 0, 1, 21, 21, 0, 22, 21, 0, 0, 21, 7, 22, 0, 21, 0, 7, 8, 21, 22, 22, 21, 22, 7, 8, 7, 8, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 7, 8, 21, 22, 21, 22, 21, 22, 22, 8, 21, 22, 21, 22, 8, 7, 7, 8, 21, 21, 22, 22, 21, 0, 0, 2, 0, 3, 0, 2, 0, 0, 1, 2, 3, 3, 2, 3, 0, 0, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 0, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 2, 3, 2, 3, 0, 0, 0, 1, 2, 2, 0, 3, 2, 0, 0, 7, 0, 8, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 7, 5, 6, 4, 5, 0, 0, 7, 8, 0, 6, 7, 0, 0, 0, 0, 6, 0, 7, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 4, 5, 3, 4, 0, 0, 6, 7, 0, 5, 6, 0, 0, 0, 0, 14, 6, 15, 0, 14, 0, 6, 7, 14, 15, 15, 14, 15, 6, 7, 6, 7, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 6, 7, 14, 15, 14, 15, 14, 15, 15, 7, 14, 15, 14, 15, 7, 6, 6, 7, 14, 14, 15, 15, 14, 0, 0, 6, 2, 7, 0, 2, 0, 6, 7, 2, 3, 3, 2, 3, 2, 3, 6, 7, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 6, 4, 5, 3, 4, 3, 2, 6, 7, 2, 5, 6, 3, 2, 0, 0, 6, 3, 7, 0, 3, 0, 6, 7, 3, 4, 4, 3, 4, 3, 4, 6, 7, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 6, 4, 5, 3, 4, 4, 3, 6, 7, 3, 5, 6, 4, 3, 0, 0, 6, 4, 7, 0, 4, 0, 6, 7, 4, 5, 5, 4, 5, 4, 5, 6, 7, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 6, 4, 5, 4, 5, 5, 4, 6, 7, 4, 5, 6, 5, 4, 0, 0, 38, 6, 39, 0, 38, 0, 6, 7, 38, 39, 39, 38, 39, 6, 7, 6, 7, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 6, 7, 38, 39, 38, 39, 38, 39, 39, 7, 38, 39, 38, 39, 7, 6, 6, 7, 38, 38, 39, 39, 38, 0, 0, 42, 6, 43, 0, 42, 0, 6, 7, 42, 43, 43, 42, 43, 6, 7, 6, 7, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 6, 7, 42, 43, 42, 43, 42, 43, 43, 7, 42, 43, 42, 43, 7, 6, 6, 7, 42, 42, 43, 43, 42, 0, 0, 27, 6, 28, 0, 27, 0, 6, 7, 27, 28, 28, 27, 28, 6, 7, 6, 7, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 6, 7, 27, 28, 27, 28, 27, 28, 28, 7, 27, 28, 27, 28, 7, 6, 6, 7, 27, 27, 28, 28, 27, 0, 0, 16, 6, 17, 0, 16, 0, 6, 7, 16, 17, 17, 16, 17, 6, 7, 6, 7, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 6, 7, 16, 17, 16, 17, 16, 17, 17, 7, 16, 17, 16, 17, 7, 6, 6, 7, 16, 16, 17, 17, 16, 0, 0, 54, 6, 55, 0, 54, 0, 6, 7, 54, 55, 55, 54, 55, 6, 7, 6, 7, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 6, 7, 54, 55, 54, 55, 54, 55, 55, 7, 54, 55, 54, 55, 7, 6, 6, 7, 54, 54, 55, 55, 54, 0, 0, 21, 6, 22, 0, 21, 0, 6, 7, 21, 22, 22, 21, 22, 6, 7, 6, 7, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 6, 7, 21, 22, 21, 22, 21, 22, 22, 7, 21, 22, 21, 22, 7, 6, 6, 7, 21, 21, 22, 22, 21, 0, 0, 7, 6, 8, 0, 6, 0, 7, 8, 6, 7, 7, 6, 7, 6, 7, 7, 8, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 7, 6, 7, 6, 7, 7, 6, 7, 8, 6, 6, 7, 7, 6, 0, 0, 19, 6, 20, 0, 19, 0, 6, 7, 19, 20, 20, 19, 20, 6, 7, 6, 7, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 6, 7, 19, 20, 19, 20, 19, 20, 20, 7, 19, 20, 19, 20, 7, 6, 6, 7, 19, 19, 20, 20, 19, 0, 0, 6, 1, 7, 0, 1, 0, 6, 7, 1, 2, 2, 1, 2, 1, 2, 6, 7, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 6, 4, 5, 3, 4, 2, 1, 6, 7, 1, 5, 6, 2, 1, 0, 0, 7, 7, 8, 0, 7, 0, 7, 8, 7, 8, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 8, 7, 8, 7, 8, 8, 7, 7, 8, 7, 7, 8, 8, 7, 0, 0, 19, 7, 20, 0, 19, 0, 7, 8, 19, 20, 20, 19, 20, 7, 8, 7, 8, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 7, 8, 19, 20, 19, 20, 19, 20, 20, 8, 19, 20, 19, 20, 8, 7, 7, 8, 19, 19, 20, 20, 19, 0, 0, 7, 0, 8, 1, 0, 1, 7, 8, 0, 1, 1, 0, 1, 0, 1, 7, 8, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 7, 5, 6, 4, 5, 1, 0, 7, 8, 0, 6, 7, 1, 0, 0, 0, 19, 0, 20, 0, 19, 0, 0, 1, 19, 20, 20, 19, 20, 0, 0, 0, 1, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 0, 0, 0, 19, 20, 19, 20, 19, 20, 20, 0, 19, 20, 19, 20, 0, 0, 0, 1, 19, 19, 0, 20, 19, 0, 0, 3, 0, 4, 0, 3, 0, 0, 1, 3, 4, 4, 3, 4, 0, 0, 0, 1, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 0, 0, 0, 3, 4, 3, 4, 3, 4, 4, 0, 3, 4, 3, 4, 0, 0, 0, 1, 3, 3, 0, 4, 3, 0, 0, 1, 0, 2, 0, 1, 0, 0, 1, 1, 2, 2, 1, 2, 0, 0, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 1, 1, 0, 2, 1, 0, 0, 5, 5, 6, 0, 5, 0, 5, 6, 5, 6, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 5, 6, 5, 6, 6, 5, 5, 6, 5, 5, 6, 6, 5, 0, 0, 8, 7, 9, 9, 8, 8, 7, 8, 8, 9, 9, 8, 9, 7, 8, 7, 8, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 7, 8, 8, 9, 8, 9, 8, 9, 9, 8, 8, 9, 8, 9, 8, 7, 7, 8, 8, 8, 9, 9, 8, 0, 0, 7, 6, 8, 8, 7, 7, 6, 7, 7, 8, 8, 7, 8, 6, 7, 6, 7, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 6, 7, 7, 8, 7, 8, 7, 8, 8, 7, 7, 8, 7, 8, 7, 6, 6, 7, 7, 7, 8, 8, 7, 0, 0, 6, 5, 7, 7, 6, 6, 5, 6, 6, 7, 7, 6, 7, 5, 6, 5, 6, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 5, 6, 6, 7, 6, 7, 6, 7, 7, 6, 6, 7, 6, 7, 6, 5, 5, 6, 6, 6, 7, 7, 6, 0, 0, 5, 4, 6, 6, 5, 5, 4, 5, 5, 6, 6, 5, 6, 4, 5, 4, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 4, 5, 5, 6, 5, 6, 5, 6, 6, 5, 5, 6, 5, 6, 5, 4, 4, 5, 5, 5, 6, 6, 5, 0, 0, 11, 7, 12, 12, 11, 8, 7, 8, 11, 12, 12, 11, 12, 7, 8, 7, 8, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 7, 8, 11, 12, 11, 12, 11, 12, 12, 8, 11, 12, 11, 12, 8, 7, 7, 8, 11, 11, 12, 12, 11, 0, 0, 10, 6, 11, 11, 10, 7, 6, 7, 10, 11, 11, 10, 11, 6, 7, 6, 7, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 6, 7, 10, 11, 10, 11, 10, 11, 11, 7, 10, 11, 10, 11, 7, 6, 6, 7, 10, 10, 11, 11, 10, 0, 0, 9, 5, 10, 10, 9, 6, 5, 6, 9, 10, 10, 9, 10, 5, 6, 5, 6, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 5, 6, 9, 10, 9, 10, 9, 10, 10, 6, 9, 10, 9, 10, 6, 5, 5, 6, 9, 9, 10, 10, 9, 0, 0, 8, 4, 9, 9, 8, 5, 4, 5, 8, 9, 9, 8, 9, 4, 5, 4, 5, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 4, 5, 8, 9, 8, 9, 8, 9, 9, 5, 8, 9, 8, 9, 5, 4, 4, 5, 8, 8, 9, 9, 8, 0, 0, 9, 7, 10, 10, 9, 8, 7, 8, 9, 10, 10, 9, 10, 7, 8, 7, 8, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 7, 8, 9, 10, 9, 10, 9, 10, 10, 8, 9, 10, 9, 10, 8, 7, 7, 8, 9, 9, 10, 10, 9, 0, 0, 8, 6, 9, 9, 8, 7, 6, 7, 8, 9, 9, 8, 9, 6, 7, 6, 7, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 6, 7, 8, 9, 8, 9, 8, 9, 9, 7, 8, 9, 8, 9, 7, 6, 6, 7, 8, 8, 9, 9, 8, 0, 0, 7, 5, 8, 8, 7, 6, 5, 6, 7, 8, 8, 7, 8, 5, 6, 5, 6, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 5, 6, 7, 8, 7, 8, 7, 8, 8, 6, 7, 8, 7, 8, 6, 5, 5, 6, 7, 7, 8, 8, 7, 0, 0, 6, 4, 7, 7, 6, 5, 4, 5, 6, 7, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 4, 5, 6, 7, 6, 7, 6, 7, 7, 5, 6, 7, 6, 7, 5, 4, 4, 5, 6, 6, 7, 7, 6, 0, 0, 12, 7, 13, 13, 12, 8, 7, 8, 12, 13, 13, 12, 13, 7, 8, 7, 8, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 7, 8, 12, 13, 12, 13, 12, 13, 13, 8, 12, 13, 12, 13, 8, 7, 7, 8, 12, 12, 13, 13, 12, 0, 0, 11, 6, 12, 12, 11, 7, 6, 7, 11, 12, 12, 11, 12, 6, 7, 6, 7, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 6, 7, 11, 12, 11, 12, 11, 12, 12, 7, 11, 12, 11, 12, 7, 6, 6, 7, 11, 11, 12, 12, 11, 0, 0, 10, 5, 11, 11, 10, 6, 5, 6, 10, 11, 11, 10, 11, 5, 6, 5, 6, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 5, 6, 10, 11, 10, 11, 10, 11, 11, 6, 10, 11, 10, 11, 6, 5, 5, 6, 10, 10, 11, 11, 10, 0, 0, 9, 4, 10, 10, 9, 5, 4, 5, 9, 10, 10, 9, 10, 4, 5, 4, 5, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 4, 5, 9, 10, 9, 10, 9, 10, 10, 5, 9, 10, 9, 10, 5, 4, 4, 5, 9, 9, 10, 10, 9, 0, 0, 14, 3, 15, 15, 14, 0, 3, 0, 14, 15, 15, 14, 15, 3, 4, 3, 4, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 3, 4, 14, 15, 14, 15, 14, 15, 15, 4, 14, 15, 14, 15, 4, 3, 3, 4, 14, 14, 15, 15, 14, 0, 0, 14, 7, 15, 15, 14, 0, 7, 0, 14, 15, 15, 14, 15, 7, 8, 7, 8, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 7, 8, 14, 15, 14, 15, 14, 15, 15, 8, 14, 15, 14, 15, 8, 7, 7, 8, 14, 14, 15, 15, 14, 0, 0, 3, 0, 4, 1, 0, 0, 3, 0, 0, 1, 1, 0, 1, 0, 0, 3, 4, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 3, 1, 2, 0, 1, 0, 0, 3, 4, 0, 2, 3, 1, 0, 0, 0, 5, 3, 6, 4, 3, 0, 5, 0, 3, 4, 4, 3, 4, 3, 4, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 4, 3, 5, 6, 3, 4, 5, 4, 3, 0, 0, 4, 3, 5, 5, 4, 0, 3, 0, 4, 5, 5, 4, 5, 3, 4, 3, 4, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 3, 4, 4, 5, 4, 5, 4, 5, 5, 4, 4, 5, 4, 5, 4, 3, 3, 4, 4, 4, 5, 5, 4, 0, 0, 54, 3, 55, 55, 54, 0, 3, 0, 54, 55, 55, 54, 55, 3, 4, 3, 4, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 3, 4, 54, 55, 54, 55, 54, 55, 55, 4, 54, 55, 54, 55, 4, 3, 3, 4, 54, 54, 55, 55, 54, 0, 0, 5, 0, 6, 4, 3, 0, 0, 0, 3, 4, 4, 3, 4, 0, 0, 0, 0, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 0, 0, 3, 4, 3, 4, 3, 4, 4, 0, 3, 4, 3, 4, 0, 0, 0, 0, 3, 4, 5, 4, 3, 0, 0, 7, 5, 8, 6, 5, 0, 7, 0, 5, 6, 6, 5, 6, 5, 6, 7, 8, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 7, 5, 6, 5, 6, 6, 5, 7, 8, 5, 6, 7, 6, 5, 0, 0, 3, 0, 4, 3, 2, 0, 0, 0, 2, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 2, 3, 2, 3, 0, 0, 0, 0, 2, 2, 3, 3, 2, 0, 0, 54, 0, 55, 55, 54, 0, 0, 0, 54, 55, 55, 54, 55, 0, 0, 0, 0, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 0, 0, 54, 55, 54, 55, 54, 55, 55, 0, 54, 55, 54, 55, 0, 0, 0, 0, 54, 54, 55, 55, 54, 0, 0, 54, 7, 55, 55, 54, 0, 7, 0, 54, 55, 55, 54, 55, 7, 8, 7, 8, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 7, 8, 54, 55, 54, 55, 54, 55, 55, 8, 54, 55, 54, 55, 8, 7, 7, 8, 54, 54, 55, 55, 54, 0, 0, 7, 0, 8, 1, 0, 0, 7, 0, 0, 1, 1, 0, 1, 0, 0, 7, 8, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 2, 7, 5, 6, 4, 5, 0, 0, 7, 8, 0, 6, 7, 1, 0, 0, 0, 5, 5, 6, 6, 5, 0, 5, 0, 5, 6, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 5, 6, 5, 6, 6, 5, 5, 6, 5, 5, 6, 6, 5, 0, 0, 5, 3, 6, 6, 5, 0, 3, 0, 5, 6, 6, 5, 6, 3, 4, 3, 4, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 3, 4, 5, 6, 5, 6, 5, 6, 6, 4, 5, 6, 5, 6, 4, 3, 3, 4, 5, 5, 6, 6, 5, 0, 0, 5, 2, 6, 6, 5, 0, 2, 0, 5, 6, 6, 5, 6, 2, 3, 2, 3, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 2, 3, 5, 6, 5, 6, 5, 6, 6, 3, 5, 6, 5, 6, 3, 2, 2, 3, 5, 5, 6, 6, 5, 0, 0, 5, 1, 6, 6, 5, 0, 1, 0, 5, 6, 6, 5, 6, 1, 2, 1, 2, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 1, 2, 5, 6, 5, 6, 5, 6, 6, 2, 5, 6, 5, 6, 2, 1, 1, 2, 5, 5, 6, 6, 5, 0, 0, 6, 3, 7, 7, 6, 0, 3, 0, 6, 7, 7, 6, 7, 3, 4, 3, 4, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 3, 4, 6, 7, 6, 7, 6, 7, 7, 4, 6, 7, 6, 7, 4, 3, 3, 4, 6, 6, 7, 7, 6, 0, 0, 6, 2, 7, 7, 6, 0, 2, 0, 6, 7, 7, 6, 7, 2, 3, 2, 3, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 2, 3, 6, 7, 6, 7, 6, 7, 7, 3, 6, 7, 6, 7, 3, 2, 2, 3, 6, 6, 7, 7, 6, 0, 0, 6, 1, 7, 7, 6, 0, 1, 0, 6, 7, 7, 6, 7, 1, 2, 1, 2, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 1, 2, 6, 7, 6, 7, 6, 7, 7, 2, 6, 7, 6, 7, 2, 1, 1, 2, 6, 6, 7, 7, 6, 0, 0, 7, 3, 8, 8, 7, 0, 3, 0, 7, 8, 8, 7, 8, 3, 4, 3, 4, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 3, 4, 7, 8, 7, 8, 7, 8, 8, 4, 7, 8, 7, 8, 4, 3, 3, 4, 7, 7, 8, 8, 7, 0, 0, 7, 2, 8, 8, 7, 0, 2, 0, 7, 8, 8, 7, 8, 2, 3, 2, 3, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 2, 3, 7, 8, 7, 8, 7, 8, 8, 3, 7, 8, 7, 8, 3, 2, 2, 3, 7, 7, 8, 8, 7, 0, 0, 7, 1, 8, 8, 7, 0, 1, 0, 7, 8, 8, 7, 8, 1, 2, 1, 2, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 1, 2, 7, 8, 7, 8, 7, 8, 8, 2, 7, 8, 7, 8, 2, 1, 1, 2, 7, 7, 8, 8, 7, 0, 0, 8, 3, 9, 9, 8, 0, 3, 0, 8, 9, 9, 8, 9, 3, 4, 3, 4, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 3, 4, 8, 9, 8, 9, 8, 9, 9, 4, 8, 9, 8, 9, 4, 3, 3, 4, 8, 8, 9, 9, 8, 0, 0, 8, 2, 9, 9, 8, 0, 2, 0, 8, 9, 9, 8, 9, 2, 3, 2, 3, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 2, 3, 8, 9, 8, 9, 8, 9, 9, 3, 8, 9, 8, 9, 3, 2, 2, 3, 8, 8, 9, 9, 8, 0, 0, 8, 7, 9, 9, 8, 0, 7, 0, 8, 9, 9, 8, 9, 7, 8, 7, 8, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 7, 8, 8, 9, 8, 9, 8, 9, 9, 8, 8, 9, 8, 9, 8, 7, 7, 8, 8, 8, 9, 9, 8, 0, 0, 8, 1, 9, 9, 8, 0, 1, 0, 8, 9, 9, 8, 9, 1, 2, 1, 2, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 1, 2, 8, 9, 8, 9, 8, 9, 9, 2, 8, 9, 8, 9, 2, 1, 1, 2, 8, 8, 9, 9, 8, 0, 0, 9, 3, 10, 10, 9, 0, 3, 0, 9, 10, 10, 9, 10, 3, 4, 3, 4, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 3, 4, 9, 10, 9, 10, 9, 10, 10, 4, 9, 10, 9, 10, 4, 3, 3, 4, 9, 9, 10, 10, 9, 0, 0, 9, 2, 10, 10, 9, 0, 2, 0, 9, 10, 10, 9, 10, 2, 3, 2, 3, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 2, 3, 9, 10, 9, 10, 9, 10, 10, 3, 9, 10, 9, 10, 3, 2, 2, 3, 9, 9, 10, 10, 9, 0, 0, 9, 7, 10, 10, 9, 0, 7, 0, 9, 10, 10, 9, 10, 7, 8, 7, 8, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 7, 8, 9, 10, 9, 10, 9, 10, 10, 8, 9, 10, 9, 10, 8, 7, 7, 8, 9, 9, 10, 10, 9, 0, 0, 9, 1, 10, 10, 9, 0, 1, 0, 9, 10, 10, 9, 10, 1, 2, 1, 2, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 9, 10, 1, 2, 9, 10, 9, 10, 9, 10, 10, 2, 9, 10, 9, 10, 2, 1, 1, 2, 9, 9, 10, 10, 9, 0, 0, 10, 3, 11, 11, 10, 0, 3, 0, 10, 11, 11, 10, 11, 3, 4, 3, 4, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 3, 4, 10, 11, 10, 11, 10, 11, 11, 4, 10, 11, 10, 11, 4, 3, 3, 4, 10, 10, 11, 11, 10, 0, 0, 10, 2, 11, 11, 10, 0, 2, 0, 10, 11, 11, 10, 11, 2, 3, 2, 3, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 2, 3, 10, 11, 10, 11, 10, 11, 11, 3, 10, 11, 10, 11, 3, 2, 2, 3, 10, 10, 11, 11, 10, 0, 0, 10, 7, 11, 11, 10, 0, 7, 0, 10, 11, 11, 10, 11, 7, 8, 7, 8, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 7, 8, 10, 11, 10, 11, 10, 11, 11, 8, 10, 11, 10, 11, 8, 7, 7, 8, 10, 10, 11, 11, 10, 0, 0, 10, 1, 11, 11, 10, 0, 1, 0, 10, 11, 11, 10, 11, 1, 2, 1, 2, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 1, 2, 10, 11, 10, 11, 10, 11, 11, 2, 10, 11, 10, 11, 2, 1, 1, 2, 10, 10, 11, 11, 10, 0, 0, 11, 3, 12, 12, 11, 0, 3, 0, 11, 12, 12, 11, 12, 3, 4, 3, 4, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 3, 4, 11, 12, 11, 12, 11, 12, 12, 4, 11, 12, 11, 12, 4, 3, 3, 4, 11, 11, 12, 12, 11, 0, 0, 11, 2, 12, 12, 11, 0, 2, 0, 11, 12, 12, 11, 12, 2, 3, 2, 3, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 2, 3, 11, 12, 11, 12, 11, 12, 12, 3, 11, 12, 11, 12, 3, 2, 2, 3, 11, 11, 12, 12, 11, 0, 0, 11, 7, 12, 12, 11, 0, 7, 0, 11, 12, 12, 11, 12, 7, 8, 7, 8, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 7, 8, 11, 12, 11, 12, 11, 12, 12, 8, 11, 12, 11, 12, 8, 7, 7, 8, 11, 11, 12, 12, 11, 0, 0, 11, 1, 12, 12, 11, 0, 1, 0, 11, 12, 12, 11, 12, 1, 2, 1, 2, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 1, 2, 11, 12, 11, 12, 11, 12, 12, 2, 11, 12, 11, 12, 2, 1, 1, 2, 11, 11, 12, 12, 11, 0, 0, 12, 3, 13, 13, 12, 0, 3, 0, 12, 13, 13, 12, 13, 3, 4, 3, 4, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 3, 4, 12, 13, 12, 13, 12, 13, 13, 4, 12, 13, 12, 13, 4, 3, 3, 4, 12, 12, 13, 13, 12, 0, 0, 12, 2, 13, 13, 12, 0, 2, 0, 12, 13, 13, 12, 13, 2, 3, 2, 3, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 2, 3, 12, 13, 12, 13, 12, 13, 13, 3, 12, 13, 12, 13, 3, 2, 2, 3, 12, 12, 13, 13, 12, 0, 0, 12, 7, 13, 13, 12, 0, 7, 0, 12, 13, 13, 12, 13, 7, 8, 7, 8, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 7, 8, 12, 13, 12, 13, 12, 13, 13, 8, 12, 13, 12, 13, 8, 7, 7, 8, 12, 12, 13, 13, 12, 0, 0, 12, 1, 13, 13, 12, 0, 1, 0, 12, 13, 13, 12, 13, 1, 2, 1, 2, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 12, 13, 1, 2, 12, 13, 12, 13, 12, 13, 13, 2, 12, 13, 12, 13, 2, 1, 1, 2, 12, 12, 13, 13, 12, 0, 0, 13, 3, 14, 14, 13, 0, 3, 0, 13, 14, 14, 13, 14, 3, 4, 3, 4, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 3, 4, 13, 14, 13, 14, 13, 14, 14, 4, 13, 14, 13, 14, 4, 3, 3, 4, 13, 13, 14, 14, 13, 0, 0, 13, 2, 14, 14, 13, 0, 2, 0, 13, 14, 14, 13, 14, 2, 3, 2, 3, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 2, 3, 13, 14, 13, 14, 13, 14, 14, 3, 13, 14, 13, 14, 3, 2, 2, 3, 13, 13, 14, 14, 13, 0, 0, 13, 7, 14, 14, 13, 0, 7, 0, 13, 14, 14, 13, 14, 7, 8, 7, 8, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 7, 8, 13, 14, 13, 14, 13, 14, 14, 8, 13, 14, 13, 14, 8, 7, 7, 8, 13, 13, 14, 14, 13, 0, 0, 13, 1, 14, 14, 13, 0, 1, 0, 13, 14, 14, 13, 14, 1, 2, 1, 2, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 1, 2, 13, 14, 13, 14, 13, 14, 14, 2, 13, 14, 13, 14, 2, 1, 1, 2, 13, 13, 14, 14, 13, 0, 0, 14, 3, 15, 0, 14, 0, 3, 0, 14, 15, 15, 14, 15, 3, 4, 3, 4, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 3, 4, 14, 15, 14, 15, 14, 15, 15, 4, 14, 15, 14, 15, 4, 3, 3, 4, 14, 14, 15, 15, 14, 0, 0, 14, 2, 15, 0, 14, 0, 2, 0, 14, 15, 15, 14, 15, 2, 3, 2, 3, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 2, 3, 14, 15, 14, 15, 14, 15, 15, 3, 14, 15, 14, 15, 3, 2, 2, 3, 14, 14, 15, 15, 14, 0, 0, 14, 7, 15, 0, 14, 0, 7, 0, 14, 15, 15, 14, 15, 7, 8, 7, 8, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 7, 8, 14, 15, 14, 15, 14, 15, 15, 8, 14, 15, 14, 15, 8, 7, 7, 8, 14, 14, 15, 15, 14, 0, 0, 14, 1, 15, 0, 14, 0, 1, 0, 14, 15, 15, 14, 15, 1, 2, 1, 2, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 1, 2, 14, 15, 14, 15, 14, 15, 15, 2, 14, 15, 14, 15, 2, 1, 1, 2, 14, 14, 15, 15, 14, 0, 0, 2, 0, 3, 0, 1, 0, 0, 0, 1, 2, 2, 1, 2, 0, 0, 2, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 0, 0, 2, 0, 1, 1, 0, 2, 1, 0, 0, 3, 2, 4, 0, 2, 0, 3, 0, 2, 3, 3, 2, 3, 2, 3, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 3, 4, 2, 2, 3, 3, 2, 0, 0, 2, 2, 3, 0, 2, 0, 2, 0, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 2, 3, 3, 2, 0, 0, 7, 2, 8, 0, 2, 0, 7, 0, 2, 3, 3, 2, 3, 2, 3, 7, 8, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 7, 5, 6, 4, 5, 3, 2, 7, 8, 2, 6, 7, 3, 2, 0, 0, 2, 1, 3, 0, 1, 0, 2, 0, 1, 2, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 3, 1, 1, 2, 2, 1, 0, 0, 3, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 1, 0, 0, 3, 4, 0, 2, 3, 0, 0, 0, 0, 3, 3, 4, 0, 3, 0, 3, 0, 3, 4, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 3, 4, 4, 3, 0, 0, 5, 3, 6, 0, 3, 0, 5, 0, 3, 4, 4, 3, 4, 3, 4, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 4, 3, 5, 6, 3, 4, 5, 4, 3, 0, 0, 11, 3, 12, 6, 5, 0, 3, 0, 5, 6, 6, 5, 6, 3, 4, 3, 4, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 3, 4, 5, 6, 5, 6, 5, 6, 6, 4, 9, 10, 8, 9, 4, 3, 3, 4, 5, 10, 11, 6, 5, 0, 0, 4, 3, 5, 0, 4, 0, 3, 0, 4, 5, 5, 4, 5, 3, 4, 3, 4, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 3, 4, 4, 5, 4, 5, 4, 5, 5, 4, 4, 5, 4, 5, 4, 3, 3, 4, 4, 4, 5, 5, 4, 0, 0, 38, 3, 39, 0, 38, 0, 3, 0, 38, 39, 39, 38, 39, 3, 4, 3, 4, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 3, 4, 38, 39, 38, 39, 38, 39, 39, 4, 38, 39, 38, 39, 4, 3, 3, 4, 38, 38, 39, 39, 38, 0, 0, 42, 3, 43, 0, 42, 0, 3, 0, 42, 43, 43, 42, 43, 3, 4, 3, 4, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 3, 4, 42, 43, 42, 43, 42, 43, 43, 4, 42, 43, 42, 43, 4, 3, 3, 4, 42, 42, 43, 43, 42, 0, 0, 27, 3, 28, 0, 27, 0, 3, 0, 27, 28, 28, 27, 28, 3, 4, 3, 4, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 3, 4, 27, 28, 27, 28, 27, 28, 28, 4, 27, 28, 27, 28, 4, 3, 3, 4, 27, 27, 28, 28, 27, 0, 0, 16, 3, 17, 0, 16, 0, 3, 0, 16, 17, 17, 16, 17, 3, 4, 3, 4, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 3, 4, 16, 17, 16, 17, 16, 17, 17, 4, 16, 17, 16, 17, 4, 3, 3, 4, 16, 16, 17, 17, 16, 0, 0, 54, 3, 55, 0, 54, 0, 3, 0, 54, 55, 55, 54, 55, 3, 4, 3, 4, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 3, 4, 54, 55, 54, 55, 54, 55, 55, 4, 54, 55, 54, 55, 4, 3, 3, 4, 54, 54, 55, 55, 54, 0, 0, 21, 3, 22, 0, 21, 0, 3, 0, 21, 22, 22, 21, 22, 3, 4, 3, 4, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 3, 4, 21, 22, 21, 22, 21, 22, 22, 4, 21, 22, 21, 22, 4, 3, 3, 4, 21, 21, 22, 22, 21, 0, 0, 7, 3, 8, 0, 3, 0, 7, 0, 3, 4, 4, 3, 4, 3, 4, 7, 8, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 4, 7, 5, 6, 4, 5, 4, 3, 7, 8, 3, 6, 7, 4, 3, 0, 0, 19, 3, 20, 0, 19, 0, 3, 0, 19, 20, 20, 19, 20, 3, 4, 3, 4, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 3, 4, 19, 20, 19, 20, 19, 20, 20, 4, 19, 20, 19, 20, 4, 3, 3, 4, 19, 19, 20, 20, 19, 0, 0, 3, 1, 4, 0, 1, 0, 3, 0, 1, 2, 2, 1, 2, 1, 2, 3, 4, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 1, 2, 1, 2, 2, 1, 3, 4, 1, 2, 3, 2, 1, 0, 0, 5, 0, 6, 0, 3, 0, 0, 0, 3, 4, 4, 3, 4, 0, 0, 0, 0, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 0, 0, 0, 3, 4, 3, 4, 3, 4, 4, 0, 3, 4, 3, 4, 0, 0, 0, 0, 3, 4, 0, 4, 3, 0, 0, 5, 2, 6, 0, 3, 0, 2, 0, 3, 4, 4, 3, 4, 2, 3, 5, 6, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 3, 4, 3, 2, 5, 6, 3, 4, 5, 4, 3, 0, 0, 6, 5, 7, 0, 5, 0, 6, 7, 5, 6, 6, 5, 6, 5, 6, 6, 7, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 5, 6, 5, 6, 6, 5, 6, 7, 5, 5, 6, 6, 5, 0, 0, 7, 5, 8, 0, 5, 0, 7, 0, 5, 6, 6, 5, 6, 5, 6, 7, 8, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 7, 5, 6, 5, 6, 6, 5, 7, 8, 5, 6, 7, 6, 5, 0, 0, 5, 1, 6, 0, 3, 0, 1, 0, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 4, 5, 4, 3, 0, 0, 3, 0, 4, 0, 2, 0, 0, 0, 2, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 0, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 2, 3, 2, 3, 0, 0, 0, 0, 2, 2, 0, 3, 2, 0, 0, 3, 1, 4, 0, 2, 0, 1, 0, 2, 3, 3, 2, 3, 1, 2, 3, 4, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 3, 2, 3, 2, 3, 2, 1, 3, 4, 2, 2, 3, 3, 2, 0, 0, 11, 0, 12, 6, 5, 0, 0, 0, 5, 6, 6, 5, 6, 0, 0, 0, 0, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 0, 0, 5, 6, 5, 6, 5, 6, 6, 0, 9, 10, 8, 9, 0, 0, 0, 0, 5, 10, 11, 6, 5, 0, 0, 11, 2, 12, 6, 5, 0, 2, 0, 5, 6, 6, 5, 6, 2, 3, 2, 3, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 2, 3, 5, 6, 5, 6, 5, 6, 6, 3, 9, 10, 8, 9, 3, 2, 2, 3, 5, 10, 11, 6, 5, 0, 0, 11, 6, 12, 7, 6, 7, 11, 12, 6, 7, 7, 6, 7, 6, 7, 11, 12, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 11, 9, 10, 8, 9, 7, 6, 11, 12, 6, 10, 11, 7, 6, 0, 0, 10, 5, 11, 6, 5, 6, 10, 11, 5, 6, 6, 5, 6, 5, 6, 10, 11, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 10, 8, 9, 7, 8, 6, 5, 10, 11, 5, 9, 10, 6, 5, 0, 0, 9, 4, 10, 5, 4, 5, 9, 10, 4, 5, 5, 4, 5, 4, 5, 9, 10, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 9, 7, 8, 6, 7, 5, 4, 9, 10, 4, 8, 9, 5, 4, 0, 0, 11, 7, 12, 8, 7, 0, 11, 0, 7, 8, 8, 7, 8, 7, 8, 11, 12, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 11, 9, 10, 8, 9, 8, 7, 11, 12, 7, 10, 11, 8, 7, 0, 0, 11, 1, 12, 6, 5, 0, 1, 0, 5, 6, 6, 5, 6, 1, 2, 1, 2, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 1, 2, 5, 6, 5, 6, 5, 6, 6, 2, 9, 10, 8, 9, 2, 1, 1, 2, 5, 10, 11, 6, 5, 0, 0, 4, 0, 5, 0, 4, 0, 0, 0, 4, 5, 5, 4, 5, 0, 0, 0, 0, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 0, 0, 0, 4, 5, 4, 5, 4, 5, 5, 0, 4, 5, 4, 5, 0, 0, 0, 0, 4, 4, 0, 5, 4, 0, 0, 4, 2, 5, 0, 4, 0, 2, 0, 4, 5, 5, 4, 5, 2, 3, 2, 3, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 2, 3, 4, 5, 4, 5, 4, 5, 5, 3, 4, 5, 4, 5, 3, 2, 2, 3, 4, 4, 5, 5, 4, 0, 0, 7, 4, 8, 0, 4, 0, 7, 0, 4, 5, 5, 4, 5, 4, 5, 7, 8, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 5, 7, 5, 6, 4, 5, 5, 4, 7, 8, 4, 6, 7, 5, 4, 0, 0, 4, 1, 5, 0, 4, 0, 1, 0, 4, 5, 5, 4, 5, 1, 2, 1, 2, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 1, 2, 4, 5, 4, 5, 4, 5, 5, 2, 4, 5, 4, 5, 2, 1, 1, 2, 4, 4, 5, 5, 4, 0, 0, 38, 0, 39, 0, 38, 0, 0, 0, 38, 39, 39, 38, 39, 0, 0, 0, 0, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 0, 0, 0, 38, 39, 38, 39, 38, 39, 39, 0, 38, 39, 38, 39, 0, 0, 0, 0, 38, 38, 0, 39, 38, 0, 0, 38, 2, 39, 0, 38, 0, 2, 0, 38, 39, 39, 38, 39, 2, 3, 2, 3, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 2, 3, 38, 39, 38, 39, 38, 39, 39, 3, 38, 39, 38, 39, 3, 2, 2, 3, 38, 38, 39, 39, 38, 0, 0, 38, 7, 39, 0, 38, 0, 7, 0, 38, 39, 39, 38, 39, 7, 8, 7, 8, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 7, 8, 38, 39, 38, 39, 38, 39, 39, 8, 38, 39, 38, 39, 8, 7, 7, 8, 38, 38, 39, 39, 38, 0, 0, 38, 1, 39, 0, 38, 0, 1, 0, 38, 39, 39, 38, 39, 1, 2, 1, 2, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 39, 1, 2, 38, 39, 38, 39, 38, 39, 39, 2, 38, 39, 38, 39, 2, 1, 1, 2, 38, 38, 39, 39, 38, 0, 0, 2, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 2, 3, 0, 1, 2, 0, 0, 0, 0, 42, 2, 43, 0, 42, 0, 2, 0, 42, 43, 43, 42, 43, 2, 3, 2, 3, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 2, 3, 42, 43, 42, 43, 42, 43, 43, 3, 42, 43, 42, 43, 3, 2, 2, 3, 42, 42, 43, 43, 42, 0, 0, 27, 2, 28, 0, 27, 0, 2, 0, 27, 28, 28, 27, 28, 2, 3, 2, 3, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 2, 3, 27, 28, 27, 28, 27, 28, 28, 3, 27, 28, 27, 28, 3, 2, 2, 3, 27, 27, 28, 28, 27, 0, 0, 16, 2, 17, 0, 16, 0, 2, 0, 16, 17, 17, 16, 17, 2, 3, 2, 3, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 2, 3, 16, 17, 16, 17, 16, 17, 17, 3, 16, 17, 16, 17, 3, 2, 2, 3, 16, 16, 17, 17, 16, 0, 0, 54, 2, 55, 0, 54, 0, 2, 0, 54, 55, 55, 54, 55, 2, 3, 2, 3, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 2, 3, 54, 55, 54, 55, 54, 55, 55, 3, 54, 55, 54, 55, 3, 2, 2, 3, 54, 54, 55, 55, 54, 0, 0, 21, 2, 22, 0, 21, 0, 2, 0, 21, 22, 22, 21, 22, 2, 3, 2, 3, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 2, 3, 21, 22, 21, 22, 21, 22, 22, 3, 21, 22, 21, 22, 3, 2, 2, 3, 21, 21, 22, 22, 21, 0, 0, 19, 2, 20, 0, 19, 0, 2, 0, 19, 20, 20, 19, 20, 2, 3, 2, 3, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 2, 3, 19, 20, 19, 20, 19, 20, 20, 3, 19, 20, 19, 20, 3, 2, 2, 3, 19, 19, 20, 20, 19, 0, 0, 3, 2, 4, 0, 3, 0, 2, 0, 3, 4, 4, 3, 4, 2, 3, 2, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 3, 3, 4, 3, 4, 3, 4, 4, 3, 3, 4, 3, 4, 3, 2, 2, 3, 3, 3, 4, 4, 3, 0, 0, 42, 0, 43, 0, 42, 0, 0, 0, 42, 43, 43, 42, 43, 0, 0, 0, 0, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 0, 0, 0, 42, 43, 42, 43, 42, 43, 43, 0, 42, 43, 42, 43, 0, 0, 0, 0, 42, 42, 0, 43, 42, 0, 0, 42, 7, 43, 0, 42, 0, 7, 0, 42, 43, 43, 42, 43, 7, 8, 7, 8, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 7, 8, 42, 43, 42, 43, 42, 43, 43, 8, 42, 43, 42, 43, 8, 7, 7, 8, 42, 42, 43, 43, 42, 0, 0, 42, 1, 43, 0, 42, 0, 1, 0, 42, 43, 43, 42, 43, 1, 2, 1, 2, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 42, 43, 1, 2, 42, 43, 42, 43, 42, 43, 43, 2, 42, 43, 42, 43, 2, 1, 1, 2, 42, 42, 43, 43, 42, 0, 0, 27, 0, 28, 0, 27, 0, 0, 0, 27, 28, 28, 27, 28, 0, 0, 0, 0, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 0, 0, 0, 27, 28, 27, 28, 27, 28, 28, 0, 27, 28, 27, 28, 0, 0, 0, 0, 27, 27, 0, 28, 27, 0, 0, 27, 7, 28, 0, 27, 0, 7, 0, 27, 28, 28, 27, 28, 7, 8, 7, 8, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 7, 8, 27, 28, 27, 28, 27, 28, 28, 8, 27, 28, 27, 28, 8, 7, 7, 8, 27, 27, 28, 28, 27, 0, 0, 27, 1, 28, 0, 27, 0, 1, 0, 27, 28, 28, 27, 28, 1, 2, 1, 2, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 1, 2, 27, 28, 27, 28, 27, 28, 28, 2, 27, 28, 27, 28, 2, 1, 1, 2, 27, 27, 28, 28, 27, 0, 0, 16, 0, 17, 0, 16, 0, 0, 0, 16, 17, 17, 16, 17, 0, 0, 0, 0, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 0, 0, 0, 16, 17, 16, 17, 16, 17, 17, 0, 16, 17, 16, 17, 0, 0, 0, 0, 16, 16, 0, 17, 16, 0, 0, 16, 7, 17, 0, 16, 0, 7, 0, 16, 17, 17, 16, 17, 7, 8, 7, 8, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 7, 8, 16, 17, 16, 17, 16, 17, 17, 8, 16, 17, 16, 17, 8, 7, 7, 8, 16, 16, 17, 17, 16, 0, 0, 16, 1, 17, 0, 16, 0, 1, 0, 16, 17, 17, 16, 17, 1, 2, 1, 2, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 16, 17, 1, 2, 16, 17, 16, 17, 16, 17, 17, 2, 16, 17, 16, 17, 2, 1, 1, 2, 16, 16, 17, 17, 16, 0, 0, 54, 0, 55, 0, 54, 0, 0, 0, 54, 55, 55, 54, 55, 0, 0, 0, 0, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 0, 0, 0, 54, 55, 54, 55, 54, 55, 55, 0, 54, 55, 54, 55, 0, 0, 0, 0, 54, 54, 0, 55, 54, 0, 0, 54, 7, 55, 0, 54, 0, 7, 0, 54, 55, 55, 54, 55, 7, 8, 7, 8, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 7, 8, 54, 55, 54, 55, 54, 55, 55, 8, 54, 55, 54, 55, 8, 7, 7, 8, 54, 54, 55, 55, 54, 0, 0, 54, 1, 55, 0, 54, 0, 1, 0, 54, 55, 55, 54, 55, 1, 2, 1, 2, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 55, 1, 2, 54, 55, 54, 55, 54, 55, 55, 2, 54, 55, 54, 55, 2, 1, 1, 2, 54, 54, 55, 55, 54, 0, 0, 21, 0, 22, 0, 21, 0, 0, 0, 21, 22, 22, 21, 22, 0, 0, 0, 0, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 0, 0, 0, 21, 22, 21, 22, 21, 22, 22, 0, 21, 22, 21, 22, 0, 0, 0, 0, 21, 21, 0, 22, 21, 0, 0, 21, 7, 22, 0, 21, 0, 7, 0, 21, 22, 22, 21, 22, 7, 8, 7, 8, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 7, 8, 21, 22, 21, 22, 21, 22, 22, 8, 21, 22, 21, 22, 8, 7, 7, 8, 21, 21, 22, 22, 21, 0, 0, 21, 1, 22, 0, 21, 0, 1, 0, 21, 22, 22, 21, 22, 1, 2, 1, 2, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 1, 2, 21, 22, 21, 22, 21, 22, 22, 2, 21, 22, 21, 22, 2, 1, 1, 2, 21, 21, 22, 22, 21, 0, 0, 2, 0, 3, 0, 2, 0, 0, 0, 2, 3, 3, 2, 3, 0, 0, 0, 0, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 0, 0, 0, 2, 3, 2, 3, 2, 3, 3, 0, 2, 3, 2, 3, 0, 0, 0, 0, 2, 2, 0, 3, 2, 0, 0, 2, 1, 3, 0, 2, 0, 1, 0, 2, 3, 3, 2, 3, 1, 2, 1, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 3, 2, 3, 2, 3, 3, 2, 2, 3, 2, 3, 2, 1, 1, 2, 2, 2, 3, 3, 2, 0, 0, 7, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 7, 5, 6, 4, 5, 0, 0, 7, 8, 0, 6, 7, 0, 0, 0, 0, 7, 7, 8, 0, 7, 0, 7, 0, 7, 8, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 8, 8, 7, 8, 7, 8, 8, 7, 7, 8, 7, 7, 8, 8, 7, 0, 0, 19, 7, 20, 0, 19, 0, 7, 0, 19, 20, 20, 19, 20, 7, 8, 7, 8, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 7, 8, 19, 20, 19, 20, 19, 20, 20, 8, 19, 20, 19, 20, 8, 7, 7, 8, 19, 19, 20, 20, 19, 0, 0, 7, 1, 8, 0, 1, 0, 7, 0, 1, 2, 2, 1, 2, 1, 2, 7, 8, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 7, 5, 6, 4, 5, 2, 1, 7, 8, 1, 6, 7, 2, 1, 0, 0, 19, 0, 20, 0, 19, 0, 0, 0, 19, 20, 20, 19, 20, 0, 0, 0, 0, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 0, 0, 0, 19, 20, 19, 20, 19, 20, 20, 0, 19, 20, 19, 20, 0, 0, 0, 0, 19, 19, 0, 20, 19, 0, 0, 19, 1, 20, 0, 19, 0, 1, 0, 19, 20, 20, 19, 20, 1, 2, 1, 2, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 19, 20, 1, 2, 19, 20, 19, 20, 19, 20, 20, 2, 19, 20, 19, 20, 2, 1, 1, 2, 19, 19, 20, 20, 19, 0, 0, 3, 0, 4, 0, 3, 0, 0, 0, 3, 4, 4, 3, 4, 0, 0, 0, 0, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 0, 0, 0, 3, 4, 3, 4, 3, 4, 4, 0, 3, 4, 3, 4, 0, 0, 0, 0, 3, 3, 0, 4, 3, 0, 0, 3, 1, 4, 0, 3, 0, 1, 0, 3, 4, 4, 3, 4, 1, 2, 1, 2, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 1, 2, 3, 4, 3, 4, 3, 4, 4, 2, 3, 4, 3, 4, 2, 1, 1, 2, 3, 3, 4, 4, 3, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 1, 0, 1, 0, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 1, 2, 2, 1, 2, 0, 0, 0, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 0, 1, 2, 1, 2, 1, 2, 2, 0, 1, 2, 1, 2, 0, 0, 0, 0, 1, 1, 0, 2, 1, 0, 0, 8, 8, 9, 9, 8, 9, 8, 9, 8, 9, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 9, 9, 8, 9, 8, 9, 9, 8, 8, 9, 8, 8, 9, 9, 8, 0, 0, 5, 5, 6, 0, 5, 0, 5, 0, 5, 6, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 5, 6, 5, 6, 6, 5, 5, 6, 5, 5, 6, 6, 5, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char geode_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 2, 1, 1, 2, 5, 2, 1, 6, 7, 8, 9, 10, 11, 12, 7, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, }; /* Comb vector for state transitions. */ static const unsigned short geode_transitions[] ATTRIBUTE_UNUSED = { 0, 1064, 1017, 800, 2237, 3, 122, 1064, 1204, 128, 1376, 2213, 7, 1, 0, 4, 2246, 1, 3, 7, 18, 1202, 19, 1109, 171, 1378, 2236, 126, 1016, 5, 5, 2, 4, 8, 19, 19, 1250, 1017, 1156, 59, 1375, 2235, 123, 1063, 6, 6, 2246, 20, 21, 5, 57, 122, 1064, 1204, 128, 1376, 2213, 7, 1, 0, 22, 21, 22, 58, 58, 59, 2185, 2184, 2182, 106, 1421, 2175, 155, 2174, 23, 23, 2246, 59, 60, 60, 61, 2172, 2171, 2169, 132, 1462, 2162, 181, 2161, 24, 24, 2246, 11, 62, 62, 63, 2159, 2158, 2156, 157, 2127, 2120, 204, 2119, 25, 25, 2246, 63, 64, 64, 104, 2117, 2116, 2114, 183, 2086, 2079, 228, 2078, 26, 26, 2246, 65, 105, 105, 106, 110, 2077, 2075, 206, 2048, 2041, 253, 2040, 27, 27, 2246, 106, 107, 107, 108, 136, 2039, 2037, 230, 2011, 2004, 279, 2003, 28, 28, 2246, 108, 109, 109, 110, 161, 2002, 112, 255, 1977, 1970, 306, 1969, 29, 29, 2246, 110, 111, 111, 112, 187, 1968, 138, 281, 1944, 1937, 334, 1936, 30, 30, 2246, 112, 113, 113, 114, 210, 1935, 163, 308, 1912, 1905, 363, 114, 31, 31, 2246, 114, 115, 115, 116, 234, 115, 189, 336, 1883, 1876, 393, 140, 32, 32, 2246, 32, 117, 117, 118, 259, 141, 212, 365, 1855, 1848, 424, 165, 33, 33, 2246, 118, 119, 119, 120, 285, 166, 236, 395, 1828, 1821, 456, 191, 34, 34, 2246, 120, 121, 121, 122, 312, 192, 261, 426, 1802, 1795, 489, 214, 35, 35, 2246, 122, 123, 14, 124, 340, 215, 287, 458, 1777, 1770, 523, 238, 36, 36, 2246, 124, 125, 9, 126, 369, 239, 314, 491, 1753, 1746, 558, 263, 37, 37, 2246, 126, 127, 127, 128, 399, 264, 342, 525, 1730, 1723, 594, 289, 38, 38, 2246, 128, 129, 10, 130, 430, 290, 371, 560, 1708, 1701, 631, 316, 39, 39, 2246, 130, 131, 131, 132, 462, 317, 401, 596, 1687, 1680, 669, 344, 40, 40, 2246, 132, 133, 133, 134, 495, 345, 432, 633, 1667, 1660, 708, 373, 41, 41, 2246, 134, 135, 135, 136, 529, 374, 464, 671, 1648, 1641, 748, 403, 42, 42, 2246, 136, 137, 137, 138, 564, 404, 497, 710, 1630, 1623, 789, 434, 43, 43, 2246, 138, 139, 139, 140, 600, 435, 531, 750, 1613, 1606, 831, 466, 44, 44, 2246, 140, 141, 141, 142, 637, 467, 566, 791, 1597, 1590, 874, 499, 45, 45, 2246, 33, 143, 143, 144, 675, 500, 602, 833, 1582, 1575, 918, 533, 46, 46, 2246, 144, 145, 145, 146, 714, 534, 639, 876, 1568, 1561, 962, 568, 47, 47, 2246, 146, 147, 147, 148, 754, 569, 677, 920, 1555, 1549, 1006, 604, 48, 48, 2246, 148, 149, 13, 150, 795, 605, 716, 964, 1544, 1539, 1053, 641, 49, 49, 2246, 7, 151, 103, 152, 837, 642, 756, 1008, 1535, 1531, 1101, 679, 50, 50, 2246, 152, 153, 123, 154, 880, 680, 797, 1055, 1528, 1522, 1148, 718, 51, 51, 2246, 154, 155, 155, 156, 924, 719, 839, 1103, 1520, 1515, 1196, 758, 52, 52, 2246, 156, 157, 157, 158, 968, 759, 882, 1150, 1514, 1510, 1244, 799, 53, 53, 2246, 158, 159, 159, 160, 1012, 800, 926, 1198, 1372, 1505, 116, 841, 54, 54, 2246, 160, 161, 161, 162, 1059, 842, 970, 1246, 1413, 1501, 143, 884, 55, 55, 2246, 162, 163, 163, 164, 1107, 885, 1014, 118, 1454, 1497, 169, 928, 56, 56, 2246, 164, 165, 165, 166, 1154, 3, 1061, 145, 1337, 61, 57, 18, 4, 2238, 2246, 166, 2246, 34, 2246, 2197, 21, 2192, 2209, 1380, 2239, 130, 2188, 22, 2, 1064, 1017, 800, 2237, 3, 8, 124, 127, 1245, 2208, 170, 2246, 2246, 0, 2246, 2246, 2246, 2246, 167, 9, 9, 128, 59, 1198, 2204, 145, 10, 60, 172, 1151, 2201, 119, 168, 2246, 10, 2246, 2246, 2246, 2246, 168, 11, 11, 173, 147, 1105, 2199, 1248, 12, 148, 121, 1058, 2196, 1201, 169, 2246, 12, 2246, 2246, 2246, 2246, 169, 13, 13, 122, 1250, 1012, 2194, 1154, 14, 1251, 1203, 969, 2191, 1108, 170, 2246, 14, 2246, 2246, 2246, 2246, 170, 15, 15, 1204, 1156, 926, 2189, 1061, 16, 1157, 1110, 883, 2187, 1015, 171, 2246, 16, 2246, 2246, 2246, 2246, 171, 17, 17, 1, 1063, 841, 20, 18, 65, 1496, 1495, 1492, 1459, 1457, 172, 2246, 2, 2246, 2246, 2246, 2246, 172, 66, 66, 1456, 1455, 1452, 1419, 1417, 67, 1416, 1415, 1412, 1379, 1377, 173, 2246, 67, 2246, 2246, 2246, 2246, 173, 68, 68, 1376, 1375, 1372, 1339, 1337, 69, 1336, 1335, 1332, 1299, 1297, 12, 2246, 69, 2246, 2246, 2246, 2246, 174, 70, 70, 1296, 1295, 1292, 1259, 1257, 71, 1256, 1255, 1252, 1212, 1210, 150, 2246, 71, 2246, 2246, 2246, 2246, 175, 72, 72, 1209, 1208, 1205, 1165, 1163, 73, 1162, 1161, 1158, 1118, 1116, 102, 2246, 73, 2246, 2246, 2246, 2246, 176, 74, 74, 1115, 1114, 1111, 1072, 1070, 75, 1069, 1068, 1065, 1025, 1023, 177, 2246, 75, 2246, 2246, 2246, 2246, 177, 76, 76, 1022, 1021, 1018, 979, 977, 77, 976, 975, 972, 936, 934, 149, 2246, 77, 2246, 2246, 2246, 2246, 178, 78, 78, 933, 932, 929, 893, 891, 79, 890, 889, 886, 850, 848, 179, 2246, 79, 2246, 2246, 2246, 2246, 179, 80, 80, 847, 846, 843, 808, 806, 81, 805, 804, 801, 767, 765, 180, 2246, 81, 2246, 2246, 2246, 2246, 180, 82, 82, 764, 763, 760, 727, 725, 83, 724, 723, 720, 688, 686, 181, 2246, 83, 2246, 2246, 2246, 2246, 181, 84, 84, 685, 684, 681, 650, 648, 85, 647, 646, 643, 613, 611, 182, 2246, 85, 2246, 2246, 2246, 2246, 182, 86, 86, 610, 609, 606, 577, 575, 87, 574, 573, 570, 542, 540, 183, 2246, 87, 2246, 2246, 2246, 2246, 183, 88, 88, 539, 538, 535, 508, 506, 89, 505, 504, 501, 475, 473, 184, 2246, 89, 2246, 2246, 2246, 2246, 184, 90, 90, 472, 471, 468, 443, 441, 91, 440, 439, 436, 412, 410, 185, 2246, 91, 2246, 2246, 2246, 2246, 185, 92, 92, 409, 408, 405, 382, 380, 93, 379, 378, 375, 353, 351, 186, 2246, 93, 2246, 2246, 2246, 2246, 186, 94, 94, 350, 349, 346, 325, 323, 95, 322, 321, 318, 298, 296, 187, 2246, 95, 2246, 2246, 2246, 2246, 187, 96, 96, 295, 294, 291, 272, 270, 97, 269, 268, 265, 247, 245, 188, 2246, 97, 2246, 2246, 2246, 2246, 188, 98, 98, 244, 243, 240, 223, 221, 99, 220, 219, 216, 200, 198, 189, 2246, 99, 2246, 2246, 2246, 2246, 189, 100, 100, 197, 196, 193, 178, 176, 101, 175, 174, 167, 153, 151, 190, 2246, 101, 2246, 2246, 2246, 2246, 190, 102, 102, 150, 149, 142, 129, 125, 103, 7, 123, 116, 104, 57, 191, 2246, 103, 2246, 2246, 2246, 2246, 191, 8, 2214, 2234, 2233, 1511, 2227, 1498, 2215, 2226, 63, 1517, 2221, 1503, 192, 192, 2215, 193, 194, 195, 196, 197, 2216, 2216, 64, 1500, 1525, 2217, 1508, 35, 198, 194, 195, 57, 175, 101, 199, 65, 200, 201, 202, 203, 204, 205, 199, 206, 207, 208, 209, 210, 174, 211, 201, 202, 203, 204, 205, 206, 212, 207, 208, 209, 210, 211, 213, 212, 214, 215, 216, 217, 218, 219, 213, 220, 221, 222, 223, 224, 214, 225, 215, 36, 217, 218, 125, 197, 226, 100, 222, 196, 224, 225, 227, 226, 228, 229, 230, 231, 232, 233, 227, 234, 235, 236, 237, 238, 228, 239, 229, 230, 231, 232, 233, 234, 240, 235, 236, 237, 238, 239, 241, 37, 242, 243, 244, 245, 246, 247, 241, 248, 249, 250, 251, 252, 242, 253, 151, 220, 99, 246, 219, 248, 254, 249, 250, 251, 252, 253, 255, 254, 256, 257, 258, 259, 260, 261, 255, 262, 263, 264, 265, 266, 256, 267, 257, 258, 259, 260, 261, 262, 268, 263, 264, 38, 266, 267, 269, 176, 270, 271, 272, 273, 274, 275, 244, 276, 277, 278, 279, 280, 98, 281, 271, 243, 273, 274, 275, 276, 282, 277, 278, 279, 280, 281, 283, 282, 284, 285, 286, 287, 288, 289, 283, 290, 291, 292, 293, 294, 284, 295, 285, 286, 287, 288, 289, 290, 296, 39, 292, 293, 198, 269, 297, 97, 298, 299, 300, 301, 302, 303, 297, 304, 305, 306, 307, 308, 268, 309, 299, 300, 301, 302, 303, 304, 310, 305, 306, 307, 308, 309, 311, 310, 312, 313, 314, 315, 316, 317, 311, 318, 319, 320, 321, 322, 312, 323, 313, 314, 315, 316, 317, 40, 324, 319, 320, 221, 295, 96, 325, 324, 326, 327, 328, 329, 330, 331, 294, 332, 333, 334, 335, 336, 326, 337, 327, 328, 329, 330, 331, 332, 338, 333, 334, 335, 336, 337, 339, 338, 340, 341, 342, 343, 344, 345, 339, 346, 347, 348, 349, 350, 340, 351, 341, 342, 343, 344, 345, 41, 352, 347, 348, 245, 322, 95, 353, 352, 354, 355, 356, 357, 358, 359, 321, 360, 361, 362, 363, 364, 354, 365, 355, 356, 357, 358, 359, 360, 366, 361, 362, 363, 364, 365, 367, 366, 368, 369, 370, 371, 372, 373, 367, 374, 375, 376, 377, 378, 368, 379, 369, 370, 371, 372, 373, 374, 380, 42, 376, 377, 270, 350, 381, 94, 382, 383, 384, 385, 386, 387, 381, 388, 389, 390, 391, 392, 349, 393, 383, 384, 385, 386, 387, 388, 394, 389, 390, 391, 392, 393, 395, 394, 396, 397, 398, 399, 400, 401, 395, 402, 403, 404, 405, 406, 396, 407, 397, 398, 399, 400, 401, 402, 408, 403, 404, 43, 406, 407, 409, 296, 410, 411, 412, 413, 414, 415, 379, 416, 417, 418, 419, 420, 93, 421, 411, 378, 413, 414, 415, 416, 422, 417, 418, 419, 420, 421, 423, 422, 424, 425, 426, 427, 428, 429, 423, 430, 431, 432, 433, 434, 424, 435, 425, 426, 427, 428, 429, 430, 436, 431, 432, 433, 434, 435, 437, 44, 438, 439, 440, 441, 442, 443, 437, 444, 445, 446, 447, 448, 438, 449, 323, 409, 92, 442, 408, 444, 450, 445, 446, 447, 448, 449, 451, 450, 452, 453, 454, 455, 456, 457, 451, 458, 459, 460, 461, 462, 452, 463, 453, 454, 455, 456, 457, 458, 464, 459, 460, 461, 462, 463, 465, 464, 466, 467, 468, 469, 470, 471, 465, 472, 473, 474, 475, 476, 466, 477, 467, 45, 469, 470, 351, 440, 478, 91, 474, 439, 476, 477, 479, 478, 480, 481, 482, 483, 484, 485, 479, 486, 487, 488, 489, 490, 480, 491, 481, 482, 483, 484, 485, 486, 492, 487, 488, 489, 490, 491, 493, 492, 494, 495, 496, 497, 498, 499, 493, 500, 501, 502, 503, 504, 494, 505, 495, 496, 497, 498, 499, 500, 506, 46, 502, 503, 380, 472, 507, 90, 508, 509, 510, 511, 512, 513, 507, 514, 515, 516, 517, 518, 471, 519, 509, 510, 511, 512, 513, 514, 520, 515, 516, 517, 518, 519, 521, 520, 522, 523, 524, 525, 526, 527, 521, 528, 529, 530, 531, 532, 522, 533, 523, 524, 525, 526, 527, 528, 534, 529, 530, 531, 532, 533, 535, 534, 536, 537, 538, 539, 540, 541, 47, 542, 543, 544, 545, 546, 536, 547, 537, 410, 505, 89, 541, 504, 548, 543, 544, 545, 546, 547, 549, 548, 550, 551, 552, 553, 554, 555, 549, 556, 557, 558, 559, 560, 550, 561, 551, 552, 553, 554, 555, 556, 562, 557, 558, 559, 560, 561, 563, 562, 564, 565, 566, 567, 568, 569, 563, 570, 571, 572, 573, 574, 564, 575, 565, 566, 567, 568, 569, 48, 576, 571, 572, 441, 539, 88, 577, 576, 578, 579, 580, 581, 582, 583, 538, 584, 585, 586, 587, 588, 578, 589, 579, 580, 581, 582, 583, 584, 590, 585, 586, 587, 588, 589, 591, 590, 592, 593, 594, 595, 596, 597, 591, 598, 599, 600, 601, 602, 592, 603, 593, 594, 595, 596, 597, 598, 604, 599, 600, 601, 602, 603, 605, 604, 606, 607, 608, 609, 610, 611, 605, 612, 613, 614, 615, 616, 49, 617, 607, 608, 473, 574, 87, 612, 618, 573, 614, 615, 616, 617, 619, 618, 620, 621, 622, 623, 624, 625, 619, 626, 627, 628, 629, 630, 620, 631, 621, 622, 623, 624, 625, 626, 632, 627, 628, 629, 630, 631, 633, 632, 634, 635, 636, 637, 638, 639, 633, 640, 641, 642, 643, 644, 634, 645, 635, 636, 637, 638, 639, 640, 646, 641, 642, 50, 644, 645, 647, 506, 648, 649, 650, 651, 652, 653, 610, 654, 655, 656, 657, 658, 86, 659, 649, 609, 651, 652, 653, 654, 660, 655, 656, 657, 658, 659, 661, 660, 662, 663, 664, 665, 666, 667, 661, 668, 669, 670, 671, 672, 662, 673, 663, 664, 665, 666, 667, 668, 674, 669, 670, 671, 672, 673, 675, 674, 676, 677, 678, 679, 680, 681, 675, 682, 683, 684, 685, 686, 676, 687, 677, 678, 679, 680, 51, 682, 688, 683, 540, 647, 85, 687, 689, 646, 690, 691, 692, 693, 694, 695, 689, 696, 697, 698, 699, 700, 690, 701, 691, 692, 693, 694, 695, 696, 702, 697, 698, 699, 700, 701, 703, 702, 704, 705, 706, 707, 708, 709, 703, 710, 711, 712, 713, 714, 704, 715, 705, 706, 707, 708, 709, 710, 716, 711, 712, 713, 714, 715, 717, 716, 718, 719, 720, 721, 722, 723, 717, 724, 725, 726, 727, 728, 718, 729, 719, 52, 721, 722, 575, 685, 730, 84, 726, 684, 728, 729, 731, 730, 732, 733, 734, 735, 736, 737, 731, 738, 739, 740, 741, 742, 732, 743, 733, 734, 735, 736, 737, 738, 744, 739, 740, 741, 742, 743, 745, 744, 746, 747, 748, 749, 750, 751, 745, 752, 753, 754, 755, 756, 746, 757, 747, 748, 749, 750, 751, 752, 758, 753, 754, 755, 756, 757, 759, 758, 760, 761, 762, 763, 764, 765, 759, 766, 767, 768, 769, 770, 53, 771, 761, 762, 611, 724, 83, 766, 772, 723, 768, 769, 770, 771, 773, 772, 774, 775, 776, 777, 778, 779, 773, 780, 781, 782, 783, 784, 774, 785, 775, 776, 777, 778, 779, 780, 786, 781, 782, 783, 784, 785, 787, 786, 788, 789, 790, 791, 792, 793, 787, 794, 795, 796, 797, 798, 788, 799, 789, 790, 791, 792, 793, 794, 800, 795, 796, 797, 798, 799, 801, 800, 802, 803, 804, 805, 806, 807, 54, 808, 809, 810, 811, 812, 802, 813, 803, 648, 764, 82, 807, 763, 814, 809, 810, 811, 812, 813, 815, 814, 816, 817, 818, 819, 820, 821, 815, 822, 823, 824, 825, 826, 816, 827, 817, 818, 819, 820, 821, 822, 828, 823, 824, 825, 826, 827, 829, 828, 830, 831, 832, 833, 834, 835, 829, 836, 837, 838, 839, 840, 830, 841, 831, 832, 833, 834, 835, 836, 842, 837, 838, 839, 840, 841, 843, 842, 844, 845, 846, 847, 848, 849, 55, 850, 851, 852, 853, 854, 844, 855, 845, 686, 805, 81, 849, 804, 856, 851, 852, 853, 854, 855, 857, 856, 858, 859, 860, 861, 862, 863, 857, 864, 865, 866, 867, 868, 858, 869, 859, 860, 861, 862, 863, 864, 870, 865, 866, 867, 868, 869, 871, 870, 872, 873, 874, 875, 876, 877, 871, 878, 879, 880, 881, 882, 872, 883, 873, 874, 875, 876, 877, 878, 884, 879, 880, 881, 882, 883, 885, 884, 886, 887, 888, 889, 890, 891, 885, 892, 893, 894, 895, 896, 56, 897, 887, 888, 725, 847, 80, 892, 898, 846, 894, 895, 896, 897, 899, 898, 900, 901, 902, 903, 904, 905, 899, 906, 907, 908, 909, 910, 900, 911, 901, 902, 903, 904, 905, 906, 912, 907, 908, 909, 910, 911, 913, 912, 914, 915, 916, 917, 918, 919, 913, 920, 921, 922, 923, 924, 914, 925, 915, 916, 917, 918, 919, 920, 926, 921, 922, 923, 924, 925, 927, 926, 928, 929, 930, 931, 932, 933, 927, 934, 935, 936, 937, 938, 928, 939, 3, 930, 931, 765, 890, 79, 940, 935, 889, 937, 938, 939, 941, 940, 942, 943, 944, 945, 946, 947, 941, 948, 949, 950, 951, 952, 942, 953, 943, 944, 945, 946, 947, 948, 954, 949, 950, 951, 952, 953, 955, 954, 956, 957, 958, 959, 960, 961, 955, 962, 963, 964, 965, 966, 956, 967, 957, 958, 959, 960, 961, 962, 968, 963, 964, 965, 966, 967, 969, 968, 970, 971, 972, 973, 974, 975, 969, 976, 977, 978, 979, 980, 970, 981, 971, 18, 973, 974, 806, 933, 982, 78, 978, 932, 980, 981, 983, 982, 984, 985, 986, 987, 988, 989, 983, 990, 991, 992, 993, 994, 984, 995, 985, 986, 987, 988, 989, 990, 996, 991, 992, 993, 994, 995, 997, 996, 998, 999, 1000, 1001, 1002, 1003, 997, 1004, 1005, 1006, 1007, 1008, 998, 1009, 999, 1000, 1001, 1002, 1003, 1004, 1010, 1005, 1006, 1007, 1008, 1009, 1011, 1010, 1012, 1013, 1014, 1015, 1016, 1017, 1011, 1018, 1019, 1020, 1021, 1022, 1012, 1023, 1013, 1014, 1015, 1016, 1017, 6, 1024, 1019, 1020, 848, 976, 77, 1025, 1024, 1026, 1027, 1028, 1029, 1030, 1031, 975, 1032, 1033, 1034, 1035, 1036, 1026, 1037, 1027, 1028, 1029, 1030, 1031, 1032, 1038, 1033, 1034, 1035, 1036, 1037, 1039, 1038, 1040, 1041, 1042, 1043, 1044, 1045, 1039, 1046, 1047, 1048, 1049, 1050, 1040, 1051, 1041, 1042, 1043, 1044, 1045, 1046, 1052, 1047, 1048, 1049, 1050, 1051, 1053, 1052, 1054, 1055, 1056, 1057, 1058, 1059, 1053, 1060, 1061, 1062, 1063, 1064, 1054, 1065, 1055, 1056, 1057, 1058, 1059, 1060, 1066, 1061, 1062, 1063, 1064, 0, 1067, 1066, 1068, 1069, 1070, 1071, 1072, 1073, 1067, 1074, 1075, 1076, 1077, 1078, 891, 1079, 1022, 76, 1071, 1021, 1073, 1074, 1080, 1075, 1076, 1077, 1078, 1079, 1081, 1080, 1082, 1083, 1084, 1085, 1086, 1087, 1081, 1088, 1089, 1090, 1091, 1092, 1082, 1093, 1083, 1084, 1085, 1086, 1087, 1088, 1094, 1089, 1090, 1091, 1092, 1093, 1095, 1094, 1096, 1097, 1098, 1099, 1100, 1101, 1095, 1102, 1103, 1104, 1105, 1106, 1096, 1107, 1097, 1098, 1099, 1100, 1101, 1102, 1108, 1103, 1104, 1105, 1106, 1107, 1109, 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1109, 1116, 1117, 1118, 1119, 1120, 1110, 1121, 1, 1112, 1113, 934, 1069, 75, 1122, 1117, 1068, 1119, 1120, 1121, 1123, 1122, 1124, 1125, 1126, 1127, 1128, 1129, 1123, 1130, 1131, 1132, 1133, 1134, 1124, 1135, 1125, 1126, 1127, 1128, 1129, 1130, 1136, 1131, 1132, 1133, 1134, 1135, 1137, 1136, 1138, 1139, 1140, 1141, 1142, 1143, 1137, 1144, 1145, 1146, 1147, 1148, 1138, 1149, 1139, 1140, 1141, 1142, 1143, 1144, 1150, 1145, 1146, 1147, 1148, 1149, 1151, 1150, 1152, 1153, 1154, 1155, 1156, 1157, 1151, 1158, 1159, 1160, 1161, 1162, 1152, 1163, 1153, 1154, 1155, 1156, 1157, 17, 1164, 1159, 1160, 977, 1115, 74, 1165, 1164, 1166, 1167, 1168, 1169, 1170, 1171, 1114, 1172, 1173, 1174, 1175, 1176, 1166, 1177, 1167, 1168, 1169, 1170, 1171, 1172, 1178, 1173, 1174, 1175, 1176, 1177, 1179, 1178, 1180, 1181, 1182, 1183, 1184, 1185, 1179, 1186, 1187, 1188, 1189, 1190, 1180, 1191, 1181, 1182, 1183, 1184, 1185, 1186, 1192, 1187, 1188, 1189, 1190, 1191, 1193, 1192, 1194, 1195, 1196, 1197, 1198, 1199, 1193, 1200, 1201, 1202, 1203, 1204, 1194, 1205, 1195, 1196, 1197, 1198, 1199, 1200, 1206, 1201, 1202, 1203, 1204, 16, 1207, 1206, 1208, 1209, 1210, 1211, 1212, 1213, 1207, 1214, 1215, 1216, 1217, 1218, 1023, 1219, 1162, 73, 1211, 1161, 1213, 1214, 1220, 1215, 1216, 1217, 1218, 1219, 1221, 1220, 1222, 1223, 1224, 1225, 1226, 1227, 1221, 1228, 1229, 1230, 1231, 1232, 1222, 1233, 1223, 1224, 1225, 1226, 1227, 1228, 1234, 1229, 1230, 1231, 1232, 1233, 1235, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1235, 1242, 1243, 1244, 1245, 1246, 1236, 1247, 1237, 1238, 1239, 1240, 1241, 1242, 1248, 1243, 1244, 1245, 1246, 1247, 1249, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1249, 1256, 1257, 1258, 1259, 1260, 1250, 1261, 1251, 15, 1253, 1254, 1070, 1209, 1262, 72, 1258, 1208, 1260, 1261, 1263, 1262, 1264, 1265, 1266, 1267, 1268, 1269, 1263, 1270, 1271, 1272, 1273, 1274, 1264, 1275, 1265, 1266, 1267, 1268, 1269, 1270, 1276, 1271, 1272, 1273, 1274, 1275, 1277, 1276, 1278, 1279, 1280, 1281, 1282, 1283, 1277, 1284, 1285, 1286, 1287, 1288, 1278, 1289, 1279, 1280, 1281, 1282, 1283, 1284, 1290, 1285, 1286, 1287, 1288, 1289, 1291, 1290, 1292, 1293, 1294, 1295, 1296, 1297, 1291, 1298, 1299, 1300, 1301, 1302, 116, 1303, 1293, 1294, 1116, 1256, 71, 1298, 1304, 1255, 1300, 1301, 1302, 1303, 1305, 1304, 1306, 1307, 1308, 1309, 1310, 1311, 1305, 1312, 1313, 1314, 1315, 1316, 1306, 1317, 1307, 1308, 1309, 1310, 1311, 1312, 1318, 1313, 1314, 1315, 1316, 1317, 1319, 1318, 1320, 1321, 1322, 1323, 1324, 1325, 1319, 1326, 1327, 1328, 1329, 1330, 1320, 1331, 1321, 1322, 1323, 1324, 1325, 1326, 1332, 1327, 1328, 1329, 1330, 1331, 1333, 142, 1334, 1335, 1336, 1337, 1338, 1339, 1333, 1340, 1341, 1342, 1343, 1344, 1334, 1345, 1163, 1296, 70, 1338, 1295, 1340, 1346, 1341, 1342, 1343, 1344, 1345, 1347, 1346, 1348, 1349, 1350, 1351, 1352, 1353, 1347, 1354, 1355, 1356, 1357, 1358, 1348, 1359, 1349, 1350, 1351, 1352, 1353, 1354, 1360, 1355, 1356, 1357, 1358, 1359, 1361, 1360, 1362, 1363, 1364, 1365, 1366, 1367, 1361, 1368, 1369, 1370, 1371, 1372, 1362, 1373, 1363, 1364, 1365, 1366, 1367, 1368, 1374, 1369, 1370, 1371, 167, 1373, 1375, 1374, 1376, 1377, 1378, 1379, 1380, 1381, 1210, 1382, 1383, 1384, 1385, 1386, 1336, 1387, 69, 1378, 1335, 1380, 1381, 1382, 1388, 1383, 1384, 1385, 1386, 1387, 1389, 1388, 1390, 1391, 1392, 1393, 1394, 1395, 1389, 1396, 1397, 1398, 1399, 1400, 1390, 1401, 1391, 1392, 1393, 1394, 1395, 1396, 1402, 1397, 1398, 1399, 1400, 1401, 1403, 1402, 1404, 1405, 1406, 1407, 1408, 1409, 1403, 1410, 1411, 1412, 1413, 1414, 1404, 1415, 1405, 1406, 1407, 1408, 1409, 1410, 1416, 1411, 193, 1413, 1414, 1257, 1417, 1376, 1418, 1419, 1420, 1421, 1422, 1423, 68, 1424, 1425, 1426, 1427, 1428, 1418, 1429, 1375, 1420, 1421, 1422, 1423, 1424, 1430, 1425, 1426, 1427, 1428, 1429, 1431, 1430, 1432, 1433, 1434, 1435, 1436, 1437, 1431, 1438, 1439, 1440, 1441, 1442, 1432, 1443, 1433, 1434, 1435, 1436, 1437, 1438, 1444, 1439, 1440, 1441, 1442, 1443, 1445, 1444, 1446, 1447, 1448, 1449, 1450, 1451, 1445, 1452, 1453, 1454, 1455, 1456, 1446, 1457, 1447, 1448, 1449, 1450, 1451, 216, 1458, 1453, 1454, 1297, 1416, 67, 1459, 1458, 1460, 1461, 1462, 1463, 1464, 1465, 1415, 1466, 1467, 1468, 1469, 1470, 1460, 1471, 1461, 1462, 1463, 1464, 1465, 1466, 1472, 1467, 1468, 1469, 1470, 1471, 1473, 1472, 1474, 1475, 1476, 1477, 1478, 1479, 1473, 1480, 1481, 1482, 1483, 1484, 1474, 1485, 1475, 1476, 1477, 1478, 1479, 1480, 1486, 1481, 1482, 1483, 1484, 1485, 1487, 1486, 1488, 1489, 1490, 1491, 1492, 1493, 1487, 1494, 1495, 1496, 1497, 1498, 1488, 1499, 1489, 1490, 1491, 240, 1493, 1494, 1500, 1337, 1456, 66, 1498, 1499, 1501, 1500, 1502, 1503, 1504, 1505, 1506, 1507, 1496, 1508, 1509, 1510, 1511, 1512, 1502, 1513, 1503, 1504, 1495, 1506, 1507, 1508, 1514, 1509, 1455, 1511, 1512, 1513, 1515, 1457, 1516, 1517, 1518, 1519, 1520, 1521, 1332, 1522, 1523, 1524, 1525, 1526, 1516, 1527, 1517, 1518, 1519, 1417, 1521, 1292, 1528, 1523, 1524, 1525, 1526, 1527, 1529, 1377, 1530, 1531, 1532, 1533, 1534, 1535, 1529, 1536, 1537, 1538, 1539, 1540, 1530, 1541, 1252, 1532, 1533, 1534, 1492, 1536, 1542, 1537, 1538, 1205, 1540, 1541, 1543, 1542, 1544, 1545, 1546, 1547, 1548, 1549, 1543, 1550, 1551, 1552, 1553, 1554, 1452, 1555, 1545, 1546, 1547, 1548, 1158, 1550, 1556, 1551, 1552, 1553, 1554, 1412, 1557, 1556, 1558, 1559, 1560, 1561, 1562, 1563, 1557, 1564, 1565, 1566, 1567, 1568, 1558, 1569, 1559, 1560, 1111, 1562, 1563, 1564, 1570, 1565, 1566, 1567, 1372, 1569, 1571, 1570, 1572, 1573, 1574, 1575, 1576, 1577, 1571, 1578, 1579, 1580, 1581, 1582, 1572, 1583, 1573, 1574, 1065, 1576, 1577, 1578, 1584, 1579, 1580, 1581, 1514, 1583, 1585, 1584, 1586, 1587, 1588, 1589, 1590, 1591, 1585, 1592, 1593, 1594, 1595, 1596, 1586, 1597, 1587, 1588, 1589, 1018, 1591, 1592, 1598, 1593, 1594, 1595, 1596, 1520, 1599, 1598, 1600, 1601, 1602, 1603, 1604, 1605, 1599, 1606, 1607, 1608, 1609, 1610, 1600, 1611, 1601, 1602, 1603, 1604, 1605, 972, 1612, 1607, 1608, 1609, 1610, 1611, 1613, 1612, 1614, 1615, 1616, 1617, 1618, 1619, 1528, 1620, 1621, 1622, 1623, 1624, 1614, 1625, 1615, 1616, 1617, 1618, 1619, 1620, 1626, 1621, 1622, 929, 1624, 1625, 1627, 1626, 1628, 1629, 1630, 1631, 1632, 1633, 1627, 1634, 1635, 1636, 1637, 1638, 1628, 1639, 1629, 1535, 1631, 1632, 1633, 1634, 1640, 1635, 1636, 1637, 1638, 1639, 1641, 1640, 1642, 1643, 1644, 1645, 1646, 1647, 886, 1648, 1649, 1650, 1651, 1652, 1642, 1653, 1643, 1644, 1645, 1646, 1647, 1544, 1654, 1649, 1650, 1651, 1652, 1653, 1655, 1654, 1656, 1657, 1658, 1659, 1660, 1661, 1655, 1662, 1663, 1664, 1665, 1666, 1656, 1667, 1657, 1658, 1659, 843, 1661, 1662, 1668, 1663, 1664, 1665, 1666, 1555, 1669, 1668, 1670, 1671, 1672, 1673, 1674, 1675, 1669, 1676, 1677, 1678, 1679, 1680, 1670, 1681, 1671, 1672, 1673, 1674, 1675, 1676, 1682, 1677, 1678, 1679, 801, 1681, 1683, 1682, 1684, 1685, 1686, 1687, 1688, 1689, 1683, 1690, 1691, 1692, 1693, 1694, 1684, 1695, 1685, 1686, 1568, 1688, 1689, 1690, 1696, 1691, 1692, 1693, 1694, 1695, 1697, 1696, 1698, 1699, 1700, 1701, 1702, 1703, 1697, 1704, 1705, 1706, 1707, 1708, 1698, 1709, 1699, 1700, 760, 1702, 1703, 1704, 1710, 1705, 1706, 1707, 1582, 1709, 1711, 1710, 1712, 1713, 1714, 1715, 1716, 1717, 1711, 1718, 1719, 1720, 1721, 1722, 1712, 1723, 1713, 1714, 1715, 1716, 1717, 1718, 1724, 1719, 1720, 1721, 1722, 720, 1725, 1724, 1726, 1727, 1728, 1729, 1730, 1731, 1725, 1732, 1733, 1734, 1735, 1736, 1726, 1737, 1727, 1728, 1729, 1597, 1731, 1732, 1738, 1733, 1734, 1735, 1736, 1737, 1739, 1738, 1740, 1741, 1742, 1743, 1744, 1745, 1739, 1746, 1747, 1748, 1749, 1750, 1740, 1751, 1741, 1742, 1743, 1744, 1745, 681, 1752, 1747, 1748, 1749, 1750, 1751, 1753, 1752, 1754, 1755, 1756, 1757, 1758, 1759, 1613, 1760, 1761, 1762, 1763, 1764, 1754, 1765, 1755, 1756, 1757, 1758, 1759, 1760, 1766, 1761, 1762, 1763, 1764, 1765, 1767, 1766, 1768, 1769, 1770, 1771, 1772, 1773, 1767, 1774, 1775, 1776, 1777, 1778, 1768, 1779, 1769, 643, 1771, 1772, 1773, 1774, 1780, 1775, 1776, 1630, 1778, 1779, 1781, 1780, 1782, 1783, 1784, 1785, 1786, 1787, 1781, 1788, 1789, 1790, 1791, 1792, 1782, 1793, 1783, 1784, 1785, 1786, 1787, 1788, 1794, 1789, 1790, 1791, 1792, 1793, 1795, 1794, 1796, 1797, 1798, 1799, 1800, 1801, 606, 1802, 1803, 1804, 1805, 1806, 1796, 1807, 1797, 1798, 1799, 1800, 1801, 1648, 1808, 1803, 1804, 1805, 1806, 1807, 1809, 1808, 1810, 1811, 1812, 1813, 1814, 1815, 1809, 1816, 1817, 1818, 1819, 1820, 1810, 1821, 1811, 1812, 1813, 1814, 1815, 1816, 1822, 1817, 1818, 1819, 1820, 570, 1823, 1822, 1824, 1825, 1826, 1827, 1828, 1829, 1823, 1830, 1831, 1832, 1833, 1834, 1824, 1835, 1825, 1826, 1827, 1667, 1829, 1830, 1836, 1831, 1832, 1833, 1834, 1835, 1837, 1836, 1838, 1839, 1840, 1841, 1842, 1843, 1837, 1844, 1845, 1846, 1847, 1848, 1838, 1849, 1839, 1840, 1841, 1842, 1843, 1844, 1850, 1845, 1846, 1847, 535, 1849, 1851, 1850, 1852, 1853, 1854, 1855, 1856, 1857, 1851, 1858, 1859, 1860, 1861, 1862, 1852, 1863, 1853, 1854, 1687, 1856, 1857, 1858, 1864, 1859, 1860, 1861, 1862, 1863, 1865, 1864, 1866, 1867, 1868, 1869, 1870, 1871, 1865, 1872, 1873, 1874, 1875, 1876, 1866, 1877, 1867, 1868, 1869, 1870, 1871, 1872, 1878, 1873, 1874, 1875, 501, 1877, 1879, 1878, 1880, 1881, 1882, 1883, 1884, 1885, 1879, 1886, 1887, 1888, 1889, 1890, 1880, 1891, 1881, 1882, 1708, 1884, 1885, 1886, 1892, 1887, 1888, 1889, 1890, 1891, 1893, 1892, 1894, 1895, 1896, 1897, 1898, 1899, 1893, 1900, 1901, 1902, 1903, 1904, 1894, 1905, 1895, 1896, 1897, 1898, 1899, 1900, 1906, 1901, 1902, 1903, 1904, 468, 1907, 1906, 1908, 1909, 1910, 1911, 1912, 1913, 1907, 1914, 1915, 1916, 1917, 1918, 1908, 1919, 1909, 1910, 1911, 1730, 1913, 1914, 1920, 1915, 1916, 1917, 1918, 1919, 1921, 1920, 1922, 1923, 1924, 1925, 1926, 1927, 1921, 1928, 1929, 1930, 1931, 1932, 1922, 1933, 1923, 1924, 1925, 1926, 1927, 1928, 1934, 1929, 1930, 1931, 1932, 1933, 1935, 1934, 1936, 1937, 1938, 1939, 1940, 1941, 436, 1942, 1943, 1944, 1945, 1946, 31, 1947, 1935, 1938, 1939, 1940, 1941, 1942, 1948, 1943, 1753, 1945, 1946, 1947, 1949, 1948, 1950, 1951, 1952, 1953, 1954, 1955, 1949, 1956, 1957, 1958, 1959, 1960, 1950, 1961, 1951, 1952, 1953, 1954, 1955, 1956, 1962, 1957, 1958, 1959, 1960, 1961, 1963, 1962, 1964, 1965, 1966, 1967, 1968, 1969, 1963, 1970, 1971, 1972, 1973, 1974, 1964, 1975, 1965, 1966, 1967, 405, 30, 1968, 1976, 1971, 1972, 1973, 1974, 1975, 1977, 1976, 1978, 1979, 1980, 1981, 1982, 1983, 1777, 1984, 1985, 1986, 1987, 1988, 1978, 1989, 1979, 1980, 1981, 1982, 1983, 1984, 1990, 1985, 1986, 1987, 1988, 1989, 1991, 1990, 1992, 1993, 1994, 1995, 1996, 1997, 1991, 1998, 1999, 2000, 2001, 2002, 1992, 2003, 1993, 1994, 1995, 1996, 1997, 1998, 2004, 1999, 2000, 2001, 375, 29, 2005, 2002, 2006, 2007, 2008, 2009, 2010, 2011, 2005, 2012, 2013, 2014, 2015, 2016, 2006, 2017, 2007, 2008, 2009, 2010, 1802, 2012, 2018, 2013, 2014, 2015, 2016, 2017, 2019, 2018, 2020, 2021, 2022, 2023, 2024, 2025, 2019, 2026, 2027, 2028, 2029, 2030, 2020, 2031, 2021, 2022, 2023, 2024, 2025, 2026, 2032, 2027, 2028, 2029, 2030, 2031, 2033, 2032, 2034, 2035, 2036, 2037, 2038, 2039, 2033, 2040, 2041, 2042, 2043, 2044, 2034, 2045, 2035, 2036, 346, 2038, 1936, 28, 2046, 2039, 2042, 2043, 2044, 2045, 2047, 2046, 2048, 2049, 2050, 2051, 2052, 2053, 2047, 2054, 2055, 2056, 2057, 2058, 1828, 2059, 2049, 2050, 2051, 2052, 2053, 2054, 2060, 2055, 2056, 2057, 2058, 2059, 2061, 2060, 2062, 2063, 2064, 2065, 2066, 2067, 2061, 2068, 2069, 2070, 2071, 2072, 2062, 2073, 2063, 2064, 2065, 2066, 2067, 2068, 2074, 2069, 2070, 2071, 2072, 2073, 2075, 2074, 2076, 2077, 2078, 2079, 2080, 2081, 318, 2082, 2083, 2084, 2085, 2086, 2076, 2087, 1969, 27, 2077, 2080, 2081, 2082, 2088, 2083, 2084, 2085, 1855, 2087, 2089, 2088, 2090, 2091, 2092, 2093, 2094, 2095, 2089, 2096, 2097, 2098, 2099, 2100, 2090, 2101, 2091, 2092, 2093, 2094, 2095, 2096, 2102, 2097, 2098, 2099, 2100, 2101, 2103, 2102, 2104, 2105, 2106, 2107, 2108, 2109, 2103, 2110, 2111, 2112, 2113, 2114, 2104, 2115, 2105, 2106, 2107, 2108, 2109, 2110, 2116, 2111, 2112, 2113, 291, 2115, 2117, 2003, 2118, 2119, 2120, 2121, 2122, 2123, 26, 2124, 2125, 2126, 2127, 2128, 2118, 2129, 2037, 2116, 2121, 2122, 2123, 2124, 2130, 2125, 2126, 1883, 2128, 2129, 2131, 2130, 2132, 2133, 2134, 2135, 2136, 2137, 2131, 2138, 2139, 2140, 2141, 2142, 2132, 2143, 2133, 2134, 2135, 2136, 2137, 2138, 2144, 2139, 2140, 2141, 2142, 2143, 2145, 2144, 2146, 2147, 2148, 2149, 2150, 2151, 2145, 2152, 2153, 2154, 2155, 2156, 2146, 2157, 2147, 2148, 2149, 2150, 2151, 2152, 2158, 2153, 2154, 2155, 265, 2157, 2159, 2040, 2160, 2161, 2162, 2163, 2164, 2165, 25, 2166, 2167, 2168, 2169, 2170, 2160, 2171, 2075, 2158, 2163, 2164, 2165, 2166, 2172, 2167, 2168, 1912, 2170, 2078, 2173, 24, 2174, 2175, 2176, 2177, 2178, 2179, 2173, 2180, 2181, 2182, 2183, 2184, 2114, 2185, 2171, 2176, 2177, 2178, 2179, 2180, 2186, 2181, 1944, 2183, 2119, 23, 2187, 2186, 2188, 2189, 2190, 2191, 2192, 2193, 2156, 2194, 2195, 2196, 2197, 2198, 2188, 2199, 2184, 2190, 2174, 2192, 2193, 2161, 2200, 2195, 2182, 2197, 2198, 2169, 2201, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2185, 2208, 2209, 2210, 2211, 2212, 2202, 2213, 2203, 2172, 2205, 2206, 2207, 2159, 2217, 2209, 2210, 2211, 2212, 2117, 2218, 2214, 2219, 2220, 2221, 2222, 2223, 2224, 2218, 2225, 2226, 2227, 2228, 2229, 2219, 2230, 2220, 2127, 2222, 2223, 2224, 2225, 2231, 2086, 2216, 2228, 2229, 2230, 2232, 2231, 2233, 2234, 2235, 2236, 2237, 2239, 2232, 2240, 2241, 2242, 2243, 2244, 2048, 2245, 2226, 2215, 2234, 2233, 2238, 2240, 2246, 2241, 2242, 2243, 2244, 2245, 2246, 1977}; /* Check vector for state transitions. */ static const unsigned short geode_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2246, 1, 3, 7, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 1, 3, 7, 18, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 2246, 20, 21, 19, 57, 6, 6, 6, 6, 6, 6, 6, 6, 6, 22, 20, 21, 58, 57, 59, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 2246, 58, 60, 59, 61, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 2246, 60, 62, 61, 63, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 2246, 62, 64, 63, 104, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 2246, 64, 105, 104, 106, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 2246, 105, 107, 106, 108, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 2246, 107, 109, 108, 110, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 2246, 109, 111, 110, 112, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 2246, 111, 113, 112, 114, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 2246, 113, 115, 114, 116, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 2246, 115, 117, 116, 118, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 2246, 117, 119, 118, 120, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 2246, 119, 121, 120, 122, 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 2246, 121, 123, 122, 124, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 2246, 123, 125, 124, 126, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 2246, 125, 127, 126, 128, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 2246, 127, 129, 128, 130, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 2246, 129, 131, 130, 132, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 2246, 131, 133, 132, 134, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 2246, 133, 135, 134, 136, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 2246, 135, 137, 136, 138, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 2246, 137, 139, 138, 140, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 2246, 139, 141, 140, 142, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 2246, 141, 143, 142, 144, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 2246, 143, 145, 144, 146, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 2246, 145, 147, 146, 148, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 2246, 147, 149, 148, 150, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 2246, 149, 151, 150, 152, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 2246, 151, 153, 152, 154, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 2246, 153, 155, 154, 156, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 2246, 155, 157, 156, 158, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 2246, 157, 159, 158, 160, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 2246, 159, 161, 160, 162, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 2246, 161, 163, 162, 164, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 2246, 163, 165, 164, 166, 56, 56, 56, 56, 56, 56, 56, 56, 56, 2238, 2246, 165, 2246, 166, 2246, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2, 2, 2, 2, 2, 2, 8, 8, 8, 8, 8, 8, 2246, 2246, 2, 2246, 2246, 2246, 2246, 167, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 167, 2246, 9, 2246, 2246, 2246, 2246, 168, 10, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 168, 2246, 11, 2246, 2246, 2246, 2246, 169, 12, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 169, 2246, 13, 2246, 2246, 2246, 2246, 170, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 170, 2246, 15, 2246, 2246, 2246, 2246, 171, 16, 17, 17, 17, 17, 17, 17, 65, 65, 65, 65, 65, 65, 171, 2246, 17, 2246, 2246, 2246, 2246, 172, 65, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 172, 2246, 66, 2246, 2246, 2246, 2246, 173, 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 173, 2246, 68, 2246, 2246, 2246, 2246, 174, 69, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 174, 2246, 70, 2246, 2246, 2246, 2246, 175, 71, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 175, 2246, 72, 2246, 2246, 2246, 2246, 176, 73, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 176, 2246, 74, 2246, 2246, 2246, 2246, 177, 75, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 177, 2246, 76, 2246, 2246, 2246, 2246, 178, 77, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 178, 2246, 78, 2246, 2246, 2246, 2246, 179, 79, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 179, 2246, 80, 2246, 2246, 2246, 2246, 180, 81, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 180, 2246, 82, 2246, 2246, 2246, 2246, 181, 83, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 181, 2246, 84, 2246, 2246, 2246, 2246, 182, 85, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 182, 2246, 86, 2246, 2246, 2246, 2246, 183, 87, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 183, 2246, 88, 2246, 2246, 2246, 2246, 184, 89, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 184, 2246, 90, 2246, 2246, 2246, 2246, 185, 91, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 185, 2246, 92, 2246, 2246, 2246, 2246, 186, 93, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 186, 2246, 94, 2246, 2246, 2246, 2246, 187, 95, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 187, 2246, 96, 2246, 2246, 2246, 2246, 188, 97, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 188, 2246, 98, 2246, 2246, 2246, 2246, 189, 99, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 189, 2246, 100, 2246, 2246, 2246, 2246, 190, 101, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 190, 2246, 102, 2246, 2246, 2246, 2246, 191, 103, 2214, 2214, 2214, 2214, 2214, 2214, 2215, 2215, 2215, 2215, 2215, 2215, 191, 192, 2214, 193, 194, 195, 196, 197, 2215, 2216, 2216, 2216, 2216, 2216, 2216, 192, 198, 193, 194, 195, 196, 197, 199, 2216, 200, 201, 202, 203, 204, 205, 198, 206, 207, 208, 209, 210, 199, 211, 200, 201, 202, 203, 204, 205, 212, 206, 207, 208, 209, 210, 213, 211, 214, 215, 216, 217, 218, 219, 212, 220, 221, 222, 223, 224, 213, 225, 214, 215, 216, 217, 218, 219, 226, 220, 221, 222, 223, 224, 227, 225, 228, 229, 230, 231, 232, 233, 226, 234, 235, 236, 237, 238, 227, 239, 228, 229, 230, 231, 232, 233, 240, 234, 235, 236, 237, 238, 241, 239, 242, 243, 244, 245, 246, 247, 240, 248, 249, 250, 251, 252, 241, 253, 242, 243, 244, 245, 246, 247, 254, 248, 249, 250, 251, 252, 255, 253, 256, 257, 258, 259, 260, 261, 254, 262, 263, 264, 265, 266, 255, 267, 256, 257, 258, 259, 260, 261, 268, 262, 263, 264, 265, 266, 269, 267, 270, 271, 272, 273, 274, 275, 268, 276, 277, 278, 279, 280, 269, 281, 270, 271, 272, 273, 274, 275, 282, 276, 277, 278, 279, 280, 283, 281, 284, 285, 286, 287, 288, 289, 282, 290, 291, 292, 293, 294, 283, 295, 284, 285, 286, 287, 288, 289, 296, 290, 291, 292, 293, 294, 297, 295, 298, 299, 300, 301, 302, 303, 296, 304, 305, 306, 307, 308, 297, 309, 298, 299, 300, 301, 302, 303, 310, 304, 305, 306, 307, 308, 311, 309, 312, 313, 314, 315, 316, 317, 310, 318, 319, 320, 321, 322, 311, 323, 312, 313, 314, 315, 316, 317, 324, 318, 319, 320, 321, 322, 325, 323, 326, 327, 328, 329, 330, 331, 324, 332, 333, 334, 335, 336, 325, 337, 326, 327, 328, 329, 330, 331, 338, 332, 333, 334, 335, 336, 339, 337, 340, 341, 342, 343, 344, 345, 338, 346, 347, 348, 349, 350, 339, 351, 340, 341, 342, 343, 344, 345, 352, 346, 347, 348, 349, 350, 353, 351, 354, 355, 356, 357, 358, 359, 352, 360, 361, 362, 363, 364, 353, 365, 354, 355, 356, 357, 358, 359, 366, 360, 361, 362, 363, 364, 367, 365, 368, 369, 370, 371, 372, 373, 366, 374, 375, 376, 377, 378, 367, 379, 368, 369, 370, 371, 372, 373, 380, 374, 375, 376, 377, 378, 381, 379, 382, 383, 384, 385, 386, 387, 380, 388, 389, 390, 391, 392, 381, 393, 382, 383, 384, 385, 386, 387, 394, 388, 389, 390, 391, 392, 395, 393, 396, 397, 398, 399, 400, 401, 394, 402, 403, 404, 405, 406, 395, 407, 396, 397, 398, 399, 400, 401, 408, 402, 403, 404, 405, 406, 409, 407, 410, 411, 412, 413, 414, 415, 408, 416, 417, 418, 419, 420, 409, 421, 410, 411, 412, 413, 414, 415, 422, 416, 417, 418, 419, 420, 423, 421, 424, 425, 426, 427, 428, 429, 422, 430, 431, 432, 433, 434, 423, 435, 424, 425, 426, 427, 428, 429, 436, 430, 431, 432, 433, 434, 437, 435, 438, 439, 440, 441, 442, 443, 436, 444, 445, 446, 447, 448, 437, 449, 438, 439, 440, 441, 442, 443, 450, 444, 445, 446, 447, 448, 451, 449, 452, 453, 454, 455, 456, 457, 450, 458, 459, 460, 461, 462, 451, 463, 452, 453, 454, 455, 456, 457, 464, 458, 459, 460, 461, 462, 465, 463, 466, 467, 468, 469, 470, 471, 464, 472, 473, 474, 475, 476, 465, 477, 466, 467, 468, 469, 470, 471, 478, 472, 473, 474, 475, 476, 479, 477, 480, 481, 482, 483, 484, 485, 478, 486, 487, 488, 489, 490, 479, 491, 480, 481, 482, 483, 484, 485, 492, 486, 487, 488, 489, 490, 493, 491, 494, 495, 496, 497, 498, 499, 492, 500, 501, 502, 503, 504, 493, 505, 494, 495, 496, 497, 498, 499, 506, 500, 501, 502, 503, 504, 507, 505, 508, 509, 510, 511, 512, 513, 506, 514, 515, 516, 517, 518, 507, 519, 508, 509, 510, 511, 512, 513, 520, 514, 515, 516, 517, 518, 521, 519, 522, 523, 524, 525, 526, 527, 520, 528, 529, 530, 531, 532, 521, 533, 522, 523, 524, 525, 526, 527, 534, 528, 529, 530, 531, 532, 535, 533, 536, 537, 538, 539, 540, 541, 534, 542, 543, 544, 545, 546, 535, 547, 536, 537, 538, 539, 540, 541, 548, 542, 543, 544, 545, 546, 549, 547, 550, 551, 552, 553, 554, 555, 548, 556, 557, 558, 559, 560, 549, 561, 550, 551, 552, 553, 554, 555, 562, 556, 557, 558, 559, 560, 563, 561, 564, 565, 566, 567, 568, 569, 562, 570, 571, 572, 573, 574, 563, 575, 564, 565, 566, 567, 568, 569, 576, 570, 571, 572, 573, 574, 577, 575, 578, 579, 580, 581, 582, 583, 576, 584, 585, 586, 587, 588, 577, 589, 578, 579, 580, 581, 582, 583, 590, 584, 585, 586, 587, 588, 591, 589, 592, 593, 594, 595, 596, 597, 590, 598, 599, 600, 601, 602, 591, 603, 592, 593, 594, 595, 596, 597, 604, 598, 599, 600, 601, 602, 605, 603, 606, 607, 608, 609, 610, 611, 604, 612, 613, 614, 615, 616, 605, 617, 606, 607, 608, 609, 610, 611, 618, 612, 613, 614, 615, 616, 619, 617, 620, 621, 622, 623, 624, 625, 618, 626, 627, 628, 629, 630, 619, 631, 620, 621, 622, 623, 624, 625, 632, 626, 627, 628, 629, 630, 633, 631, 634, 635, 636, 637, 638, 639, 632, 640, 641, 642, 643, 644, 633, 645, 634, 635, 636, 637, 638, 639, 646, 640, 641, 642, 643, 644, 647, 645, 648, 649, 650, 651, 652, 653, 646, 654, 655, 656, 657, 658, 647, 659, 648, 649, 650, 651, 652, 653, 660, 654, 655, 656, 657, 658, 661, 659, 662, 663, 664, 665, 666, 667, 660, 668, 669, 670, 671, 672, 661, 673, 662, 663, 664, 665, 666, 667, 674, 668, 669, 670, 671, 672, 675, 673, 676, 677, 678, 679, 680, 681, 674, 682, 683, 684, 685, 686, 675, 687, 676, 677, 678, 679, 680, 681, 688, 682, 683, 684, 685, 686, 689, 687, 690, 691, 692, 693, 694, 695, 688, 696, 697, 698, 699, 700, 689, 701, 690, 691, 692, 693, 694, 695, 702, 696, 697, 698, 699, 700, 703, 701, 704, 705, 706, 707, 708, 709, 702, 710, 711, 712, 713, 714, 703, 715, 704, 705, 706, 707, 708, 709, 716, 710, 711, 712, 713, 714, 717, 715, 718, 719, 720, 721, 722, 723, 716, 724, 725, 726, 727, 728, 717, 729, 718, 719, 720, 721, 722, 723, 730, 724, 725, 726, 727, 728, 731, 729, 732, 733, 734, 735, 736, 737, 730, 738, 739, 740, 741, 742, 731, 743, 732, 733, 734, 735, 736, 737, 744, 738, 739, 740, 741, 742, 745, 743, 746, 747, 748, 749, 750, 751, 744, 752, 753, 754, 755, 756, 745, 757, 746, 747, 748, 749, 750, 751, 758, 752, 753, 754, 755, 756, 759, 757, 760, 761, 762, 763, 764, 765, 758, 766, 767, 768, 769, 770, 759, 771, 760, 761, 762, 763, 764, 765, 772, 766, 767, 768, 769, 770, 773, 771, 774, 775, 776, 777, 778, 779, 772, 780, 781, 782, 783, 784, 773, 785, 774, 775, 776, 777, 778, 779, 786, 780, 781, 782, 783, 784, 787, 785, 788, 789, 790, 791, 792, 793, 786, 794, 795, 796, 797, 798, 787, 799, 788, 789, 790, 791, 792, 793, 800, 794, 795, 796, 797, 798, 801, 799, 802, 803, 804, 805, 806, 807, 800, 808, 809, 810, 811, 812, 801, 813, 802, 803, 804, 805, 806, 807, 814, 808, 809, 810, 811, 812, 815, 813, 816, 817, 818, 819, 820, 821, 814, 822, 823, 824, 825, 826, 815, 827, 816, 817, 818, 819, 820, 821, 828, 822, 823, 824, 825, 826, 829, 827, 830, 831, 832, 833, 834, 835, 828, 836, 837, 838, 839, 840, 829, 841, 830, 831, 832, 833, 834, 835, 842, 836, 837, 838, 839, 840, 843, 841, 844, 845, 846, 847, 848, 849, 842, 850, 851, 852, 853, 854, 843, 855, 844, 845, 846, 847, 848, 849, 856, 850, 851, 852, 853, 854, 857, 855, 858, 859, 860, 861, 862, 863, 856, 864, 865, 866, 867, 868, 857, 869, 858, 859, 860, 861, 862, 863, 870, 864, 865, 866, 867, 868, 871, 869, 872, 873, 874, 875, 876, 877, 870, 878, 879, 880, 881, 882, 871, 883, 872, 873, 874, 875, 876, 877, 884, 878, 879, 880, 881, 882, 885, 883, 886, 887, 888, 889, 890, 891, 884, 892, 893, 894, 895, 896, 885, 897, 886, 887, 888, 889, 890, 891, 898, 892, 893, 894, 895, 896, 899, 897, 900, 901, 902, 903, 904, 905, 898, 906, 907, 908, 909, 910, 899, 911, 900, 901, 902, 903, 904, 905, 912, 906, 907, 908, 909, 910, 913, 911, 914, 915, 916, 917, 918, 919, 912, 920, 921, 922, 923, 924, 913, 925, 914, 915, 916, 917, 918, 919, 926, 920, 921, 922, 923, 924, 927, 925, 928, 929, 930, 931, 932, 933, 926, 934, 935, 936, 937, 938, 927, 939, 928, 929, 930, 931, 932, 933, 940, 934, 935, 936, 937, 938, 941, 939, 942, 943, 944, 945, 946, 947, 940, 948, 949, 950, 951, 952, 941, 953, 942, 943, 944, 945, 946, 947, 954, 948, 949, 950, 951, 952, 955, 953, 956, 957, 958, 959, 960, 961, 954, 962, 963, 964, 965, 966, 955, 967, 956, 957, 958, 959, 960, 961, 968, 962, 963, 964, 965, 966, 969, 967, 970, 971, 972, 973, 974, 975, 968, 976, 977, 978, 979, 980, 969, 981, 970, 971, 972, 973, 974, 975, 982, 976, 977, 978, 979, 980, 983, 981, 984, 985, 986, 987, 988, 989, 982, 990, 991, 992, 993, 994, 983, 995, 984, 985, 986, 987, 988, 989, 996, 990, 991, 992, 993, 994, 997, 995, 998, 999, 1000, 1001, 1002, 1003, 996, 1004, 1005, 1006, 1007, 1008, 997, 1009, 998, 999, 1000, 1001, 1002, 1003, 1010, 1004, 1005, 1006, 1007, 1008, 1011, 1009, 1012, 1013, 1014, 1015, 1016, 1017, 1010, 1018, 1019, 1020, 1021, 1022, 1011, 1023, 1012, 1013, 1014, 1015, 1016, 1017, 1024, 1018, 1019, 1020, 1021, 1022, 1025, 1023, 1026, 1027, 1028, 1029, 1030, 1031, 1024, 1032, 1033, 1034, 1035, 1036, 1025, 1037, 1026, 1027, 1028, 1029, 1030, 1031, 1038, 1032, 1033, 1034, 1035, 1036, 1039, 1037, 1040, 1041, 1042, 1043, 1044, 1045, 1038, 1046, 1047, 1048, 1049, 1050, 1039, 1051, 1040, 1041, 1042, 1043, 1044, 1045, 1052, 1046, 1047, 1048, 1049, 1050, 1053, 1051, 1054, 1055, 1056, 1057, 1058, 1059, 1052, 1060, 1061, 1062, 1063, 1064, 1053, 1065, 1054, 1055, 1056, 1057, 1058, 1059, 1066, 1060, 1061, 1062, 1063, 1064, 1067, 1065, 1068, 1069, 1070, 1071, 1072, 1073, 1066, 1074, 1075, 1076, 1077, 1078, 1067, 1079, 1068, 1069, 1070, 1071, 1072, 1073, 1080, 1074, 1075, 1076, 1077, 1078, 1081, 1079, 1082, 1083, 1084, 1085, 1086, 1087, 1080, 1088, 1089, 1090, 1091, 1092, 1081, 1093, 1082, 1083, 1084, 1085, 1086, 1087, 1094, 1088, 1089, 1090, 1091, 1092, 1095, 1093, 1096, 1097, 1098, 1099, 1100, 1101, 1094, 1102, 1103, 1104, 1105, 1106, 1095, 1107, 1096, 1097, 1098, 1099, 1100, 1101, 1108, 1102, 1103, 1104, 1105, 1106, 1109, 1107, 1110, 1111, 1112, 1113, 1114, 1115, 1108, 1116, 1117, 1118, 1119, 1120, 1109, 1121, 1110, 1111, 1112, 1113, 1114, 1115, 1122, 1116, 1117, 1118, 1119, 1120, 1123, 1121, 1124, 1125, 1126, 1127, 1128, 1129, 1122, 1130, 1131, 1132, 1133, 1134, 1123, 1135, 1124, 1125, 1126, 1127, 1128, 1129, 1136, 1130, 1131, 1132, 1133, 1134, 1137, 1135, 1138, 1139, 1140, 1141, 1142, 1143, 1136, 1144, 1145, 1146, 1147, 1148, 1137, 1149, 1138, 1139, 1140, 1141, 1142, 1143, 1150, 1144, 1145, 1146, 1147, 1148, 1151, 1149, 1152, 1153, 1154, 1155, 1156, 1157, 1150, 1158, 1159, 1160, 1161, 1162, 1151, 1163, 1152, 1153, 1154, 1155, 1156, 1157, 1164, 1158, 1159, 1160, 1161, 1162, 1165, 1163, 1166, 1167, 1168, 1169, 1170, 1171, 1164, 1172, 1173, 1174, 1175, 1176, 1165, 1177, 1166, 1167, 1168, 1169, 1170, 1171, 1178, 1172, 1173, 1174, 1175, 1176, 1179, 1177, 1180, 1181, 1182, 1183, 1184, 1185, 1178, 1186, 1187, 1188, 1189, 1190, 1179, 1191, 1180, 1181, 1182, 1183, 1184, 1185, 1192, 1186, 1187, 1188, 1189, 1190, 1193, 1191, 1194, 1195, 1196, 1197, 1198, 1199, 1192, 1200, 1201, 1202, 1203, 1204, 1193, 1205, 1194, 1195, 1196, 1197, 1198, 1199, 1206, 1200, 1201, 1202, 1203, 1204, 1207, 1205, 1208, 1209, 1210, 1211, 1212, 1213, 1206, 1214, 1215, 1216, 1217, 1218, 1207, 1219, 1208, 1209, 1210, 1211, 1212, 1213, 1220, 1214, 1215, 1216, 1217, 1218, 1221, 1219, 1222, 1223, 1224, 1225, 1226, 1227, 1220, 1228, 1229, 1230, 1231, 1232, 1221, 1233, 1222, 1223, 1224, 1225, 1226, 1227, 1234, 1228, 1229, 1230, 1231, 1232, 1235, 1233, 1236, 1237, 1238, 1239, 1240, 1241, 1234, 1242, 1243, 1244, 1245, 1246, 1235, 1247, 1236, 1237, 1238, 1239, 1240, 1241, 1248, 1242, 1243, 1244, 1245, 1246, 1249, 1247, 1250, 1251, 1252, 1253, 1254, 1255, 1248, 1256, 1257, 1258, 1259, 1260, 1249, 1261, 1250, 1251, 1252, 1253, 1254, 1255, 1262, 1256, 1257, 1258, 1259, 1260, 1263, 1261, 1264, 1265, 1266, 1267, 1268, 1269, 1262, 1270, 1271, 1272, 1273, 1274, 1263, 1275, 1264, 1265, 1266, 1267, 1268, 1269, 1276, 1270, 1271, 1272, 1273, 1274, 1277, 1275, 1278, 1279, 1280, 1281, 1282, 1283, 1276, 1284, 1285, 1286, 1287, 1288, 1277, 1289, 1278, 1279, 1280, 1281, 1282, 1283, 1290, 1284, 1285, 1286, 1287, 1288, 1291, 1289, 1292, 1293, 1294, 1295, 1296, 1297, 1290, 1298, 1299, 1300, 1301, 1302, 1291, 1303, 1292, 1293, 1294, 1295, 1296, 1297, 1304, 1298, 1299, 1300, 1301, 1302, 1305, 1303, 1306, 1307, 1308, 1309, 1310, 1311, 1304, 1312, 1313, 1314, 1315, 1316, 1305, 1317, 1306, 1307, 1308, 1309, 1310, 1311, 1318, 1312, 1313, 1314, 1315, 1316, 1319, 1317, 1320, 1321, 1322, 1323, 1324, 1325, 1318, 1326, 1327, 1328, 1329, 1330, 1319, 1331, 1320, 1321, 1322, 1323, 1324, 1325, 1332, 1326, 1327, 1328, 1329, 1330, 1333, 1331, 1334, 1335, 1336, 1337, 1338, 1339, 1332, 1340, 1341, 1342, 1343, 1344, 1333, 1345, 1334, 1335, 1336, 1337, 1338, 1339, 1346, 1340, 1341, 1342, 1343, 1344, 1347, 1345, 1348, 1349, 1350, 1351, 1352, 1353, 1346, 1354, 1355, 1356, 1357, 1358, 1347, 1359, 1348, 1349, 1350, 1351, 1352, 1353, 1360, 1354, 1355, 1356, 1357, 1358, 1361, 1359, 1362, 1363, 1364, 1365, 1366, 1367, 1360, 1368, 1369, 1370, 1371, 1372, 1361, 1373, 1362, 1363, 1364, 1365, 1366, 1367, 1374, 1368, 1369, 1370, 1371, 1372, 1375, 1373, 1376, 1377, 1378, 1379, 1380, 1381, 1374, 1382, 1383, 1384, 1385, 1386, 1375, 1387, 1376, 1377, 1378, 1379, 1380, 1381, 1388, 1382, 1383, 1384, 1385, 1386, 1389, 1387, 1390, 1391, 1392, 1393, 1394, 1395, 1388, 1396, 1397, 1398, 1399, 1400, 1389, 1401, 1390, 1391, 1392, 1393, 1394, 1395, 1402, 1396, 1397, 1398, 1399, 1400, 1403, 1401, 1404, 1405, 1406, 1407, 1408, 1409, 1402, 1410, 1411, 1412, 1413, 1414, 1403, 1415, 1404, 1405, 1406, 1407, 1408, 1409, 1416, 1410, 1411, 1412, 1413, 1414, 1417, 1415, 1418, 1419, 1420, 1421, 1422, 1423, 1416, 1424, 1425, 1426, 1427, 1428, 1417, 1429, 1418, 1419, 1420, 1421, 1422, 1423, 1430, 1424, 1425, 1426, 1427, 1428, 1431, 1429, 1432, 1433, 1434, 1435, 1436, 1437, 1430, 1438, 1439, 1440, 1441, 1442, 1431, 1443, 1432, 1433, 1434, 1435, 1436, 1437, 1444, 1438, 1439, 1440, 1441, 1442, 1445, 1443, 1446, 1447, 1448, 1449, 1450, 1451, 1444, 1452, 1453, 1454, 1455, 1456, 1445, 1457, 1446, 1447, 1448, 1449, 1450, 1451, 1458, 1452, 1453, 1454, 1455, 1456, 1459, 1457, 1460, 1461, 1462, 1463, 1464, 1465, 1458, 1466, 1467, 1468, 1469, 1470, 1459, 1471, 1460, 1461, 1462, 1463, 1464, 1465, 1472, 1466, 1467, 1468, 1469, 1470, 1473, 1471, 1474, 1475, 1476, 1477, 1478, 1479, 1472, 1480, 1481, 1482, 1483, 1484, 1473, 1485, 1474, 1475, 1476, 1477, 1478, 1479, 1486, 1480, 1481, 1482, 1483, 1484, 1487, 1485, 1488, 1489, 1490, 1491, 1492, 1493, 1486, 1494, 1495, 1496, 1497, 1498, 1487, 1499, 1488, 1489, 1490, 1491, 1492, 1493, 1500, 1494, 1495, 1496, 1497, 1498, 1501, 1499, 1502, 1503, 1504, 1505, 1506, 1507, 1500, 1508, 1509, 1510, 1511, 1512, 1501, 1513, 1502, 1503, 1504, 1505, 1506, 1507, 1514, 1508, 1509, 1510, 1511, 1512, 1515, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1514, 1522, 1523, 1524, 1525, 1526, 1515, 1527, 1516, 1517, 1518, 1519, 1520, 1521, 1528, 1522, 1523, 1524, 1525, 1526, 1529, 1527, 1530, 1531, 1532, 1533, 1534, 1535, 1528, 1536, 1537, 1538, 1539, 1540, 1529, 1541, 1530, 1531, 1532, 1533, 1534, 1535, 1542, 1536, 1537, 1538, 1539, 1540, 1543, 1541, 1544, 1545, 1546, 1547, 1548, 1549, 1542, 1550, 1551, 1552, 1553, 1554, 1543, 1555, 1544, 1545, 1546, 1547, 1548, 1549, 1556, 1550, 1551, 1552, 1553, 1554, 1557, 1555, 1558, 1559, 1560, 1561, 1562, 1563, 1556, 1564, 1565, 1566, 1567, 1568, 1557, 1569, 1558, 1559, 1560, 1561, 1562, 1563, 1570, 1564, 1565, 1566, 1567, 1568, 1571, 1569, 1572, 1573, 1574, 1575, 1576, 1577, 1570, 1578, 1579, 1580, 1581, 1582, 1571, 1583, 1572, 1573, 1574, 1575, 1576, 1577, 1584, 1578, 1579, 1580, 1581, 1582, 1585, 1583, 1586, 1587, 1588, 1589, 1590, 1591, 1584, 1592, 1593, 1594, 1595, 1596, 1585, 1597, 1586, 1587, 1588, 1589, 1590, 1591, 1598, 1592, 1593, 1594, 1595, 1596, 1599, 1597, 1600, 1601, 1602, 1603, 1604, 1605, 1598, 1606, 1607, 1608, 1609, 1610, 1599, 1611, 1600, 1601, 1602, 1603, 1604, 1605, 1612, 1606, 1607, 1608, 1609, 1610, 1613, 1611, 1614, 1615, 1616, 1617, 1618, 1619, 1612, 1620, 1621, 1622, 1623, 1624, 1613, 1625, 1614, 1615, 1616, 1617, 1618, 1619, 1626, 1620, 1621, 1622, 1623, 1624, 1627, 1625, 1628, 1629, 1630, 1631, 1632, 1633, 1626, 1634, 1635, 1636, 1637, 1638, 1627, 1639, 1628, 1629, 1630, 1631, 1632, 1633, 1640, 1634, 1635, 1636, 1637, 1638, 1641, 1639, 1642, 1643, 1644, 1645, 1646, 1647, 1640, 1648, 1649, 1650, 1651, 1652, 1641, 1653, 1642, 1643, 1644, 1645, 1646, 1647, 1654, 1648, 1649, 1650, 1651, 1652, 1655, 1653, 1656, 1657, 1658, 1659, 1660, 1661, 1654, 1662, 1663, 1664, 1665, 1666, 1655, 1667, 1656, 1657, 1658, 1659, 1660, 1661, 1668, 1662, 1663, 1664, 1665, 1666, 1669, 1667, 1670, 1671, 1672, 1673, 1674, 1675, 1668, 1676, 1677, 1678, 1679, 1680, 1669, 1681, 1670, 1671, 1672, 1673, 1674, 1675, 1682, 1676, 1677, 1678, 1679, 1680, 1683, 1681, 1684, 1685, 1686, 1687, 1688, 1689, 1682, 1690, 1691, 1692, 1693, 1694, 1683, 1695, 1684, 1685, 1686, 1687, 1688, 1689, 1696, 1690, 1691, 1692, 1693, 1694, 1697, 1695, 1698, 1699, 1700, 1701, 1702, 1703, 1696, 1704, 1705, 1706, 1707, 1708, 1697, 1709, 1698, 1699, 1700, 1701, 1702, 1703, 1710, 1704, 1705, 1706, 1707, 1708, 1711, 1709, 1712, 1713, 1714, 1715, 1716, 1717, 1710, 1718, 1719, 1720, 1721, 1722, 1711, 1723, 1712, 1713, 1714, 1715, 1716, 1717, 1724, 1718, 1719, 1720, 1721, 1722, 1725, 1723, 1726, 1727, 1728, 1729, 1730, 1731, 1724, 1732, 1733, 1734, 1735, 1736, 1725, 1737, 1726, 1727, 1728, 1729, 1730, 1731, 1738, 1732, 1733, 1734, 1735, 1736, 1739, 1737, 1740, 1741, 1742, 1743, 1744, 1745, 1738, 1746, 1747, 1748, 1749, 1750, 1739, 1751, 1740, 1741, 1742, 1743, 1744, 1745, 1752, 1746, 1747, 1748, 1749, 1750, 1753, 1751, 1754, 1755, 1756, 1757, 1758, 1759, 1752, 1760, 1761, 1762, 1763, 1764, 1753, 1765, 1754, 1755, 1756, 1757, 1758, 1759, 1766, 1760, 1761, 1762, 1763, 1764, 1767, 1765, 1768, 1769, 1770, 1771, 1772, 1773, 1766, 1774, 1775, 1776, 1777, 1778, 1767, 1779, 1768, 1769, 1770, 1771, 1772, 1773, 1780, 1774, 1775, 1776, 1777, 1778, 1781, 1779, 1782, 1783, 1784, 1785, 1786, 1787, 1780, 1788, 1789, 1790, 1791, 1792, 1781, 1793, 1782, 1783, 1784, 1785, 1786, 1787, 1794, 1788, 1789, 1790, 1791, 1792, 1795, 1793, 1796, 1797, 1798, 1799, 1800, 1801, 1794, 1802, 1803, 1804, 1805, 1806, 1795, 1807, 1796, 1797, 1798, 1799, 1800, 1801, 1808, 1802, 1803, 1804, 1805, 1806, 1809, 1807, 1810, 1811, 1812, 1813, 1814, 1815, 1808, 1816, 1817, 1818, 1819, 1820, 1809, 1821, 1810, 1811, 1812, 1813, 1814, 1815, 1822, 1816, 1817, 1818, 1819, 1820, 1823, 1821, 1824, 1825, 1826, 1827, 1828, 1829, 1822, 1830, 1831, 1832, 1833, 1834, 1823, 1835, 1824, 1825, 1826, 1827, 1828, 1829, 1836, 1830, 1831, 1832, 1833, 1834, 1837, 1835, 1838, 1839, 1840, 1841, 1842, 1843, 1836, 1844, 1845, 1846, 1847, 1848, 1837, 1849, 1838, 1839, 1840, 1841, 1842, 1843, 1850, 1844, 1845, 1846, 1847, 1848, 1851, 1849, 1852, 1853, 1854, 1855, 1856, 1857, 1850, 1858, 1859, 1860, 1861, 1862, 1851, 1863, 1852, 1853, 1854, 1855, 1856, 1857, 1864, 1858, 1859, 1860, 1861, 1862, 1865, 1863, 1866, 1867, 1868, 1869, 1870, 1871, 1864, 1872, 1873, 1874, 1875, 1876, 1865, 1877, 1866, 1867, 1868, 1869, 1870, 1871, 1878, 1872, 1873, 1874, 1875, 1876, 1879, 1877, 1880, 1881, 1882, 1883, 1884, 1885, 1878, 1886, 1887, 1888, 1889, 1890, 1879, 1891, 1880, 1881, 1882, 1883, 1884, 1885, 1892, 1886, 1887, 1888, 1889, 1890, 1893, 1891, 1894, 1895, 1896, 1897, 1898, 1899, 1892, 1900, 1901, 1902, 1903, 1904, 1893, 1905, 1894, 1895, 1896, 1897, 1898, 1899, 1906, 1900, 1901, 1902, 1903, 1904, 1907, 1905, 1908, 1909, 1910, 1911, 1912, 1913, 1906, 1914, 1915, 1916, 1917, 1918, 1907, 1919, 1908, 1909, 1910, 1911, 1912, 1913, 1920, 1914, 1915, 1916, 1917, 1918, 1921, 1919, 1922, 1923, 1924, 1925, 1926, 1927, 1920, 1928, 1929, 1930, 1931, 1932, 1921, 1933, 1922, 1923, 1924, 1925, 1926, 1927, 1934, 1928, 1929, 1930, 1931, 1932, 1935, 1933, 1936, 1937, 1938, 1939, 1940, 1941, 1934, 1942, 1943, 1944, 1945, 1946, 1935, 1947, 1936, 1937, 1938, 1939, 1940, 1941, 1948, 1942, 1943, 1944, 1945, 1946, 1949, 1947, 1950, 1951, 1952, 1953, 1954, 1955, 1948, 1956, 1957, 1958, 1959, 1960, 1949, 1961, 1950, 1951, 1952, 1953, 1954, 1955, 1962, 1956, 1957, 1958, 1959, 1960, 1963, 1961, 1964, 1965, 1966, 1967, 1968, 1969, 1962, 1970, 1971, 1972, 1973, 1974, 1963, 1975, 1964, 1965, 1966, 1967, 1968, 1969, 1976, 1970, 1971, 1972, 1973, 1974, 1977, 1975, 1978, 1979, 1980, 1981, 1982, 1983, 1976, 1984, 1985, 1986, 1987, 1988, 1977, 1989, 1978, 1979, 1980, 1981, 1982, 1983, 1990, 1984, 1985, 1986, 1987, 1988, 1991, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1990, 1998, 1999, 2000, 2001, 2002, 1991, 2003, 1992, 1993, 1994, 1995, 1996, 1997, 2004, 1998, 1999, 2000, 2001, 2002, 2005, 2003, 2006, 2007, 2008, 2009, 2010, 2011, 2004, 2012, 2013, 2014, 2015, 2016, 2005, 2017, 2006, 2007, 2008, 2009, 2010, 2011, 2018, 2012, 2013, 2014, 2015, 2016, 2019, 2017, 2020, 2021, 2022, 2023, 2024, 2025, 2018, 2026, 2027, 2028, 2029, 2030, 2019, 2031, 2020, 2021, 2022, 2023, 2024, 2025, 2032, 2026, 2027, 2028, 2029, 2030, 2033, 2031, 2034, 2035, 2036, 2037, 2038, 2039, 2032, 2040, 2041, 2042, 2043, 2044, 2033, 2045, 2034, 2035, 2036, 2037, 2038, 2039, 2046, 2040, 2041, 2042, 2043, 2044, 2047, 2045, 2048, 2049, 2050, 2051, 2052, 2053, 2046, 2054, 2055, 2056, 2057, 2058, 2047, 2059, 2048, 2049, 2050, 2051, 2052, 2053, 2060, 2054, 2055, 2056, 2057, 2058, 2061, 2059, 2062, 2063, 2064, 2065, 2066, 2067, 2060, 2068, 2069, 2070, 2071, 2072, 2061, 2073, 2062, 2063, 2064, 2065, 2066, 2067, 2074, 2068, 2069, 2070, 2071, 2072, 2075, 2073, 2076, 2077, 2078, 2079, 2080, 2081, 2074, 2082, 2083, 2084, 2085, 2086, 2075, 2087, 2076, 2077, 2078, 2079, 2080, 2081, 2088, 2082, 2083, 2084, 2085, 2086, 2089, 2087, 2090, 2091, 2092, 2093, 2094, 2095, 2088, 2096, 2097, 2098, 2099, 2100, 2089, 2101, 2090, 2091, 2092, 2093, 2094, 2095, 2102, 2096, 2097, 2098, 2099, 2100, 2103, 2101, 2104, 2105, 2106, 2107, 2108, 2109, 2102, 2110, 2111, 2112, 2113, 2114, 2103, 2115, 2104, 2105, 2106, 2107, 2108, 2109, 2116, 2110, 2111, 2112, 2113, 2114, 2117, 2115, 2118, 2119, 2120, 2121, 2122, 2123, 2116, 2124, 2125, 2126, 2127, 2128, 2117, 2129, 2118, 2119, 2120, 2121, 2122, 2123, 2130, 2124, 2125, 2126, 2127, 2128, 2131, 2129, 2132, 2133, 2134, 2135, 2136, 2137, 2130, 2138, 2139, 2140, 2141, 2142, 2131, 2143, 2132, 2133, 2134, 2135, 2136, 2137, 2144, 2138, 2139, 2140, 2141, 2142, 2145, 2143, 2146, 2147, 2148, 2149, 2150, 2151, 2144, 2152, 2153, 2154, 2155, 2156, 2145, 2157, 2146, 2147, 2148, 2149, 2150, 2151, 2158, 2152, 2153, 2154, 2155, 2156, 2159, 2157, 2160, 2161, 2162, 2163, 2164, 2165, 2158, 2166, 2167, 2168, 2169, 2170, 2159, 2171, 2160, 2161, 2162, 2163, 2164, 2165, 2172, 2166, 2167, 2168, 2169, 2170, 2173, 2171, 2174, 2175, 2176, 2177, 2178, 2179, 2172, 2180, 2181, 2182, 2183, 2184, 2173, 2185, 2174, 2175, 2176, 2177, 2178, 2179, 2186, 2180, 2181, 2182, 2183, 2184, 2187, 2185, 2188, 2189, 2190, 2191, 2192, 2193, 2186, 2194, 2195, 2196, 2197, 2198, 2187, 2199, 2188, 2189, 2190, 2191, 2192, 2193, 2200, 2194, 2195, 2196, 2197, 2198, 2201, 2199, 2202, 2203, 2204, 2205, 2206, 2207, 2200, 2208, 2209, 2210, 2211, 2212, 2201, 2213, 2202, 2203, 2204, 2205, 2206, 2207, 2217, 2208, 2209, 2210, 2211, 2212, 2218, 2213, 2219, 2220, 2221, 2222, 2223, 2224, 2217, 2225, 2226, 2227, 2228, 2229, 2218, 2230, 2219, 2220, 2221, 2222, 2223, 2224, 2231, 2225, 2226, 2227, 2228, 2229, 2232, 2230, 2233, 2234, 2235, 2236, 2237, 2239, 2231, 2240, 2241, 2242, 2243, 2244, 2232, 2245, 2233, 2234, 2235, 2236, 2237, 2239, 2246, 2240, 2241, 2242, 2243, 2244, 2246, 2245}; /* Base vector for state transitions. */ static const unsigned short geode_base[] = { 0, 17, 600, 18, 15, 30, 45, 19, 606, 621, 627, 642, 648, 663, 669, 684, 690, 705, 20, 35, 47, 48, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375, 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, 540, 555, 570, 50, 63, 65, 78, 80, 93, 95, 108, 711, 726, 732, 747, 753, 768, 774, 789, 795, 810, 816, 831, 837, 852, 858, 873, 879, 894, 900, 915, 921, 936, 942, 957, 963, 978, 984, 999, 1005, 1020, 1026, 1041, 1047, 1062, 1068, 1083, 1089, 1104, 1110, 110, 123, 125, 138, 140, 153, 155, 168, 170, 183, 185, 198, 200, 213, 215, 228, 230, 243, 245, 258, 260, 273, 275, 288, 290, 303, 305, 318, 320, 333, 335, 348, 350, 363, 365, 378, 380, 393, 395, 408, 410, 423, 425, 438, 440, 453, 455, 468, 470, 483, 485, 498, 500, 513, 515, 528, 530, 543, 545, 558, 560, 573, 575, 619, 640, 661, 682, 703, 724, 745, 766, 787, 808, 829, 850, 871, 892, 913, 934, 955, 976, 997, 1018, 1039, 1060, 1081, 1102, 1123, 1138, 1140, 1141, 1142, 1143, 1144, 1153, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1168, 1169, 1170, 1171, 1172, 1174, 1181, 1187, 1189, 1190, 1191, 1192, 1193, 1194, 1196, 1197, 1198, 1199, 1200, 1202, 1209, 1215, 1217, 1218, 1219, 1220, 1221, 1222, 1224, 1225, 1226, 1227, 1228, 1230, 1237, 1243, 1245, 1246, 1247, 1248, 1249, 1250, 1252, 1253, 1254, 1255, 1256, 1258, 1265, 1271, 1273, 1274, 1275, 1276, 1277, 1278, 1280, 1281, 1282, 1283, 1284, 1286, 1293, 1299, 1301, 1302, 1303, 1304, 1305, 1306, 1308, 1309, 1310, 1311, 1312, 1314, 1321, 1327, 1329, 1330, 1331, 1332, 1333, 1334, 1336, 1337, 1338, 1339, 1340, 1342, 1349, 1355, 1357, 1358, 1359, 1360, 1361, 1362, 1364, 1365, 1366, 1367, 1368, 1370, 1377, 1383, 1385, 1386, 1387, 1388, 1389, 1390, 1392, 1393, 1394, 1395, 1396, 1398, 1405, 1411, 1413, 1414, 1415, 1416, 1417, 1418, 1420, 1421, 1422, 1423, 1424, 1426, 1433, 1439, 1441, 1442, 1443, 1444, 1445, 1446, 1448, 1449, 1450, 1451, 1452, 1454, 1461, 1467, 1469, 1470, 1471, 1472, 1473, 1474, 1476, 1477, 1478, 1479, 1480, 1482, 1489, 1495, 1497, 1498, 1499, 1500, 1501, 1502, 1504, 1505, 1506, 1507, 1508, 1510, 1517, 1523, 1525, 1526, 1527, 1528, 1529, 1530, 1532, 1533, 1534, 1535, 1536, 1538, 1545, 1551, 1553, 1554, 1555, 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1566, 1573, 1579, 1581, 1582, 1583, 1584, 1585, 1586, 1588, 1589, 1590, 1591, 1592, 1594, 1601, 1607, 1609, 1610, 1611, 1612, 1613, 1614, 1616, 1617, 1618, 1619, 1620, 1622, 1629, 1635, 1637, 1638, 1639, 1640, 1641, 1642, 1644, 1645, 1646, 1647, 1648, 1650, 1657, 1663, 1665, 1666, 1667, 1668, 1669, 1670, 1672, 1673, 1674, 1675, 1676, 1678, 1685, 1691, 1693, 1694, 1695, 1696, 1697, 1698, 1700, 1701, 1702, 1703, 1704, 1706, 1713, 1719, 1721, 1722, 1723, 1724, 1725, 1726, 1728, 1729, 1730, 1731, 1732, 1734, 1741, 1747, 1749, 1750, 1751, 1752, 1753, 1754, 1756, 1757, 1758, 1759, 1760, 1762, 1769, 1775, 1777, 1778, 1779, 1780, 1781, 1782, 1784, 1785, 1786, 1787, 1788, 1790, 1797, 1803, 1805, 1806, 1807, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1818, 1825, 1831, 1833, 1834, 1835, 1836, 1837, 1838, 1840, 1841, 1842, 1843, 1844, 1846, 1853, 1859, 1861, 1862, 1863, 1864, 1865, 1866, 1868, 1869, 1870, 1871, 1872, 1874, 1881, 1887, 1889, 1890, 1891, 1892, 1893, 1894, 1896, 1897, 1898, 1899, 1900, 1902, 1909, 1915, 1917, 1918, 1919, 1920, 1921, 1922, 1924, 1925, 1926, 1927, 1928, 1930, 1937, 1943, 1945, 1946, 1947, 1948, 1949, 1950, 1952, 1953, 1954, 1955, 1956, 1958, 1965, 1971, 1973, 1974, 1975, 1976, 1977, 1978, 1980, 1981, 1982, 1983, 1984, 1986, 1993, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011, 2012, 2014, 2021, 2027, 2029, 2030, 2031, 2032, 2033, 2034, 2036, 2037, 2038, 2039, 2040, 2042, 2049, 2055, 2057, 2058, 2059, 2060, 2061, 2062, 2064, 2065, 2066, 2067, 2068, 2070, 2077, 2083, 2085, 2086, 2087, 2088, 2089, 2090, 2092, 2093, 2094, 2095, 2096, 2098, 2105, 2111, 2113, 2114, 2115, 2116, 2117, 2118, 2120, 2121, 2122, 2123, 2124, 2126, 2133, 2139, 2141, 2142, 2143, 2144, 2145, 2146, 2148, 2149, 2150, 2151, 2152, 2154, 2161, 2167, 2169, 2170, 2171, 2172, 2173, 2174, 2176, 2177, 2178, 2179, 2180, 2182, 2189, 2195, 2197, 2198, 2199, 2200, 2201, 2202, 2204, 2205, 2206, 2207, 2208, 2210, 2217, 2223, 2225, 2226, 2227, 2228, 2229, 2230, 2232, 2233, 2234, 2235, 2236, 2238, 2245, 2251, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2262, 2263, 2264, 2266, 2273, 2279, 2281, 2282, 2283, 2284, 2285, 2286, 2288, 2289, 2290, 2291, 2292, 2294, 2301, 2307, 2309, 2310, 2311, 2312, 2313, 2314, 2316, 2317, 2318, 2319, 2320, 2322, 2329, 2335, 2337, 2338, 2339, 2340, 2341, 2342, 2344, 2345, 2346, 2347, 2348, 2350, 2357, 2363, 2365, 2366, 2367, 2368, 2369, 2370, 2372, 2373, 2374, 2375, 2376, 2378, 2385, 2391, 2393, 2394, 2395, 2396, 2397, 2398, 2400, 2401, 2402, 2403, 2404, 2406, 2413, 2419, 2421, 2422, 2423, 2424, 2425, 2426, 2428, 2429, 2430, 2431, 2432, 2434, 2441, 2447, 2449, 2450, 2451, 2452, 2453, 2454, 2456, 2457, 2458, 2459, 2460, 2462, 2469, 2475, 2477, 2478, 2479, 2480, 2481, 2482, 2484, 2485, 2486, 2487, 2488, 2490, 2497, 2503, 2505, 2506, 2507, 2508, 2509, 2510, 2512, 2513, 2514, 2515, 2516, 2518, 2525, 2531, 2533, 2534, 2535, 2536, 2537, 2538, 2540, 2541, 2542, 2543, 2544, 2546, 2553, 2559, 2561, 2562, 2563, 2564, 2565, 2566, 2568, 2569, 2570, 2571, 2572, 2574, 2581, 2587, 2589, 2590, 2591, 2592, 2593, 2594, 2596, 2597, 2598, 2599, 2600, 2602, 2609, 2615, 2617, 2618, 2619, 2620, 2621, 2622, 2624, 2625, 2626, 2627, 2628, 2630, 2637, 2643, 2645, 2646, 2647, 2648, 2649, 2650, 2652, 2653, 2654, 2655, 2656, 2658, 2665, 2671, 2673, 2674, 2675, 2676, 2677, 2678, 2680, 2681, 2682, 2683, 2684, 2686, 2693, 2699, 2701, 2702, 2703, 2704, 2705, 2706, 2708, 2709, 2710, 2711, 2712, 2714, 2721, 2727, 2729, 2730, 2731, 2732, 2733, 2734, 2736, 2737, 2738, 2739, 2740, 2742, 2749, 2755, 2757, 2758, 2759, 2760, 2761, 2762, 2764, 2765, 2766, 2767, 2768, 2770, 2777, 2783, 2785, 2786, 2787, 2788, 2789, 2790, 2792, 2793, 2794, 2795, 2796, 2798, 2805, 2811, 2813, 2814, 2815, 2816, 2817, 2818, 2820, 2821, 2822, 2823, 2824, 2826, 2833, 2839, 2841, 2842, 2843, 2844, 2845, 2846, 2848, 2849, 2850, 2851, 2852, 2854, 2861, 2867, 2869, 2870, 2871, 2872, 2873, 2874, 2876, 2877, 2878, 2879, 2880, 2882, 2889, 2895, 2897, 2898, 2899, 2900, 2901, 2902, 2904, 2905, 2906, 2907, 2908, 2910, 2917, 2923, 2925, 2926, 2927, 2928, 2929, 2930, 2932, 2933, 2934, 2935, 2936, 2938, 2945, 2951, 2953, 2954, 2955, 2956, 2957, 2958, 2960, 2961, 2962, 2963, 2964, 2966, 2973, 2979, 2981, 2982, 2983, 2984, 2985, 2986, 2988, 2989, 2990, 2991, 2992, 2994, 3001, 3007, 3009, 3010, 3011, 3012, 3013, 3014, 3016, 3017, 3018, 3019, 3020, 3022, 3029, 3035, 3037, 3038, 3039, 3040, 3041, 3042, 3044, 3045, 3046, 3047, 3048, 3050, 3057, 3063, 3065, 3066, 3067, 3068, 3069, 3070, 3072, 3073, 3074, 3075, 3076, 3078, 3085, 3091, 3093, 3094, 3095, 3096, 3097, 3098, 3100, 3101, 3102, 3103, 3104, 3106, 3113, 3119, 3121, 3122, 3123, 3124, 3125, 3126, 3128, 3129, 3130, 3131, 3132, 3134, 3141, 3147, 3149, 3150, 3151, 3152, 3153, 3154, 3156, 3157, 3158, 3159, 3160, 3162, 3169, 3175, 3177, 3178, 3179, 3180, 3181, 3182, 3184, 3185, 3186, 3187, 3188, 3190, 3197, 3203, 3205, 3206, 3207, 3208, 3209, 3210, 3212, 3213, 3214, 3215, 3216, 3218, 3225, 3231, 3233, 3234, 3235, 3236, 3237, 3238, 3240, 3241, 3242, 3243, 3244, 3246, 3253, 3259, 3261, 3262, 3263, 3264, 3265, 3266, 3268, 3269, 3270, 3271, 3272, 3274, 3281, 3287, 3289, 3290, 3291, 3292, 3293, 3294, 3296, 3297, 3298, 3299, 3300, 3302, 3309, 3315, 3317, 3318, 3319, 3320, 3321, 3322, 3324, 3325, 3326, 3327, 3328, 3330, 3337, 3343, 3345, 3346, 3347, 3348, 3349, 3350, 3352, 3353, 3354, 3355, 3356, 3358, 3365, 3371, 3373, 3374, 3375, 3376, 3377, 3378, 3380, 3381, 3382, 3383, 3384, 3386, 3393, 3399, 3401, 3402, 3403, 3404, 3405, 3406, 3408, 3409, 3410, 3411, 3412, 3414, 3421, 3427, 3429, 3430, 3431, 3432, 3433, 3434, 3436, 3437, 3438, 3439, 3440, 3442, 3449, 3455, 3457, 3458, 3459, 3460, 3461, 3462, 3464, 3465, 3466, 3467, 3468, 3470, 3477, 3483, 3485, 3486, 3487, 3488, 3489, 3490, 3492, 3493, 3494, 3495, 3496, 3498, 3505, 3511, 3513, 3514, 3515, 3516, 3517, 3518, 3520, 3521, 3522, 3523, 3524, 3526, 3533, 3539, 3541, 3542, 3543, 3544, 3545, 3546, 3548, 3549, 3550, 3551, 3552, 3554, 3561, 3567, 3569, 3570, 3571, 3572, 3573, 3574, 3576, 3577, 3578, 3579, 3580, 3582, 3589, 3595, 3597, 3598, 3599, 3600, 3601, 3602, 3604, 3605, 3606, 3607, 3608, 3610, 3617, 3623, 3625, 3626, 3627, 3628, 3629, 3630, 3632, 3633, 3634, 3635, 3636, 3638, 3645, 3651, 3653, 3654, 3655, 3656, 3657, 3658, 3660, 3661, 3662, 3663, 3664, 3666, 3673, 3679, 3681, 3682, 3683, 3684, 3685, 3686, 3688, 3689, 3690, 3691, 3692, 3694, 3701, 3707, 3709, 3710, 3711, 3712, 3713, 3714, 3716, 3717, 3718, 3719, 3720, 3722, 3729, 3735, 3737, 3738, 3739, 3740, 3741, 3742, 3744, 3745, 3746, 3747, 3748, 3750, 3757, 3763, 3765, 3766, 3767, 3768, 3769, 3770, 3772, 3773, 3774, 3775, 3776, 3778, 3785, 3791, 3793, 3794, 3795, 3796, 3797, 3798, 3800, 3801, 3802, 3803, 3804, 3806, 3813, 3819, 3821, 3822, 3823, 3824, 3825, 3826, 3828, 3829, 3830, 3831, 3832, 3834, 3841, 3847, 3849, 3850, 3851, 3852, 3853, 3854, 3856, 3857, 3858, 3859, 3860, 3862, 3869, 3875, 3877, 3878, 3879, 3880, 3881, 3882, 3884, 3885, 3886, 3887, 3888, 3890, 3897, 3903, 3905, 3906, 3907, 3908, 3909, 3910, 3912, 3913, 3914, 3915, 3916, 3918, 3925, 3931, 3933, 3934, 3935, 3936, 3937, 3938, 3940, 3941, 3942, 3943, 3944, 3946, 3953, 3959, 3961, 3962, 3963, 3964, 3965, 3966, 3968, 3969, 3970, 3971, 3972, 3974, 3981, 3987, 3989, 3990, 3991, 3992, 3993, 3994, 3996, 3997, 3998, 3999, 4000, 4002, 4009, 4015, 4017, 4018, 4019, 4020, 4021, 4022, 4024, 4025, 4026, 4027, 4028, 4030, 4037, 4043, 4045, 4046, 4047, 4048, 4049, 4050, 4052, 4053, 4054, 4055, 4056, 4058, 4065, 4071, 4073, 4074, 4075, 4076, 4077, 4078, 4080, 4081, 4082, 4083, 4084, 4086, 4093, 4099, 4101, 4102, 4103, 4104, 4105, 4106, 4108, 4109, 4110, 4111, 4112, 4114, 4121, 4127, 4129, 4130, 4131, 4132, 4133, 4134, 4136, 4137, 4138, 4139, 4140, 4142, 4149, 4155, 4157, 4158, 4159, 4160, 4161, 4162, 4164, 4165, 4166, 4167, 4168, 4170, 4177, 4183, 4185, 4186, 4187, 4188, 4189, 4190, 4192, 4193, 4194, 4195, 4196, 4198, 4205, 4211, 4213, 4214, 4215, 4216, 4217, 4218, 4220, 4221, 4222, 4223, 4224, 4226, 4233, 4239, 4241, 4242, 4243, 4244, 4245, 4246, 4248, 4249, 4250, 4251, 4252, 4254, 4261, 4267, 4269, 4270, 4271, 4272, 4273, 4274, 4276, 4277, 4278, 4279, 4280, 4282, 4289, 4295, 4297, 4298, 4299, 4300, 4301, 4302, 4304, 4305, 4306, 4307, 4308, 4310, 4317, 4323, 4325, 4326, 4327, 4328, 4329, 4330, 4332, 4333, 4334, 4335, 4336, 4338, 4345, 4351, 4353, 4354, 4355, 4356, 4357, 4358, 4360, 4361, 4362, 4363, 4364, 4366, 4373, 4379, 4381, 4382, 4383, 4384, 4385, 4386, 4388, 4389, 4390, 4391, 4392, 4394, 4401, 4407, 4409, 4410, 4411, 4412, 4413, 4414, 4416, 4417, 4418, 4419, 4420, 4422, 4429, 4435, 4437, 4438, 4439, 4440, 4441, 4442, 4444, 4445, 4446, 4447, 4448, 4450, 4457, 4463, 4465, 4466, 4467, 4468, 4469, 4470, 4472, 4473, 4474, 4475, 4476, 4478, 4485, 4491, 4493, 4494, 4495, 4496, 4497, 4498, 4500, 4501, 4502, 4503, 4504, 4506, 4513, 4519, 4521, 4522, 4523, 4524, 4525, 4526, 4528, 4529, 4530, 4531, 4532, 4534, 4541, 4547, 4549, 4550, 4551, 4552, 4553, 4554, 4556, 4557, 4558, 4559, 4560, 4562, 4569, 4575, 4577, 4578, 4579, 4580, 4581, 4582, 4584, 4585, 4586, 4587, 4588, 4590, 4597, 4603, 4605, 4606, 4607, 4608, 4609, 4610, 4612, 4613, 4614, 4615, 4616, 4618, 4625, 4631, 4633, 4634, 4635, 4636, 4637, 4638, 4640, 4641, 4642, 4643, 4644, 4646, 4653, 4659, 4661, 4662, 4663, 4664, 4665, 4666, 4668, 4669, 4670, 4671, 4672, 4674, 4681, 4687, 4689, 4690, 4691, 4692, 4693, 4694, 4696, 4697, 4698, 4699, 4700, 4702, 4709, 4715, 4717, 4718, 4719, 4720, 4721, 4722, 4724, 4725, 4726, 4727, 4728, 4730, 4737, 4743, 4745, 4746, 4747, 4748, 4749, 4750, 4752, 4753, 4754, 4755, 4756, 4758, 4765, 4771, 4773, 4774, 4775, 4776, 4777, 4778, 4780, 4781, 4782, 4783, 4784, 4786, 4793, 4799, 4801, 4802, 4803, 4804, 4805, 4806, 4808, 4809, 4810, 4811, 4812, 4814, 4821, 4827, 4829, 4830, 4831, 4832, 4833, 4834, 4836, 4837, 4838, 4839, 4840, 4842, 4849, 4855, 4857, 4858, 4859, 4860, 4861, 4862, 4864, 4865, 4866, 4867, 4868, 4870, 4877, 4883, 4885, 4886, 4887, 4888, 4889, 4890, 4892, 4893, 4894, 4895, 4896, 4898, 4905, 4911, 4913, 4914, 4915, 4916, 4917, 4918, 4920, 4921, 4922, 4923, 4924, 4926, 4933, 4939, 4941, 4942, 4943, 4944, 4945, 4946, 4948, 4949, 4950, 4951, 4952, 4954, 4961, 4967, 4969, 4970, 4971, 4972, 4973, 4974, 4976, 4977, 4978, 4979, 4980, 4982, 4989, 4995, 4997, 4998, 4999, 5000, 5001, 5002, 5004, 5005, 5006, 5007, 5008, 5010, 5017, 5023, 5025, 5026, 5027, 5028, 5029, 5030, 5032, 5033, 5034, 5035, 5036, 5038, 5045, 5051, 5053, 5054, 5055, 5056, 5057, 5058, 5060, 5061, 5062, 5063, 5064, 5066, 5073, 5079, 5081, 5082, 5083, 5084, 5085, 5086, 5088, 5089, 5090, 5091, 5092, 5094, 5101, 5107, 5109, 5110, 5111, 5112, 5113, 5114, 5116, 5117, 5118, 5119, 5120, 5122, 5129, 5135, 5137, 5138, 5139, 5140, 5141, 5142, 5144, 5145, 5146, 5147, 5148, 5150, 5157, 5163, 5165, 5166, 5167, 5168, 5169, 5170, 5172, 5173, 5174, 5175, 5176, 5178, 1125, 1131, 1146, 5185, 5191, 5193, 5194, 5195, 5196, 5197, 5198, 5200, 5201, 5202, 5203, 5204, 5206, 5213, 5219, 5221, 5222, 5223, 5224, 5225, 585, 5226, 5228, 5229, 5230, 5231, 5232, 5234}; /* Vector of min issue delay of insns. */ static const unsigned char geode_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 40, 40, 40, 40, 40, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 39, 39, 39, 39, 39, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 38, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, 33, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 3, 3, 3, 3, 3, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 2, 2, 2, 2, 2, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 4, 4, 4, 4, 4, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 3, 3, 3, 3, 3, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 2, 2, 2, 2, 2, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 1, 1, 1, 1, 1, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 40, 40, 40, 40, 40, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 39, 39, 39, 39, 39, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 38, 38, 38, 38, 38, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 37, 37, 37, 37, 37, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 36, 36, 36, 36, 36, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 35, 35, 35, 35, 35, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 34, 34, 34, 34, 34, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 33, 33, 33, 33, 33, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 32, 32, 32, 32, 32, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 31, 31, 31, 31, 31, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 30, 30, 30, 30, 30, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 29, 29, 29, 29, 29, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 6, 6, 6, 6, 6, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 5, 5, 5, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 4, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 3, 3, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 2, 2, 2, 2, 2, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 1, 1, 1, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 2, 2, 2, 2, 2, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 1, 1, 1, 1, 1, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 4, 4, 4, 4, 4, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 3, 3, 3, 3, 3, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 2, 2, 2, 2, 2, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 40, 40, 40, 40, 40, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 39, 39, 39, 39, 39, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 38, 38, 38, 38, 38, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 37, 37, 37, 37, 37, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 36, 36, 36, 36, 36, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 35, 35, 35, 35, 35, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 34, 34, 34, 34, 34, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 33, 33, 33, 33, 33, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 32, 32, 32, 32, 32, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 31, 31, 31, 31, 31, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 30, 30, 30, 30, 30, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 29, 29, 29, 29, 29, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 28, 28, 28, 28, 28, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 6, 6, 6, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 5, 5, 5, 5, 5, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 4, 4, 4, 4, 4, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 3, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 2, 2, 2, 2, 2, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 1, 1, 1, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 2, 2, 2, 2, 2, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 1, 1, 1, 1, 1, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 4, 4, 4, 4, 4, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 3, 3, 3, 3, 3, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 40, 40, 40, 40, 40, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 39, 39, 39, 39, 39, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 38, 38, 38, 38, 38, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 37, 37, 37, 37, 37, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 36, 36, 36, 36, 36, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 35, 35, 35, 35, 35, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 34, 34, 34, 34, 34, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 33, 33, 33, 33, 33, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 32, 32, 32, 32, 32, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 31, 31, 31, 31, 31, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 30, 30, 30, 30, 30, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 29, 29, 29, 29, 29, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 28, 28, 28, 28, 28, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 27, 27, 27, 27, 27, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 6, 6, 6, 6, 6, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 5, 5, 5, 5, 5, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 4, 4, 4, 4, 4, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 3, 3, 3, 3, 3, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 2, 2, 2, 2, 2, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 2, 2, 2, 2, 2, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 1, 1, 1, 1, 1, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 4, 4, 4, 4, 4, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 3, 3, 3, 3, 3, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 40, 40, 40, 40, 40, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 39, 39, 39, 39, 39, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 38, 38, 38, 38, 38, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 37, 37, 37, 37, 37, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 36, 36, 36, 36, 36, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 35, 35, 35, 35, 35, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 34, 34, 34, 34, 34, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 33, 33, 33, 33, 33, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 32, 32, 32, 32, 32, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 31, 31, 31, 31, 31, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 30, 30, 30, 30, 30, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 29, 29, 29, 29, 29, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 28, 28, 28, 28, 28, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 27, 27, 27, 27, 27, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 26, 26, 26, 26, 26, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 6, 6, 6, 6, 6, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 5, 5, 5, 5, 5, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 2, 2, 2, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 1, 1, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 4, 4, 4, 4, 4, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 3, 3, 3, 3, 3, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 40, 40, 40, 40, 40, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 39, 39, 39, 39, 39, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 38, 38, 38, 38, 38, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 37, 37, 37, 37, 37, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 36, 36, 36, 36, 36, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 35, 35, 35, 35, 35, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 34, 34, 34, 34, 34, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 33, 33, 33, 33, 33, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 32, 32, 32, 32, 32, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 31, 31, 31, 31, 31, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 30, 30, 30, 30, 30, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 29, 29, 29, 29, 29, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 28, 28, 28, 28, 28, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 27, 27, 27, 27, 27, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 26, 26, 26, 26, 26, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 25, 25, 25, 25, 25, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 6, 6, 6, 6, 6, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 5, 5, 5, 5, 5, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 2, 2, 2, 2, 2, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 4, 4, 4, 4, 4, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 3, 3, 3, 3, 3, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 40, 40, 40, 40, 40, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 39, 39, 39, 39, 39, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 38, 38, 38, 38, 38, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 37, 37, 37, 37, 37, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 36, 36, 36, 36, 36, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 35, 35, 35, 35, 35, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 34, 34, 34, 34, 34, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 33, 33, 33, 33, 33, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 32, 32, 32, 32, 32, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 31, 31, 31, 31, 31, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 30, 30, 30, 30, 30, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 29, 29, 29, 29, 29, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 28, 28, 28, 28, 28, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 27, 27, 27, 27, 27, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 26, 26, 26, 26, 26, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 25, 25, 25, 25, 25, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 24, 24, 24, 24, 24, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 6, 6, 6, 6, 6, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 5, 5, 5, 5, 5, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 2, 2, 2, 2, 2, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 1, 1, 1, 1, 1, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 4, 4, 4, 4, 4, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 3, 3, 3, 3, 3, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 40, 40, 40, 40, 40, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 39, 39, 39, 39, 39, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 38, 38, 38, 38, 38, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 37, 37, 37, 37, 37, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 36, 36, 36, 36, 36, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 35, 35, 35, 35, 35, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 34, 34, 34, 34, 34, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 33, 33, 33, 33, 33, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 32, 32, 32, 32, 32, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 31, 31, 31, 31, 31, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 30, 30, 30, 30, 30, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 29, 29, 29, 29, 29, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 28, 28, 28, 28, 28, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 27, 27, 27, 27, 27, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 26, 26, 26, 26, 26, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 25, 25, 25, 25, 25, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 24, 24, 24, 24, 24, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 23, 23, 23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 6, 6, 6, 6, 6, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 5, 5, 5, 5, 5, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 2, 2, 2, 2, 2, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 1, 1, 1, 1, 1, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 4, 4, 4, 4, 4, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 3, 3, 3, 3, 3, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 40, 40, 40, 40, 40, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 39, 39, 39, 39, 39, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 38, 38, 38, 38, 38, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 37, 37, 37, 37, 37, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 36, 36, 36, 36, 36, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 35, 35, 35, 35, 35, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 34, 34, 34, 34, 34, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 33, 33, 33, 33, 33, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 32, 32, 32, 32, 32, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 31, 31, 31, 31, 31, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 30, 30, 30, 30, 30, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 29, 29, 29, 29, 29, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 28, 28, 28, 28, 28, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 27, 27, 27, 27, 27, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 26, 26, 26, 26, 26, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 25, 25, 25, 25, 25, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 24, 24, 24, 24, 24, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 23, 23, 23, 23, 23, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 22, 22, 22, 22, 22, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 6, 6, 6, 6, 6, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 5, 5, 5, 5, 5, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 2, 2, 2, 2, 2, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 1, 1, 1, 1, 1, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 4, 4, 4, 4, 4, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 3, 3, 3, 3, 3, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 40, 40, 40, 40, 40, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 39, 39, 39, 39, 39, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 38, 38, 38, 38, 38, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 37, 37, 37, 37, 37, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 36, 36, 36, 36, 36, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 35, 35, 35, 35, 35, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 34, 34, 34, 34, 34, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 33, 33, 33, 33, 33, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 32, 32, 32, 32, 32, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 31, 31, 31, 31, 31, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 30, 30, 30, 30, 30, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 29, 29, 29, 29, 29, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 28, 28, 28, 28, 28, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 27, 27, 27, 27, 27, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 26, 26, 26, 26, 26, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 25, 25, 25, 25, 25, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 24, 24, 24, 24, 24, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 23, 23, 23, 23, 23, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 22, 22, 22, 22, 22, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 21, 21, 21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 6, 6, 6, 6, 6, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 5, 5, 5, 5, 5, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 2, 2, 2, 2, 2, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 1, 1, 1, 1, 1, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 4, 4, 4, 4, 4, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 3, 3, 3, 3, 3, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 40, 40, 40, 40, 40, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 39, 39, 39, 39, 39, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 38, 38, 38, 38, 38, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 37, 37, 37, 37, 37, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 36, 36, 36, 36, 36, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 35, 35, 35, 35, 35, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 34, 34, 34, 34, 34, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 33, 33, 33, 33, 33, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 32, 32, 32, 32, 32, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 31, 31, 31, 31, 31, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 30, 30, 30, 30, 30, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 29, 29, 29, 29, 29, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 28, 28, 28, 28, 28, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 27, 27, 27, 27, 27, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 26, 26, 26, 26, 26, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 25, 25, 25, 25, 25, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 24, 24, 24, 24, 24, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 23, 23, 23, 23, 23, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 22, 22, 22, 22, 22, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 21, 21, 21, 21, 21, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 20, 20, 20, 20, 20, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 6, 6, 6, 6, 6, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 5, 5, 5, 5, 5, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 2, 2, 2, 2, 2, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 1, 1, 1, 1, 1, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 4, 4, 4, 4, 4, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 3, 3, 3, 3, 3, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 40, 40, 40, 40, 40, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 39, 39, 39, 39, 39, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 38, 38, 38, 38, 38, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 37, 37, 37, 37, 37, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 36, 36, 36, 36, 36, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 35, 35, 35, 35, 35, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 34, 34, 34, 34, 34, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 33, 33, 33, 33, 33, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 32, 32, 32, 32, 32, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 31, 31, 31, 31, 31, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 30, 30, 30, 30, 30, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 29, 29, 29, 29, 29, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 28, 28, 28, 28, 28, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 27, 27, 27, 27, 27, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 26, 26, 26, 26, 26, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 25, 25, 25, 25, 25, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 24, 24, 24, 24, 24, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 23, 23, 23, 23, 23, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 22, 22, 22, 22, 22, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 21, 21, 21, 21, 21, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 20, 20, 20, 20, 20, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 19, 19, 19, 19, 19, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 6, 6, 6, 6, 6, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 5, 5, 5, 5, 5, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 2, 2, 2, 2, 2, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 1, 1, 1, 1, 1, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 4, 4, 4, 4, 4, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 3, 3, 3, 3, 3, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 40, 40, 40, 40, 40, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 39, 39, 39, 39, 39, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 38, 38, 38, 38, 38, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 37, 37, 37, 37, 37, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 36, 36, 36, 36, 36, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 35, 35, 35, 35, 35, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 34, 34, 34, 34, 34, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 33, 33, 33, 33, 33, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 32, 32, 32, 32, 32, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 31, 31, 31, 31, 31, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 30, 30, 30, 30, 30, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 29, 29, 29, 29, 29, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 28, 28, 28, 28, 28, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 27, 27, 27, 27, 27, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 26, 26, 26, 26, 26, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 25, 25, 25, 25, 25, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 24, 24, 24, 24, 24, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 23, 23, 23, 23, 23, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 22, 22, 22, 22, 22, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 21, 21, 21, 21, 21, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 20, 20, 20, 20, 20, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 19, 19, 19, 19, 19, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 18, 18, 18, 18, 18, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 6, 6, 6, 6, 6, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 5, 5, 5, 5, 5, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 2, 2, 2, 2, 2, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 1, 1, 1, 1, 1, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 4, 4, 4, 4, 4, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 3, 3, 3, 3, 3, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 40, 40, 40, 40, 40, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 39, 39, 39, 39, 39, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 38, 38, 38, 38, 38, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 37, 37, 37, 37, 37, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 36, 36, 36, 36, 36, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 35, 35, 35, 35, 35, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 34, 34, 34, 34, 34, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 33, 33, 33, 33, 33, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 32, 32, 32, 32, 32, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 31, 31, 31, 31, 31, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 30, 30, 30, 30, 30, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 29, 29, 29, 29, 29, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 28, 28, 28, 28, 28, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 27, 27, 27, 27, 27, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 26, 26, 26, 26, 26, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 25, 25, 25, 25, 25, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 24, 24, 24, 24, 24, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 23, 23, 23, 23, 23, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 22, 22, 22, 22, 22, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 21, 21, 21, 21, 21, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 19, 19, 19, 19, 19, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 18, 18, 18, 18, 18, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 17, 17, 17, 17, 17, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 6, 6, 6, 6, 6, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 5, 5, 5, 5, 5, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 2, 2, 2, 2, 2, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 1, 1, 1, 1, 1, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 4, 4, 4, 4, 4, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 3, 3, 3, 3, 3, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 40, 40, 40, 40, 40, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 39, 39, 39, 39, 39, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 38, 38, 38, 38, 38, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 37, 37, 37, 37, 37, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 36, 36, 36, 36, 36, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 35, 35, 35, 35, 35, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 34, 34, 34, 34, 34, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 33, 33, 33, 33, 33, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 32, 32, 32, 32, 32, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 31, 31, 31, 31, 31, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 30, 30, 30, 30, 30, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 29, 29, 29, 29, 29, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 28, 28, 28, 28, 28, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 27, 27, 27, 27, 27, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 26, 26, 26, 26, 26, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 25, 25, 25, 25, 25, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 24, 24, 24, 24, 24, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 23, 23, 23, 23, 23, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 22, 22, 22, 22, 22, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 21, 21, 21, 21, 21, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 20, 20, 20, 20, 20, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 19, 19, 19, 19, 19, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 18, 18, 18, 18, 18, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 17, 17, 17, 17, 17, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 16, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 6, 6, 6, 6, 6, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 5, 5, 5, 5, 5, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 2, 2, 2, 2, 2, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 1, 1, 1, 1, 1, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 4, 4, 4, 4, 4, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 3, 3, 3, 3, 3, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 40, 40, 40, 40, 40, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 39, 39, 39, 39, 39, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 38, 38, 38, 38, 38, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 37, 37, 37, 37, 37, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 36, 36, 36, 36, 36, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 35, 35, 35, 35, 35, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 34, 34, 34, 34, 34, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 33, 33, 33, 33, 33, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 32, 32, 32, 32, 32, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 31, 31, 31, 31, 31, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 30, 30, 30, 30, 30, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 29, 29, 29, 29, 29, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 28, 28, 28, 28, 28, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 27, 27, 27, 27, 27, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 26, 26, 26, 26, 26, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 25, 25, 25, 25, 25, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 24, 24, 24, 24, 24, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 23, 23, 23, 23, 23, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 22, 22, 22, 22, 22, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 21, 21, 21, 21, 21, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 20, 20, 20, 20, 20, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 19, 19, 19, 19, 19, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 18, 18, 18, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 17, 17, 17, 17, 17, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 16, 16, 16, 16, 16, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 15, 15, 15, 15, 15, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 6, 6, 6, 6, 6, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 5, 5, 5, 5, 5, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 2, 2, 2, 2, 2, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 1, 1, 1, 1, 1, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 4, 4, 4, 4, 4, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 3, 3, 3, 3, 3, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 40, 40, 40, 40, 40, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 39, 39, 39, 39, 39, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 38, 38, 38, 38, 38, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 37, 37, 37, 37, 37, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 36, 36, 36, 36, 36, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 35, 35, 35, 35, 35, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 34, 34, 34, 34, 34, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 33, 33, 33, 33, 33, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 32, 32, 32, 32, 32, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 31, 31, 31, 31, 31, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 30, 30, 30, 30, 30, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 29, 29, 29, 29, 29, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 28, 28, 28, 28, 28, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 27, 27, 27, 27, 27, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 26, 26, 26, 26, 26, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 25, 25, 25, 25, 25, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 24, 24, 24, 24, 24, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 23, 23, 23, 23, 23, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 22, 22, 22, 22, 22, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 21, 21, 21, 21, 21, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 20, 20, 20, 20, 20, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 19, 19, 19, 19, 19, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 18, 18, 18, 18, 18, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 17, 17, 17, 17, 17, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 16, 16, 16, 16, 16, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 15, 15, 15, 15, 15, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 14, 14, 14, 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 6, 6, 6, 6, 6, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 5, 5, 5, 5, 5, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 2, 2, 2, 2, 2, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 4, 4, 4, 4, 4, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 3, 3, 3, 3, 3, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 40, 40, 40, 40, 40, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 39, 39, 39, 39, 39, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 38, 38, 38, 38, 38, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 37, 37, 37, 37, 37, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 36, 36, 36, 36, 36, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 35, 35, 35, 35, 35, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 34, 34, 34, 34, 34, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 33, 33, 33, 33, 33, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 32, 32, 32, 32, 32, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 31, 31, 31, 31, 31, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 30, 30, 30, 30, 30, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 29, 29, 29, 29, 29, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 28, 28, 28, 28, 28, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 27, 27, 27, 27, 27, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 26, 26, 26, 26, 26, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 25, 25, 25, 25, 25, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 24, 24, 24, 24, 24, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 23, 23, 23, 23, 23, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 22, 22, 22, 22, 22, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 21, 21, 21, 21, 21, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 20, 20, 20, 20, 20, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 19, 19, 19, 19, 19, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 18, 18, 18, 18, 18, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 17, 17, 17, 17, 17, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 16, 16, 16, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 15, 15, 15, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 14, 14, 14, 14, 14, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 13, 13, 13, 13, 13, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 6, 6, 6, 6, 6, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 5, 5, 5, 5, 5, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 2, 2, 2, 2, 2, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 1, 1, 1, 1, 1, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 4, 4, 4, 4, 4, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 3, 3, 3, 3, 3, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 40, 40, 40, 40, 40, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 39, 39, 39, 39, 39, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 38, 38, 38, 38, 38, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 37, 37, 37, 37, 37, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 36, 36, 36, 36, 36, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 35, 35, 35, 35, 35, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 34, 34, 34, 34, 34, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 33, 33, 33, 33, 33, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 32, 32, 32, 32, 32, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 31, 31, 31, 31, 31, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 30, 30, 30, 30, 30, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 28, 28, 28, 28, 28, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 27, 27, 27, 27, 27, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 26, 26, 26, 26, 26, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 25, 25, 25, 25, 25, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 24, 24, 24, 24, 24, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 23, 23, 23, 23, 23, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 22, 22, 22, 22, 22, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 21, 21, 21, 21, 21, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 20, 20, 20, 20, 20, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 19, 19, 19, 19, 19, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 18, 18, 18, 18, 18, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 17, 17, 17, 17, 17, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 16, 16, 16, 16, 16, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 15, 15, 15, 15, 15, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 14, 14, 14, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 13, 13, 13, 13, 13, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 12, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 6, 6, 6, 6, 6, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 5, 5, 5, 5, 5, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 2, 2, 2, 2, 2, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 1, 1, 1, 1, 1, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 4, 4, 4, 4, 4, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 3, 3, 3, 3, 3, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 40, 40, 40, 40, 40, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 39, 39, 39, 39, 39, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 38, 38, 38, 38, 38, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 37, 37, 37, 37, 37, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 36, 36, 36, 36, 36, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 35, 35, 35, 35, 35, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 34, 34, 34, 34, 34, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 33, 33, 33, 33, 33, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 32, 32, 32, 32, 32, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 31, 31, 31, 31, 31, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 30, 30, 30, 30, 30, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 29, 29, 29, 29, 29, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 28, 28, 28, 28, 28, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 27, 27, 27, 27, 27, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 26, 26, 26, 26, 26, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 25, 25, 25, 25, 25, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 24, 24, 24, 24, 24, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 23, 23, 23, 23, 23, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 22, 22, 22, 22, 22, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 21, 21, 21, 21, 21, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 20, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 19, 19, 19, 19, 19, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 18, 18, 18, 18, 18, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 17, 17, 17, 17, 17, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 16, 16, 16, 16, 16, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 15, 15, 15, 15, 15, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 14, 14, 14, 14, 14, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 13, 13, 13, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 12, 12, 12, 12, 12, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 11, 11, 11, 11, 11, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 6, 6, 6, 6, 6, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 5, 5, 5, 5, 5, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 2, 2, 2, 2, 2, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 1, 1, 1, 1, 1, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 4, 4, 4, 4, 4, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 3, 3, 3, 3, 3, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 40, 40, 40, 40, 40, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 39, 39, 39, 39, 39, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 38, 38, 38, 38, 38, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 37, 37, 37, 37, 37, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 36, 36, 36, 36, 36, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 35, 35, 35, 35, 35, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 34, 34, 34, 34, 34, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 33, 33, 33, 33, 33, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 32, 32, 32, 32, 32, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 31, 31, 31, 31, 31, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 30, 30, 30, 30, 30, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 29, 29, 29, 29, 29, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 28, 28, 28, 28, 28, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 27, 27, 27, 27, 27, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 26, 26, 26, 26, 26, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 25, 25, 25, 25, 25, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 24, 24, 24, 24, 24, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 23, 23, 23, 23, 23, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 22, 22, 22, 22, 22, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 21, 21, 21, 21, 21, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 20, 20, 20, 20, 20, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 19, 19, 19, 19, 19, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 18, 18, 18, 18, 18, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 17, 17, 17, 17, 17, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 16, 16, 16, 16, 16, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 15, 15, 15, 15, 15, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 14, 14, 14, 14, 14, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 13, 13, 13, 13, 13, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 12, 12, 12, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 11, 11, 11, 11, 11, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 10, 10, 10, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 6, 6, 6, 6, 6, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 5, 5, 5, 5, 5, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 2, 2, 2, 2, 2, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 1, 1, 1, 1, 1, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 4, 4, 4, 4, 4, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 3, 3, 3, 3, 3, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 40, 40, 40, 40, 40, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 39, 39, 39, 39, 39, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 38, 38, 38, 38, 38, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 37, 37, 37, 37, 37, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 36, 36, 36, 36, 36, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 35, 35, 35, 35, 35, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 34, 34, 34, 34, 34, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 33, 33, 33, 33, 33, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 32, 32, 32, 32, 32, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 31, 31, 31, 31, 31, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 30, 30, 30, 30, 30, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 29, 29, 29, 29, 29, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 28, 28, 28, 28, 28, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 27, 27, 27, 27, 27, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 26, 26, 26, 26, 26, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 25, 25, 25, 25, 25, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 24, 24, 24, 24, 24, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 23, 23, 23, 23, 23, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 22, 22, 22, 22, 22, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 21, 21, 21, 21, 21, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 20, 20, 20, 20, 20, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 19, 19, 19, 19, 19, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 18, 18, 18, 18, 18, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 17, 17, 17, 17, 17, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 16, 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 15, 15, 15, 15, 15, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 14, 14, 14, 14, 14, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 13, 13, 13, 13, 13, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 12, 12, 12, 12, 12, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 11, 11, 11, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 10, 10, 10, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 6, 6, 6, 6, 6, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 5, 5, 5, 5, 5, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 2, 2, 2, 2, 2, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 1, 1, 1, 1, 1, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 4, 4, 4, 4, 4, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 3, 3, 3, 3, 3, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 40, 40, 40, 40, 40, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 39, 39, 39, 39, 39, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 38, 38, 38, 38, 38, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 37, 37, 37, 37, 37, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 36, 36, 36, 36, 36, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 35, 35, 35, 35, 35, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 34, 34, 34, 34, 34, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 33, 33, 33, 33, 33, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 32, 32, 32, 32, 32, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 31, 31, 31, 31, 31, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 30, 30, 30, 30, 30, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 29, 29, 29, 29, 29, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 28, 28, 28, 28, 28, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 27, 27, 27, 27, 27, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 26, 26, 26, 26, 26, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 25, 25, 25, 25, 25, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 24, 24, 24, 24, 24, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 23, 23, 23, 23, 23, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 22, 22, 22, 22, 22, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 21, 21, 21, 21, 21, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 20, 20, 20, 20, 20, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 19, 19, 19, 19, 19, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 18, 18, 18, 18, 18, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 17, 17, 17, 17, 17, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 16, 16, 16, 16, 16, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 15, 15, 15, 15, 15, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 14, 14, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 13, 13, 13, 13, 13, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 12, 12, 12, 12, 12, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 11, 11, 11, 11, 11, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 10, 10, 10, 10, 10, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 6, 6, 6, 6, 6, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 5, 5, 5, 5, 5, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 2, 2, 2, 2, 2, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 1, 1, 1, 1, 1, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 4, 4, 4, 4, 4, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 3, 3, 3, 3, 3, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 40, 40, 40, 40, 40, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 39, 39, 39, 39, 39, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 38, 38, 38, 38, 38, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 37, 37, 37, 37, 37, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 36, 36, 36, 36, 36, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 35, 35, 35, 35, 35, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 34, 34, 34, 34, 34, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 33, 33, 33, 33, 33, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 32, 32, 32, 32, 32, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 31, 31, 31, 31, 31, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 30, 30, 30, 30, 30, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 29, 29, 29, 29, 29, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 28, 28, 28, 28, 28, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 27, 27, 27, 27, 27, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 26, 26, 26, 26, 26, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 25, 25, 25, 25, 25, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 24, 24, 24, 24, 24, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 23, 23, 23, 23, 23, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 22, 22, 22, 22, 22, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 21, 21, 21, 21, 21, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 20, 20, 20, 20, 20, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 19, 19, 19, 19, 19, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 18, 18, 18, 18, 18, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 17, 17, 17, 17, 17, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 16, 16, 16, 16, 16, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 15, 15, 15, 15, 15, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 14, 14, 14, 14, 14, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 13, 13, 13, 13, 13, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 12, 12, 12, 12, 12, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 11, 11, 11, 11, 11, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 10, 10, 10, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 9, 9, 9, 9, 9, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 8, 8, 8, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 6, 6, 6, 6, 6, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 5, 5, 5, 5, 5, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 2, 2, 2, 2, 2, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 1, 1, 1, 1, 1, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 4, 4, 4, 4, 4, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 3, 3, 3, 3, 3, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 40, 40, 40, 40, 40, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 39, 39, 39, 39, 39, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 38, 38, 38, 38, 38, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 37, 37, 37, 37, 37, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 36, 36, 36, 36, 36, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 35, 35, 35, 35, 35, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 34, 34, 34, 34, 34, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 33, 33, 33, 33, 33, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 32, 32, 32, 32, 32, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 31, 31, 31, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 30, 30, 30, 30, 30, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 29, 29, 29, 29, 29, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 28, 28, 28, 28, 28, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 27, 27, 27, 27, 27, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 26, 26, 26, 26, 26, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 25, 25, 25, 25, 25, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 24, 24, 24, 24, 24, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 23, 23, 23, 23, 23, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 22, 22, 22, 22, 22, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 21, 21, 21, 21, 21, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 20, 20, 20, 20, 20, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 19, 19, 19, 19, 19, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 18, 18, 18, 18, 18, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 17, 17, 17, 17, 17, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 16, 16, 16, 16, 16, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 15, 15, 15, 15, 15, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 14, 14, 14, 14, 14, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 13, 13, 13, 13, 13, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 12, 12, 12, 12, 12, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 11, 11, 11, 11, 11, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 10, 10, 10, 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 9, 9, 9, 9, 9, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 7, 7, 7, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 6, 6, 6, 6, 6, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 5, 5, 5, 5, 5, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 2, 2, 2, 2, 2, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 1, 1, 1, 1, 1, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 4, 4, 4, 4, 4, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 3, 3, 3, 3, 3, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 40, 40, 40, 40, 40, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 39, 39, 39, 39, 39, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 38, 38, 38, 38, 38, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 37, 37, 37, 37, 37, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 36, 36, 36, 36, 36, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 35, 35, 35, 35, 35, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 34, 34, 34, 34, 34, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 33, 33, 33, 33, 33, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 32, 32, 32, 32, 32, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 31, 31, 31, 31, 31, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 30, 30, 30, 30, 30, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 29, 29, 29, 29, 29, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 28, 28, 28, 28, 28, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 27, 27, 27, 27, 27, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 26, 26, 26, 26, 26, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 25, 25, 25, 25, 25, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 24, 24, 24, 24, 24, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 23, 23, 23, 23, 23, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 22, 22, 22, 22, 22, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 21, 21, 21, 21, 21, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 20, 20, 20, 20, 20, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 19, 19, 19, 19, 19, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 18, 18, 18, 18, 18, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 17, 17, 17, 17, 17, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 16, 16, 16, 16, 16, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 15, 15, 15, 15, 15, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 14, 14, 14, 14, 14, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 13, 13, 13, 13, 13, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 12, 12, 12, 12, 12, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 11, 11, 11, 11, 11, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 10, 10, 10, 10, 10, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 7, 7, 7, 7, 7, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 6, 6, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 6, 6, 6, 6, 6, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 5, 5, 5, 5, 5, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 2, 2, 2, 2, 2, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 1, 1, 1, 1, 1, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 4, 4, 4, 4, 4, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 3, 3, 3, 3, 3, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 40, 40, 40, 40, 40, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 39, 39, 39, 39, 39, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 38, 38, 38, 38, 38, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 37, 37, 37, 37, 37, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 36, 36, 36, 36, 36, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 35, 35, 35, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 34, 34, 34, 34, 34, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 33, 33, 33, 33, 33, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 32, 32, 32, 32, 32, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 31, 31, 31, 31, 31, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 30, 30, 30, 30, 30, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 29, 29, 29, 29, 29, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 28, 28, 28, 28, 28, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 27, 27, 27, 27, 27, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 26, 26, 26, 26, 26, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 25, 25, 25, 25, 25, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 24, 24, 24, 24, 24, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 23, 23, 23, 23, 23, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 22, 22, 22, 22, 22, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 21, 21, 21, 21, 21, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 20, 20, 20, 20, 20, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 19, 19, 19, 19, 19, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 17, 17, 17, 17, 17, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 16, 16, 16, 16, 16, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 15, 15, 15, 15, 15, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 14, 14, 14, 14, 14, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 13, 13, 13, 13, 13, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 12, 12, 12, 12, 12, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 11, 11, 11, 11, 11, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 10, 10, 10, 10, 10, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 9, 9, 9, 9, 9, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 5, 5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 7, 7, 7, 7, 7, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 6, 6, 6, 6, 6, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 5, 5, 5, 5, 5, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 2, 2, 2, 2, 2, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 1, 1, 1, 1, 1, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 4, 4, 4, 4, 4, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 3, 3, 3, 3, 3, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 40, 40, 40, 40, 40, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 39, 39, 39, 39, 39, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 38, 38, 38, 38, 38, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 37, 37, 37, 37, 37, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 36, 36, 36, 36, 36, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 35, 35, 35, 35, 35, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 34, 34, 34, 34, 34, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 33, 33, 33, 33, 33, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 32, 32, 32, 32, 32, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 31, 31, 31, 31, 31, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 30, 30, 30, 30, 30, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 29, 29, 29, 29, 29, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 28, 28, 28, 28, 28, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 27, 27, 27, 27, 27, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 26, 26, 26, 26, 26, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 25, 25, 25, 25, 25, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 24, 24, 24, 24, 24, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 23, 23, 23, 23, 23, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 22, 22, 22, 22, 22, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 21, 21, 21, 21, 21, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 20, 20, 20, 20, 20, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 19, 19, 19, 19, 19, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 18, 18, 18, 18, 18, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 17, 17, 17, 17, 17, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 16, 16, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 15, 15, 15, 15, 15, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 14, 14, 14, 14, 14, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 13, 13, 13, 13, 13, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 12, 12, 12, 12, 12, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 11, 11, 11, 11, 11, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 10, 10, 10, 10, 10, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 9, 9, 9, 9, 9, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 7, 7, 7, 7, 7, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 6, 6, 6, 6, 6, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 5, 5, 5, 5, 5, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 2, 2, 2, 2, 2, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 1, 1, 1, 1, 1, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 4, 4, 4, 4, 4, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 3, 3, 3, 3, 3, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 34, 34, 34, 34, 34, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 33, 33, 33, 33, 33, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 6, 6, 6, 6, 6, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 5, 5, 5, 5, 5, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 2, 2, 2, 2, 2, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 1, 1, 1, 1, 1, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 4, 4, 4, 4, 4, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 3, 3, 3, 3, 3, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 7, 7, 7, 7, 7, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 6, 6, 6, 6, 6, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 5, 5, 5, 5, 5, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 2, 2, 2, 2, 2, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 1, 1, 1, 1, 1, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 4, 4, 4, 4, 4, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 3, 3, 3, 3, 3, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 32, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 7, 7, 7, 7, 7, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 6, 6, 6, 6, 6, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 5, 5, 5, 5, 5, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 2, 2, 2, 2, 2, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 1, 1, 1, 1, 1, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 4, 4, 4, 4, 4, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 3, 3, 3, 3, 3, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 40, 40, 40, 40, 40, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 39, 39, 39, 39, 39, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 38, 38, 38, 38, 38, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 37, 37, 37, 37, 37, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 36, 36, 36, 36, 36, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 35, 35, 35, 35, 35, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 34, 34, 34, 34, 34, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 33, 33, 33, 33, 33, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 32, 32, 32, 32, 32, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 31, 31, 31, 31, 31, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 30, 30, 30, 30, 30, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 29, 29, 29, 29, 29, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 28, 28, 28, 28, 28, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 27, 27, 27, 27, 27, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 26, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 25, 25, 25, 25, 25, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 24, 24, 24, 24, 24, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 23, 23, 23, 23, 23, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 21, 21, 21, 21, 21, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 20, 20, 20, 20, 20, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 19, 19, 19, 19, 19, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 17, 17, 17, 17, 17, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 16, 16, 16, 16, 16, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 15, 15, 15, 15, 15, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 14, 14, 14, 14, 14, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 13, 13, 13, 13, 13, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 11, 11, 11, 11, 11, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 7, 7, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 7, 7, 7, 7, 7, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 6, 6, 6, 6, 6, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 5, 5, 5, 5, 5, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 2, 2, 2, 2, 2, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 1, 1, 1, 1, 1, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 4, 4, 4, 4, 4, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 3, 3, 3, 3, 3, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 40, 40, 40, 40, 40, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 39, 39, 39, 39, 39, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 38, 38, 38, 38, 38, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 37, 37, 37, 37, 37, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 36, 36, 36, 36, 36, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 35, 35, 35, 35, 35, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 34, 34, 34, 34, 34, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 33, 33, 33, 33, 33, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 32, 32, 32, 32, 32, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 31, 31, 31, 31, 31, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 30, 30, 30, 30, 30, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 29, 29, 29, 29, 29, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 28, 28, 28, 28, 28, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 27, 27, 27, 27, 27, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 26, 26, 26, 26, 26, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 25, 25, 25, 25, 25, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 24, 24, 24, 24, 24, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 23, 23, 23, 23, 23, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 22, 22, 22, 22, 22, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 21, 21, 21, 21, 21, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 20, 20, 20, 20, 20, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 19, 19, 19, 19, 19, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 18, 18, 18, 18, 18, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 17, 17, 17, 17, 17, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 16, 16, 16, 16, 16, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 15, 15, 15, 15, 15, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 14, 14, 14, 14, 14, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 13, 13, 13, 13, 13, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 12, 12, 12, 12, 12, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 11, 11, 11, 11, 11, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 10, 10, 10, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 9, 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 8, 8, 8, 8, 8, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 6, 6, 6, 6, 6, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 7, 7, 7, 7, 7, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 6, 6, 6, 6, 6, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 5, 5, 5, 5, 5, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 2, 2, 2, 2, 2, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 1, 1, 1, 1, 1, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 4, 4, 4, 4, 4, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 3, 3, 3, 3, 3, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 40, 40, 40, 40, 40, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 39, 39, 39, 39, 39, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 38, 38, 38, 38, 38, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 37, 37, 37, 37, 37, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 36, 36, 36, 36, 36, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 35, 35, 35, 35, 35, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 34, 34, 34, 34, 34, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 33, 33, 33, 33, 33, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 32, 32, 32, 32, 32, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 31, 31, 31, 31, 31, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 30, 30, 30, 30, 30, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 29, 29, 29, 29, 29, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 28, 28, 28, 28, 28, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 27, 27, 27, 27, 27, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 25, 25, 25, 25, 25, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 24, 24, 24, 24, 24, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 23, 23, 23, 23, 23, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 22, 22, 22, 22, 22, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 21, 21, 21, 21, 21, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 20, 20, 20, 20, 20, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 19, 19, 19, 19, 19, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 18, 18, 18, 18, 18, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 17, 17, 17, 17, 17, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 16, 16, 16, 16, 16, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 15, 15, 15, 15, 15, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 14, 14, 14, 14, 14, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 13, 13, 13, 13, 13, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 12, 12, 12, 12, 12, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 11, 11, 11, 11, 11, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 10, 10, 10, 10, 10, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 9, 9, 9, 9, 9, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 8, 8, 8, 8, 8, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 7, 7, 7, 7, 7, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 6, 6, 6, 6, 6, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 5, 5, 5, 5, 5, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 2, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 1, 1, 1, 1, 1, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 7, 7, 7, 7, 7, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 6, 6, 6, 6, 6, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 5, 5, 5, 5, 5, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 2, 2, 2, 2, 2, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 1, 1, 1, 1, 1, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 4, 4, 4, 4, 4, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 3, 3, 3, 3, 3, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 40, 40, 40, 40, 40, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 39, 39, 39, 39, 39, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 38, 38, 38, 38, 38, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 37, 37, 37, 37, 37, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 36, 36, 36, 36, 36, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 35, 35, 35, 35, 35, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 34, 34, 34, 34, 34, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 33, 33, 33, 33, 33, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 32, 32, 32, 32, 32, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 31, 31, 31, 31, 31, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 30, 30, 30, 30, 30, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 29, 29, 29, 29, 29, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 28, 28, 28, 28, 28, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 27, 27, 27, 27, 27, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 26, 26, 26, 26, 26, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 25, 25, 25, 25, 25, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 24, 24, 24, 24, 24, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 23, 23, 23, 23, 23, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 22, 22, 22, 22, 22, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 21, 21, 21, 21, 21, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 20, 20, 20, 20, 20, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 19, 19, 19, 19, 19, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 18, 18, 18, 18, 18, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 17, 17, 17, 17, 17, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 16, 16, 16, 16, 16, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 15, 15, 15, 15, 15, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 14, 14, 14, 14, 14, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 13, 13, 13, 13, 13, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 12, 12, 12, 12, 12, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 11, 11, 11, 11, 11, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 10, 10, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 9, 9, 9, 9, 9, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 8, 8, 8, 8, 8, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 7, 7, 7, 7, 7, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 6, 6, 6, 6, 6, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 5, 5, 5, 5, 5, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 2, 2, 2, 2, 2, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 1, 1, 1, 1, 1, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 4, 4, 4, 4, 4, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 3, 3, 3, 3, 3, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 40, 40, 40, 40, 40, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 39, 39, 39, 39, 39, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 38, 38, 38, 38, 38, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 37, 37, 37, 37, 37, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 36, 36, 36, 36, 36, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 35, 35, 35, 35, 35, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 34, 34, 34, 34, 34, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 33, 33, 33, 33, 33, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 32, 32, 32, 32, 32, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 31, 31, 31, 31, 31, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 30, 30, 30, 30, 30, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 29, 29, 29, 29, 29, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 28, 28, 28, 28, 28, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 27, 27, 27, 27, 27, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 26, 26, 26, 26, 26, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 25, 25, 25, 25, 25, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 24, 24, 24, 24, 24, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 23, 23, 23, 23, 23, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 22, 22, 22, 22, 22, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 21, 21, 21, 21, 21, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 20, 20, 20, 20, 20, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 19, 19, 19, 19, 19, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 18, 18, 18, 18, 18, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 17, 17, 17, 17, 17, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 16, 16, 16, 16, 16, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 15, 15, 15, 15, 15, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 14, 14, 14, 14, 14, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 13, 13, 13, 13, 13, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 12, 12, 12, 12, 12, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 11, 11, 11, 11, 11, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 10, 10, 10, 10, 10, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 9, 9, 9, 9, 9, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 8, 8, 8, 8, 8, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 7, 7, 7, 7, 7, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 6, 6, 6, 6, 6, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 5, 5, 5, 5, 5, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 2, 2, 2, 2, 2, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 1, 1, 1, 1, 1, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 4, 4, 4, 4, 4, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 3, 3, 3, 3, 3, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 40, 40, 40, 40, 40, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 39, 39, 39, 39, 39, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 38, 38, 38, 38, 38, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 37, 37, 37, 37, 37, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 36, 36, 36, 36, 36, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 35, 35, 35, 35, 35, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 34, 34, 34, 34, 34, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 33, 33, 33, 33, 33, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 32, 32, 32, 32, 32, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 31, 31, 31, 31, 31, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 30, 30, 30, 30, 30, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 29, 29, 29, 29, 29, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 28, 28, 28, 28, 28, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 27, 27, 27, 27, 27, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 26, 26, 26, 26, 26, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 25, 25, 25, 25, 25, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 24, 24, 24, 24, 24, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 23, 23, 23, 23, 23, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 22, 22, 22, 22, 22, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 21, 21, 21, 21, 21, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 20, 20, 20, 20, 20, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 19, 19, 19, 19, 19, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 18, 18, 18, 18, 18, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 17, 17, 17, 17, 17, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 16, 16, 16, 16, 16, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 15, 15, 15, 15, 15, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 14, 14, 14, 14, 14, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 13, 13, 13, 13, 13, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 12, 12, 12, 12, 12, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 11, 11, 11, 11, 11, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 10, 10, 10, 10, 10, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 9, 9, 9, 9, 9, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 8, 8, 8, 8, 8, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 7, 7, 7, 7, 7, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 6, 6, 6, 6, 6, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 5, 5, 5, 5, 5, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 2, 2, 2, 2, 2, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 1, 1, 1, 1, 1, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 4, 4, 4, 4, 4, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 3, 3, 3, 3, 3, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 40, 40, 40, 40, 40, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 39, 39, 39, 39, 39, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 38, 38, 38, 38, 38, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 37, 37, 37, 37, 37, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 36, 36, 36, 36, 36, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 35, 35, 35, 35, 35, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 34, 34, 34, 34, 34, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 33, 33, 33, 33, 33, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 31, 31, 31, 31, 31, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 30, 30, 30, 30, 30, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 29, 29, 29, 29, 29, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 28, 28, 28, 28, 28, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 27, 27, 27, 27, 27, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 26, 26, 26, 26, 26, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 25, 25, 25, 25, 25, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 24, 24, 24, 24, 24, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 23, 23, 23, 23, 23, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 22, 22, 22, 22, 22, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 21, 21, 21, 21, 21, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 20, 20, 20, 20, 20, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 19, 19, 19, 19, 19, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 18, 18, 18, 18, 18, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 17, 17, 17, 17, 17, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 16, 16, 16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 15, 15, 15, 15, 15, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 14, 14, 14, 14, 14, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 13, 13, 13, 13, 13, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 12, 12, 12, 12, 12, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 11, 11, 11, 11, 11, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 10, 10, 10, 10, 10, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 9, 9, 9, 9, 9, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 7, 7, 7, 7, 7, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 6, 6, 6, 6, 6, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 5, 5, 5, 5, 5, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 2, 2, 2, 2, 2, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 1, 1, 1, 1, 1, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 4, 4, 4, 4, 4, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 3, 3, 3, 3, 3, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 40, 40, 40, 40, 40, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 39, 39, 39, 39, 39, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 38, 38, 38, 38, 38, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 37, 37, 37, 37, 37, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 36, 36, 36, 36, 36, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 35, 35, 35, 35, 35, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 34, 34, 34, 34, 34, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 33, 33, 33, 33, 33, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 32, 32, 32, 32, 32, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 31, 31, 31, 31, 31, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 30, 30, 30, 30, 30, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 29, 29, 29, 29, 29, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 28, 28, 28, 28, 28, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 27, 27, 27, 27, 27, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 26, 26, 26, 26, 26, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 25, 25, 25, 25, 25, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 24, 24, 24, 24, 24, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 23, 23, 23, 23, 23, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 22, 22, 22, 22, 22, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 21, 21, 21, 21, 21, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 20, 20, 20, 20, 20, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 19, 19, 19, 19, 19, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 18, 18, 18, 18, 18, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 17, 17, 17, 17, 17, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 16, 16, 16, 16, 16, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 15, 15, 15, 15, 15, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 14, 14, 14, 14, 14, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 13, 13, 13, 13, 13, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 12, 12, 12, 12, 12, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 11, 11, 11, 11, 11, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 10, 10, 10, 10, 10, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 9, 9, 9, 9, 9, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 8, 8, 8, 8, 8, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 7, 7, 7, 7, 7, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 6, 6, 6, 6, 6, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 5, 5, 5, 5, 5, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 2, 2, 2, 2, 2, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 1, 1, 1, 1, 1, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 4, 4, 4, 4, 4, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 3, 3, 3, 3, 3, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 40, 40, 40, 40, 40, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 39, 39, 39, 39, 39, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 38, 38, 38, 38, 38, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 37, 37, 37, 37, 37, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 36, 36, 36, 36, 36, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 35, 35, 35, 35, 35, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 34, 34, 34, 34, 34, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 33, 33, 33, 33, 33, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 32, 32, 32, 32, 32, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 31, 31, 31, 31, 31, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 30, 30, 30, 30, 30, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 29, 29, 29, 29, 29, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 28, 28, 28, 28, 28, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 27, 27, 27, 27, 27, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 26, 26, 26, 26, 26, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 25, 25, 25, 25, 25, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 24, 24, 24, 24, 24, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 23, 23, 23, 23, 23, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 22, 22, 22, 22, 22, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 21, 21, 21, 21, 21, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 20, 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 19, 19, 19, 19, 19, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 18, 18, 18, 18, 18, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 17, 17, 17, 17, 17, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 16, 16, 16, 16, 16, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 15, 15, 15, 15, 15, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 14, 14, 14, 14, 14, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 13, 13, 13, 13, 13, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 12, 12, 12, 12, 12, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 11, 11, 11, 11, 11, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 9, 9, 9, 9, 9, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 8, 8, 8, 8, 8, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 7, 7, 7, 7, 7, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 6, 6, 6, 6, 6, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 5, 5, 5, 5, 5, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 2, 2, 2, 2, 2, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 1, 1, 1, 1, 1, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 5, 5, 5, 5, 5, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 4, 4, 4, 4, 4, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 3, 3, 3, 3, 3, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 2, 2, 2, 2, 2, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 6, 6, 6, 6, 6, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 5, 5, 5, 5, 5, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 4, 4, 4, 4, 4, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 3, 3, 3, 3, 3, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 7, 7, 7, 7, 7, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 6, 6, 6, 6, 6, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 5, 5, 5, 5, 5, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 4, 4, 4, 4, 4, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 3, 3, 3, 3, 3, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 8, 8, 8, 8, 8, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 7, 7, 7, 7, 7, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 6, 6, 6, 6, 6, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 5, 5, 5, 5, 5, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 8, 8, 8, 8, 8, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 9, 9, 9, 9, 9, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 8, 8, 8, 8, 8, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 7, 7, 7, 7, 7, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 6, 6, 6, 6, 6, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 5, 5, 5, 5, 5, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 9, 9, 9, 9, 9, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 8, 8, 8, 8, 8, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 10, 10, 10, 10, 10, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 9, 9, 9, 9, 9, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 8, 8, 8, 8, 8, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 7, 7, 7, 7, 7, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 6, 6, 6, 6, 6, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 5, 5, 5, 5, 5, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 10, 10, 10, 10, 10, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 9, 9, 9, 9, 9, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 8, 8, 8, 8, 8, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 11, 11, 11, 11, 11, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 10, 10, 10, 10, 10, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 9, 9, 9, 9, 9, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 8, 8, 8, 8, 8, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 11, 11, 11, 11, 11, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 10, 10, 10, 10, 10, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 9, 9, 9, 9, 9, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 8, 8, 8, 8, 8, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 12, 12, 12, 12, 12, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 11, 11, 11, 11, 11, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 10, 10, 10, 10, 10, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 9, 9, 9, 9, 9, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 8, 8, 8, 8, 8, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 12, 12, 12, 12, 12, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 11, 11, 11, 11, 11, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 10, 10, 10, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 9, 9, 9, 9, 9, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 8, 8, 8, 8, 8, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 13, 13, 13, 13, 13, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 12, 12, 12, 12, 12, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 11, 11, 11, 11, 11, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 10, 10, 10, 10, 10, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 9, 9, 9, 9, 9, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 8, 8, 8, 8, 8, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 13, 13, 13, 13, 13, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 12, 12, 12, 12, 12, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 11, 11, 11, 11, 11, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 10, 10, 10, 10, 10, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 9, 9, 9, 9, 9, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 8, 8, 8, 8, 8, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 14, 14, 14, 14, 14, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 13, 13, 13, 13, 13, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 12, 12, 12, 12, 12, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 11, 11, 11, 11, 11, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 10, 10, 10, 10, 10, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 9, 9, 9, 9, 9, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 8, 8, 8, 8, 8, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 14, 14, 14, 14, 14, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 13, 13, 13, 13, 13, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 12, 12, 12, 12, 12, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 11, 11, 11, 11, 11, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 10, 10, 10, 10, 10, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 9, 9, 9, 9, 9, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 8, 8, 8, 8, 8, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 15, 15, 15, 15, 15, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 14, 14, 14, 14, 14, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 13, 13, 13, 13, 13, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 12, 12, 12, 12, 12, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 11, 11, 11, 11, 11, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 10, 10, 10, 10, 10, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 9, 9, 9, 9, 9, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 15, 15, 15, 15, 15, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 14, 14, 14, 14, 14, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 13, 13, 13, 13, 13, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 12, 12, 12, 12, 12, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 11, 11, 11, 11, 11, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 10, 10, 10, 10, 10, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 9, 9, 9, 9, 9, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 8, 8, 8, 8, 8, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 16, 16, 16, 16, 16, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 15, 15, 15, 15, 15, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 14, 14, 14, 14, 14, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 13, 13, 13, 13, 13, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 12, 12, 12, 12, 12, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 11, 11, 11, 11, 11, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 10, 10, 10, 10, 10, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 16, 16, 16, 16, 16, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 15, 15, 15, 15, 15, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 14, 14, 14, 14, 14, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 13, 13, 13, 13, 13, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 12, 12, 12, 12, 12, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 11, 11, 11, 11, 11, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 10, 10, 10, 10, 10, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 9, 9, 9, 9, 9, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 8, 8, 8, 8, 8, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 17, 17, 17, 17, 17, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 16, 16, 16, 16, 16, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 15, 15, 15, 15, 15, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 14, 14, 14, 14, 14, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 13, 13, 13, 13, 13, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 12, 12, 12, 12, 12, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 11, 11, 11, 11, 11, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 17, 17, 17, 17, 17, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 16, 16, 16, 16, 16, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 15, 15, 15, 15, 15, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 14, 14, 14, 14, 14, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 13, 13, 13, 13, 13, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 12, 12, 12, 12, 12, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 11, 11, 11, 11, 11, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 10, 10, 10, 10, 10, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 9, 9, 9, 9, 9, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 8, 8, 8, 8, 8, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 18, 18, 18, 18, 18, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 17, 17, 17, 17, 17, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 16, 16, 16, 16, 16, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 15, 15, 15, 15, 15, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 14, 14, 14, 14, 14, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 13, 13, 13, 13, 13, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 12, 12, 12, 12, 12, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 18, 18, 18, 18, 18, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 17, 17, 17, 17, 17, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 16, 16, 16, 16, 16, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 15, 15, 15, 15, 15, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 14, 14, 14, 14, 14, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 13, 13, 13, 13, 13, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 12, 12, 12, 12, 12, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 11, 11, 11, 11, 11, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 10, 10, 10, 10, 10, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 9, 9, 9, 9, 9, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 8, 8, 8, 8, 8, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 19, 19, 19, 19, 19, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 18, 18, 18, 18, 18, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 17, 17, 17, 17, 17, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 16, 16, 16, 16, 16, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 15, 15, 15, 15, 15, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 14, 14, 14, 14, 14, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 13, 13, 13, 13, 13, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 19, 19, 19, 19, 19, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 18, 18, 18, 18, 18, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 17, 17, 17, 17, 17, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 16, 16, 16, 16, 16, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 15, 15, 15, 15, 15, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 14, 14, 14, 14, 14, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 13, 13, 13, 13, 13, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 12, 12, 12, 12, 12, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 11, 11, 11, 11, 11, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 10, 10, 10, 10, 10, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 9, 9, 9, 9, 9, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 8, 8, 8, 8, 8, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 20, 20, 20, 20, 20, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 19, 19, 19, 19, 19, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 18, 18, 18, 18, 18, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 17, 17, 17, 17, 17, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 16, 16, 16, 16, 16, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 15, 15, 15, 15, 15, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 14, 14, 14, 14, 14, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 20, 20, 20, 20, 20, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 19, 19, 19, 19, 19, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 18, 18, 18, 18, 18, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 17, 17, 17, 17, 17, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 16, 16, 16, 16, 16, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 15, 15, 15, 15, 15, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 14, 14, 14, 14, 14, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 13, 13, 13, 13, 13, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 12, 12, 12, 12, 12, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 11, 11, 11, 11, 11, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 10, 10, 10, 10, 10, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 9, 9, 9, 9, 9, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 8, 8, 8, 8, 8, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 21, 21, 21, 21, 21, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 20, 20, 20, 20, 20, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 19, 19, 19, 19, 19, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 18, 18, 18, 18, 18, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 17, 17, 17, 17, 17, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 16, 16, 16, 16, 16, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 15, 15, 15, 15, 15, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 21, 21, 21, 21, 21, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 20, 20, 20, 20, 20, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 19, 19, 19, 19, 19, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 18, 18, 18, 18, 18, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 17, 17, 17, 17, 17, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 16, 16, 16, 16, 16, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 15, 15, 15, 15, 15, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 14, 14, 14, 14, 14, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 13, 13, 13, 13, 13, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 12, 12, 12, 12, 12, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 11, 11, 11, 11, 11, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 10, 10, 10, 10, 10, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 9, 9, 9, 9, 9, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 8, 8, 8, 8, 8, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 22, 22, 22, 22, 22, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 21, 21, 21, 21, 21, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 20, 20, 20, 20, 20, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 19, 19, 19, 19, 19, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 18, 18, 18, 18, 18, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 17, 17, 17, 17, 17, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 16, 16, 16, 16, 16, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 22, 22, 22, 22, 22, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 21, 21, 21, 21, 21, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 20, 20, 20, 20, 20, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 19, 19, 19, 19, 19, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 18, 18, 18, 18, 18, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 17, 17, 17, 17, 17, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 16, 16, 16, 16, 16, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 15, 15, 15, 15, 15, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 14, 14, 14, 14, 14, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 13, 13, 13, 13, 13, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 12, 12, 12, 12, 12, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 11, 11, 11, 11, 11, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 10, 10, 10, 10, 10, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 9, 9, 9, 9, 9, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 8, 8, 8, 8, 8, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 23, 23, 23, 23, 23, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 22, 22, 22, 22, 22, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 21, 21, 21, 21, 21, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 20, 20, 20, 20, 20, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 19, 19, 19, 19, 19, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 18, 18, 18, 18, 18, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 17, 17, 17, 17, 17, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 23, 23, 23, 23, 23, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 22, 22, 22, 22, 22, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 21, 21, 21, 21, 21, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 20, 20, 20, 20, 20, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 19, 19, 19, 19, 19, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 18, 18, 18, 18, 18, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 17, 17, 17, 17, 17, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 16, 16, 16, 16, 16, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 15, 15, 15, 15, 15, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 14, 14, 14, 14, 14, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 13, 13, 13, 13, 13, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 12, 12, 12, 12, 12, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 11, 11, 11, 11, 11, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 10, 10, 10, 10, 10, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 9, 9, 9, 9, 9, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 8, 8, 8, 8, 8, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 24, 24, 24, 24, 24, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 23, 23, 23, 23, 23, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 22, 22, 22, 22, 22, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 21, 21, 21, 21, 21, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 20, 20, 20, 20, 20, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 19, 19, 19, 19, 19, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 18, 18, 18, 18, 18, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 24, 24, 24, 24, 24, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 22, 22, 22, 22, 22, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 21, 21, 21, 21, 21, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 20, 20, 20, 20, 20, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 19, 19, 19, 19, 19, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 18, 18, 18, 18, 18, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 17, 17, 17, 17, 17, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 16, 16, 16, 16, 16, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 15, 15, 15, 15, 15, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 14, 14, 14, 14, 14, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 13, 13, 13, 13, 13, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 12, 12, 12, 12, 12, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 11, 11, 11, 11, 11, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 10, 10, 10, 10, 10, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 9, 9, 9, 9, 9, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 8, 8, 8, 8, 8, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 25, 25, 25, 25, 25, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 24, 24, 24, 24, 24, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 23, 23, 23, 23, 23, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 22, 22, 22, 22, 22, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 21, 21, 21, 21, 21, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 20, 20, 20, 20, 20, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 19, 19, 19, 19, 19, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 25, 25, 25, 25, 25, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 24, 24, 24, 24, 24, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 23, 23, 23, 23, 23, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 22, 22, 22, 22, 22, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 21, 21, 21, 21, 21, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 20, 20, 20, 20, 20, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 19, 19, 19, 19, 19, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 18, 18, 18, 18, 18, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 17, 17, 17, 17, 17, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 16, 16, 16, 16, 16, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 15, 15, 15, 15, 15, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 14, 14, 14, 14, 14, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 13, 13, 13, 13, 13, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 12, 12, 12, 12, 12, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 11, 11, 11, 11, 11, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 10, 10, 10, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 9, 9, 9, 9, 9, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 8, 8, 8, 8, 8, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 26, 26, 26, 26, 26, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 25, 25, 25, 25, 25, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 24, 24, 24, 24, 24, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 23, 23, 23, 23, 23, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 22, 22, 22, 22, 22, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 21, 21, 21, 21, 21, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 20, 20, 20, 20, 20, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 26, 26, 26, 26, 26, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 25, 25, 25, 25, 25, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 24, 24, 24, 24, 24, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 23, 23, 23, 23, 23, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 22, 22, 22, 22, 22, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 21, 21, 21, 21, 21, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 20, 20, 20, 20, 20, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 19, 19, 19, 19, 19, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 18, 18, 18, 18, 18, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 17, 17, 17, 17, 17, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 16, 16, 16, 16, 16, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 15, 15, 15, 15, 15, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 14, 14, 14, 14, 14, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 13, 13, 13, 13, 13, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 12, 12, 12, 12, 12, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 11, 11, 11, 11, 11, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 10, 10, 10, 10, 10, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 9, 9, 9, 9, 9, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 8, 8, 8, 8, 8, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 27, 27, 27, 27, 27, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 26, 26, 26, 26, 26, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 25, 25, 25, 25, 25, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 24, 24, 24, 24, 24, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 23, 23, 23, 23, 23, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 22, 22, 22, 22, 22, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 21, 21, 21, 21, 21, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 27, 27, 27, 27, 27, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 26, 26, 26, 26, 26, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 25, 25, 25, 25, 25, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 24, 24, 24, 24, 24, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 23, 23, 23, 23, 23, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 22, 22, 22, 22, 22, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 21, 21, 21, 21, 21, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 20, 20, 20, 20, 20, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 19, 19, 19, 19, 19, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 18, 18, 18, 18, 18, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 17, 17, 17, 17, 17, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 16, 16, 16, 16, 16, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 15, 15, 15, 15, 15, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 14, 14, 14, 14, 14, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 13, 13, 13, 13, 13, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 12, 12, 12, 12, 12, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 11, 11, 11, 11, 11, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 10, 10, 10, 10, 10, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 9, 9, 9, 9, 9, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 8, 8, 8, 8, 8, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 28, 28, 28, 28, 28, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 27, 27, 27, 27, 27, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 26, 26, 26, 26, 26, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 25, 25, 25, 25, 25, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 24, 24, 24, 24, 24, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 23, 23, 23, 23, 23, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 22, 22, 22, 22, 22, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 28, 28, 28, 28, 28, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 27, 27, 27, 27, 27, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 26, 26, 26, 26, 26, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 25, 25, 25, 25, 25, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 24, 24, 24, 24, 24, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 23, 23, 23, 23, 23, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 22, 22, 22, 22, 22, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 21, 21, 21, 21, 21, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 20, 20, 20, 20, 20, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 19, 19, 19, 19, 19, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 18, 18, 18, 18, 18, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 17, 17, 17, 17, 17, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 16, 16, 16, 16, 16, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 15, 15, 15, 15, 15, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 14, 14, 14, 14, 14, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 13, 13, 13, 13, 13, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 12, 12, 12, 12, 12, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 11, 11, 11, 11, 11, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 10, 10, 10, 10, 10, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 9, 9, 9, 9, 9, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 8, 8, 8, 8, 8, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 29, 29, 29, 29, 29, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 28, 28, 28, 28, 28, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 27, 27, 27, 27, 27, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 26, 26, 26, 26, 26, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 25, 25, 25, 25, 25, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 24, 24, 24, 24, 24, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 23, 23, 23, 23, 23, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 29, 29, 29, 29, 29, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 28, 28, 28, 28, 28, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 27, 27, 27, 27, 27, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 26, 26, 26, 26, 26, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 25, 25, 25, 25, 25, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 24, 24, 24, 24, 24, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 23, 23, 23, 23, 23, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 22, 22, 22, 22, 22, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 21, 21, 21, 21, 21, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 20, 20, 20, 20, 20, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 19, 19, 19, 19, 19, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 18, 18, 18, 18, 18, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 17, 17, 17, 17, 17, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 16, 16, 16, 16, 16, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 15, 15, 15, 15, 15, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 14, 14, 14, 14, 14, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 13, 13, 13, 13, 13, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 12, 12, 12, 12, 12, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 11, 11, 11, 11, 11, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 10, 10, 10, 10, 10, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 9, 9, 9, 9, 9, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 8, 8, 8, 8, 8, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 30, 30, 30, 30, 30, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 29, 29, 29, 29, 29, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 28, 28, 28, 28, 28, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 27, 27, 27, 27, 27, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 26, 26, 26, 26, 26, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 25, 25, 25, 25, 25, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 24, 24, 24, 24, 24, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 30, 30, 30, 30, 30, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 29, 29, 29, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 28, 28, 28, 28, 28, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 27, 27, 27, 27, 27, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 26, 26, 26, 26, 26, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 25, 25, 25, 25, 25, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 24, 24, 24, 24, 24, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 23, 23, 23, 23, 23, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 22, 22, 22, 22, 22, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 21, 21, 21, 21, 21, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 20, 20, 20, 20, 20, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 19, 19, 19, 19, 19, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 18, 18, 18, 18, 18, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 17, 17, 17, 17, 17, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 15, 15, 15, 15, 15, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 14, 14, 14, 14, 14, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 13, 13, 13, 13, 13, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 12, 12, 12, 12, 12, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 11, 11, 11, 11, 11, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 10, 10, 10, 10, 10, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 9, 9, 9, 9, 9, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 8, 8, 8, 8, 8, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 30, 30, 30, 30, 30, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 31, 31, 31, 31, 31, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 31, 31, 31, 31, 31, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 30, 30, 30, 30, 30, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 29, 29, 29, 29, 29, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 28, 28, 28, 28, 28, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 27, 27, 27, 27, 27, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 26, 26, 26, 26, 26, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 25, 25, 25, 25, 25, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 31, 31, 31, 31, 31, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 30, 30, 30, 30, 30, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 29, 29, 29, 29, 29, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 28, 28, 28, 28, 28, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 27, 27, 27, 27, 27, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 26, 26, 26, 26, 26, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 25, 25, 25, 25, 25, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 24, 24, 24, 24, 24, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 23, 23, 23, 23, 23, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 22, 22, 22, 22, 22, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 21, 21, 21, 21, 21, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 20, 20, 20, 20, 20, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 19, 19, 19, 19, 19, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 18, 18, 18, 18, 18, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 17, 17, 17, 17, 17, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 16, 16, 16, 16, 16, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 15, 15, 15, 15, 15, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 14, 14, 14, 14, 14, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 13, 13, 13, 13, 13, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 12, 12, 12, 12, 12, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 11, 11, 11, 11, 11, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 10, 10, 10, 10, 10, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 9, 9, 9, 9, 9, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 8, 8, 8, 8, 8, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 31, 31, 31, 31, 31, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 32, 32, 32, 32, 32, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 32, 32, 32, 32, 32, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 31, 31, 31, 31, 31, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 30, 30, 30, 30, 30, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 29, 29, 29, 29, 29, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 28, 28, 28, 28, 28, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 27, 27, 27, 27, 27, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 26, 26, 26, 26, 26, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 32, 32, 32, 32, 32, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 31, 31, 31, 31, 31, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 30, 30, 30, 30, 30, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 29, 29, 29, 29, 29, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 28, 28, 28, 28, 28, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 27, 27, 27, 27, 27, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 26, 26, 26, 26, 26, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 25, 25, 25, 25, 25, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 24, 24, 24, 24, 24, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 23, 23, 23, 23, 23, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 22, 22, 22, 22, 22, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 21, 21, 21, 21, 21, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 20, 20, 20, 20, 20, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 19, 19, 19, 19, 19, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 18, 18, 18, 18, 18, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 17, 17, 17, 17, 17, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 16, 16, 16, 16, 16, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 15, 15, 15, 15, 15, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 14, 14, 14, 14, 14, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 13, 13, 13, 13, 13, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 12, 12, 12, 12, 12, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 11, 11, 11, 11, 11, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 10, 10, 10, 10, 10, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 9, 9, 9, 9, 9, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 8, 8, 8, 8, 8, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 32, 32, 32, 32, 32, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 33, 33, 33, 33, 33, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 33, 33, 33, 33, 33, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 32, 32, 32, 32, 32, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 31, 31, 31, 31, 31, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 30, 30, 30, 30, 30, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 29, 29, 29, 29, 29, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 28, 28, 28, 28, 28, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 27, 27, 27, 27, 27, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 33, 33, 33, 33, 33, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 32, 32, 32, 32, 32, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 31, 31, 31, 31, 31, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 30, 30, 30, 30, 30, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 29, 29, 29, 29, 29, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 28, 28, 28, 28, 28, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 27, 27, 27, 27, 27, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 26, 26, 26, 26, 26, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 25, 25, 25, 25, 25, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 24, 24, 24, 24, 24, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 23, 23, 23, 23, 23, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 22, 22, 22, 22, 22, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 21, 21, 21, 21, 21, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 20, 20, 20, 20, 20, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 19, 19, 19, 19, 19, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 18, 18, 18, 18, 18, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 17, 17, 17, 17, 17, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 16, 16, 16, 16, 16, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 15, 15, 15, 15, 15, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 14, 14, 14, 14, 14, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 13, 13, 13, 13, 13, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 12, 12, 12, 12, 12, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 11, 11, 11, 11, 11, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 10, 10, 10, 10, 10, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 9, 9, 9, 9, 9, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 8, 8, 8, 8, 8, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 33, 33, 33, 33, 33, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 32, 32, 32, 32, 32, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 33, 33, 33, 33, 33, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 34, 34, 34, 34, 34, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 34, 34, 34, 34, 34, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 33, 33, 33, 33, 33, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 32, 32, 32, 32, 32, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 31, 31, 31, 31, 31, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 30, 30, 30, 30, 30, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 29, 29, 29, 29, 29, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 28, 28, 28, 28, 28, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 34, 34, 34, 34, 34, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 33, 33, 33, 33, 33, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 32, 32, 32, 32, 32, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 31, 31, 31, 31, 31, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 30, 30, 30, 30, 30, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 29, 29, 29, 29, 29, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 28, 28, 28, 28, 28, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 27, 27, 27, 27, 27, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 26, 26, 26, 26, 26, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 25, 25, 25, 25, 25, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 24, 24, 24, 24, 24, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 23, 23, 23, 23, 23, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 22, 22, 22, 22, 22, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 21, 21, 21, 21, 21, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 20, 20, 20, 20, 20, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 19, 19, 19, 19, 19, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 18, 18, 18, 18, 18, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 17, 17, 17, 17, 17, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 16, 16, 16, 16, 16, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 15, 15, 15, 15, 15, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 14, 14, 14, 14, 14, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 13, 13, 13, 13, 13, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 12, 12, 12, 12, 12, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 11, 11, 11, 11, 11, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 10, 10, 10, 10, 10, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 9, 9, 9, 9, 9, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 8, 8, 8, 8, 8, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 34, 34, 34, 34, 34, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 33, 33, 33, 33, 33, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 34, 34, 34, 34, 34, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 35, 35, 35, 35, 35, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 35, 35, 35, 35, 35, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 34, 34, 34, 34, 34, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 33, 33, 33, 33, 33, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 32, 32, 32, 32, 32, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 31, 31, 31, 31, 31, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 30, 30, 30, 30, 30, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 29, 29, 29, 29, 29, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 35, 35, 35, 35, 35, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 34, 34, 34, 34, 34, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 33, 33, 33, 33, 33, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 32, 32, 32, 32, 32, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 31, 31, 31, 31, 31, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 30, 30, 30, 30, 30, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 29, 29, 29, 29, 29, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 28, 28, 28, 28, 28, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 27, 27, 27, 27, 27, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 26, 26, 26, 26, 26, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 25, 25, 25, 25, 25, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 24, 24, 24, 24, 24, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 23, 23, 23, 23, 23, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 22, 22, 22, 22, 22, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 21, 21, 21, 21, 21, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 20, 20, 20, 20, 20, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 19, 19, 19, 19, 19, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 18, 18, 18, 18, 18, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 17, 17, 17, 17, 17, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 16, 16, 16, 16, 16, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 15, 15, 15, 15, 15, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 14, 14, 14, 14, 14, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 13, 13, 13, 13, 13, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 12, 12, 12, 12, 12, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 11, 11, 11, 11, 11, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 10, 10, 10, 10, 10, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 9, 9, 9, 9, 9, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 8, 8, 8, 8, 8, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 35, 35, 35, 35, 35, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 34, 34, 34, 34, 34, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 35, 35, 35, 35, 35, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 35, 35, 35, 35, 35, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 34, 34, 34, 34, 34, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 36, 36, 36, 36, 36, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 36, 36, 36, 36, 36, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 35, 35, 35, 35, 35, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 34, 34, 34, 34, 34, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 33, 33, 33, 33, 33, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 32, 32, 32, 32, 32, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 31, 31, 31, 31, 31, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 30, 30, 30, 30, 30, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 36, 36, 36, 36, 36, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 35, 35, 35, 35, 35, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 34, 34, 34, 34, 34, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 33, 33, 33, 33, 33, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 32, 32, 32, 32, 32, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 31, 31, 31, 31, 31, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 30, 30, 30, 30, 30, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 29, 29, 29, 29, 29, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 28, 28, 28, 28, 28, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 27, 27, 27, 27, 27, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 26, 26, 26, 26, 26, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 25, 25, 25, 25, 25, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 24, 24, 24, 24, 24, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 23, 23, 23, 23, 23, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 21, 21, 21, 21, 21, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 20, 20, 20, 20, 20, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 19, 19, 19, 19, 19, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 18, 18, 18, 18, 18, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 17, 17, 17, 17, 17, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 16, 16, 16, 16, 16, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 15, 15, 15, 15, 15, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 14, 14, 14, 14, 14, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 13, 13, 13, 13, 13, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 12, 12, 12, 12, 12, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 10, 10, 10, 10, 10, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 9, 9, 9, 9, 9, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 8, 8, 8, 8, 8, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 36, 36, 36, 36, 36, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 35, 35, 35, 35, 35, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 36, 36, 36, 36, 36, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 36, 36, 36, 36, 36, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 35, 35, 35, 35, 35, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 37, 37, 37, 37, 37, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 37, 37, 37, 37, 37, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 36, 36, 36, 36, 36, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 35, 35, 35, 35, 35, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 34, 34, 34, 34, 34, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 33, 33, 33, 33, 33, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 32, 32, 32, 32, 32, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 31, 31, 31, 31, 31, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 37, 37, 37, 37, 37, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 36, 36, 36, 36, 36, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 37, 37, 37, 37, 37, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 37, 37, 37, 37, 37, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 36, 36, 36, 36, 36, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 38, 38, 38, 38, 38, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 38, 38, 38, 38, 38, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 37, 37, 37, 37, 37, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 36, 36, 36, 36, 36, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 35, 35, 35, 35, 35, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 34, 34, 34, 34, 34, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 33, 33, 33, 33, 33, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 38, 38, 38, 38, 38, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 37, 37, 37, 37, 37, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 38, 38, 38, 38, 38, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 38, 38, 38, 38, 38, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 37, 37, 37, 37, 37, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 40, 40, 40, 40, 40, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 39, 39, 39, 39, 39, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 40, 40, 40, 40, 40, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 39, 39, 39, 39, 39, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 40, 40, 40, 40, 40, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 39, 39, 39, 39, 39, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 38, 38, 38, 38, 38, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 40, 40, 40, 40, 40, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 39, 39, 39, 39, 39, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 40, 40, 40, 40, 40, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 39, 39, 39, 39, 39, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 38, 38, 38, 38, 38, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 40, 40, 40, 40, 40, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 39, 39, 39, 39, 39, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 40, 40, 40, 40, 40, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 39, 39, 39, 39, 39, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 38, 38, 38, 38, 38, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 40, 40, 40, 40, 40, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 39, 39, 39, 39, 39, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 38, 38, 38, 38, 38, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 37, 37, 37, 37, 37, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 40, 40, 40, 40, 40, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 39, 39, 39, 39, 39, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 38, 38, 38, 38, 38, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 37, 37, 37, 37, 37, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 36, 36, 36, 36, 36, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 1, 1, 1, 1, 1, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 40, 40, 40, 40, 40, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 39, 39, 39, 39, 39, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 38, 38, 38, 38, 38, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 37, 37, 37, 37, 37, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 40, 40, 40, 40, 40, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 39, 39, 39, 39, 39, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 38, 38, 38, 38, 38, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 37, 37, 37, 37, 37, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 36, 36, 36, 36, 36, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 1, 1, 1, 1, 1, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 40, 40, 40, 40, 40, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 39, 39, 39, 39, 39, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 38, 38, 38, 38, 38, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 37, 37, 37, 37, 37, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 36, 36, 36, 36, 36, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 35, 35, 35, 35, 35, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 2, 2, 2, 2, 2, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 1, 1, 1, 1, 1, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 2, 2, 2, 2, 2, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 3, 3, 3, 3, 3, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 40, 40, 40, 40, 40, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39, 39, 39, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 38, 38, 38, 38, 38, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 37, 37, 37, 37, 37, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 36, 36, 36, 36, 36, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 35, 35, 35, 35, 35, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 34, 34, 34, 34, 34, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 33, 33, 33, 33, 33, 48, 48, 48, 48, 48, 48, 48, 48, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char atom_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 3, 6, 3, 3, 4, 4, 7, 4, 4, 4, 4, 4, 4, 8, 8, 9, 10, 3, 3, 3, 3, 11, 6, 3, 6, 3, 3, 2, 2, 2, 2, 2, 5, 5, 3, 3, 4, 4, 3, 4, 4, 12, 3, 4, 6, 4, 4, 4, 3, 4, 7, 3, 4, 4, 4, 6, 11, 2, 13, 4, 4, 3, 9, 11, 2, 7, 2, 13, 14, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, }; /* Comb vector for state transitions. */ static const unsigned char atom_transitions[] ATTRIBUTE_UNUSED = { 0, 5, 13, 40, 40, 11, 12, 7, 35, 4, 15, 14, 8, 6, 1, 0, 39, 14, 41, 13, 13, 13, 40, 41, 35, 13, 36, 13, 37, 1, 38, 0, 0, 13, 35, 2, 35, 0, 35, 3, 4, 37, 5, 38, 2, 39, 6, 7, 8, 9, 3, 10, 11, 12, 4, 5, 13, 6, 15, 16, 17, 7, 8, 9, 10, 18, 11, 12, 13, 19, 20, 0, 21, 16, 17, 18, 22, 23, 24, 25, 19, 26, 27, 28, 20, 21, 29, 22, 30, 31, 32, 23, 24, 25, 26, 33, 27, 28, 29, 34, 35, 30, 41, 31, 32, 33, 41, 41, 41, 41, 34, 41, 41, 41, 1, 36}; /* Check vector for state transitions. */ static const unsigned char atom_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 14, 41, 39, 14, 14, 40, 41, 39, 40, 36, 39, 37, 1, 38, 39, 14, 40, 36, 2, 37, 40, 38, 3, 4, 36, 5, 37, 1, 38, 6, 7, 8, 9, 2, 10, 11, 12, 3, 4, 13, 5, 15, 16, 17, 6, 7, 8, 9, 18, 10, 11, 12, 19, 20, 13, 21, 15, 16, 17, 22, 23, 24, 25, 18, 26, 27, 28, 19, 20, 29, 21, 30, 31, 32, 22, 23, 24, 25, 33, 26, 27, 28, 34, 35, 29, 41, 30, 31, 32, 41, 41, 41, 41, 33, 41, 41, 41, 34, 35}; /* Base vector for state transitions. */ static const unsigned char atom_base[] = { 0, 29, 35, 39, 40, 42, 46, 47, 48, 49, 51, 52, 53, 56, 17, 58, 59, 60, 65, 69, 70, 72, 76, 77, 78, 79, 81, 82, 83, 86, 88, 89, 90, 95, 99, 100, 26, 28, 30, 16, 22}; /* Vector of min issue delay of insns. */ static const unsigned char atom_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 5, 5, 4, 5, 5, 5, 5, 1, 5, 5, 4, 5, 5, 5, 0, 0, 4, 4, 3, 4, 4, 4, 4, 0, 4, 4, 3, 4, 4, 4, 0, 0, 3, 3, 2, 3, 3, 3, 3, 0, 3, 3, 2, 3, 3, 3, 0, 0, 2, 2, 1, 2, 2, 2, 2, 0, 2, 2, 1, 2, 2, 2, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char slm_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 5, 3, 3, 3, 5, 5, 3, 6, 5, 5, 5, 5, 7, 5, 5, 5, 5, 5, 5, 8, 9, 10, 11, 3, 3, 3, 3, 12, 6, 3, 6, 3, 5, 2, 2, 2, 2, 2, 13, 13, 3, 3, 5, 5, 3, 14, 15, 16, 3, 5, 6, 15, 14, 5, 3, 5, 17, 3, 5, 5, 5, 5, 18, 18, 16, 15, 14, 3, 5, 15, 15, 15, 15, 14, 14, 14, 19, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, }; /* Comb vector for state transitions. */ static const unsigned short slm_transitions[] ATTRIBUTE_UNUSED = { 0, 1247, 13, 1222, 1212, 1222, 1238, 1236, 111, 13, 115, 1239, 111, 1237, 1222, 1223, 112, 1232, 111, 1, 0, 16, 1248, 1248, 1213, 1212, 1213, 13, 1248, 111, 13, 115, 1248, 111, 101, 1213, 730, 723, 1248, 723, 17, 0, 704, 705, 728, 1248, 15, 0, 723, 719, 711, 1248, 704, 610, 102, 102, 1248, 18, 604, 1248, 604, 1248, 125, 585, 586, 609, 16, 19, 22, 604, 600, 592, 1248, 585, 503, 103, 103, 2, 24, 497, 22, 497, 3, 141, 478, 479, 502, 20, 3, 24, 497, 493, 485, 1248, 478, 408, 104, 104, 1248, 15, 402, 13, 402, 0, 145, 383, 384, 407, 1248, 25, 27, 402, 398, 390, 1248, 383, 325, 105, 105, 1248, 70, 319, 18, 319, 2, 146, 300, 301, 324, 1248, 4, 29, 319, 315, 307, 1248, 300, 254, 106, 106, 1248, 64, 248, 62, 248, 11, 161, 229, 230, 253, 1248, 30, 32, 248, 244, 236, 1248, 229, 195, 107, 107, 1248, 76, 189, 27, 189, 4, 169, 170, 171, 194, 1248, 5, 34, 189, 185, 177, 1248, 170, 148, 108, 108, 1248, 155, 142, 153, 142, 150, 188, 126, 127, 147, 1248, 35, 37, 142, 138, 130, 1248, 126, 116, 109, 109, 1248, 131, 114, 127, 114, 109, 39, 111, 13, 115, 1248, 6, 1248, 114, 113, 112, 1248, 111, 110, 0, 2, 42, 1248, 1231, 1114, 1231, 40, 1248, 21, 22, 72, 1248, 21, 1248, 192, 1248, 23, 1248, 21, 3, 3, 7, 1230, 1025, 1230, 44, 1248, 26, 27, 28, 120, 26, 119, 193, 117, 75, 1248, 26, 4, 4, 1248, 1229, 948, 1229, 47, 45, 31, 32, 78, 136, 31, 128, 209, 129, 33, 1248, 31, 5, 5, 1248, 1228, 883, 1228, 49, 8, 36, 37, 38, 34, 36, 32, 220, 5, 81, 1248, 36, 6, 6, 1248, 1227, 830, 1227, 52, 50, 41, 42, 84, 203, 41, 201, 228, 198, 43, 1248, 41, 7, 7, 1248, 1226, 789, 1226, 54, 9, 46, 47, 48, 214, 46, 212, 247, 197, 87, 1248, 46, 8, 8, 1248, 1225, 760, 1225, 57, 55, 51, 52, 90, 178, 51, 171, 251, 108, 53, 1248, 51, 9, 9, 1248, 1224, 743, 1224, 59, 10, 56, 57, 58, 164, 56, 163, 252, 149, 93, 1248, 56, 10, 10, 1248, 1223, 736, 1223, 62, 60, 61, 62, 96, 183, 61, 172, 269, 173, 63, 1248, 61, 11, 11, 1248, 1222, 729, 1222, 64, 11, 12, 13, 66, 82, 12, 37, 1248, 6, 14, 1248, 12, 68, 0, 1248, 99, 1212, 99, 1248, 65, 111, 1248, 1248, 13, 111, 13, 99, 1211, 112, 1248, 111, 69, 0, 132, 13, 62, 135, 67, 135, 18, 0, 111, 13, 115, 1248, 1248, 179, 135, 134, 182, 70, 182, 133, 0, 126, 127, 147, 68, 1248, 238, 182, 181, 241, 73, 241, 180, 109, 170, 171, 194, 71, 1248, 309, 241, 240, 312, 76, 312, 239, 108, 229, 230, 253, 74, 1248, 392, 312, 311, 395, 79, 395, 310, 107, 300, 301, 324, 77, 1248, 487, 395, 394, 490, 82, 490, 393, 106, 383, 384, 407, 80, 1248, 594, 490, 489, 597, 85, 597, 488, 105, 478, 479, 502, 83, 1248, 712, 597, 596, 715, 88, 715, 595, 104, 585, 586, 609, 86, 1248, 1, 715, 714, 18, 1115, 122, 713, 103, 18, 1248, 19, 89, 18, 22, 91, 73, 70, 1248, 18, 25, 2, 1248, 1220, 1025, 1220, 3, 94, 26, 27, 28, 1248, 26, 35, 1248, 92, 1218, 883, 1218, 1248, 4, 36, 37, 38, 1248, 36, 45, 95, 1248, 1216, 789, 1216, 1248, 6, 46, 47, 48, 1248, 46, 55, 1248, 1248, 1214, 743, 1214, 1248, 8, 56, 57, 58, 1248, 56, 65, 1248, 1248, 1213, 729, 1213, 1248, 10, 12, 13, 66, 1248, 12, 71, 1248, 1248, 1026, 1114, 1026, 1248, 0, 21, 22, 72, 1248, 21, 77, 1248, 1248, 884, 948, 884, 1248, 3, 31, 32, 78, 1248, 31, 83, 1248, 1248, 790, 830, 790, 1248, 5, 41, 42, 84, 1248, 41, 89, 1248, 1248, 744, 760, 744, 1248, 7, 51, 52, 90, 1248, 51, 95, 1248, 1248, 730, 736, 730, 97, 9, 61, 62, 96, 1248, 61, 117, 12, 1248, 118, 13, 118, 13, 11, 21, 22, 72, 1248, 1248, 98, 129, 100, 23, 114, 21, 114, 3, 0, 12, 13, 66, 1248, 144, 1248, 119, 141, 14, 141, 12, 124, 0, 101, 125, 1248, 125, 120, 141, 146, 112, 1248, 111, 145, 0, 149, 117, 23, 162, 21, 162, 3, 123, 152, 153, 158, 1248, 121, 1248, 150, 127, 154, 151, 152, 151, 150, 128, 26, 27, 28, 1248, 1248, 124, 173, 131, 75, 142, 26, 142, 4, 109, 174, 127, 176, 1248, 191, 129, 136, 188, 175, 188, 174, 140, 109, 132, 141, 1248, 141, 139, 188, 193, 130, 1248, 126, 192, 109, 196, 137, 14, 221, 12, 221, 0, 143, 211, 212, 217, 1248, 140, 1248, 197, 153, 213, 210, 211, 210, 197, 155, 200, 201, 206, 1248, 1248, 144, 198, 159, 202, 199, 200, 199, 198, 150, 31, 32, 78, 1248, 1248, 156, 232, 163, 33, 189, 31, 189, 5, 160, 233, 171, 235, 1248, 250, 1248, 164, 247, 234, 247, 233, 160, 108, 149, 161, 1248, 161, 167, 247, 252, 177, 1248, 170, 251, 108, 255, 165, 75, 292, 26, 292, 4, 171, 282, 283, 288, 1248, 168, 1248, 256, 172, 284, 281, 282, 281, 256, 178, 271, 272, 277, 1248, 1248, 108, 257, 183, 273, 270, 271, 270, 257, 173, 260, 261, 266, 1248, 1248, 179, 258, 186, 262, 259, 260, 259, 258, 184, 36, 37, 38, 1248, 1248, 1248, 303, 190, 81, 248, 36, 248, 6, 187, 304, 230, 306, 1248, 321, 1248, 201, 318, 305, 318, 304, 168, 107, 191, 169, 1248, 169, 203, 318, 323, 236, 1248, 229, 322, 107, 326, 198, 154, 375, 152, 375, 150, 207, 365, 366, 371, 1248, 204, 1248, 327, 212, 367, 364, 365, 364, 327, 214, 354, 355, 360, 1248, 1248, 208, 328, 218, 356, 353, 354, 353, 328, 197, 343, 344, 349, 1248, 1248, 215, 329, 222, 345, 342, 343, 342, 329, 219, 332, 333, 338, 1248, 1248, 1248, 330, 223, 334, 331, 332, 331, 330, 196, 41, 42, 84, 1248, 1248, 1248, 386, 226, 43, 319, 41, 319, 7, 224, 387, 301, 389, 1248, 404, 1248, 230, 401, 388, 401, 387, 187, 106, 227, 188, 1248, 188, 231, 401, 406, 307, 1248, 300, 405, 106, 409, 107, 175, 470, 174, 470, 109, 237, 460, 461, 466, 1248, 232, 1248, 410, 242, 462, 459, 460, 459, 410, 245, 449, 450, 455, 1248, 1248, 238, 411, 249, 451, 448, 449, 448, 411, 243, 438, 439, 444, 1248, 1248, 246, 412, 261, 440, 437, 438, 437, 412, 250, 427, 428, 433, 1248, 1248, 1248, 413, 263, 429, 426, 427, 426, 413, 258, 416, 417, 422, 1248, 1248, 1248, 414, 267, 418, 415, 416, 415, 414, 264, 46, 47, 48, 1248, 1248, 1248, 481, 272, 87, 402, 46, 402, 8, 268, 482, 384, 484, 1248, 499, 1248, 274, 496, 483, 496, 482, 208, 105, 257, 209, 1248, 209, 278, 496, 501, 390, 1248, 383, 500, 105, 504, 275, 33, 577, 31, 577, 5, 283, 567, 568, 573, 1248, 279, 1248, 505, 285, 569, 566, 567, 566, 505, 289, 556, 557, 562, 1248, 1248, 256, 506, 293, 558, 555, 556, 555, 506, 286, 545, 546, 551, 1248, 1248, 290, 507, 294, 547, 544, 545, 544, 507, 255, 534, 535, 540, 1248, 1248, 1248, 508, 297, 536, 533, 534, 533, 508, 295, 523, 524, 529, 1248, 1248, 1248, 509, 301, 525, 522, 523, 522, 509, 298, 512, 513, 518, 1248, 1248, 1248, 510, 302, 514, 511, 512, 511, 510, 106, 51, 52, 90, 1248, 1248, 1248, 588, 308, 53, 497, 51, 497, 9, 303, 589, 479, 591, 1248, 606, 1248, 313, 603, 590, 603, 589, 219, 104, 309, 220, 1248, 220, 316, 603, 608, 485, 1248, 478, 607, 104, 611, 314, 202, 696, 200, 696, 198, 320, 686, 687, 692, 1248, 317, 1248, 612, 333, 688, 685, 686, 685, 612, 335, 675, 676, 681, 1248, 1248, 321, 613, 339, 677, 674, 675, 674, 613, 330, 664, 665, 670, 1248, 1248, 336, 614, 344, 666, 663, 664, 663, 614, 340, 653, 654, 659, 1248, 1248, 1248, 615, 346, 655, 652, 653, 652, 615, 329, 642, 643, 648, 1248, 1248, 1248, 616, 350, 644, 641, 642, 641, 616, 347, 631, 632, 637, 1248, 1248, 1248, 617, 355, 633, 630, 631, 630, 617, 351, 620, 621, 626, 1248, 1248, 1248, 618, 357, 622, 619, 620, 619, 618, 328, 56, 57, 58, 1248, 1248, 1248, 707, 361, 93, 604, 56, 604, 10, 358, 708, 586, 710, 1248, 725, 1248, 366, 722, 709, 722, 708, 227, 103, 362, 228, 1248, 228, 368, 722, 727, 592, 1248, 585, 726, 103, 732, 327, 213, 723, 211, 723, 197, 372, 733, 705, 735, 1248, 369, 1248, 739, 376, 734, 719, 733, 719, 102, 377, 740, 706, 742, 1248, 1248, 373, 746, 380, 741, 759, 740, 759, 707, 326, 751, 752, 756, 1248, 1248, 378, 747, 384, 753, 600, 751, 600, 747, 381, 748, 587, 750, 1248, 1248, 1248, 763, 385, 749, 788, 748, 788, 588, 105, 778, 779, 784, 1248, 1248, 1248, 764, 391, 780, 777, 778, 777, 764, 386, 769, 770, 774, 1248, 1248, 1248, 765, 396, 771, 493, 769, 493, 765, 392, 766, 480, 768, 1248, 1248, 1248, 792, 399, 767, 829, 766, 829, 481, 397, 819, 820, 825, 1248, 1248, 1248, 793, 403, 821, 818, 819, 818, 793, 400, 808, 809, 814, 1248, 1248, 1248, 794, 417, 810, 807, 808, 807, 794, 404, 799, 800, 804, 1248, 1248, 1248, 795, 419, 801, 398, 799, 398, 795, 414, 796, 385, 798, 1248, 1248, 1248, 833, 423, 797, 882, 796, 882, 386, 420, 872, 873, 878, 1248, 1248, 1248, 834, 428, 874, 871, 872, 871, 834, 424, 861, 862, 867, 1248, 1248, 1248, 835, 430, 863, 860, 861, 860, 835, 413, 850, 851, 856, 1248, 1248, 1248, 836, 434, 852, 849, 850, 849, 836, 431, 841, 842, 846, 1248, 1248, 1248, 837, 439, 843, 315, 841, 315, 837, 435, 838, 302, 840, 1248, 1248, 1248, 886, 441, 839, 947, 838, 947, 303, 412, 937, 938, 943, 1248, 1248, 1248, 887, 445, 939, 936, 937, 936, 887, 442, 926, 927, 932, 1248, 1248, 1248, 888, 450, 928, 925, 926, 925, 888, 446, 915, 916, 921, 1248, 1248, 1248, 889, 452, 917, 914, 915, 914, 889, 411, 904, 905, 910, 1248, 1248, 1248, 890, 456, 906, 903, 904, 903, 890, 453, 895, 896, 900, 1248, 1248, 1248, 891, 461, 897, 244, 895, 244, 891, 457, 892, 231, 894, 1248, 1248, 1248, 951, 463, 893, 1024, 892, 1024, 232, 410, 1014, 1015, 1020, 1248, 1248, 1248, 952, 467, 1016, 1013, 1014, 1013, 952, 464, 1003, 1004, 1009, 1248, 1248, 1248, 953, 471, 1005, 1002, 1003, 1002, 953, 468, 992, 993, 998, 1248, 1248, 1248, 954, 472, 994, 991, 992, 991, 954, 409, 981, 982, 987, 1248, 1248, 1248, 955, 475, 983, 980, 981, 980, 955, 473, 970, 971, 976, 1248, 1248, 1248, 956, 479, 972, 969, 970, 969, 956, 476, 961, 962, 966, 1248, 1248, 1248, 957, 480, 963, 185, 961, 185, 957, 104, 958, 172, 960, 1248, 1248, 1248, 1028, 486, 959, 1113, 958, 1113, 173, 481, 1103, 1104, 1109, 1248, 1248, 1248, 1029, 491, 1105, 1102, 1103, 1102, 1029, 487, 1092, 1093, 1098, 1248, 1248, 1248, 1030, 494, 1094, 1091, 1092, 1091, 1030, 492, 1081, 1082, 1087, 1248, 1248, 1248, 1031, 498, 1083, 1080, 1081, 1080, 1031, 495, 1070, 1071, 1076, 1248, 1248, 1248, 1032, 513, 1072, 1069, 1070, 1069, 1032, 499, 1059, 1060, 1065, 1248, 1248, 1248, 1033, 515, 1061, 1058, 1059, 1058, 1033, 510, 1048, 1049, 1054, 1248, 1248, 1248, 1034, 519, 1050, 1047, 1048, 1047, 1034, 516, 1039, 1040, 1044, 1248, 1248, 1248, 1035, 524, 1041, 138, 1039, 138, 1035, 520, 1036, 128, 1038, 1248, 1248, 1248, 1116, 526, 1037, 1210, 1036, 1210, 129, 509, 1200, 1201, 1206, 1248, 1248, 1248, 1117, 530, 1202, 1199, 1200, 1199, 1117, 527, 1189, 1190, 1195, 1248, 1248, 1248, 1118, 535, 1191, 1188, 1189, 1188, 1118, 531, 1178, 1179, 1184, 1248, 1248, 1248, 1119, 537, 1180, 1177, 1178, 1177, 1119, 508, 1167, 1168, 1173, 1248, 1248, 1248, 1120, 541, 1169, 1166, 1167, 1166, 1120, 538, 1156, 1157, 1162, 1248, 1248, 1248, 1121, 546, 1158, 1155, 1156, 1155, 1121, 542, 1145, 1146, 1151, 1248, 1248, 1248, 1122, 548, 1147, 1144, 1145, 1144, 1122, 507, 1134, 1135, 1140, 1248, 1248, 1248, 1123, 552, 1136, 1133, 1134, 1133, 1123, 549, 1125, 1126, 1130, 557, 1248, 1248, 1124, 1248, 1127, 113, 1125, 113, 1124, 553, 61, 62, 96, 1222, 1248, 1248, 13, 100, 63, 506, 61, 13, 11, 67, 1223, 13, 1248, 62, 731, 15, 1248, 13, 62, 0, 97, 1224, 62, 1248, 57, 738, 64, 1248, 62, 57, 11, 59, 1225, 57, 1248, 52, 745, 94, 1248, 57, 52, 10, 91, 1226, 52, 1248, 47, 762, 54, 1248, 52, 47, 9, 49, 1227, 47, 1248, 42, 791, 88, 1248, 47, 42, 8, 85, 1228, 42, 1248, 37, 832, 44, 1248, 42, 37, 7, 39, 1229, 37, 1248, 32, 885, 82, 1248, 37, 32, 6, 79, 1230, 32, 1248, 27, 950, 34, 280, 32, 27, 5, 29, 1231, 27, 1248, 22, 1027, 76, 559, 27, 22, 4, 73, 263, 22, 261, 1248, 258, 24, 1248, 22, 20, 3, 1248, 1221, 1114, 1221, 1248, 560, 1248, 1248, 30, 133, 21, 1219, 948, 1219, 23, 134, 21, 18, 3, 19, 31, 1248, 1248, 62, 33, 97, 31, 40, 5, 2, 1217, 830, 1217, 1248, 1248, 11, 1248, 50, 135, 41, 1215, 760, 1215, 43, 157, 41, 13, 7, 67, 51, 1248, 1248, 27, 53, 29, 51, 60, 9, 0, 1211, 736, 1211, 1248, 1248, 4, 1248, 74, 166, 61, 949, 1025, 949, 63, 180, 61, 153, 11, 159, 26, 1248, 1248, 119, 75, 123, 26, 80, 4, 150, 831, 883, 831, 1248, 1248, 117, 1248, 86, 181, 36, 761, 789, 761, 81, 182, 36, 128, 6, 139, 46, 1248, 1248, 127, 87, 143, 46, 92, 8, 129, 737, 743, 737, 1248, 563, 109, 1248, 98, 1248, 56, 99, 729, 99, 93, 568, 56, 1248, 10, 17, 12, 1248, 18, 1115, 14, 564, 12, 18, 0, 19, 69, 18, 570, 18, 1115, 505, 1248, 99, 1248, 2, 13, 100, 18, 1248, 1248, 1248, 70, 1248, 18, 13, 2, 112, 571, 15, 15, 13, 15, 0, 115, 121, 1248, 67, 122, 67, 122, 15, 64, 21, 22, 72, 70, 16, 67, 97, 1248, 1248, 1248, 19, 68, 3, 126, 1248, 1248, 127, 574, 127, 1248, 130, 137, 1248, 131, 135, 131, 135, 127, 128, 12, 13, 66, 119, 109, 131, 136, 1248, 575, 1248, 120, 132, 0, 147, 156, 1248, 143, 157, 143, 157, 1248, 110, 26, 27, 28, 1248, 1248, 143, 139, 18, 578, 19, 123, 144, 4, 165, 1248, 70, 166, 18, 166, 2, 1248, 152, 153, 158, 170, 1248, 1248, 171, 504, 171, 1248, 177, 184, 150, 178, 182, 178, 182, 171, 172, 174, 127, 176, 163, 108, 178, 183, 1248, 1248, 1248, 164, 179, 109, 194, 204, 1248, 190, 205, 190, 205, 1248, 113, 31, 32, 78, 1248, 579, 190, 186, 62, 1248, 97, 167, 191, 5, 215, 1248, 64, 216, 62, 216, 11, 1248, 200, 201, 206, 580, 229, 224, 582, 230, 225, 230, 225, 1248, 198, 211, 212, 217, 1248, 236, 230, 231, 237, 1248, 237, 222, 107, 197, 583, 291, 1248, 1248, 243, 237, 242, 241, 1248, 241, 223, 238, 233, 171, 235, 253, 1248, 274, 249, 272, 249, 257, 246, 264, 108, 247, 265, 247, 265, 249, 245, 36, 37, 38, 226, 250, 275, 1248, 234, 276, 233, 276, 108, 6, 260, 261, 266, 1248, 14, 286, 1248, 15, 287, 15, 287, 1248, 258, 271, 272, 277, 1248, 300, 295, 586, 301, 296, 301, 296, 16, 257, 282, 283, 288, 1248, 307, 301, 302, 308, 1248, 308, 293, 106, 256, 103, 299, 1248, 1248, 314, 308, 313, 312, 1248, 312, 294, 309, 304, 230, 306, 324, 1248, 285, 320, 283, 320, 256, 268, 336, 107, 269, 337, 269, 337, 320, 316, 41, 42, 84, 297, 321, 347, 1248, 81, 348, 36, 348, 6, 7, 332, 333, 338, 1248, 279, 358, 1248, 280, 359, 280, 359, 1248, 330, 343, 344, 349, 1248, 587, 369, 1248, 262, 370, 260, 370, 258, 329, 354, 355, 360, 1248, 383, 378, 593, 384, 379, 384, 379, 588, 328, 365, 366, 371, 1248, 390, 384, 385, 391, 1248, 391, 376, 105, 327, 594, 318, 1248, 1248, 397, 391, 396, 395, 1248, 395, 377, 392, 387, 301, 389, 407, 1248, 237, 403, 230, 403, 107, 290, 420, 106, 291, 421, 291, 421, 403, 399, 46, 47, 48, 380, 404, 431, 1248, 273, 432, 271, 432, 257, 8, 416, 417, 422, 1248, 298, 442, 1248, 299, 443, 299, 443, 1248, 414, 427, 428, 433, 1248, 598, 453, 1248, 284, 454, 282, 454, 256, 413, 438, 439, 444, 1248, 21, 464, 1248, 22, 465, 22, 465, 599, 412, 449, 450, 455, 1248, 478, 473, 601, 479, 474, 479, 474, 3, 411, 460, 461, 466, 1248, 485, 479, 480, 486, 1248, 486, 471, 104, 410, 602, 322, 1248, 1248, 492, 486, 491, 490, 1248, 490, 472, 487, 482, 384, 484, 502, 1248, 223, 498, 222, 498, 196, 317, 516, 105, 318, 517, 318, 517, 498, 494, 51, 52, 90, 475, 499, 527, 1248, 305, 528, 304, 528, 107, 9, 512, 513, 518, 1248, 340, 538, 1248, 341, 539, 341, 539, 1248, 510, 523, 524, 529, 1248, 605, 549, 1248, 43, 550, 41, 550, 7, 509, 534, 535, 540, 1248, 351, 560, 1248, 352, 561, 352, 561, 606, 508, 545, 546, 551, 1248, 621, 571, 1248, 334, 572, 332, 572, 330, 507, 556, 557, 562, 1248, 585, 580, 623, 586, 581, 586, 581, 618, 506, 567, 568, 573, 1248, 592, 586, 587, 593, 1248, 593, 578, 103, 505, 624, 323, 1248, 1248, 599, 593, 598, 597, 1248, 597, 579, 594, 589, 479, 591, 609, 1248, 242, 605, 231, 605, 232, 362, 624, 104, 363, 625, 363, 625, 605, 601, 56, 57, 58, 582, 606, 635, 1248, 345, 636, 343, 636, 329, 10, 620, 621, 626, 1248, 373, 646, 1248, 374, 647, 374, 647, 1248, 618, 631, 632, 637, 1248, 627, 657, 1248, 356, 658, 354, 658, 328, 617, 642, 643, 648, 1248, 381, 668, 1248, 382, 669, 382, 669, 628, 616, 653, 654, 659, 1248, 632, 679, 1248, 367, 680, 365, 680, 327, 615, 664, 665, 670, 1248, 23, 690, 1248, 24, 691, 24, 691, 617, 614, 675, 676, 681, 1248, 704, 699, 634, 705, 700, 705, 700, 25, 613, 686, 687, 692, 1248, 711, 705, 706, 718, 1248, 718, 697, 102, 612, 635, 1248, 638, 341, 717, 718, 716, 715, 1248, 715, 698, 712, 708, 586, 710, 728, 1248, 205, 724, 44, 724, 42, 639, 7, 103, 32, 1248, 79, 730, 724, 720, 62, 731, 643, 701, 725, 62, 5, 97, 737, 62, 645, 57, 738, 649, 1248, 744, 654, 11, 52, 745, 57, 656, 616, 52, 94, 91, 57, 52, 10, 754, 646, 660, 714, 650, 714, 9, 615, 748, 587, 750, 761, 657, 1248, 47, 762, 773, 665, 1248, 596, 588, 596, 661, 47, 766, 480, 768, 88, 1248, 47, 781, 8, 667, 782, 1248, 782, 481, 614, 769, 770, 774, 790, 1248, 1248, 42, 791, 1248, 1248, 216, 42, 765, 85, 668, 42, 803, 1248, 201, 489, 207, 489, 1248, 7, 796, 385, 798, 1248, 400, 812, 198, 401, 813, 401, 813, 671, 386, 799, 800, 804, 676, 1248, 822, 1248, 388, 823, 387, 823, 106, 795, 808, 809, 814, 831, 678, 672, 37, 832, 845, 682, 613, 394, 794, 394, 1248, 37, 838, 302, 840, 82, 1248, 37, 854, 6, 679, 855, 687, 855, 303, 683, 841, 842, 846, 1248, 424, 865, 1248, 425, 866, 425, 866, 689, 837, 850, 851, 856, 612, 1248, 875, 1248, 87, 876, 46, 876, 8, 836, 861, 862, 867, 884, 1248, 690, 32, 885, 1248, 1248, 225, 32, 835, 79, 1248, 32, 899, 1248, 212, 311, 218, 311, 1248, 5, 892, 231, 894, 1248, 435, 908, 197, 436, 909, 436, 909, 1248, 232, 895, 896, 900, 1248, 693, 919, 1248, 418, 920, 416, 920, 414, 891, 904, 905, 910, 1248, 446, 930, 1248, 447, 931, 447, 931, 694, 890, 915, 916, 921, 697, 1248, 940, 1248, 429, 941, 427, 941, 413, 889, 926, 927, 932, 949, 698, 1248, 27, 950, 965, 701, 611, 240, 888, 240, 1248, 27, 958, 172, 960, 76, 1248, 27, 974, 4, 699, 975, 705, 975, 173, 702, 961, 962, 966, 1248, 457, 985, 1248, 458, 986, 458, 986, 1248, 957, 970, 971, 976, 102, 706, 996, 1248, 440, 997, 438, 997, 412, 956, 981, 982, 987, 1248, 468, 1007, 1248, 469, 1008, 469, 1008, 707, 955, 992, 993, 998, 1248, 1248, 1017, 1248, 451, 1018, 449, 1018, 411, 954, 1003, 1004, 1009, 1026, 1248, 1248, 22, 1027, 1248, 1248, 239, 22, 953, 73, 1248, 22, 1043, 1248, 163, 181, 167, 181, 1248, 3, 1036, 128, 1038, 1248, 476, 1052, 149, 477, 1053, 477, 1053, 1248, 129, 1039, 1040, 1044, 1248, 716, 1063, 1248, 462, 1064, 460, 1064, 410, 1035, 1048, 1049, 1054, 1248, 495, 1074, 1248, 496, 1075, 496, 1075, 717, 1034, 1059, 1060, 1065, 1248, 718, 1085, 1248, 483, 1086, 482, 1086, 105, 1033, 1070, 1071, 1076, 1248, 520, 1096, 1248, 521, 1097, 521, 1097, 712, 1032, 1081, 1082, 1087, 1248, 720, 1106, 1248, 53, 1107, 51, 1107, 9, 1031, 1092, 1093, 1098, 1248, 531, 1129, 1248, 532, 134, 532, 134, 721, 1030, 61, 62, 96, 1248, 724, 1138, 1248, 514, 1139, 512, 1139, 510, 11, 1125, 1126, 1130, 1248, 542, 1149, 1248, 543, 1150, 543, 1150, 725, 1124, 1134, 1135, 1140, 1248, 731, 1160, 1248, 525, 1161, 523, 1161, 509, 1123, 1145, 1146, 1151, 1248, 553, 1171, 1248, 554, 1172, 554, 1172, 732, 1122, 1156, 1157, 1162, 1248, 738, 1182, 1248, 536, 1183, 534, 1183, 508, 1121, 1167, 1168, 1173, 1248, 564, 1193, 1248, 565, 1194, 565, 1194, 739, 1120, 1178, 1179, 1184, 745, 1248, 1203, 752, 547, 1204, 545, 1204, 507, 1119, 1189, 1190, 1195, 1211, 1248, 1248, 62, 731, 1248, 755, 746, 1212, 1118, 747, 100, 62, 100, 26, 1248, 64, 27, 62, 27, 11, 1213, 100, 731, 13, 100, 754, 1115, 101, 13, 1248, 67, 1214, 13, 4, 57, 738, 758, 1248, 1248, 57, 0, 59, 1215, 57, 762, 52, 745, 1248, 1248, 1216, 770, 10, 47, 762, 52, 1248, 757, 47, 54, 49, 52, 47, 9, 1217, 763, 1248, 42, 791, 1218, 8, 765, 37, 832, 772, 1248, 42, 37, 1248, 39, 44, 37, 42, 1219, 7, 1248, 32, 885, 1220, 6, 775, 27, 950, 352, 773, 32, 27, 1248, 29, 34, 27, 32, 1221, 5, 1248, 22, 1027, 114, 4, 335, 776, 333, 1248, 330, 22, 13, 116, 67, 24, 1248, 22, 118, 3, 15, 119, 13, 123, 0, 1248, 22, 138, 73, 120, 1248, 119, 142, 117, 24, 128, 22, 139, 3, 1248, 127, 148, 143, 136, 1248, 128, 151, 129, 131, 163, 127, 167, 109, 1248, 27, 162, 29, 164, 1248, 163, 185, 149, 76, 153, 27, 159, 4, 1248, 172, 189, 186, 155, 1248, 153, 195, 150, 183, 171, 172, 190, 173, 1248, 222, 199, 226, 178, 1248, 171, 210, 108, 223, 32, 222, 79, 196, 1248, 201, 221, 207, 34, 1248, 32, 244, 5, 203, 212, 201, 218, 198, 1248, 231, 248, 245, 214, 1248, 212, 254, 197, 242, 230, 231, 249, 232, 1248, 293, 259, 297, 237, 1248, 230, 270, 107, 294, 37, 293, 39, 255, 1248, 261, 281, 267, 82, 1248, 37, 292, 6, 263, 272, 261, 278, 258, 1248, 283, 315, 289, 274, 1248, 272, 319, 257, 285, 302, 283, 316, 256, 1248, 301, 325, 320, 313, 1248, 302, 331, 303, 308, 376, 301, 380, 106, 1248, 42, 342, 85, 377, 1248, 376, 353, 326, 44, 333, 42, 339, 7, 1248, 344, 364, 350, 335, 1248, 333, 375, 330, 346, 355, 344, 361, 329, 1248, 366, 398, 372, 357, 1248, 355, 402, 328, 368, 385, 366, 399, 327, 1248, 384, 408, 403, 396, 1248, 385, 415, 386, 391, 471, 384, 475, 105, 1248, 47, 426, 49, 472, 1248, 471, 437, 409, 88, 417, 47, 423, 8, 1248, 428, 448, 434, 419, 1248, 417, 459, 414, 430, 439, 428, 445, 413, 1248, 450, 470, 456, 441, 1248, 439, 493, 412, 452, 461, 450, 467, 411, 1248, 480, 497, 494, 463, 1248, 461, 503, 410, 491, 479, 480, 498, 481, 1248, 578, 511, 582, 486, 1248, 479, 522, 104, 579, 52, 578, 91, 504, 1248, 513, 533, 519, 54, 1248, 52, 544, 9, 515, 524, 513, 530, 510, 1248, 535, 555, 541, 526, 1248, 524, 566, 509, 537, 546, 535, 552, 508, 1248, 557, 575, 563, 548, 576, 546, 576, 507, 559, 1248, 557, 1248, 506, 583, 577, 1248, 584, 558, 584, 556, 602, 506, 568, 603, 574, 603, 1248, 600, 779, 569, 570, 567, 568, 505, 505, 587, 590, 601, 589, 1248, 104, 604, 610, 598, 1248, 587, 240, 588, 764, 586, 697, 605, 701, 1248, 172, 619, 186, 593, 698, 586, 697, 103, 611, 57, 628, 59, 173, 629, 1248, 629, 1248, 94, 1248, 57, 1248, 10, 639, 630, 1248, 640, 93, 640, 56, 650, 10, 621, 651, 627, 651, 783, 641, 787, 622, 623, 620, 621, 618, 618, 632, 633, 638, 631, 1248, 617, 652, 1248, 634, 663, 632, 781, 617, 785, 643, 661, 649, 654, 662, 660, 662, 1248, 645, 1248, 643, 656, 616, 654, 674, 615, 1248, 644, 1248, 642, 672, 616, 665, 673, 671, 673, 683, 685, 1248, 684, 667, 684, 665, 1248, 614, 676, 655, 682, 653, 1248, 615, 791, 666, 678, 664, 676, 614, 613, 694, 696, 1248, 695, 1248, 695, 1248, 702, 800, 687, 703, 693, 703, 792, 719, 1248, 677, 689, 675, 687, 613, 612, 706, 688, 720, 686, 721, 612, 795, 722, 716, 722, 706, 723, 707, 28, 802, 1248, 29, 1248, 29, 705, 709, 724, 708, 757, 103, 1248, 727, 718, 727, 705, 759, 102, 31, 30, 803, 32, 1248, 32, 752, 749, 758, 748, 776, 588, 1248, 608, 755, 608, 752, 777, 747, 33, 5, 1248, 34, 1248, 34, 770, 767, 775, 766, 785, 481, 1248, 786, 772, 786, 770, 788, 765, 36, 35, 1248, 37, 1248, 37, 779, 771, 787, 769, 806, 765, 1248, 501, 783, 501, 779, 807, 764, 38, 6, 1248, 39, 1248, 39, 800, 797, 805, 796, 816, 386, 1248, 817, 802, 817, 800, 818, 795, 41, 40, 1248, 42, 1248, 42, 809, 801, 815, 799, 826, 795, 1248, 827, 811, 827, 809, 829, 794, 43, 7, 1248, 44, 1248, 44, 820, 810, 828, 808, 848, 794, 1248, 406, 824, 406, 820, 849, 793, 46, 45, 1248, 47, 1248, 47, 842, 839, 847, 838, 858, 303, 1248, 859, 844, 859, 842, 860, 837, 48, 8, 1248, 49, 1248, 49, 851, 843, 857, 841, 869, 837, 1248, 870, 853, 870, 851, 871, 836, 51, 50, 1248, 52, 1248, 52, 862, 852, 868, 850, 879, 836, 1248, 880, 864, 880, 862, 882, 835, 53, 9, 1248, 54, 1248, 54, 873, 863, 881, 861, 902, 835, 1248, 323, 877, 323, 873, 903, 834, 56, 55, 1248, 57, 1248, 57, 896, 893, 901, 892, 912, 232, 1248, 913, 898, 913, 896, 914, 891, 58, 10, 1248, 59, 1248, 59, 905, 897, 911, 895, 923, 891, 1248, 924, 907, 924, 905, 925, 890, 61, 60, 1248, 62, 1248, 62, 916, 906, 922, 904, 934, 890, 1248, 935, 918, 935, 916, 936, 889, 63, 11, 1248, 64, 1248, 64, 927, 917, 933, 915, 944, 889, 1248, 945, 929, 945, 927, 947, 888, 66, 65, 1248, 67, 1248, 67, 938, 928, 946, 926, 968, 888, 1248, 252, 942, 252, 938, 969, 887, 72, 68, 1248, 73, 1248, 73, 962, 959, 967, 958, 978, 173, 1248, 979, 964, 979, 962, 980, 957, 75, 74, 1248, 76, 1248, 76, 971, 963, 977, 961, 989, 957, 1248, 990, 973, 990, 971, 991, 956, 78, 77, 1248, 79, 1248, 79, 982, 972, 988, 970, 1000, 956, 1248, 1001, 984, 1001, 982, 1002, 955, 81, 80, 1248, 82, 1248, 82, 993, 983, 999, 981, 1011, 955, 1248, 1012, 995, 1012, 993, 1013, 954, 84, 83, 1248, 85, 1248, 85, 1004, 994, 1010, 992, 1021, 954, 1248, 1022, 1006, 1022, 1004, 1024, 953, 87, 86, 1248, 88, 1248, 88, 1015, 1005, 1023, 1003, 1046, 953, 1248, 193, 1019, 193, 1015, 1047, 952, 90, 89, 1248, 91, 1248, 91, 1040, 1037, 1045, 1036, 1056, 129, 1248, 1057, 1042, 1057, 1040, 1058, 1035, 93, 92, 1248, 94, 1248, 94, 1049, 1041, 1055, 1039, 1067, 1035, 1248, 1068, 1051, 1068, 1049, 1069, 1034, 96, 95, 1248, 97, 1248, 97, 1060, 1050, 1066, 1048, 1078, 1034, 1248, 1079, 1062, 1079, 1060, 1080, 1033, 152, 98, 1248, 153, 1248, 153, 1071, 1061, 1077, 1059, 1089, 1033, 1248, 1090, 1073, 1090, 1071, 1091, 1032, 154, 150, 1248, 155, 1248, 155, 1082, 1072, 1088, 1070, 1100, 1032, 1248, 1101, 1084, 1101, 1082, 1102, 1031, 158, 156, 1248, 159, 1248, 159, 1093, 1083, 1099, 1081, 1110, 1031, 1248, 1111, 1095, 1111, 1093, 1113, 1030, 174, 160, 1248, 127, 1248, 127, 1104, 1094, 1112, 1092, 1132, 1030, 1248, 146, 1108, 146, 1104, 1133, 1029, 175, 109, 1248, 131, 1248, 131, 1126, 63, 1131, 61, 1142, 11, 1248, 1143, 1128, 1143, 1126, 1144, 1124, 176, 132, 1248, 143, 1248, 143, 1135, 1127, 1141, 1125, 1153, 1124, 1248, 1154, 1137, 1154, 1135, 1155, 1123, 200, 144, 1248, 201, 1248, 201, 1146, 1136, 1152, 1134, 1164, 1123, 1248, 1165, 1148, 1165, 1146, 1166, 1122, 202, 198, 1248, 203, 1248, 203, 1157, 1147, 1163, 1145, 1175, 1122, 1248, 1176, 1159, 1176, 1157, 1177, 1121, 206, 204, 1248, 207, 1248, 207, 1168, 1158, 1174, 1156, 1186, 1121, 1248, 1187, 1170, 1187, 1168, 1188, 1120, 211, 208, 1248, 212, 1248, 212, 1179, 1169, 1185, 1167, 1197, 1120, 1248, 1198, 1181, 1198, 1179, 1199, 1119, 213, 197, 1248, 214, 1248, 214, 1190, 1180, 1196, 1178, 1207, 1119, 1248, 1208, 1192, 1208, 1190, 1210, 1118, 217, 215, 1248, 218, 1248, 218, 1201, 1191, 1209, 1189, 233, 1118, 1248, 171, 1205, 171, 1201, 241, 1117, 234, 219, 1248, 178, 235, 178, 171, 190, 190, 190, 260, 108, 1248, 261, 262, 261, 1248, 263, 108, 263, 179, 265, 266, 271, 191, 267, 272, 267, 272, 37, 258, 39, 273, 1248, 264, 274, 276, 274, 1248, 1248, 1248, 6, 268, 257, 261, 277, 267, 1248, 278, 1248, 278, 805, 275, 287, 282, 284, 258, 283, 285, 283, 285, 272, 296, 278, 288, 279, 1248, 289, 809, 289, 283, 806, 289, 257, 256, 286, 304, 1248, 811, 230, 305, 230, 256, 237, 290, 237, 306, 310, 794, 249, 1248, 249, 1248, 311, 312, 222, 107, 226, 812, 1248, 238, 231, 230, 245, 249, 332, 250, 196, 333, 1248, 333, 337, 334, 232, 107, 335, 1248, 335, 1248, 42, 1248, 85, 363, 338, 343, 330, 339, 344, 339, 344, 345, 7, 336, 346, 815, 346, 349, 348, 346, 350, 344, 350, 329, 340, 329, 333, 354, 339, 1248, 355, 347, 355, 1248, 359, 816, 356, 351, 330, 357, 360, 357, 344, 361, 350, 361, 365, 328, 820, 366, 367, 366, 824, 368, 329, 368, 358, 370, 371, 1248, 362, 372, 1248, 372, 374, 355, 327, 361, 793, 382, 369, 379, 822, 1248, 1248, 1248, 1248, 328, 373, 366, 357, 372, 355, 387, 328, 368, 301, 366, 301, 327, 388, 327, 393, 308, 389, 308, 394, 320, 1248, 320, 293, 395, 297, 106, 302, 1248, 316, 401, 405, 301, 309, 320, 255, 406, 321, 416, 303, 1248, 417, 1248, 417, 106, 421, 308, 294, 301, 293, 106, 255, 313, 47, 302, 49, 303, 418, 414, 1248, 419, 422, 419, 1248, 423, 8, 423, 425, 427, 429, 432, 428, 430, 428, 430, 436, 1248, 420, 417, 433, 423, 424, 434, 88, 434, 47, 443, 8, 413, 431, 414, 419, 447, 417, 428, 414, 434, 438, 440, 435, 439, 441, 439, 441, 444, 1248, 413, 445, 430, 445, 428, 449, 413, 1248, 450, 1248, 450, 412, 442, 454, 451, 1248, 1248, 452, 446, 452, 458, 439, 1248, 445, 455, 411, 1248, 456, 1248, 456, 1248, 465, 460, 412, 453, 461, 441, 461, 439, 450, 412, 456, 462, 466, 457, 463, 467, 463, 467, 469, 474, 411, 410, 1248, 482, 477, 1248, 384, 461, 384, 467, 483, 464, 468, 391, 452, 391, 450, 488, 411, 410, 463, 828, 461, 105, 410, 376, 484, 380, 489, 403, 392, 403, 490, 496, 832, 1248, 385, 326, 399, 500, 384, 826, 403, 1248, 501, 1248, 404, 842, 386, 391, 1248, 384, 105, 105, 833, 377, 1248, 376, 512, 326, 396, 513, 385, 513, 386, 514, 517, 837, 515, 1248, 515, 521, 518, 1248, 52, 519, 91, 519, 510, 523, 1248, 844, 524, 1248, 524, 516, 9, 54, 528, 52, 525, 9, 520, 526, 1248, 526, 513, 529, 519, 509, 530, 845, 530, 532, 534, 539, 847, 535, 510, 535, 527, 536, 1248, 524, 537, 530, 537, 531, 543, 515, 1248, 513, 1248, 510, 508, 509, 848, 540, 1248, 1248, 541, 538, 541, 1248, 526, 550, 524, 545, 509, 1248, 546, 547, 546, 535, 548, 541, 548, 542, 551, 554, 1248, 552, 851, 552, 1248, 508, 1248, 507, 1248, 556, 1248, 549, 557, 1248, 557, 537, 561, 535, 553, 508, 558, 565, 836, 559, 546, 559, 552, 562, 567, 506, 563, 568, 563, 568, 572, 1248, 507, 548, 853, 546, 560, 507, 557, 576, 563, 857, 569, 564, 505, 570, 573, 570, 581, 574, 506, 574, 1248, 584, 854, 559, 568, 557, 574, 506, 589, 858, 571, 479, 1248, 479, 575, 590, 505, 570, 486, 568, 486, 505, 591, 595, 596, 498, 1248, 498, 104, 597, 603, 471, 480, 475, 494, 487, 607, 479, 1248, 498, 1248, 608, 499, 409, 481, 1248, 486, 1248, 479, 104, 104, 1248, 472, 1248, 471, 620, 409, 491, 621, 480, 621, 481, 622, 625, 1248, 623, 1248, 623, 629, 626, 1248, 57, 627, 59, 627, 618, 631, 1248, 862, 632, 1248, 632, 624, 10, 94, 636, 57, 633, 10, 628, 634, 1248, 634, 621, 637, 627, 617, 638, 835, 638, 640, 642, 647, 864, 643, 618, 643, 635, 644, 1248, 632, 645, 638, 645, 639, 651, 623, 1248, 621, 1248, 618, 616, 617, 865, 648, 1248, 1248, 649, 646, 649, 1248, 634, 658, 632, 653, 617, 1248, 654, 655, 654, 643, 656, 649, 656, 650, 659, 662, 1248, 660, 868, 660, 1248, 616, 1248, 615, 1248, 664, 1248, 657, 665, 1248, 665, 645, 669, 643, 661, 616, 666, 673, 869, 667, 654, 667, 660, 670, 675, 614, 671, 676, 671, 676, 680, 1248, 615, 656, 873, 654, 668, 615, 665, 684, 671, 1248, 677, 672, 613, 678, 681, 678, 1248, 682, 614, 682, 1248, 686, 834, 667, 687, 665, 687, 614, 688, 691, 679, 689, 1248, 689, 683, 692, 695, 676, 693, 682, 693, 612, 703, 700, 1248, 1248, 1248, 1248, 690, 613, 1248, 687, 678, 693, 676, 694, 613, 1248, 689, 1248, 687, 708, 612, 612, 586, 709, 586, 713, 593, 710, 593, 1248, 605, 877, 605, 578, 714, 582, 1248, 722, 715, 103, 881, 1248, 587, 594, 601, 504, 586, 606, 605, 726, 727, 875, 1248, 593, 588, 586, 729, 103, 103, 100, 879, 100, 1248, 1248, 1248, 579, 598, 578, 587, 504, 588, 1248, 733, 885, 1248, 705, 101, 705, 734, 735, 1248, 718, 724, 718, 724, 736, 740, 1248, 731, 706, 731, 706, 102, 886, 786, 1248, 1248, 741, 712, 725, 716, 1248, 716, 896, 742, 732, 707, 720, 743, 720, 772, 738, 770, 738, 765, 748, 749, 717, 587, 598, 587, 598, 750, 891, 721, 601, 751, 601, 739, 752, 1248, 752, 1248, 898, 753, 588, 599, 755, 756, 755, 901, 758, 602, 758, 760, 766, 747, 745, 480, 745, 480, 817, 767, 899, 754, 491, 768, 491, 757, 494, 902, 494, 1248, 769, 746, 481, 770, 802, 770, 800, 771, 795, 492, 772, 774, 772, 495, 775, 1248, 775, 1248, 778, 780, 765, 779, 783, 779, 783, 782, 1248, 773, 1248, 784, 1248, 776, 787, 770, 787, 775, 905, 789, 764, 781, 762, 796, 762, 907, 385, 765, 385, 797, 798, 785, 396, 399, 396, 399, 827, 799, 890, 763, 800, 801, 800, 386, 802, 908, 802, 1248, 804, 397, 400, 805, 811, 805, 809, 808, 794, 795, 809, 810, 809, 803, 811, 813, 811, 1248, 1248, 814, 806, 1248, 815, 800, 815, 805, 1248, 794, 911, 819, 916, 812, 820, 821, 820, 795, 824, 823, 824, 816, 1248, 825, 1248, 1248, 828, 809, 828, 815, 912, 793, 889, 830, 1248, 822, 791, 838, 791, 794, 302, 839, 302, 826, 313, 840, 313, 1248, 316, 841, 316, 918, 842, 792, 842, 843, 1248, 303, 844, 846, 844, 314, 847, 850, 847, 317, 851, 852, 851, 837, 853, 919, 853, 856, 855, 845, 857, 1248, 857, 848, 859, 922, 842, 836, 847, 861, 863, 854, 862, 864, 862, 864, 867, 858, 837, 868, 844, 868, 842, 866, 837, 923, 870, 1248, 1248, 835, 865, 851, 872, 857, 1248, 873, 869, 873, 1248, 876, 927, 1248, 853, 836, 851, 874, 836, 862, 877, 868, 877, 878, 834, 1248, 881, 1248, 881, 880, 883, 835, 888, 832, 909, 832, 892, 875, 1248, 231, 929, 231, 896, 879, 901, 864, 1248, 862, 893, 835, 833, 242, 894, 242, 891, 245, 232, 245, 895, 897, 930, 896, 898, 896, 898, 913, 900, 1248, 243, 901, 904, 901, 246, 905, 1248, 905, 924, 906, 891, 899, 907, 898, 907, 896, 910, 891, 902, 911, 915, 911, 890, 916, 907, 916, 905, 917, 890, 908, 918, 920, 918, 1248, 1248, 1248, 912, 1248, 933, 905, 889, 911, 1248, 921, 1248, 1248, 922, 919, 922, 926, 928, 890, 927, 929, 927, 929, 931, 932, 934, 938, 933, 1248, 933, 923, 916, 935, 922, 1248, 937, 888, 930, 938, 942, 938, 941, 939, 889, 934, 942, 887, 942, 918, 927, 916, 933, 889, 943, 945, 887, 946, 946, 946, 940, 948, 888, 940, 885, 958, 885, 1248, 172, 1248, 172, 929, 950, 927, 944, 888, 1248, 959, 944, 962, 183, 886, 183, 960, 961, 173, 186, 962, 186, 962, 963, 966, 951, 964, 967, 964, 967, 184, 975, 957, 1248, 1248, 970, 187, 957, 971, 962, 971, 967, 972, 965, 968, 973, 1248, 973, 979, 976, 1248, 957, 977, 981, 977, 956, 982, 1248, 982, 1248, 983, 1248, 974, 984, 964, 984, 962, 986, 957, 978, 990, 987, 1248, 955, 988, 971, 988, 977, 992, 994, 985, 993, 995, 993, 995, 997, 973, 956, 971, 998, 956, 989, 999, 982, 999, 988, 1001, 1003, 954, 996, 1004, 1005, 1004, 1008, 1006, 955, 1006, 1248, 1012, 1000, 1248, 993, 984, 999, 982, 1009, 955, 953, 1010, 1248, 1010, 1007, 1014, 954, 995, 1015, 993, 1015, 954, 1016, 1018, 964, 1019, 1248, 1019, 1011, 1020, 1022, 1004, 1023, 1010, 1023, 952, 1025, 1248, 1248, 950, 967, 950, 1017, 953, 965, 1248, 1006, 971, 1004, 1021, 953, 1248, 1036, 973, 977, 128, 951, 128, 1037, 1038, 968, 136, 139, 136, 139, 1039, 1041, 956, 1040, 1042, 1040, 1042, 129, 974, 978, 1248, 1248, 1044, 137, 140, 1045, 1248, 1045, 982, 1048, 1035, 1043, 1049, 1050, 1049, 1053, 1051, 1248, 1051, 1248, 1057, 1054, 1046, 1040, 1055, 1045, 1055, 1059, 955, 1034, 1060, 984, 1060, 1052, 1061, 1035, 1042, 1062, 1040, 1062, 1035, 1056, 1064, 1065, 1248, 1248, 1066, 1033, 1066, 1068, 1049, 985, 1055, 1070, 1063, 1248, 1071, 1248, 1071, 1079, 1075, 1072, 1034, 1067, 1073, 1051, 1073, 1049, 1060, 1034, 1066, 1076, 1248, 1032, 1077, 1062, 1077, 1060, 988, 1033, 1033, 1074, 1081, 1083, 1086, 1082, 1084, 1082, 1084, 1090, 1087, 1078, 1071, 1088, 1077, 1088, 1092, 1248, 989, 1093, 1248, 1093, 1031, 1085, 1032, 1073, 993, 1071, 1094, 1032, 1089, 1095, 1097, 1095, 1098, 1101, 1030, 1099, 1103, 1099, 1082, 1104, 1088, 1104, 1105, 1248, 954, 1108, 1096, 1108, 1111, 1084, 1031, 1082, 1100, 1031, 1109, 1107, 1029, 1112, 1248, 1112, 1248, 1248, 1106, 1093, 1095, 1099, 1093, 1114, 1030, 1248, 1027, 995, 1027, 1125, 1110, 1030, 1126, 1127, 1126, 999, 1128, 1130, 1128, 1004, 1131, 1134, 1131, 1028, 1135, 1136, 1135, 996, 1137, 1124, 1137, 1140, 1139, 1129, 1141, 1000, 1141, 1132, 1143, 953, 1126, 1123, 1131, 1145, 1147, 1138, 1146, 1148, 1146, 1148, 1151, 1142, 1124, 1152, 1128, 1152, 1126, 1150, 1124, 1248, 1154, 1248, 1248, 1122, 1149, 1135, 1156, 1141, 1248, 1157, 1153, 1157, 1248, 1161, 1248, 1248, 1137, 1123, 1135, 1158, 1123, 1146, 1159, 1152, 1159, 1162, 1121, 1248, 1163, 1248, 1163, 1165, 1167, 1122, 1172, 1168, 1248, 1168, 1169, 1160, 1248, 1170, 1157, 1170, 1163, 1164, 1176, 1148, 1248, 1146, 1173, 1122, 1120, 1174, 1121, 1174, 1178, 1248, 1171, 1179, 1180, 1179, 1159, 1181, 1157, 1181, 1121, 1183, 1184, 1248, 1175, 1185, 1248, 1185, 1187, 1168, 1119, 1174, 1189, 1191, 1182, 1190, 1192, 1190, 1192, 1194, 1195, 1120, 1186, 1196, 1170, 1196, 1168, 1179, 1120, 1185, 1198, 1200, 1118, 1193, 1201, 1006, 1201, 1204, 1202, 1119, 1197, 1205, 1248, 1205, 1208, 1190, 1181, 1196, 1179, 1206, 1119, 1117, 1209, 1010, 1209, 1007, 1015, 1118, 1203, 1019, 1192, 1023, 1190, 1027, 1118, 1040, 1042, 1045, 1049, 1207, 1051, 1055, 1060, 1011, 1062, 1066, 952, 1071, 1073, 1017, 1077, 1021, 1082, 1028, 1084, 1035, 1043, 1046, 1034, 1088, 1052, 1056, 1033, 1093, 1063, 1067, 1095, 1032, 1074, 1099, 1078, 1104, 1031, 1108, 1085, 1112, 1115, 1126, 1128, 1089, 1131, 1135, 1137, 1030, 1141, 1146, 1096, 1148, 1152, 1100, 1157, 1029, 1159, 1106, 1163, 1110, 1116, 1124, 1129, 1168, 1132, 1123, 1138, 1170, 1142, 1122, 1174, 1149, 1153, 1179, 1121, 1181, 1160, 1185, 1164, 1190, 1192, 1196, 1201, 1120, 1205, 1209, 1232, 1171, 1233, 1234, 1175, 1235, 1236, 1119, 1237, 1182, 1238, 1186, 1239, 1118, 1193, 1197, 1117, 1240, 1203, 1207, 1233, 1241, 1234, 1235, 1242, 1236, 1237, 1243, 1238, 1244, 13, 1245, 1240, 1246, 1247, 1248, 1248, 1241, 1248, 1248, 1248, 1242, 1248, 1248, 1243, 1248, 1248, 1244, 1248, 1245, 1248, 1246, 1248, 1247, 1232}; /* Check vector for state transitions. */ static const unsigned short slm_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1248, 1248, 16, 16, 16, 13, 1248, 16, 16, 16, 1248, 16, 101, 16, 16, 101, 1248, 101, 16, 16, 101, 101, 101, 1248, 15, 13, 101, 101, 101, 1248, 101, 101, 101, 102, 1248, 18, 102, 1248, 102, 1248, 125, 102, 102, 102, 15, 19, 22, 102, 102, 102, 1248, 102, 102, 102, 103, 18, 125, 103, 125, 103, 125, 141, 103, 103, 103, 19, 22, 24, 103, 103, 103, 1248, 103, 103, 103, 104, 1248, 141, 104, 141, 104, 141, 145, 104, 104, 104, 1248, 24, 27, 104, 104, 104, 1248, 104, 104, 104, 105, 1248, 145, 105, 145, 105, 145, 146, 105, 105, 105, 1248, 27, 29, 105, 105, 105, 1248, 105, 105, 105, 106, 1248, 146, 106, 146, 106, 146, 161, 106, 106, 106, 1248, 29, 32, 106, 106, 106, 1248, 106, 106, 106, 107, 1248, 161, 107, 161, 107, 161, 169, 107, 107, 107, 1248, 32, 34, 107, 107, 107, 1248, 107, 107, 107, 108, 1248, 169, 108, 169, 108, 169, 188, 108, 108, 108, 1248, 34, 37, 108, 108, 108, 1248, 108, 108, 108, 109, 1248, 188, 109, 188, 109, 188, 39, 109, 109, 109, 1248, 37, 1248, 109, 109, 109, 1248, 109, 109, 109, 2, 42, 1248, 2, 2, 2, 39, 1248, 2, 2, 2, 1248, 2, 1248, 192, 1248, 2, 1248, 2, 3, 2, 42, 3, 3, 3, 44, 1248, 3, 3, 3, 192, 3, 192, 193, 192, 3, 1248, 3, 4, 3, 1248, 4, 4, 4, 47, 44, 4, 4, 4, 193, 4, 193, 209, 193, 4, 1248, 4, 5, 4, 1248, 5, 5, 5, 49, 47, 5, 5, 5, 209, 5, 209, 220, 209, 5, 1248, 5, 6, 5, 1248, 6, 6, 6, 52, 49, 6, 6, 6, 220, 6, 220, 228, 220, 6, 1248, 6, 7, 6, 1248, 7, 7, 7, 54, 52, 7, 7, 7, 228, 7, 228, 247, 228, 7, 1248, 7, 8, 7, 1248, 8, 8, 8, 57, 54, 8, 8, 8, 247, 8, 247, 251, 247, 8, 1248, 8, 9, 8, 1248, 9, 9, 9, 59, 57, 9, 9, 9, 251, 9, 251, 252, 251, 9, 1248, 9, 10, 9, 1248, 10, 10, 10, 62, 59, 10, 10, 10, 252, 10, 252, 269, 252, 10, 1248, 10, 11, 10, 1248, 11, 11, 11, 64, 62, 11, 11, 11, 269, 11, 269, 1248, 269, 11, 1248, 11, 68, 11, 1248, 68, 68, 68, 1248, 64, 111, 1248, 1248, 111, 68, 111, 68, 68, 68, 1248, 68, 68, 68, 132, 111, 111, 132, 67, 132, 111, 111, 132, 132, 132, 1248, 1248, 179, 132, 132, 179, 70, 179, 132, 132, 179, 179, 179, 67, 1248, 238, 179, 179, 238, 73, 238, 179, 179, 238, 238, 238, 70, 1248, 309, 238, 238, 309, 76, 309, 238, 238, 309, 309, 309, 73, 1248, 392, 309, 309, 392, 79, 392, 309, 309, 392, 392, 392, 76, 1248, 487, 392, 392, 487, 82, 487, 392, 392, 487, 487, 487, 79, 1248, 594, 487, 487, 594, 85, 594, 487, 487, 594, 594, 594, 82, 1248, 712, 594, 594, 712, 88, 712, 594, 594, 712, 712, 712, 85, 1248, 1, 712, 712, 1, 1, 122, 712, 712, 1, 1248, 1, 88, 1, 122, 91, 122, 1, 1248, 1, 25, 1, 1248, 25, 25, 25, 122, 94, 25, 25, 25, 1248, 25, 35, 1248, 91, 35, 35, 35, 1248, 25, 35, 35, 35, 1248, 35, 45, 94, 1248, 45, 45, 45, 1248, 35, 45, 45, 45, 1248, 45, 55, 1248, 1248, 55, 55, 55, 1248, 45, 55, 55, 55, 1248, 55, 65, 1248, 1248, 65, 65, 65, 1248, 55, 65, 65, 65, 1248, 65, 71, 1248, 1248, 71, 71, 71, 1248, 65, 71, 71, 71, 1248, 71, 77, 1248, 1248, 77, 77, 77, 1248, 71, 77, 77, 77, 1248, 77, 83, 1248, 1248, 83, 83, 83, 1248, 77, 83, 83, 83, 1248, 83, 89, 1248, 1248, 89, 89, 89, 1248, 83, 89, 89, 89, 1248, 89, 95, 1248, 1248, 95, 95, 95, 97, 89, 95, 95, 95, 1248, 95, 117, 12, 1248, 117, 12, 117, 12, 95, 117, 117, 117, 1248, 1248, 97, 129, 100, 117, 129, 117, 129, 117, 12, 129, 129, 129, 1248, 144, 1248, 119, 144, 129, 144, 129, 124, 129, 100, 124, 1248, 124, 120, 144, 144, 144, 1248, 144, 144, 144, 149, 119, 124, 149, 124, 149, 124, 123, 149, 149, 149, 1248, 120, 1248, 150, 127, 149, 150, 149, 150, 149, 128, 150, 150, 150, 1248, 1248, 123, 173, 131, 150, 173, 150, 173, 150, 127, 173, 173, 173, 1248, 191, 128, 136, 191, 173, 191, 173, 140, 173, 131, 140, 1248, 140, 139, 191, 191, 191, 1248, 191, 191, 191, 196, 136, 140, 196, 140, 196, 140, 143, 196, 196, 196, 1248, 139, 1248, 197, 153, 196, 197, 196, 197, 196, 155, 197, 197, 197, 1248, 1248, 143, 198, 159, 197, 198, 197, 198, 197, 153, 198, 198, 198, 1248, 1248, 155, 232, 163, 198, 232, 198, 232, 198, 159, 232, 232, 232, 1248, 250, 1248, 164, 250, 232, 250, 232, 160, 232, 163, 160, 1248, 160, 167, 250, 250, 250, 1248, 250, 250, 250, 255, 164, 160, 255, 160, 255, 160, 171, 255, 255, 255, 1248, 167, 1248, 256, 172, 255, 256, 255, 256, 255, 178, 256, 256, 256, 1248, 1248, 171, 257, 183, 256, 257, 256, 257, 256, 172, 257, 257, 257, 1248, 1248, 178, 258, 186, 257, 258, 257, 258, 257, 183, 258, 258, 258, 1248, 1248, 1248, 303, 190, 258, 303, 258, 303, 258, 186, 303, 303, 303, 1248, 321, 1248, 201, 321, 303, 321, 303, 168, 303, 190, 168, 1248, 168, 203, 321, 321, 321, 1248, 321, 321, 321, 326, 201, 168, 326, 168, 326, 168, 207, 326, 326, 326, 1248, 203, 1248, 327, 212, 326, 327, 326, 327, 326, 214, 327, 327, 327, 1248, 1248, 207, 328, 218, 327, 328, 327, 328, 327, 212, 328, 328, 328, 1248, 1248, 214, 329, 222, 328, 329, 328, 329, 328, 218, 329, 329, 329, 1248, 1248, 1248, 330, 223, 329, 330, 329, 330, 329, 222, 330, 330, 330, 1248, 1248, 1248, 386, 226, 330, 386, 330, 386, 330, 223, 386, 386, 386, 1248, 404, 1248, 230, 404, 386, 404, 386, 187, 386, 226, 187, 1248, 187, 231, 404, 404, 404, 1248, 404, 404, 404, 409, 230, 187, 409, 187, 409, 187, 237, 409, 409, 409, 1248, 231, 1248, 410, 242, 409, 410, 409, 410, 409, 245, 410, 410, 410, 1248, 1248, 237, 411, 249, 410, 411, 410, 411, 410, 242, 411, 411, 411, 1248, 1248, 245, 412, 261, 411, 412, 411, 412, 411, 249, 412, 412, 412, 1248, 1248, 1248, 413, 263, 412, 413, 412, 413, 412, 261, 413, 413, 413, 1248, 1248, 1248, 414, 267, 413, 414, 413, 414, 413, 263, 414, 414, 414, 1248, 1248, 1248, 481, 272, 414, 481, 414, 481, 414, 267, 481, 481, 481, 1248, 499, 1248, 274, 499, 481, 499, 481, 208, 481, 272, 208, 1248, 208, 278, 499, 499, 499, 1248, 499, 499, 499, 504, 274, 208, 504, 208, 504, 208, 283, 504, 504, 504, 1248, 278, 1248, 505, 285, 504, 505, 504, 505, 504, 289, 505, 505, 505, 1248, 1248, 283, 506, 293, 505, 506, 505, 506, 505, 285, 506, 506, 506, 1248, 1248, 289, 507, 294, 506, 507, 506, 507, 506, 293, 507, 507, 507, 1248, 1248, 1248, 508, 297, 507, 508, 507, 508, 507, 294, 508, 508, 508, 1248, 1248, 1248, 509, 301, 508, 509, 508, 509, 508, 297, 509, 509, 509, 1248, 1248, 1248, 510, 302, 509, 510, 509, 510, 509, 301, 510, 510, 510, 1248, 1248, 1248, 588, 308, 510, 588, 510, 588, 510, 302, 588, 588, 588, 1248, 606, 1248, 313, 606, 588, 606, 588, 219, 588, 308, 219, 1248, 219, 316, 606, 606, 606, 1248, 606, 606, 606, 611, 313, 219, 611, 219, 611, 219, 320, 611, 611, 611, 1248, 316, 1248, 612, 333, 611, 612, 611, 612, 611, 335, 612, 612, 612, 1248, 1248, 320, 613, 339, 612, 613, 612, 613, 612, 333, 613, 613, 613, 1248, 1248, 335, 614, 344, 613, 614, 613, 614, 613, 339, 614, 614, 614, 1248, 1248, 1248, 615, 346, 614, 615, 614, 615, 614, 344, 615, 615, 615, 1248, 1248, 1248, 616, 350, 615, 616, 615, 616, 615, 346, 616, 616, 616, 1248, 1248, 1248, 617, 355, 616, 617, 616, 617, 616, 350, 617, 617, 617, 1248, 1248, 1248, 618, 357, 617, 618, 617, 618, 617, 355, 618, 618, 618, 1248, 1248, 1248, 707, 361, 618, 707, 618, 707, 618, 357, 707, 707, 707, 1248, 725, 1248, 366, 725, 707, 725, 707, 227, 707, 361, 227, 1248, 227, 368, 725, 725, 725, 1248, 725, 725, 725, 732, 366, 227, 732, 227, 732, 227, 372, 732, 732, 732, 1248, 368, 1248, 739, 376, 732, 739, 732, 739, 732, 377, 739, 739, 739, 1248, 1248, 372, 746, 380, 739, 746, 739, 746, 739, 376, 746, 746, 746, 1248, 1248, 377, 747, 384, 746, 747, 746, 747, 746, 380, 747, 747, 747, 1248, 1248, 1248, 763, 385, 747, 763, 747, 763, 747, 384, 763, 763, 763, 1248, 1248, 1248, 764, 391, 763, 764, 763, 764, 763, 385, 764, 764, 764, 1248, 1248, 1248, 765, 396, 764, 765, 764, 765, 764, 391, 765, 765, 765, 1248, 1248, 1248, 792, 399, 765, 792, 765, 792, 765, 396, 792, 792, 792, 1248, 1248, 1248, 793, 403, 792, 793, 792, 793, 792, 399, 793, 793, 793, 1248, 1248, 1248, 794, 417, 793, 794, 793, 794, 793, 403, 794, 794, 794, 1248, 1248, 1248, 795, 419, 794, 795, 794, 795, 794, 417, 795, 795, 795, 1248, 1248, 1248, 833, 423, 795, 833, 795, 833, 795, 419, 833, 833, 833, 1248, 1248, 1248, 834, 428, 833, 834, 833, 834, 833, 423, 834, 834, 834, 1248, 1248, 1248, 835, 430, 834, 835, 834, 835, 834, 428, 835, 835, 835, 1248, 1248, 1248, 836, 434, 835, 836, 835, 836, 835, 430, 836, 836, 836, 1248, 1248, 1248, 837, 439, 836, 837, 836, 837, 836, 434, 837, 837, 837, 1248, 1248, 1248, 886, 441, 837, 886, 837, 886, 837, 439, 886, 886, 886, 1248, 1248, 1248, 887, 445, 886, 887, 886, 887, 886, 441, 887, 887, 887, 1248, 1248, 1248, 888, 450, 887, 888, 887, 888, 887, 445, 888, 888, 888, 1248, 1248, 1248, 889, 452, 888, 889, 888, 889, 888, 450, 889, 889, 889, 1248, 1248, 1248, 890, 456, 889, 890, 889, 890, 889, 452, 890, 890, 890, 1248, 1248, 1248, 891, 461, 890, 891, 890, 891, 890, 456, 891, 891, 891, 1248, 1248, 1248, 951, 463, 891, 951, 891, 951, 891, 461, 951, 951, 951, 1248, 1248, 1248, 952, 467, 951, 952, 951, 952, 951, 463, 952, 952, 952, 1248, 1248, 1248, 953, 471, 952, 953, 952, 953, 952, 467, 953, 953, 953, 1248, 1248, 1248, 954, 472, 953, 954, 953, 954, 953, 471, 954, 954, 954, 1248, 1248, 1248, 955, 475, 954, 955, 954, 955, 954, 472, 955, 955, 955, 1248, 1248, 1248, 956, 479, 955, 956, 955, 956, 955, 475, 956, 956, 956, 1248, 1248, 1248, 957, 480, 956, 957, 956, 957, 956, 479, 957, 957, 957, 1248, 1248, 1248, 1028, 486, 957, 1028, 957, 1028, 957, 480, 1028, 1028, 1028, 1248, 1248, 1248, 1029, 491, 1028, 1029, 1028, 1029, 1028, 486, 1029, 1029, 1029, 1248, 1248, 1248, 1030, 494, 1029, 1030, 1029, 1030, 1029, 491, 1030, 1030, 1030, 1248, 1248, 1248, 1031, 498, 1030, 1031, 1030, 1031, 1030, 494, 1031, 1031, 1031, 1248, 1248, 1248, 1032, 513, 1031, 1032, 1031, 1032, 1031, 498, 1032, 1032, 1032, 1248, 1248, 1248, 1033, 515, 1032, 1033, 1032, 1033, 1032, 513, 1033, 1033, 1033, 1248, 1248, 1248, 1034, 519, 1033, 1034, 1033, 1034, 1033, 515, 1034, 1034, 1034, 1248, 1248, 1248, 1035, 524, 1034, 1035, 1034, 1035, 1034, 519, 1035, 1035, 1035, 1248, 1248, 1248, 1116, 526, 1035, 1116, 1035, 1116, 1035, 524, 1116, 1116, 1116, 1248, 1248, 1248, 1117, 530, 1116, 1117, 1116, 1117, 1116, 526, 1117, 1117, 1117, 1248, 1248, 1248, 1118, 535, 1117, 1118, 1117, 1118, 1117, 530, 1118, 1118, 1118, 1248, 1248, 1248, 1119, 537, 1118, 1119, 1118, 1119, 1118, 535, 1119, 1119, 1119, 1248, 1248, 1248, 1120, 541, 1119, 1120, 1119, 1120, 1119, 537, 1120, 1120, 1120, 1248, 1248, 1248, 1121, 546, 1120, 1121, 1120, 1121, 1120, 541, 1121, 1121, 1121, 1248, 1248, 1248, 1122, 548, 1121, 1122, 1121, 1122, 1121, 546, 1122, 1122, 1122, 1248, 1248, 1248, 1123, 552, 1122, 1123, 1122, 1123, 1122, 548, 1123, 1123, 1123, 557, 1248, 1248, 1124, 1248, 1123, 1124, 1123, 1124, 1123, 552, 1124, 1124, 1124, 1222, 1248, 1248, 1222, 1222, 1124, 557, 1124, 1222, 1124, 1222, 1223, 1222, 1248, 1223, 1223, 1222, 1248, 1222, 1223, 1222, 1223, 1224, 1223, 1248, 1224, 1224, 1223, 1248, 1223, 1224, 1223, 1224, 1225, 1224, 1248, 1225, 1225, 1224, 1248, 1224, 1225, 1224, 1225, 1226, 1225, 1248, 1226, 1226, 1225, 1248, 1225, 1226, 1225, 1226, 1227, 1226, 1248, 1227, 1227, 1226, 1248, 1226, 1227, 1226, 1227, 1228, 1227, 1248, 1228, 1228, 1227, 1248, 1227, 1228, 1227, 1228, 1229, 1228, 1248, 1229, 1229, 1228, 1248, 1228, 1229, 1228, 1229, 1230, 1229, 1248, 1230, 1230, 1229, 280, 1229, 1230, 1229, 1230, 1231, 1230, 1248, 1231, 1231, 1230, 559, 1230, 1231, 1230, 1231, 280, 1231, 280, 1248, 280, 1231, 1248, 1231, 20, 1231, 1248, 20, 20, 20, 1248, 559, 1248, 1248, 30, 133, 20, 30, 30, 30, 20, 134, 20, 133, 20, 133, 30, 1248, 1248, 134, 30, 134, 30, 40, 30, 133, 40, 40, 40, 1248, 1248, 134, 1248, 50, 135, 40, 50, 50, 50, 40, 157, 40, 135, 40, 135, 50, 1248, 1248, 157, 50, 157, 50, 60, 50, 135, 60, 60, 60, 1248, 1248, 157, 1248, 74, 166, 60, 74, 74, 74, 60, 180, 60, 166, 60, 166, 74, 1248, 1248, 180, 74, 180, 74, 80, 74, 166, 80, 80, 80, 1248, 1248, 180, 1248, 86, 181, 80, 86, 86, 86, 80, 182, 80, 181, 80, 181, 86, 1248, 1248, 182, 86, 182, 86, 92, 86, 181, 92, 92, 92, 1248, 563, 182, 1248, 98, 1248, 92, 98, 98, 98, 92, 568, 92, 1248, 92, 17, 98, 1248, 17, 17, 98, 563, 98, 17, 98, 17, 69, 17, 570, 69, 69, 568, 1248, 99, 1248, 17, 99, 99, 69, 1248, 1248, 1248, 69, 1248, 69, 99, 69, 112, 570, 99, 112, 99, 112, 99, 115, 121, 1248, 115, 121, 115, 121, 112, 112, 121, 121, 121, 112, 112, 115, 115, 1248, 1248, 1248, 115, 115, 121, 126, 1248, 1248, 126, 574, 126, 1248, 130, 137, 1248, 130, 137, 130, 137, 126, 126, 137, 137, 137, 126, 126, 130, 130, 1248, 574, 1248, 130, 130, 137, 147, 156, 1248, 147, 156, 147, 156, 1248, 110, 156, 156, 156, 1248, 1248, 147, 147, 110, 578, 110, 147, 147, 156, 165, 1248, 110, 165, 110, 165, 110, 1248, 165, 165, 165, 170, 1248, 1248, 170, 578, 170, 1248, 177, 184, 165, 177, 184, 177, 184, 170, 170, 184, 184, 184, 170, 170, 177, 177, 1248, 1248, 1248, 177, 177, 184, 194, 204, 1248, 194, 204, 194, 204, 1248, 113, 204, 204, 204, 1248, 579, 194, 194, 113, 1248, 113, 194, 194, 204, 215, 1248, 113, 215, 113, 215, 113, 1248, 215, 215, 215, 579, 229, 224, 582, 229, 224, 229, 224, 1248, 215, 224, 224, 224, 1248, 236, 229, 229, 236, 1248, 236, 229, 229, 224, 582, 291, 1248, 1248, 243, 236, 236, 243, 1248, 243, 236, 236, 243, 243, 243, 253, 1248, 291, 253, 291, 253, 291, 246, 264, 243, 246, 264, 246, 264, 253, 253, 264, 264, 264, 253, 253, 275, 1248, 246, 275, 246, 275, 246, 264, 275, 275, 275, 1248, 14, 286, 1248, 14, 286, 14, 286, 1248, 275, 286, 286, 286, 1248, 300, 295, 586, 300, 295, 300, 295, 14, 286, 295, 295, 295, 1248, 307, 300, 300, 307, 1248, 307, 300, 300, 295, 586, 299, 1248, 1248, 314, 307, 307, 314, 1248, 314, 307, 307, 314, 314, 314, 324, 1248, 299, 324, 299, 324, 299, 268, 336, 314, 268, 336, 268, 336, 324, 324, 336, 336, 336, 324, 324, 347, 1248, 268, 347, 268, 347, 268, 336, 347, 347, 347, 1248, 279, 358, 1248, 279, 358, 279, 358, 1248, 347, 358, 358, 358, 1248, 587, 369, 1248, 279, 369, 279, 369, 279, 358, 369, 369, 369, 1248, 383, 378, 593, 383, 378, 383, 378, 587, 369, 378, 378, 378, 1248, 390, 383, 383, 390, 1248, 390, 383, 383, 378, 593, 318, 1248, 1248, 397, 390, 390, 397, 1248, 397, 390, 390, 397, 397, 397, 407, 1248, 318, 407, 318, 407, 318, 290, 420, 397, 290, 420, 290, 420, 407, 407, 420, 420, 420, 407, 407, 431, 1248, 290, 431, 290, 431, 290, 420, 431, 431, 431, 1248, 298, 442, 1248, 298, 442, 298, 442, 1248, 431, 442, 442, 442, 1248, 598, 453, 1248, 298, 453, 298, 453, 298, 442, 453, 453, 453, 1248, 21, 464, 1248, 21, 464, 21, 464, 598, 453, 464, 464, 464, 1248, 478, 473, 601, 478, 473, 478, 473, 21, 464, 473, 473, 473, 1248, 485, 478, 478, 485, 1248, 485, 478, 478, 473, 601, 322, 1248, 1248, 492, 485, 485, 492, 1248, 492, 485, 485, 492, 492, 492, 502, 1248, 322, 502, 322, 502, 322, 317, 516, 492, 317, 516, 317, 516, 502, 502, 516, 516, 516, 502, 502, 527, 1248, 317, 527, 317, 527, 317, 516, 527, 527, 527, 1248, 340, 538, 1248, 340, 538, 340, 538, 1248, 527, 538, 538, 538, 1248, 605, 549, 1248, 340, 549, 340, 549, 340, 538, 549, 549, 549, 1248, 351, 560, 1248, 351, 560, 351, 560, 605, 549, 560, 560, 560, 1248, 621, 571, 1248, 351, 571, 351, 571, 351, 560, 571, 571, 571, 1248, 585, 580, 623, 585, 580, 585, 580, 621, 571, 580, 580, 580, 1248, 592, 585, 585, 592, 1248, 592, 585, 585, 580, 623, 323, 1248, 1248, 599, 592, 592, 599, 1248, 599, 592, 592, 599, 599, 599, 609, 1248, 323, 609, 323, 609, 323, 362, 624, 599, 362, 624, 362, 624, 609, 609, 624, 624, 624, 609, 609, 635, 1248, 362, 635, 362, 635, 362, 624, 635, 635, 635, 1248, 373, 646, 1248, 373, 646, 373, 646, 1248, 635, 646, 646, 646, 1248, 627, 657, 1248, 373, 657, 373, 657, 373, 646, 657, 657, 657, 1248, 381, 668, 1248, 381, 668, 381, 668, 627, 657, 668, 668, 668, 1248, 632, 679, 1248, 381, 679, 381, 679, 381, 668, 679, 679, 679, 1248, 23, 690, 1248, 23, 690, 23, 690, 632, 679, 690, 690, 690, 1248, 704, 699, 634, 704, 699, 704, 699, 23, 690, 699, 699, 699, 1248, 711, 704, 704, 711, 1248, 711, 704, 704, 699, 634, 1248, 638, 341, 717, 711, 711, 717, 1248, 717, 711, 711, 717, 717, 717, 728, 1248, 205, 728, 341, 728, 341, 638, 341, 717, 205, 1248, 205, 730, 728, 728, 730, 730, 643, 728, 728, 730, 205, 730, 737, 730, 645, 737, 737, 649, 1248, 744, 654, 730, 744, 744, 737, 656, 643, 744, 737, 744, 737, 744, 737, 754, 645, 660, 754, 649, 754, 744, 654, 754, 754, 754, 761, 656, 1248, 761, 761, 773, 665, 1248, 773, 754, 773, 660, 761, 773, 773, 773, 761, 1248, 761, 781, 761, 667, 781, 1248, 781, 773, 665, 781, 781, 781, 790, 1248, 1248, 790, 790, 1248, 1248, 216, 790, 781, 790, 667, 790, 803, 1248, 216, 803, 216, 803, 1248, 790, 803, 803, 803, 1248, 400, 812, 216, 400, 812, 400, 812, 671, 803, 812, 812, 812, 676, 1248, 822, 1248, 400, 822, 400, 822, 400, 812, 822, 822, 822, 831, 678, 671, 831, 831, 845, 682, 676, 845, 822, 845, 1248, 831, 845, 845, 845, 831, 1248, 831, 854, 831, 678, 854, 687, 854, 845, 682, 854, 854, 854, 1248, 424, 865, 1248, 424, 865, 424, 865, 689, 854, 865, 865, 865, 687, 1248, 875, 1248, 424, 875, 424, 875, 424, 865, 875, 875, 875, 884, 1248, 689, 884, 884, 1248, 1248, 225, 884, 875, 884, 1248, 884, 899, 1248, 225, 899, 225, 899, 1248, 884, 899, 899, 899, 1248, 435, 908, 225, 435, 908, 435, 908, 1248, 899, 908, 908, 908, 1248, 693, 919, 1248, 435, 919, 435, 919, 435, 908, 919, 919, 919, 1248, 446, 930, 1248, 446, 930, 446, 930, 693, 919, 930, 930, 930, 697, 1248, 940, 1248, 446, 940, 446, 940, 446, 930, 940, 940, 940, 949, 698, 1248, 949, 949, 965, 701, 697, 965, 940, 965, 1248, 949, 965, 965, 965, 949, 1248, 949, 974, 949, 698, 974, 705, 974, 965, 701, 974, 974, 974, 1248, 457, 985, 1248, 457, 985, 457, 985, 1248, 974, 985, 985, 985, 705, 706, 996, 1248, 457, 996, 457, 996, 457, 985, 996, 996, 996, 1248, 468, 1007, 1248, 468, 1007, 468, 1007, 706, 996, 1007, 1007, 1007, 1248, 1248, 1017, 1248, 468, 1017, 468, 1017, 468, 1007, 1017, 1017, 1017, 1026, 1248, 1248, 1026, 1026, 1248, 1248, 239, 1026, 1017, 1026, 1248, 1026, 1043, 1248, 239, 1043, 239, 1043, 1248, 1026, 1043, 1043, 1043, 1248, 476, 1052, 239, 476, 1052, 476, 1052, 1248, 1043, 1052, 1052, 1052, 1248, 716, 1063, 1248, 476, 1063, 476, 1063, 476, 1052, 1063, 1063, 1063, 1248, 495, 1074, 1248, 495, 1074, 495, 1074, 716, 1063, 1074, 1074, 1074, 1248, 718, 1085, 1248, 495, 1085, 495, 1085, 495, 1074, 1085, 1085, 1085, 1248, 520, 1096, 1248, 520, 1096, 520, 1096, 718, 1085, 1096, 1096, 1096, 1248, 720, 1106, 1248, 520, 1106, 520, 1106, 520, 1096, 1106, 1106, 1106, 1248, 531, 1129, 1248, 531, 1129, 531, 1129, 720, 1106, 1129, 1129, 1129, 1248, 724, 1138, 1248, 531, 1138, 531, 1138, 531, 1129, 1138, 1138, 1138, 1248, 542, 1149, 1248, 542, 1149, 542, 1149, 724, 1138, 1149, 1149, 1149, 1248, 731, 1160, 1248, 542, 1160, 542, 1160, 542, 1149, 1160, 1160, 1160, 1248, 553, 1171, 1248, 553, 1171, 553, 1171, 731, 1160, 1171, 1171, 1171, 1248, 738, 1182, 1248, 553, 1182, 553, 1182, 553, 1171, 1182, 1182, 1182, 1248, 564, 1193, 1248, 564, 1193, 564, 1193, 738, 1182, 1193, 1193, 1193, 745, 1248, 1203, 752, 564, 1203, 564, 1203, 564, 1193, 1203, 1203, 1203, 1211, 1248, 1248, 1211, 1211, 1248, 755, 745, 1212, 1203, 752, 1212, 1211, 1212, 26, 1248, 1211, 26, 1211, 26, 1211, 1213, 1212, 1212, 1213, 1213, 755, 1212, 1212, 1213, 1248, 1213, 1214, 1213, 26, 1214, 1214, 758, 1248, 1248, 1214, 1213, 1214, 1215, 1214, 762, 1215, 1215, 1248, 1248, 1216, 770, 1214, 1216, 1216, 1215, 1248, 758, 1216, 1215, 1216, 1215, 1216, 1215, 1217, 762, 1248, 1217, 1217, 1218, 1216, 770, 1218, 1218, 772, 1248, 1217, 1218, 1248, 1218, 1217, 1218, 1217, 1219, 1217, 1248, 1219, 1219, 1220, 1218, 775, 1220, 1220, 352, 772, 1219, 1220, 1248, 1220, 1219, 1220, 1219, 1221, 1219, 1248, 1221, 1221, 114, 1220, 352, 775, 352, 1248, 352, 1221, 114, 116, 114, 1221, 1248, 1221, 118, 1221, 114, 116, 114, 116, 114, 1248, 118, 138, 118, 116, 1248, 116, 142, 116, 118, 138, 118, 138, 118, 1248, 142, 148, 142, 138, 1248, 138, 151, 138, 142, 148, 142, 148, 142, 1248, 151, 162, 151, 148, 1248, 148, 185, 148, 151, 162, 151, 162, 151, 1248, 185, 189, 185, 162, 1248, 162, 195, 162, 185, 189, 185, 189, 185, 1248, 195, 199, 195, 189, 1248, 189, 210, 189, 195, 199, 195, 199, 195, 1248, 210, 221, 210, 199, 1248, 199, 244, 199, 210, 221, 210, 221, 210, 1248, 244, 248, 244, 221, 1248, 221, 254, 221, 244, 248, 244, 248, 244, 1248, 254, 259, 254, 248, 1248, 248, 270, 248, 254, 259, 254, 259, 254, 1248, 270, 281, 270, 259, 1248, 259, 292, 259, 270, 281, 270, 281, 270, 1248, 292, 315, 292, 281, 1248, 281, 319, 281, 292, 315, 292, 315, 292, 1248, 319, 325, 319, 315, 1248, 315, 331, 315, 319, 325, 319, 325, 319, 1248, 331, 342, 331, 325, 1248, 325, 353, 325, 331, 342, 331, 342, 331, 1248, 353, 364, 353, 342, 1248, 342, 375, 342, 353, 364, 353, 364, 353, 1248, 375, 398, 375, 364, 1248, 364, 402, 364, 375, 398, 375, 398, 375, 1248, 402, 408, 402, 398, 1248, 398, 415, 398, 402, 408, 402, 408, 402, 1248, 415, 426, 415, 408, 1248, 408, 437, 408, 415, 426, 415, 426, 415, 1248, 437, 448, 437, 426, 1248, 426, 459, 426, 437, 448, 437, 448, 437, 1248, 459, 470, 459, 448, 1248, 448, 493, 448, 459, 470, 459, 470, 459, 1248, 493, 497, 493, 470, 1248, 470, 503, 470, 493, 497, 493, 497, 493, 1248, 503, 511, 503, 497, 1248, 497, 522, 497, 503, 511, 503, 511, 503, 1248, 522, 533, 522, 511, 1248, 511, 544, 511, 522, 533, 522, 533, 522, 1248, 544, 555, 544, 533, 1248, 533, 566, 533, 544, 555, 544, 555, 544, 1248, 566, 575, 566, 555, 575, 555, 575, 555, 566, 1248, 566, 1248, 566, 583, 577, 1248, 583, 575, 583, 575, 602, 575, 577, 602, 577, 602, 1248, 600, 779, 583, 577, 583, 577, 583, 577, 600, 602, 600, 602, 1248, 602, 604, 610, 600, 1248, 600, 240, 600, 779, 604, 610, 604, 610, 1248, 240, 619, 240, 604, 610, 604, 610, 604, 610, 619, 628, 619, 240, 628, 1248, 628, 1248, 619, 1248, 619, 1248, 619, 639, 630, 1248, 639, 628, 639, 628, 650, 628, 630, 650, 630, 650, 783, 641, 787, 639, 630, 639, 630, 639, 630, 641, 650, 641, 650, 1248, 650, 652, 1248, 641, 663, 641, 783, 641, 787, 652, 661, 652, 663, 661, 663, 661, 1248, 652, 1248, 652, 663, 652, 663, 674, 663, 1248, 661, 1248, 661, 672, 661, 674, 672, 674, 672, 683, 685, 1248, 683, 674, 683, 674, 1248, 674, 685, 672, 685, 672, 1248, 672, 791, 683, 685, 683, 685, 683, 685, 694, 696, 1248, 694, 1248, 694, 1248, 702, 800, 696, 702, 696, 702, 791, 719, 1248, 694, 696, 694, 696, 694, 696, 719, 702, 719, 702, 721, 702, 800, 721, 719, 721, 719, 723, 719, 28, 802, 1248, 28, 1248, 28, 723, 721, 723, 721, 757, 721, 1248, 757, 723, 757, 723, 759, 723, 31, 28, 802, 31, 1248, 31, 759, 757, 759, 757, 776, 757, 1248, 776, 759, 776, 759, 777, 759, 33, 31, 1248, 33, 1248, 33, 777, 776, 777, 776, 785, 776, 1248, 785, 777, 785, 777, 788, 777, 36, 33, 1248, 36, 1248, 36, 788, 785, 788, 785, 806, 785, 1248, 806, 788, 806, 788, 807, 788, 38, 36, 1248, 38, 1248, 38, 807, 806, 807, 806, 816, 806, 1248, 816, 807, 816, 807, 818, 807, 41, 38, 1248, 41, 1248, 41, 818, 816, 818, 816, 826, 816, 1248, 826, 818, 826, 818, 829, 818, 43, 41, 1248, 43, 1248, 43, 829, 826, 829, 826, 848, 826, 1248, 848, 829, 848, 829, 849, 829, 46, 43, 1248, 46, 1248, 46, 849, 848, 849, 848, 858, 848, 1248, 858, 849, 858, 849, 860, 849, 48, 46, 1248, 48, 1248, 48, 860, 858, 860, 858, 869, 858, 1248, 869, 860, 869, 860, 871, 860, 51, 48, 1248, 51, 1248, 51, 871, 869, 871, 869, 879, 869, 1248, 879, 871, 879, 871, 882, 871, 53, 51, 1248, 53, 1248, 53, 882, 879, 882, 879, 902, 879, 1248, 902, 882, 902, 882, 903, 882, 56, 53, 1248, 56, 1248, 56, 903, 902, 903, 902, 912, 902, 1248, 912, 903, 912, 903, 914, 903, 58, 56, 1248, 58, 1248, 58, 914, 912, 914, 912, 923, 912, 1248, 923, 914, 923, 914, 925, 914, 61, 58, 1248, 61, 1248, 61, 925, 923, 925, 923, 934, 923, 1248, 934, 925, 934, 925, 936, 925, 63, 61, 1248, 63, 1248, 63, 936, 934, 936, 934, 944, 934, 1248, 944, 936, 944, 936, 947, 936, 66, 63, 1248, 66, 1248, 66, 947, 944, 947, 944, 968, 944, 1248, 968, 947, 968, 947, 969, 947, 72, 66, 1248, 72, 1248, 72, 969, 968, 969, 968, 978, 968, 1248, 978, 969, 978, 969, 980, 969, 75, 72, 1248, 75, 1248, 75, 980, 978, 980, 978, 989, 978, 1248, 989, 980, 989, 980, 991, 980, 78, 75, 1248, 78, 1248, 78, 991, 989, 991, 989, 1000, 989, 1248, 1000, 991, 1000, 991, 1002, 991, 81, 78, 1248, 81, 1248, 81, 1002, 1000, 1002, 1000, 1011, 1000, 1248, 1011, 1002, 1011, 1002, 1013, 1002, 84, 81, 1248, 84, 1248, 84, 1013, 1011, 1013, 1011, 1021, 1011, 1248, 1021, 1013, 1021, 1013, 1024, 1013, 87, 84, 1248, 87, 1248, 87, 1024, 1021, 1024, 1021, 1046, 1021, 1248, 1046, 1024, 1046, 1024, 1047, 1024, 90, 87, 1248, 90, 1248, 90, 1047, 1046, 1047, 1046, 1056, 1046, 1248, 1056, 1047, 1056, 1047, 1058, 1047, 93, 90, 1248, 93, 1248, 93, 1058, 1056, 1058, 1056, 1067, 1056, 1248, 1067, 1058, 1067, 1058, 1069, 1058, 96, 93, 1248, 96, 1248, 96, 1069, 1067, 1069, 1067, 1078, 1067, 1248, 1078, 1069, 1078, 1069, 1080, 1069, 152, 96, 1248, 152, 1248, 152, 1080, 1078, 1080, 1078, 1089, 1078, 1248, 1089, 1080, 1089, 1080, 1091, 1080, 154, 152, 1248, 154, 1248, 154, 1091, 1089, 1091, 1089, 1100, 1089, 1248, 1100, 1091, 1100, 1091, 1102, 1091, 158, 154, 1248, 158, 1248, 158, 1102, 1100, 1102, 1100, 1110, 1100, 1248, 1110, 1102, 1110, 1102, 1113, 1102, 174, 158, 1248, 174, 1248, 174, 1113, 1110, 1113, 1110, 1132, 1110, 1248, 1132, 1113, 1132, 1113, 1133, 1113, 175, 174, 1248, 175, 1248, 175, 1133, 1132, 1133, 1132, 1142, 1132, 1248, 1142, 1133, 1142, 1133, 1144, 1133, 176, 175, 1248, 176, 1248, 176, 1144, 1142, 1144, 1142, 1153, 1142, 1248, 1153, 1144, 1153, 1144, 1155, 1144, 200, 176, 1248, 200, 1248, 200, 1155, 1153, 1155, 1153, 1164, 1153, 1248, 1164, 1155, 1164, 1155, 1166, 1155, 202, 200, 1248, 202, 1248, 202, 1166, 1164, 1166, 1164, 1175, 1164, 1248, 1175, 1166, 1175, 1166, 1177, 1166, 206, 202, 1248, 206, 1248, 206, 1177, 1175, 1177, 1175, 1186, 1175, 1248, 1186, 1177, 1186, 1177, 1188, 1177, 211, 206, 1248, 211, 1248, 211, 1188, 1186, 1188, 1186, 1197, 1186, 1248, 1197, 1188, 1197, 1188, 1199, 1188, 213, 211, 1248, 213, 1248, 213, 1199, 1197, 1199, 1197, 1207, 1197, 1248, 1207, 1199, 1207, 1199, 1210, 1199, 217, 213, 1248, 217, 1248, 217, 1210, 1207, 1210, 1207, 233, 1207, 1248, 233, 1210, 233, 1210, 241, 1210, 234, 217, 1248, 234, 235, 234, 241, 235, 241, 235, 260, 233, 1248, 260, 262, 260, 1248, 262, 241, 262, 234, 265, 266, 271, 235, 266, 271, 266, 271, 265, 260, 265, 273, 1248, 262, 273, 276, 273, 1248, 1248, 1248, 265, 266, 271, 276, 277, 276, 1248, 277, 1248, 277, 805, 273, 287, 282, 284, 276, 282, 284, 282, 284, 287, 296, 287, 288, 277, 1248, 288, 809, 288, 296, 805, 296, 287, 282, 284, 304, 1248, 811, 304, 305, 304, 296, 305, 288, 305, 306, 310, 809, 306, 1248, 306, 1248, 311, 312, 310, 304, 310, 811, 1248, 305, 311, 312, 311, 312, 332, 306, 310, 332, 1248, 332, 337, 334, 311, 312, 334, 1248, 334, 1248, 337, 1248, 337, 363, 338, 343, 332, 338, 343, 338, 343, 345, 337, 334, 345, 815, 345, 349, 348, 363, 349, 363, 349, 363, 338, 343, 348, 354, 348, 1248, 354, 345, 354, 1248, 359, 815, 356, 349, 348, 356, 360, 356, 359, 360, 359, 360, 365, 354, 820, 365, 367, 365, 824, 367, 359, 367, 356, 370, 371, 1248, 360, 371, 1248, 371, 374, 370, 365, 370, 820, 382, 367, 379, 824, 1248, 1248, 1248, 1248, 370, 371, 379, 374, 379, 374, 387, 374, 382, 387, 382, 387, 382, 388, 379, 393, 388, 389, 388, 394, 389, 1248, 389, 393, 395, 393, 387, 394, 1248, 394, 401, 405, 395, 388, 395, 393, 406, 389, 416, 394, 1248, 416, 1248, 416, 395, 421, 401, 405, 401, 405, 401, 405, 406, 421, 406, 421, 406, 418, 416, 1248, 418, 422, 418, 1248, 422, 421, 422, 425, 427, 429, 432, 427, 429, 427, 429, 436, 1248, 418, 432, 433, 432, 422, 433, 425, 433, 425, 443, 425, 427, 429, 432, 436, 447, 436, 443, 436, 443, 438, 440, 433, 438, 440, 438, 440, 444, 1248, 443, 444, 447, 444, 447, 449, 447, 1248, 449, 1248, 449, 438, 440, 454, 451, 1248, 1248, 451, 444, 451, 458, 454, 1248, 454, 455, 449, 1248, 455, 1248, 455, 1248, 465, 460, 454, 451, 460, 458, 460, 458, 465, 458, 465, 462, 466, 455, 462, 466, 462, 466, 469, 474, 465, 460, 1248, 482, 477, 1248, 482, 474, 482, 474, 483, 462, 466, 483, 469, 483, 469, 488, 469, 474, 477, 828, 477, 482, 477, 488, 484, 488, 489, 484, 483, 484, 490, 496, 832, 1248, 489, 488, 489, 500, 490, 828, 490, 1248, 501, 1248, 484, 842, 489, 496, 1248, 496, 490, 496, 832, 500, 1248, 500, 512, 500, 501, 512, 501, 512, 501, 514, 517, 842, 514, 1248, 514, 521, 518, 1248, 517, 518, 517, 518, 512, 523, 1248, 844, 523, 1248, 523, 514, 517, 521, 528, 521, 525, 521, 518, 525, 1248, 525, 528, 529, 528, 523, 529, 844, 529, 532, 534, 539, 847, 534, 528, 534, 525, 536, 1248, 539, 536, 539, 536, 529, 543, 532, 1248, 532, 1248, 532, 534, 539, 847, 540, 1248, 1248, 540, 536, 540, 1248, 543, 550, 543, 545, 543, 1248, 545, 547, 545, 550, 547, 550, 547, 540, 551, 554, 1248, 551, 851, 551, 1248, 550, 1248, 545, 1248, 556, 1248, 547, 556, 1248, 556, 554, 561, 554, 551, 554, 558, 565, 851, 558, 561, 558, 561, 562, 567, 556, 562, 567, 562, 567, 572, 1248, 561, 565, 853, 565, 558, 565, 572, 576, 572, 857, 569, 562, 567, 569, 573, 569, 581, 573, 572, 573, 1248, 584, 853, 576, 581, 576, 581, 576, 589, 857, 569, 589, 1248, 589, 573, 590, 581, 584, 590, 584, 590, 584, 591, 595, 596, 591, 1248, 591, 589, 597, 603, 595, 596, 595, 596, 590, 607, 597, 1248, 597, 1248, 608, 591, 595, 596, 1248, 603, 1248, 603, 597, 603, 1248, 607, 1248, 607, 620, 607, 608, 620, 608, 620, 608, 622, 625, 1248, 622, 1248, 622, 629, 626, 1248, 625, 626, 625, 626, 620, 631, 1248, 862, 631, 1248, 631, 622, 625, 629, 636, 629, 633, 629, 626, 633, 1248, 633, 636, 637, 636, 631, 637, 862, 637, 640, 642, 647, 864, 642, 636, 642, 633, 644, 1248, 647, 644, 647, 644, 637, 651, 640, 1248, 640, 1248, 640, 642, 647, 864, 648, 1248, 1248, 648, 644, 648, 1248, 651, 658, 651, 653, 651, 1248, 653, 655, 653, 658, 655, 658, 655, 648, 659, 662, 1248, 659, 868, 659, 1248, 658, 1248, 653, 1248, 664, 1248, 655, 664, 1248, 664, 662, 669, 662, 659, 662, 666, 673, 868, 666, 669, 666, 669, 670, 675, 664, 670, 675, 670, 675, 680, 1248, 669, 673, 873, 673, 666, 673, 680, 684, 680, 1248, 677, 670, 675, 677, 681, 677, 1248, 681, 680, 681, 1248, 686, 873, 684, 686, 684, 686, 684, 688, 691, 677, 688, 1248, 688, 681, 692, 695, 691, 692, 691, 692, 686, 703, 700, 1248, 1248, 1248, 1248, 688, 691, 1248, 700, 695, 700, 695, 692, 695, 1248, 703, 1248, 703, 708, 703, 700, 708, 709, 708, 713, 709, 710, 709, 1248, 710, 877, 710, 713, 714, 713, 1248, 722, 715, 708, 881, 1248, 714, 709, 714, 713, 715, 710, 715, 726, 727, 877, 1248, 722, 714, 722, 729, 722, 715, 729, 881, 729, 1248, 1248, 1248, 726, 727, 726, 727, 726, 727, 1248, 733, 885, 1248, 733, 729, 733, 734, 735, 1248, 734, 735, 734, 735, 736, 740, 1248, 736, 740, 736, 740, 733, 885, 786, 1248, 1248, 741, 734, 735, 741, 1248, 741, 896, 742, 736, 740, 742, 743, 742, 786, 743, 786, 743, 786, 748, 749, 741, 748, 749, 748, 749, 750, 896, 742, 750, 751, 750, 743, 751, 1248, 751, 1248, 898, 753, 748, 749, 753, 756, 753, 901, 756, 750, 756, 760, 766, 751, 760, 766, 760, 766, 817, 767, 898, 753, 767, 768, 767, 756, 768, 901, 768, 1248, 769, 760, 766, 769, 817, 769, 817, 771, 817, 767, 771, 774, 771, 768, 774, 1248, 774, 1248, 778, 780, 769, 778, 780, 778, 780, 782, 1248, 771, 1248, 784, 1248, 774, 784, 782, 784, 782, 905, 789, 778, 780, 789, 796, 789, 907, 796, 782, 796, 797, 798, 784, 797, 798, 797, 798, 827, 799, 905, 789, 799, 801, 799, 796, 801, 907, 801, 1248, 804, 797, 798, 804, 827, 804, 827, 808, 827, 799, 808, 810, 808, 801, 810, 813, 810, 1248, 1248, 814, 804, 1248, 814, 813, 814, 813, 1248, 808, 911, 819, 916, 810, 819, 821, 819, 813, 821, 823, 821, 814, 1248, 825, 1248, 1248, 825, 823, 825, 823, 911, 819, 916, 830, 1248, 821, 830, 838, 830, 823, 838, 839, 838, 825, 839, 840, 839, 1248, 840, 841, 840, 918, 841, 830, 841, 843, 1248, 838, 843, 846, 843, 839, 846, 850, 846, 840, 850, 852, 850, 841, 852, 918, 852, 856, 855, 843, 856, 1248, 856, 846, 859, 922, 855, 850, 855, 861, 863, 852, 861, 863, 861, 863, 867, 856, 855, 867, 859, 867, 859, 866, 859, 922, 870, 1248, 1248, 861, 863, 866, 872, 866, 1248, 872, 867, 872, 1248, 876, 927, 1248, 870, 866, 870, 874, 870, 876, 874, 876, 874, 878, 872, 1248, 878, 1248, 878, 880, 883, 876, 927, 883, 909, 883, 892, 874, 1248, 892, 929, 892, 909, 878, 909, 880, 1248, 880, 893, 880, 883, 893, 894, 893, 909, 894, 892, 894, 895, 897, 929, 895, 897, 895, 897, 913, 900, 1248, 893, 900, 904, 900, 894, 904, 1248, 904, 924, 906, 895, 897, 906, 913, 906, 913, 910, 913, 900, 910, 915, 910, 904, 915, 924, 915, 924, 917, 924, 906, 917, 920, 917, 1248, 1248, 1248, 910, 1248, 933, 920, 915, 920, 1248, 921, 1248, 1248, 921, 917, 921, 926, 928, 920, 926, 928, 926, 928, 931, 932, 933, 938, 932, 1248, 932, 921, 931, 935, 931, 1248, 937, 926, 928, 937, 942, 937, 941, 939, 931, 932, 939, 938, 939, 935, 941, 935, 941, 935, 943, 945, 937, 943, 946, 943, 942, 948, 941, 939, 948, 958, 948, 1248, 958, 1248, 958, 945, 950, 945, 943, 945, 1248, 959, 946, 962, 959, 948, 959, 960, 961, 958, 960, 961, 960, 961, 963, 966, 950, 963, 966, 963, 966, 959, 975, 962, 1248, 1248, 970, 960, 961, 970, 975, 970, 975, 972, 963, 966, 972, 1248, 972, 979, 976, 1248, 975, 976, 981, 976, 970, 981, 1248, 981, 1248, 983, 1248, 972, 983, 979, 983, 979, 986, 979, 976, 990, 987, 1248, 981, 987, 986, 987, 986, 992, 994, 983, 992, 994, 992, 994, 997, 990, 986, 990, 998, 990, 987, 998, 997, 998, 997, 1001, 1003, 992, 994, 1003, 1005, 1003, 1008, 1005, 997, 1005, 1248, 1012, 998, 1248, 1008, 1001, 1008, 1001, 1009, 1001, 1003, 1009, 1248, 1009, 1005, 1014, 1008, 1012, 1014, 1012, 1014, 1012, 1016, 1018, 964, 1016, 1248, 1016, 1009, 1020, 1022, 1018, 1020, 1018, 1020, 1014, 1025, 1248, 1248, 1025, 967, 1025, 1016, 1018, 964, 1248, 1022, 971, 1022, 1020, 1022, 1248, 1036, 973, 977, 1036, 1025, 1036, 1037, 1038, 967, 1037, 1038, 1037, 1038, 1039, 1041, 971, 1039, 1041, 1039, 1041, 1036, 973, 977, 1248, 1248, 1044, 1037, 1038, 1044, 1248, 1044, 982, 1048, 1039, 1041, 1048, 1050, 1048, 1053, 1050, 1248, 1050, 1248, 1057, 1054, 1044, 1053, 1054, 1053, 1054, 1059, 982, 1048, 1059, 984, 1059, 1050, 1061, 1053, 1057, 1061, 1057, 1061, 1057, 1054, 1064, 1065, 1248, 1248, 1065, 1059, 1065, 1068, 1064, 984, 1064, 1070, 1061, 1248, 1070, 1248, 1070, 1079, 1075, 1072, 1064, 1065, 1072, 1068, 1072, 1068, 1075, 1068, 1075, 1076, 1248, 1070, 1076, 1079, 1076, 1079, 988, 1079, 1075, 1072, 1081, 1083, 1086, 1081, 1083, 1081, 1083, 1090, 1087, 1076, 1086, 1087, 1086, 1087, 1092, 1248, 988, 1092, 1248, 1092, 1081, 1083, 1086, 1090, 993, 1090, 1094, 1090, 1087, 1094, 1097, 1094, 1098, 1101, 1092, 1098, 1103, 1098, 1097, 1103, 1097, 1103, 1105, 1248, 993, 1105, 1094, 1105, 1111, 1101, 1097, 1101, 1098, 1101, 1109, 1107, 1103, 1109, 1248, 1109, 1248, 1248, 1105, 1107, 1111, 1107, 1111, 1114, 1111, 1248, 1114, 995, 1114, 1125, 1109, 1107, 1125, 1127, 1125, 999, 1127, 1130, 1127, 1004, 1130, 1134, 1130, 1114, 1134, 1136, 1134, 995, 1136, 1125, 1136, 1140, 1139, 1127, 1140, 999, 1140, 1130, 1143, 1004, 1139, 1134, 1139, 1145, 1147, 1136, 1145, 1147, 1145, 1147, 1151, 1140, 1139, 1151, 1143, 1151, 1143, 1150, 1143, 1248, 1154, 1248, 1248, 1145, 1147, 1150, 1156, 1150, 1248, 1156, 1151, 1156, 1248, 1161, 1248, 1248, 1154, 1150, 1154, 1158, 1154, 1161, 1158, 1161, 1158, 1162, 1156, 1248, 1162, 1248, 1162, 1165, 1167, 1161, 1172, 1167, 1248, 1167, 1169, 1158, 1248, 1169, 1172, 1169, 1172, 1162, 1176, 1165, 1248, 1165, 1173, 1165, 1167, 1173, 1172, 1173, 1178, 1248, 1169, 1178, 1180, 1178, 1176, 1180, 1176, 1180, 1176, 1183, 1184, 1248, 1173, 1184, 1248, 1184, 1187, 1183, 1178, 1183, 1189, 1191, 1180, 1189, 1191, 1189, 1191, 1194, 1195, 1183, 1184, 1195, 1187, 1195, 1187, 1194, 1187, 1194, 1198, 1200, 1189, 1191, 1200, 1006, 1200, 1204, 1202, 1194, 1195, 1202, 1248, 1202, 1208, 1204, 1198, 1204, 1198, 1206, 1198, 1200, 1206, 1010, 1206, 1006, 1015, 1204, 1202, 1019, 1208, 1023, 1208, 1027, 1208, 1040, 1042, 1045, 1049, 1206, 1051, 1055, 1060, 1010, 1062, 1066, 1015, 1071, 1073, 1019, 1077, 1023, 1082, 1027, 1084, 1040, 1042, 1045, 1049, 1088, 1051, 1055, 1060, 1093, 1062, 1066, 1095, 1071, 1073, 1099, 1077, 1104, 1082, 1108, 1084, 1112, 1115, 1126, 1128, 1088, 1131, 1135, 1137, 1093, 1141, 1146, 1095, 1148, 1152, 1099, 1157, 1104, 1159, 1108, 1163, 1112, 1115, 1126, 1128, 1168, 1131, 1135, 1137, 1170, 1141, 1146, 1174, 1148, 1152, 1179, 1157, 1181, 1159, 1185, 1163, 1190, 1192, 1196, 1201, 1168, 1205, 1209, 1232, 1170, 1233, 1234, 1174, 1235, 1236, 1179, 1237, 1181, 1238, 1185, 1239, 1190, 1192, 1196, 1201, 1240, 1205, 1209, 1232, 1241, 1233, 1234, 1242, 1235, 1236, 1243, 1237, 1244, 1238, 1245, 1239, 1246, 1247, 1248, 1248, 1240, 1248, 1248, 1248, 1241, 1248, 1248, 1242, 1248, 1248, 1243, 1248, 1244, 1248, 1245, 1248, 1246, 1247}; /* Base vector for state transitions. */ static const unsigned short slm_base[] = { 0, 538, 223, 242, 261, 280, 299, 318, 337, 356, 375, 394, 688, 27, 2607, 46, 21, 2351, 57, 67, 2214, 2812, 68, 3069, 89, 557, 3689, 110, 4307, 131, 2224, 4326, 152, 4345, 173, 570, 4364, 194, 4383, 209, 2243, 4402, 224, 4421, 248, 583, 4440, 267, 4459, 286, 2253, 4478, 305, 4497, 324, 596, 4516, 343, 4535, 362, 2272, 4554, 381, 4573, 400, 609, 4592, 438, 413, 2362, 451, 622, 4611, 464, 2282, 4630, 477, 635, 4649, 490, 2301, 4668, 503, 648, 4687, 516, 2311, 4706, 529, 661, 4725, 552, 2330, 4744, 564, 674, 4763, 680, 2340, 2369, 702, 34, 55, 76, 97, 118, 139, 160, 181, 202, 2449, 421, 2383, 2511, 3782, 2390, 3791, 687, 3796, 715, 726, 2391, 543, 741, 720, 62, 2412, 749, 755, 701, 2419, 763, 434, 2225, 2231, 2254, 776, 2420, 3805, 787, 781, 83, 3810, 802, 713, 104, 125, 2441, 3819, 734, 748, 3824, 4782, 810, 4801, 816, 2442, 2260, 4820, 824, 856, 146, 3833, 838, 851, 2463, 2283, 862, 945, 167, 2474, 877, 885, 762, 4839, 4858, 4877, 2481, 891, 447, 2289, 2312, 2318, 899, 2482, 3838, 913, 1048, 188, 3847, 927, 774, 237, 256, 2503, 3852, 795, 809, 823, 3861, 4896, 940, 4915, 951, 2504, 3121, 4934, 966, 1165, 275, 3866, 4953, 974, 4972, 980, 2525, 3212, 4991, 988, 1296, 294, 3875, 1002, 1016, 2538, 3318, 1030, 1441, 313, 2537, 1043, 1054, 837, 5001, 5010, 5014, 2550, 1069, 460, 3476, 4158, 5008, 1077, 2563, 3880, 1083, 2581, 332, 3889, 1091, 849, 351, 370, 2574, 3894, 870, 884, 898, 912, 3903, 5020, 1105, 5024, 1119, 2582, 5031, 5032, 1133, 2664, 389, 3908, 5033, 1147, 5042, 1160, 2595, 5046, 5055, 1171, 2690, 2190, 3917, 5064, 1186, 5065, 1194, 2608, 5063, 5074, 1200, 2760, 2560, 3922, 1208, 1222, 2621, 5072, 1236, 2786, 2643, 2620, 1250, 1264, 926, 5086, 5090, 5096, 2633, 1278, 473, 5097, 5103, 5104, 1291, 2646, 3931, 1302, 2869, 2739, 3936, 1317, 938, 2848, 2970, 2657, 3945, 959, 973, 987, 1001, 1015, 3950, 5115, 1325, 5122, 1331, 2665, 5121, 5133, 1339, 2895, 3107, 3959, 5134, 1353, 5140, 1367, 2678, 5147, 5146, 1381, 2921, 3768, 3964, 5156, 1395, 5165, 1409, 2691, 5163, 5169, 1423, 2991, 5132, 3973, 5175, 1436, 5179, 1447, 2704, 5186, 5187, 1462, 3017, 5193, 3978, 1470, 1476, 2717, 5200, 1484, 3043, 5198, 2716, 1498, 1512, 1029, 5212, 5219, 5223, 2729, 1526, 486, 5221, 5225, 5230, 1540, 2742, 3987, 1554, 3230, 5236, 3992, 1568, 1041, 5237, 5242, 2753, 4001, 1062, 1076, 1090, 1104, 1118, 1132, 4006, 5244, 1582, 5263, 1596, 2761, 5251, 5267, 1610, 3286, 5273, 4015, 5274, 1624, 5275, 1638, 2774, 5276, 5285, 1652, 3336, 5281, 4020, 5303, 1666, 5304, 1680, 2787, 5292, 5310, 1694, 3362, 5298, 4029, 5317, 1708, 5326, 1722, 2800, 5325, 5336, 1736, 3418, 5332, 4034, 5344, 1750, 5354, 1764, 2813, 5343, 5355, 1778, 3444, 5361, 4043, 1792, 1806, 2826, 5362, 1820, 3494, 5367, 2825, 1834, 1848, 1146, 5366, 5373, 5389, 2838, 1862, 499, 5380, 5391, 5395, 1876, 2851, 4048, 1890, 3520, 5396, 4057, 1904, 1158, 5402, 5407, 2862, 4062, 1179, 1193, 1207, 1221, 1235, 1249, 1263, 4071, 5421, 1918, 5428, 1932, 2870, 5429, 5435, 1946, 3546, 5434, 4076, 5442, 1960, 5453, 1974, 2883, 5451, 5460, 1988, 3572, 5466, 4085, 5467, 2002, 5474, 2016, 2896, 5468, 5490, 2030, 3598, 5481, 4090, 5500, 2044, 5504, 2058, 2909, 5498, 5511, 2072, 3624, 5512, 4099, 5522, 2082, 5533, 2201, 2922, 5529, 5540, 2337, 3650, 5534, 4104, 5541, 2347, 5559, 2364, 2935, 5547, 5563, 2416, 4113, 5556, 4126, 2458, 2516, 2948, 5565, 2539, 4125, 5570, 2947, 2622, 2703, 1277, 5577, 5584, 5591, 2960, 2718, 512, 5592, 5593, 5598, 2799, 2973, 4139, 2827, 4132, 5599, 4153, 2908, 1289, 5605, 5610, 2984, 4154, 1310, 1324, 1338, 1352, 1366, 1380, 1394, 1408, 4167, 5624, 2934, 5631, 2949, 2992, 5632, 5638, 3030, 4176, 5637, 4189, 5645, 3056, 5656, 3084, 3005, 5654, 5663, 3106, 4188, 5669, 4202, 5670, 3137, 5677, 3145, 3018, 5671, 5693, 3148, 4195, 5684, 4216, 5703, 3151, 5707, 3156, 3031, 5701, 5714, 3166, 4225, 5715, 4219, 5725, 3181, 5736, 3196, 3044, 5732, 5743, 3237, 4244, 5737, 4238, 5744, 3242, 5762, 3256, 3057, 5750, 5766, 3261, 4250, 5759, 4251, 5773, 3278, 5780, 3293, 3070, 5781, 5787, 3349, 4272, 5788, 4273, 3374, 3388, 3083, 5795, 3393, 4279, 5794, 3082, 3410, 3431, 1422, 5813, 5817, 5821, 3095, 525, 5819, 5828, 5832, 3507, 3108, 3533, 4286, 3559, 4298, 5831, 4305, 3585, 1434, 5843, 5844, 3119, 5850, 3132, 3611, 1455, 5866, 5872, 5873, 5879, 3143, 3637, 1469, 5880, 5891, 5898, 5902, 3150, 3662, 1483, 1497, 5909, 5910, 5916, 5920, 3665, 5928, 3164, 3681, 5932, 4317, 3712, 4324, 5938, 3175, 3720, 1511, 1525, 1539, 5939, 5946, 5950, 5957, 3726, 5964, 3749, 3180, 5968, 3765, 4336, 4343, 5975, 4140, 5976, 3194, 5982, 4201, 5986, 4355, 5888, 4203, 4362, 5994, 3205, 4265, 1553, 1567, 1581, 1595, 5998, 6004, 6005, 6012, 4280, 6016, 4308, 3218, 6023, 5061, 4374, 4381, 6030, 5078, 6034, 5088, 3231, 6038, 6042, 5144, 4393, 5945, 4400, 6052, 5177, 6056, 3244, 6060, 5181, 6064, 4412, 6011, 5384, 4419, 6074, 3255, 5397, 1609, 1623, 1637, 1651, 1665, 6078, 6082, 6086, 6090, 5410, 6096, 5444, 3260, 6100, 5469, 4431, 4438, 6104, 5515, 6108, 5551, 3274, 6115, 6114, 5558, 4450, 6121, 4457, 6126, 5647, 6127, 5672, 3287, 6140, 6133, 5718, 4469, 6143, 4476, 6149, 5754, 6162, 3300, 6156, 5825, 6168, 4488, 6174, 5834, 4495, 6175, 3311, 5867, 1679, 1693, 1707, 1721, 1735, 1749, 6181, 6193, 6197, 6203, 5897, 6204, 5927, 3324, 6211, 5934, 4507, 4514, 6215, 5993, 6222, 6000, 3337, 6179, 6229, 6051, 4526, 6210, 4533, 6233, 6053, 6240, 6092, 3350, 6244, 6256, 6122, 4545, 6221, 4552, 6262, 6157, 6263, 6185, 3363, 6269, 6270, 6251, 4564, 6278, 4571, 6281, 6272, 6288, 3376, 6287, 6285, 6299, 4583, 6300, 6303, 4590, 6306, 3387, 6317, 1763, 1777, 1791, 1805, 1819, 1833, 1847, 6310, 6322, 6328, 6329, 6324, 6335, 6443, 3392, 6336, 6459, 4602, 4609, 6347, 6466, 6354, 6472, 3406, 6343, 6361, 6473, 4621, 6360, 4628, 6365, 6502, 6372, 6525, 3419, 6379, 6383, 6572, 4640, 6382, 4647, 6390, 6600, 6391, 6647, 3432, 6397, 6401, 6655, 4659, 6408, 4666, 6409, 6659, 6413, 6801, 3445, 6415, 6427, 6819, 4678, 6420, 4685, 6434, 6822, 6441, 3458, 6442, 6825, 6448, 4697, 6449, 6827, 4704, 6455, 3469, 6829, 1861, 1875, 1889, 1903, 1917, 1931, 1945, 1959, 6471, 6477, 6478, 6484, 6831, 6485, 6832, 3482, 6496, 6833, 4716, 4723, 6503, 6834, 6507, 6836, 3495, 6509, 6515, 6837, 4735, 6514, 4742, 6521, 6838, 6528, 6840, 3508, 6536, 6537, 6841, 4754, 6543, 4761, 6547, 6843, 6555, 6844, 3521, 6554, 6565, 6846, 4773, 6553, 4780, 6576, 6848, 6577, 6850, 3534, 6578, 6584, 6855, 4792, 6583, 4799, 6590, 6859, 6602, 6862, 3547, 6606, 6608, 6865, 4811, 6609, 4818, 6612, 6867, 6618, 3560, 6631, 6869, 6630, 4830, 6624, 6871, 4837, 6643, 6872, 1973, 1987, 2001, 2015, 2029, 2043, 2057, 2071, 2085, 6649, 6873, 6653, 6874, 3573, 6657, 6876, 4849, 4856, 6661, 6877, 6665, 6878, 3586, 6672, 6671, 6880, 4868, 6678, 4875, 6683, 6881, 6684, 6883, 3599, 6697, 6690, 6884, 4887, 6700, 4894, 6706, 6886, 6719, 6888, 3612, 6713, 6725, 6890, 4906, 6731, 4913, 6732, 6895, 6738, 6899, 3625, 6734, 6750, 6902, 4925, 6746, 4932, 6756, 6905, 6760, 6907, 3638, 6767, 6768, 6909, 4944, 6774, 4951, 6778, 6911, 6779, 6912, 3651, 6785, 6786, 6913, 4963, 6796, 4970, 6797, 6914, 6804, 3664, 6803, 6916, 6815, 4982, 6810, 6917, 4989, 3675, 3683, 3696, 3707, 3718, 3725, 3739, 3744, 3758, 3763, 3777, 2096, 2107, 2118, 2129, 2140, 2151, 2162, 2173, 2184, 2195, 6918, 6920, 6921, 6923, 6924, 6926, 6928, 6930, 6935, 6939, 6942, 6945, 6947, 6949, 6951, 6952}; /* Vector of min issue delay of insns. */ static const unsigned char slm_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 1, 11, 11, 0, 1, 0, 11, 0, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 0, 0, 10, 10, 0, 0, 0, 10, 0, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 0, 0, 9, 9, 0, 0, 0, 9, 0, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 7, 0, 7, 7, 7, 0, 7, 0, 7, 0, 0, 6, 6, 0, 0, 0, 6, 6, 0, 0, 0, 6, 0, 6, 6, 6, 0, 6, 0, 6, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 0, 5, 5, 5, 0, 5, 0, 5, 0, 0, 4, 4, 0, 0, 0, 4, 4, 0, 0, 0, 4, 0, 4, 4, 4, 0, 4, 0, 4, 0, 0, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 3, 0, 3, 3, 3, 0, 3, 0, 3, 0, 0, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 2, 2, 2, 0, 2, 0, 2, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 0, 1, 0, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 1, 0, 0, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 11, 11, 0, 0, 1, 11, 11, 0, 1, 0, 11, 0, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 1, 1, 11, 11, 1, 1, 1, 11, 1, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 1, 1, 11, 11, 2, 2, 2, 11, 1, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 0, 0, 10, 10, 1, 1, 1, 10, 0, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 0, 1, 0, 10, 10, 1, 1, 1, 10, 1, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 1, 1, 10, 10, 1, 1, 1, 10, 1, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 1, 0, 10, 10, 1, 1, 1, 10, 1, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 1, 1, 10, 10, 1, 1, 1, 10, 1, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 0, 0, 9, 9, 0, 0, 0, 9, 0, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 1, 0, 9, 9, 1, 1, 1, 9, 1, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 1, 1, 9, 9, 1, 1, 1, 9, 1, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 1, 0, 9, 9, 2, 2, 2, 9, 1, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 1, 1, 9, 9, 2, 2, 2, 9, 1, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 0, 0, 8, 8, 1, 1, 1, 8, 0, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 0, 1, 0, 8, 8, 1, 1, 1, 8, 1, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 1, 1, 8, 8, 1, 1, 1, 8, 1, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 1, 0, 8, 8, 1, 1, 1, 8, 1, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 1, 1, 8, 8, 1, 1, 1, 8, 1, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 7, 0, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 1, 0, 7, 7, 1, 1, 1, 7, 1, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 1, 1, 7, 7, 1, 1, 1, 7, 1, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 1, 0, 7, 7, 2, 2, 2, 7, 1, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 1, 1, 7, 7, 2, 2, 2, 7, 1, 7, 7, 7, 1, 7, 1, 7, 0, 0, 6, 6, 0, 0, 0, 6, 6, 1, 1, 1, 6, 0, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 0, 1, 0, 6, 6, 1, 1, 1, 6, 1, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 1, 1, 6, 6, 1, 1, 1, 6, 1, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 0, 1, 0, 6, 6, 1, 1, 1, 6, 1, 6, 6, 6, 2, 6, 2, 6, 0, 0, 6, 6, 1, 1, 1, 6, 6, 1, 1, 1, 6, 1, 6, 6, 6, 2, 6, 2, 6, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 0, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 0, 1, 0, 5, 5, 1, 1, 1, 5, 1, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 1, 1, 5, 5, 1, 1, 1, 5, 1, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 0, 1, 0, 5, 5, 2, 2, 2, 5, 1, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 1, 1, 5, 5, 2, 2, 2, 5, 1, 5, 5, 5, 1, 5, 1, 5, 0, 0, 4, 4, 0, 0, 0, 4, 4, 1, 1, 1, 4, 0, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 0, 1, 0, 4, 4, 1, 1, 1, 4, 1, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 1, 1, 4, 4, 1, 1, 1, 4, 1, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 0, 1, 0, 4, 4, 1, 1, 1, 4, 1, 4, 4, 4, 2, 4, 2, 4, 0, 0, 4, 4, 1, 1, 1, 4, 4, 1, 1, 1, 4, 1, 4, 4, 4, 2, 4, 2, 4, 0, 0, 3, 3, 0, 0, 0, 3, 3, 0, 0, 0, 3, 0, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 0, 1, 0, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 1, 1, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 0, 1, 0, 3, 3, 2, 2, 2, 3, 1, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 1, 1, 3, 3, 2, 2, 2, 3, 1, 3, 3, 3, 1, 3, 1, 3, 0, 0, 2, 2, 0, 0, 0, 2, 2, 1, 1, 1, 2, 0, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 2, 0, 1, 0, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 0, 0, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 0, 0, 2, 2, 0, 1, 0, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 0, 1, 0, 2, 2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 0, 0, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 11, 11, 0, 0, 1, 11, 11, 1, 1, 1, 11, 0, 11, 11, 11, 0, 11, 0, 11, 0, 0, 11, 11, 1, 1, 1, 11, 11, 1, 1, 1, 11, 1, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 0, 0, 10, 10, 0, 0, 0, 10, 0, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 1, 0, 10, 10, 2, 2, 2, 10, 1, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 1, 1, 10, 10, 2, 2, 2, 10, 1, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 0, 0, 9, 9, 1, 1, 1, 9, 0, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 0, 1, 0, 9, 9, 1, 1, 1, 9, 1, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 1, 1, 9, 9, 1, 1, 1, 9, 1, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 0, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 1, 0, 8, 8, 2, 2, 2, 8, 1, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 1, 1, 8, 8, 2, 2, 2, 8, 1, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 0, 0, 7, 7, 1, 1, 1, 7, 0, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 0, 1, 0, 7, 7, 1, 1, 1, 7, 1, 7, 7, 7, 2, 7, 2, 7, 0, 0, 7, 7, 1, 1, 1, 7, 7, 1, 1, 1, 7, 1, 7, 7, 7, 2, 7, 2, 7, 0, 0, 6, 6, 0, 0, 0, 6, 6, 0, 0, 0, 6, 0, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 0, 1, 0, 6, 6, 2, 2, 2, 6, 1, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 1, 1, 6, 6, 2, 2, 2, 6, 1, 6, 6, 6, 1, 6, 1, 6, 0, 0, 5, 5, 0, 0, 0, 5, 5, 1, 1, 1, 5, 0, 5, 5, 5, 0, 5, 0, 5, 0, 0, 5, 5, 0, 1, 0, 5, 5, 1, 1, 1, 5, 1, 5, 5, 5, 2, 5, 2, 5, 0, 0, 5, 5, 1, 1, 1, 5, 5, 1, 1, 1, 5, 1, 5, 5, 5, 2, 5, 2, 5, 0, 0, 4, 4, 0, 0, 0, 4, 4, 0, 0, 0, 4, 0, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 0, 1, 0, 4, 4, 2, 2, 2, 4, 1, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 1, 1, 4, 4, 2, 2, 2, 4, 1, 4, 4, 4, 1, 4, 1, 4, 0, 0, 3, 3, 0, 0, 0, 3, 3, 1, 1, 1, 3, 0, 3, 3, 3, 0, 3, 0, 3, 0, 0, 3, 3, 0, 1, 0, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 2, 3, 2, 3, 0, 0, 3, 3, 1, 1, 1, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 2, 3, 2, 3, 0, 0, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 0, 2, 2, 2, 1, 2, 1, 2, 0, 0, 2, 2, 0, 1, 0, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 0, 0, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 1, 1, 1, 10, 1, 1, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 0, 0, 0, 9, 0, 0, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 0, 0, 0, 7, 0, 0, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 0, 0, 0, 6, 0, 0, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 0, 0, 0, 5, 0, 0, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 0, 0, 0, 4, 0, 0, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 0, 0, 0, 3, 0, 0, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 11, 11, 1, 1, 1, 11, 11, 0, 1, 0, 11, 1, 11, 11, 11, 0, 11, 0, 11, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 2, 2, 0, 1, 0, 2, 2, 1, 1, 1, 2, 1, 2, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2, 1, 1, 1, 2, 2, 0, 1, 0, 2, 1, 2, 2, 2, 0, 2, 0, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 2, 2, 0, 1, 0, 2, 2, 2, 2, 2, 2, 1, 2, 0, 0, 1, 2, 1, 0, 0, 0, 11, 11, 1, 2, 1, 11, 11, 0, 1, 0, 11, 2, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 1, 0, 10, 10, 0, 0, 0, 10, 1, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 1, 1, 10, 10, 0, 1, 0, 10, 1, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 2, 1, 11, 11, 1, 1, 1, 11, 2, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 2, 1, 11, 11, 1, 1, 1, 11, 2, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 1, 0, 10, 10, 0, 0, 0, 10, 1, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 1, 1, 10, 10, 0, 1, 0, 10, 1, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 2, 1, 11, 11, 2, 2, 2, 11, 2, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 1, 0, 10, 10, 1, 1, 1, 10, 1, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 1, 1, 10, 10, 1, 1, 1, 10, 1, 10, 10, 10, 0, 10, 0, 10, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 0, 0, 1, 2, 1, 0, 0, 0, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 0, 0, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 11, 11, 1, 1, 1, 11, 11, 0, 1, 0, 11, 1, 11, 11, 11, 1, 11, 1, 11, 0, 0, 2, 2, 1, 1, 1, 2, 2, 0, 1, 0, 2, 1, 2, 2, 2, 1, 2, 1, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 1, 2, 1, 2, 2, 0, 1, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 2, 2, 1, 2, 1, 2, 2, 0, 1, 0, 2, 2, 2, 1, 1, 0, 2, 0, 1, 0, 0, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 11, 11, 1, 1, 1, 11, 11, 1, 1, 1, 11, 1, 11, 11, 11, 0, 11, 0, 11, 0, 0, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 2, 1, 0, 0, 0, 11, 11, 1, 3, 1, 11, 11, 0, 1, 0, 11, 3, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 2, 0, 10, 10, 0, 0, 0, 10, 2, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 1, 0, 9, 9, 0, 0, 0, 9, 1, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 1, 1, 9, 9, 0, 1, 0, 9, 1, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 2, 0, 10, 10, 1, 1, 1, 10, 2, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 2, 1, 10, 10, 1, 1, 1, 10, 2, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 2, 0, 10, 10, 1, 1, 1, 10, 2, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 2, 1, 10, 10, 1, 1, 1, 10, 2, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 1, 0, 9, 9, 0, 0, 0, 9, 1, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 1, 1, 9, 9, 0, 1, 0, 9, 1, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 2, 0, 10, 10, 2, 2, 2, 10, 2, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 2, 1, 10, 10, 2, 2, 2, 10, 2, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 1, 0, 9, 9, 1, 1, 1, 9, 1, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 1, 1, 9, 9, 1, 1, 1, 9, 1, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 2, 1, 10, 10, 0, 1, 0, 10, 2, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 3, 1, 11, 11, 1, 1, 1, 11, 3, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 3, 1, 11, 11, 1, 1, 1, 11, 3, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 2, 0, 10, 10, 0, 0, 0, 10, 2, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 2, 1, 10, 10, 0, 1, 0, 10, 2, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 3, 1, 11, 11, 2, 2, 2, 11, 3, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 2, 0, 10, 10, 1, 1, 1, 10, 2, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 2, 1, 10, 10, 1, 1, 1, 10, 2, 10, 10, 10, 0, 10, 0, 10, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 0, 0, 1, 3, 1, 0, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 1, 3, 1, 1, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 2, 2, 1, 3, 1, 2, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 1, 1, 0, 2, 0, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 1, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 0, 0, 2, 3, 2, 0, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 2, 3, 2, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 0, 1, 2, 1, 0, 0, 0, 11, 11, 1, 2, 1, 11, 11, 0, 1, 0, 11, 2, 11, 11, 11, 1, 11, 1, 11, 0, 0, 2, 2, 1, 2, 1, 2, 2, 0, 1, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 0, 2, 2, 1, 2, 1, 2, 2, 0, 1, 0, 2, 2, 2, 1, 1, 1, 2, 1, 1, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 2, 2, 2, 3, 2, 2, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 1, 1, 1, 2, 1, 1, 0, 0, 3, 3, 1, 3, 1, 3, 3, 0, 1, 0, 3, 3, 3, 2, 2, 0, 3, 0, 2, 0, 0, 3, 3, 1, 3, 1, 3, 3, 2, 2, 2, 3, 3, 3, 2, 2, 1, 3, 1, 2, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 0, 2, 0, 1, 0, 0, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 0, 2, 0, 1, 0, 0, 3, 3, 1, 3, 1, 3, 3, 0, 1, 0, 3, 3, 3, 1, 1, 0, 3, 0, 1, 0, 0, 3, 3, 1, 3, 1, 3, 3, 2, 2, 2, 3, 3, 3, 1, 1, 1, 3, 1, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 0, 0, 0, 2, 0, 0, 0, 0, 11, 11, 1, 2, 1, 11, 11, 1, 1, 1, 11, 2, 11, 11, 11, 0, 11, 0, 11, 0, 0, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 2, 2, 2, 3, 3, 3, 0, 0, 1, 3, 1, 0, 0, 0, 11, 11, 1, 4, 1, 11, 11, 0, 1, 0, 11, 4, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 3, 0, 10, 10, 0, 0, 0, 10, 3, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 2, 0, 9, 9, 0, 0, 0, 9, 2, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 1, 0, 8, 8, 0, 0, 0, 8, 1, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 1, 1, 8, 8, 0, 1, 0, 8, 1, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 2, 0, 9, 9, 1, 1, 1, 9, 2, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 2, 1, 9, 9, 1, 1, 1, 9, 2, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 2, 0, 9, 9, 1, 1, 1, 9, 2, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 2, 1, 9, 9, 1, 1, 1, 9, 2, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 1, 0, 8, 8, 0, 0, 0, 8, 1, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 1, 1, 8, 8, 0, 1, 0, 8, 1, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 0, 2, 0, 9, 9, 2, 2, 2, 9, 2, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 2, 1, 9, 9, 2, 2, 2, 9, 2, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 1, 0, 8, 8, 1, 1, 1, 8, 1, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 1, 1, 8, 8, 1, 1, 1, 8, 1, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 2, 1, 9, 9, 0, 1, 0, 9, 2, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 3, 0, 10, 10, 1, 1, 1, 10, 3, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 3, 1, 10, 10, 1, 1, 1, 10, 3, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 3, 0, 10, 10, 1, 1, 1, 10, 3, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 3, 1, 10, 10, 1, 1, 1, 10, 3, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 2, 0, 9, 9, 0, 0, 0, 9, 2, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 2, 1, 9, 9, 0, 1, 0, 9, 2, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 3, 0, 10, 10, 2, 2, 2, 10, 3, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 3, 1, 10, 10, 2, 2, 2, 10, 3, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 2, 0, 9, 9, 1, 1, 1, 9, 2, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 2, 1, 9, 9, 1, 1, 1, 9, 2, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 3, 1, 10, 10, 0, 1, 0, 10, 3, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 4, 1, 11, 11, 1, 1, 1, 11, 4, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 4, 1, 11, 11, 1, 1, 1, 11, 4, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 3, 0, 10, 10, 0, 0, 0, 10, 3, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 3, 1, 10, 10, 0, 1, 0, 10, 3, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 4, 1, 11, 11, 2, 2, 2, 11, 4, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 3, 0, 10, 10, 1, 1, 1, 10, 3, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 3, 1, 10, 10, 1, 1, 1, 10, 3, 10, 10, 10, 0, 10, 0, 10, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 0, 0, 1, 4, 1, 0, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 1, 1, 1, 4, 1, 1, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 2, 2, 1, 4, 1, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 1, 1, 0, 3, 0, 1, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 1, 3, 1, 1, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 2, 3, 2, 1, 0, 0, 3, 3, 0, 3, 0, 3, 3, 2, 2, 2, 3, 3, 3, 1, 1, 1, 3, 1, 1, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 0, 0, 2, 4, 2, 0, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 1, 1, 2, 4, 2, 1, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 0, 0, 1, 3, 1, 0, 0, 0, 11, 11, 1, 3, 1, 11, 11, 0, 1, 0, 11, 3, 11, 11, 11, 1, 11, 1, 11, 0, 0, 3, 3, 1, 3, 1, 3, 3, 0, 1, 0, 3, 3, 3, 2, 2, 1, 3, 1, 2, 0, 0, 3, 3, 1, 3, 1, 3, 3, 0, 1, 0, 3, 3, 3, 1, 1, 1, 3, 1, 1, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 2, 2, 2, 4, 2, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 1, 1, 1, 3, 1, 1, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 2, 2, 0, 4, 0, 2, 0, 0, 4, 4, 1, 4, 1, 4, 4, 2, 2, 2, 4, 4, 4, 2, 2, 1, 4, 1, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 0, 3, 0, 1, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 1, 1, 0, 3, 0, 1, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 1, 1, 0, 4, 0, 1, 0, 0, 4, 4, 1, 4, 1, 4, 4, 2, 2, 2, 4, 4, 4, 1, 1, 1, 4, 1, 1, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 0, 0, 0, 3, 0, 0, 0, 0, 11, 11, 1, 3, 1, 11, 11, 1, 1, 1, 11, 3, 11, 11, 11, 0, 11, 0, 11, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 2, 2, 0, 3, 0, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 2, 2, 2, 4, 4, 4, 0, 0, 1, 4, 1, 0, 0, 0, 11, 11, 1, 5, 1, 11, 11, 0, 1, 0, 11, 5, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 4, 0, 10, 10, 0, 0, 0, 10, 4, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 3, 0, 9, 9, 0, 0, 0, 9, 3, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 2, 0, 8, 8, 0, 0, 0, 8, 2, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 1, 0, 7, 7, 0, 0, 0, 7, 1, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 1, 1, 7, 7, 0, 1, 0, 7, 1, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 2, 0, 8, 8, 1, 1, 1, 8, 2, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 2, 1, 8, 8, 1, 1, 1, 8, 2, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 2, 0, 8, 8, 1, 1, 1, 8, 2, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 2, 1, 8, 8, 1, 1, 1, 8, 2, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 1, 0, 7, 7, 0, 0, 0, 7, 1, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 1, 1, 7, 7, 0, 1, 0, 7, 1, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 2, 0, 8, 8, 2, 2, 2, 8, 2, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 2, 1, 8, 8, 2, 2, 2, 8, 2, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 1, 0, 7, 7, 1, 1, 1, 7, 1, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 1, 1, 7, 7, 1, 1, 1, 7, 1, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 1, 2, 1, 8, 8, 0, 1, 0, 8, 2, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 3, 0, 9, 9, 1, 1, 1, 9, 3, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 3, 1, 9, 9, 1, 1, 1, 9, 3, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 3, 0, 9, 9, 1, 1, 1, 9, 3, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 3, 1, 9, 9, 1, 1, 1, 9, 3, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 2, 0, 8, 8, 0, 0, 0, 8, 2, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 2, 1, 8, 8, 0, 1, 0, 8, 2, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 0, 3, 0, 9, 9, 2, 2, 2, 9, 3, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 3, 1, 9, 9, 2, 2, 2, 9, 3, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 2, 0, 8, 8, 1, 1, 1, 8, 2, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 2, 1, 8, 8, 1, 1, 1, 8, 2, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 3, 1, 9, 9, 0, 1, 0, 9, 3, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 4, 0, 10, 10, 1, 1, 1, 10, 4, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 4, 1, 10, 10, 1, 1, 1, 10, 4, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 4, 0, 10, 10, 1, 1, 1, 10, 4, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 4, 1, 10, 10, 1, 1, 1, 10, 4, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 3, 0, 9, 9, 0, 0, 0, 9, 3, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 3, 1, 9, 9, 0, 1, 0, 9, 3, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 4, 0, 10, 10, 2, 2, 2, 10, 4, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 4, 1, 10, 10, 2, 2, 2, 10, 4, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 3, 0, 9, 9, 1, 1, 1, 9, 3, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 3, 1, 9, 9, 1, 1, 1, 9, 3, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 4, 1, 10, 10, 0, 1, 0, 10, 4, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 5, 1, 11, 11, 1, 1, 1, 11, 5, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 5, 1, 11, 11, 1, 1, 1, 11, 5, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 4, 0, 10, 10, 0, 0, 0, 10, 4, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 4, 1, 10, 10, 0, 1, 0, 10, 4, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 5, 1, 11, 11, 2, 2, 2, 11, 5, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 4, 0, 10, 10, 1, 1, 1, 10, 4, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 4, 1, 10, 10, 1, 1, 1, 10, 4, 10, 10, 10, 0, 10, 0, 10, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 0, 0, 1, 5, 1, 0, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 1, 1, 1, 5, 1, 1, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 2, 2, 1, 5, 1, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 1, 1, 0, 4, 0, 1, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 1, 1, 1, 4, 1, 1, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 1, 1, 2, 4, 2, 1, 0, 0, 4, 4, 0, 4, 0, 4, 4, 2, 2, 2, 4, 4, 4, 1, 1, 1, 4, 1, 1, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 0, 0, 2, 5, 2, 0, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 1, 1, 2, 5, 2, 1, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 0, 0, 1, 4, 1, 0, 0, 0, 11, 11, 1, 4, 1, 11, 11, 0, 1, 0, 11, 4, 11, 11, 11, 1, 11, 1, 11, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 2, 2, 1, 4, 1, 2, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 1, 1, 1, 4, 1, 1, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 2, 2, 2, 5, 2, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 1, 1, 1, 4, 1, 1, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 2, 2, 0, 5, 0, 2, 0, 0, 5, 5, 1, 5, 1, 5, 5, 2, 2, 2, 5, 5, 5, 2, 2, 1, 5, 1, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 1, 1, 0, 4, 0, 1, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 1, 1, 0, 4, 0, 1, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 1, 1, 0, 5, 0, 1, 0, 0, 5, 5, 1, 5, 1, 5, 5, 2, 2, 2, 5, 5, 5, 1, 1, 1, 5, 1, 1, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 0, 0, 0, 4, 0, 0, 0, 0, 11, 11, 1, 4, 1, 11, 11, 1, 1, 1, 11, 4, 11, 11, 11, 0, 11, 0, 11, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 2, 2, 0, 4, 0, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 2, 2, 2, 5, 5, 5, 0, 0, 1, 5, 1, 0, 0, 0, 11, 11, 1, 6, 1, 11, 11, 0, 1, 0, 11, 6, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 5, 0, 10, 10, 0, 0, 0, 10, 5, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 4, 0, 9, 9, 0, 0, 0, 9, 4, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 3, 0, 8, 8, 0, 0, 0, 8, 3, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 2, 0, 7, 7, 0, 0, 0, 7, 2, 7, 7, 7, 0, 7, 0, 7, 0, 0, 6, 6, 0, 1, 0, 6, 6, 0, 0, 0, 6, 1, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 1, 1, 1, 6, 6, 0, 1, 0, 6, 1, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 2, 0, 7, 7, 1, 1, 1, 7, 2, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 2, 1, 7, 7, 1, 1, 1, 7, 2, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 2, 0, 7, 7, 1, 1, 1, 7, 2, 7, 7, 7, 2, 7, 2, 7, 0, 0, 7, 7, 1, 2, 1, 7, 7, 1, 1, 1, 7, 2, 7, 7, 7, 2, 7, 2, 7, 0, 0, 6, 6, 0, 1, 0, 6, 6, 0, 0, 0, 6, 1, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 1, 1, 6, 6, 0, 1, 0, 6, 1, 6, 6, 6, 1, 6, 1, 6, 0, 0, 7, 7, 0, 2, 0, 7, 7, 2, 2, 2, 7, 2, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 2, 1, 7, 7, 2, 2, 2, 7, 2, 7, 7, 7, 1, 7, 1, 7, 0, 0, 6, 6, 0, 1, 0, 6, 6, 1, 1, 1, 6, 1, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 1, 1, 1, 6, 6, 1, 1, 1, 6, 1, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 1, 2, 1, 7, 7, 0, 1, 0, 7, 2, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 3, 0, 8, 8, 1, 1, 1, 8, 3, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 3, 1, 8, 8, 1, 1, 1, 8, 3, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 3, 0, 8, 8, 1, 1, 1, 8, 3, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 3, 1, 8, 8, 1, 1, 1, 8, 3, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 2, 0, 7, 7, 0, 0, 0, 7, 2, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 2, 1, 7, 7, 0, 1, 0, 7, 2, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 3, 0, 8, 8, 2, 2, 2, 8, 3, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 3, 1, 8, 8, 2, 2, 2, 8, 3, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 2, 0, 7, 7, 1, 1, 1, 7, 2, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 2, 1, 7, 7, 1, 1, 1, 7, 2, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 1, 3, 1, 8, 8, 0, 1, 0, 8, 3, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 4, 0, 9, 9, 1, 1, 1, 9, 4, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 4, 1, 9, 9, 1, 1, 1, 9, 4, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 4, 0, 9, 9, 1, 1, 1, 9, 4, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 4, 1, 9, 9, 1, 1, 1, 9, 4, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 3, 0, 8, 8, 0, 0, 0, 8, 3, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 3, 1, 8, 8, 0, 1, 0, 8, 3, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 0, 4, 0, 9, 9, 2, 2, 2, 9, 4, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 4, 1, 9, 9, 2, 2, 2, 9, 4, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 3, 0, 8, 8, 1, 1, 1, 8, 3, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 3, 1, 8, 8, 1, 1, 1, 8, 3, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 4, 1, 9, 9, 0, 1, 0, 9, 4, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 5, 0, 10, 10, 1, 1, 1, 10, 5, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 5, 1, 10, 10, 1, 1, 1, 10, 5, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 5, 0, 10, 10, 1, 1, 1, 10, 5, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 5, 1, 10, 10, 1, 1, 1, 10, 5, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 4, 0, 9, 9, 0, 0, 0, 9, 4, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 4, 1, 9, 9, 0, 1, 0, 9, 4, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 5, 0, 10, 10, 2, 2, 2, 10, 5, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 5, 1, 10, 10, 2, 2, 2, 10, 5, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 4, 0, 9, 9, 1, 1, 1, 9, 4, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 4, 1, 9, 9, 1, 1, 1, 9, 4, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 5, 1, 10, 10, 0, 1, 0, 10, 5, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 6, 1, 11, 11, 1, 1, 1, 11, 6, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 6, 1, 11, 11, 1, 1, 1, 11, 6, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 5, 0, 10, 10, 0, 0, 0, 10, 5, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 5, 1, 10, 10, 0, 1, 0, 10, 5, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 6, 1, 11, 11, 2, 2, 2, 11, 6, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 5, 0, 10, 10, 1, 1, 1, 10, 5, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 5, 1, 10, 10, 1, 1, 1, 10, 5, 10, 10, 10, 0, 10, 0, 10, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 0, 0, 1, 6, 1, 0, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 1, 1, 1, 6, 1, 1, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 2, 2, 1, 6, 1, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 1, 1, 0, 5, 0, 1, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 1, 1, 1, 5, 1, 1, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 1, 1, 2, 5, 2, 1, 0, 0, 5, 5, 0, 5, 0, 5, 5, 2, 2, 2, 5, 5, 5, 1, 1, 1, 5, 1, 1, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 0, 0, 2, 6, 2, 0, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 1, 1, 2, 6, 2, 1, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 0, 0, 1, 5, 1, 0, 0, 0, 11, 11, 1, 5, 1, 11, 11, 0, 1, 0, 11, 5, 11, 11, 11, 1, 11, 1, 11, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 2, 2, 1, 5, 1, 2, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 1, 1, 1, 5, 1, 1, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 2, 2, 2, 6, 2, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 1, 1, 1, 5, 1, 1, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 2, 2, 0, 6, 0, 2, 0, 0, 6, 6, 1, 6, 1, 6, 6, 2, 2, 2, 6, 6, 6, 2, 2, 1, 6, 1, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 1, 1, 0, 5, 0, 1, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 1, 1, 0, 5, 0, 1, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 1, 1, 0, 6, 0, 1, 0, 0, 6, 6, 1, 6, 1, 6, 6, 2, 2, 2, 6, 6, 6, 1, 1, 1, 6, 1, 1, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 0, 0, 0, 5, 0, 0, 0, 0, 11, 11, 1, 5, 1, 11, 11, 1, 1, 1, 11, 5, 11, 11, 11, 0, 11, 0, 11, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 2, 2, 0, 5, 0, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 2, 2, 2, 6, 6, 6, 0, 0, 1, 6, 1, 0, 0, 0, 11, 11, 1, 7, 1, 11, 11, 0, 1, 0, 11, 7, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 6, 0, 10, 10, 0, 0, 0, 10, 6, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 5, 0, 9, 9, 0, 0, 0, 9, 5, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 4, 0, 8, 8, 0, 0, 0, 8, 4, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 3, 0, 7, 7, 0, 0, 0, 7, 3, 7, 7, 7, 0, 7, 0, 7, 0, 0, 6, 6, 0, 2, 0, 6, 6, 0, 0, 0, 6, 2, 6, 6, 6, 0, 6, 0, 6, 0, 0, 5, 5, 0, 1, 0, 5, 5, 0, 0, 0, 5, 1, 5, 5, 5, 0, 5, 0, 5, 0, 0, 5, 5, 1, 1, 1, 5, 5, 0, 1, 0, 5, 1, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 0, 2, 0, 6, 6, 1, 1, 1, 6, 2, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 2, 1, 6, 6, 1, 1, 1, 6, 2, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 0, 2, 0, 6, 6, 1, 1, 1, 6, 2, 6, 6, 6, 2, 6, 2, 6, 0, 0, 6, 6, 1, 2, 1, 6, 6, 1, 1, 1, 6, 2, 6, 6, 6, 2, 6, 2, 6, 0, 0, 5, 5, 0, 1, 0, 5, 5, 0, 0, 0, 5, 1, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 1, 1, 5, 5, 0, 1, 0, 5, 1, 5, 5, 5, 1, 5, 1, 5, 0, 0, 6, 6, 0, 2, 0, 6, 6, 2, 2, 2, 6, 2, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 2, 1, 6, 6, 2, 2, 2, 6, 2, 6, 6, 6, 1, 6, 1, 6, 0, 0, 5, 5, 0, 1, 0, 5, 5, 1, 1, 1, 5, 1, 5, 5, 5, 0, 5, 0, 5, 0, 0, 5, 5, 1, 1, 1, 5, 5, 1, 1, 1, 5, 1, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 1, 2, 1, 6, 6, 0, 1, 0, 6, 2, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 3, 0, 7, 7, 1, 1, 1, 7, 3, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 3, 1, 7, 7, 1, 1, 1, 7, 3, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 3, 0, 7, 7, 1, 1, 1, 7, 3, 7, 7, 7, 2, 7, 2, 7, 0, 0, 7, 7, 1, 3, 1, 7, 7, 1, 1, 1, 7, 3, 7, 7, 7, 2, 7, 2, 7, 0, 0, 6, 6, 0, 2, 0, 6, 6, 0, 0, 0, 6, 2, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 2, 1, 6, 6, 0, 1, 0, 6, 2, 6, 6, 6, 1, 6, 1, 6, 0, 0, 7, 7, 0, 3, 0, 7, 7, 2, 2, 2, 7, 3, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 3, 1, 7, 7, 2, 2, 2, 7, 3, 7, 7, 7, 1, 7, 1, 7, 0, 0, 6, 6, 0, 2, 0, 6, 6, 1, 1, 1, 6, 2, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 1, 2, 1, 6, 6, 1, 1, 1, 6, 2, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 1, 3, 1, 7, 7, 0, 1, 0, 7, 3, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 4, 0, 8, 8, 1, 1, 1, 8, 4, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 4, 1, 8, 8, 1, 1, 1, 8, 4, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 4, 0, 8, 8, 1, 1, 1, 8, 4, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 4, 1, 8, 8, 1, 1, 1, 8, 4, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 3, 0, 7, 7, 0, 0, 0, 7, 3, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 3, 1, 7, 7, 0, 1, 0, 7, 3, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 4, 0, 8, 8, 2, 2, 2, 8, 4, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 4, 1, 8, 8, 2, 2, 2, 8, 4, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 3, 0, 7, 7, 1, 1, 1, 7, 3, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 3, 1, 7, 7, 1, 1, 1, 7, 3, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 1, 4, 1, 8, 8, 0, 1, 0, 8, 4, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 5, 0, 9, 9, 1, 1, 1, 9, 5, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 5, 1, 9, 9, 1, 1, 1, 9, 5, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 5, 0, 9, 9, 1, 1, 1, 9, 5, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 5, 1, 9, 9, 1, 1, 1, 9, 5, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 4, 0, 8, 8, 0, 0, 0, 8, 4, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 4, 1, 8, 8, 0, 1, 0, 8, 4, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 0, 5, 0, 9, 9, 2, 2, 2, 9, 5, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 5, 1, 9, 9, 2, 2, 2, 9, 5, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 4, 0, 8, 8, 1, 1, 1, 8, 4, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 4, 1, 8, 8, 1, 1, 1, 8, 4, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 5, 1, 9, 9, 0, 1, 0, 9, 5, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 6, 0, 10, 10, 1, 1, 1, 10, 6, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 6, 1, 10, 10, 1, 1, 1, 10, 6, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 6, 0, 10, 10, 1, 1, 1, 10, 6, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 6, 1, 10, 10, 1, 1, 1, 10, 6, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 5, 0, 9, 9, 0, 0, 0, 9, 5, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 5, 1, 9, 9, 0, 1, 0, 9, 5, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 6, 0, 10, 10, 2, 2, 2, 10, 6, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 6, 1, 10, 10, 2, 2, 2, 10, 6, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 5, 0, 9, 9, 1, 1, 1, 9, 5, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 5, 1, 9, 9, 1, 1, 1, 9, 5, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 6, 1, 10, 10, 0, 1, 0, 10, 6, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 7, 1, 11, 11, 1, 1, 1, 11, 7, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 7, 1, 11, 11, 1, 1, 1, 11, 7, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 6, 0, 10, 10, 0, 0, 0, 10, 6, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 6, 1, 10, 10, 0, 1, 0, 10, 6, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 7, 1, 11, 11, 2, 2, 2, 11, 7, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 6, 0, 10, 10, 1, 1, 1, 10, 6, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 6, 1, 10, 10, 1, 1, 1, 10, 6, 10, 10, 10, 0, 10, 0, 10, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 0, 0, 1, 7, 1, 0, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 1, 1, 1, 7, 1, 1, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 2, 2, 1, 7, 1, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 1, 1, 0, 6, 0, 1, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 1, 1, 1, 6, 1, 1, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 1, 1, 2, 6, 2, 1, 0, 0, 6, 6, 0, 6, 0, 6, 6, 2, 2, 2, 6, 6, 6, 1, 1, 1, 6, 1, 1, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 0, 0, 2, 7, 2, 0, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 1, 1, 2, 7, 2, 1, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 0, 0, 1, 6, 1, 0, 0, 0, 11, 11, 1, 6, 1, 11, 11, 0, 1, 0, 11, 6, 11, 11, 11, 1, 11, 1, 11, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 2, 2, 1, 6, 1, 2, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 1, 1, 1, 6, 1, 1, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 2, 2, 2, 7, 2, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 1, 1, 1, 6, 1, 1, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 2, 2, 0, 7, 0, 2, 0, 0, 7, 7, 1, 7, 1, 7, 7, 2, 2, 2, 7, 7, 7, 2, 2, 1, 7, 1, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 1, 1, 0, 6, 0, 1, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 1, 1, 0, 6, 0, 1, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 1, 1, 0, 7, 0, 1, 0, 0, 7, 7, 1, 7, 1, 7, 7, 2, 2, 2, 7, 7, 7, 1, 1, 1, 7, 1, 1, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 0, 0, 0, 6, 0, 0, 0, 0, 11, 11, 1, 6, 1, 11, 11, 1, 1, 1, 11, 6, 11, 11, 11, 0, 11, 0, 11, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 2, 2, 0, 6, 0, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 0, 0, 1, 7, 1, 0, 0, 0, 11, 11, 1, 8, 1, 11, 11, 0, 1, 0, 11, 8, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 7, 0, 10, 10, 0, 0, 0, 10, 7, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 6, 0, 9, 9, 0, 0, 0, 9, 6, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 5, 0, 8, 8, 0, 0, 0, 8, 5, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 4, 0, 7, 7, 0, 0, 0, 7, 4, 7, 7, 7, 0, 7, 0, 7, 0, 0, 6, 6, 0, 3, 0, 6, 6, 0, 0, 0, 6, 3, 6, 6, 6, 0, 6, 0, 6, 0, 0, 5, 5, 0, 2, 0, 5, 5, 0, 0, 0, 5, 2, 5, 5, 5, 0, 5, 0, 5, 0, 0, 4, 4, 0, 1, 0, 4, 4, 0, 0, 0, 4, 1, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 1, 1, 1, 4, 4, 0, 1, 0, 4, 1, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 0, 2, 0, 5, 5, 1, 1, 1, 5, 2, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 2, 1, 5, 5, 1, 1, 1, 5, 2, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 0, 2, 0, 5, 5, 1, 1, 1, 5, 2, 5, 5, 5, 2, 5, 2, 5, 0, 0, 5, 5, 1, 2, 1, 5, 5, 1, 1, 1, 5, 2, 5, 5, 5, 2, 5, 2, 5, 0, 0, 4, 4, 0, 1, 0, 4, 4, 0, 0, 0, 4, 1, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 1, 1, 4, 4, 0, 1, 0, 4, 1, 4, 4, 4, 1, 4, 1, 4, 0, 0, 5, 5, 0, 2, 0, 5, 5, 2, 2, 2, 5, 2, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 2, 1, 5, 5, 2, 2, 2, 5, 2, 5, 5, 5, 1, 5, 1, 5, 0, 0, 4, 4, 0, 1, 0, 4, 4, 1, 1, 1, 4, 1, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 1, 1, 1, 4, 4, 1, 1, 1, 4, 1, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 1, 2, 1, 5, 5, 0, 1, 0, 5, 2, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 0, 3, 0, 6, 6, 1, 1, 1, 6, 3, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 3, 1, 6, 6, 1, 1, 1, 6, 3, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 0, 3, 0, 6, 6, 1, 1, 1, 6, 3, 6, 6, 6, 2, 6, 2, 6, 0, 0, 6, 6, 1, 3, 1, 6, 6, 1, 1, 1, 6, 3, 6, 6, 6, 2, 6, 2, 6, 0, 0, 5, 5, 0, 2, 0, 5, 5, 0, 0, 0, 5, 2, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 2, 1, 5, 5, 0, 1, 0, 5, 2, 5, 5, 5, 1, 5, 1, 5, 0, 0, 6, 6, 0, 3, 0, 6, 6, 2, 2, 2, 6, 3, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 3, 1, 6, 6, 2, 2, 2, 6, 3, 6, 6, 6, 1, 6, 1, 6, 0, 0, 5, 5, 0, 2, 0, 5, 5, 1, 1, 1, 5, 2, 5, 5, 5, 0, 5, 0, 5, 0, 0, 5, 5, 1, 2, 1, 5, 5, 1, 1, 1, 5, 2, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 1, 3, 1, 6, 6, 0, 1, 0, 6, 3, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 4, 0, 7, 7, 1, 1, 1, 7, 4, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 4, 1, 7, 7, 1, 1, 1, 7, 4, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 4, 0, 7, 7, 1, 1, 1, 7, 4, 7, 7, 7, 2, 7, 2, 7, 0, 0, 7, 7, 1, 4, 1, 7, 7, 1, 1, 1, 7, 4, 7, 7, 7, 2, 7, 2, 7, 0, 0, 6, 6, 0, 3, 0, 6, 6, 0, 0, 0, 6, 3, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 3, 1, 6, 6, 0, 1, 0, 6, 3, 6, 6, 6, 1, 6, 1, 6, 0, 0, 7, 7, 0, 4, 0, 7, 7, 2, 2, 2, 7, 4, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 4, 1, 7, 7, 2, 2, 2, 7, 4, 7, 7, 7, 1, 7, 1, 7, 0, 0, 6, 6, 0, 3, 0, 6, 6, 1, 1, 1, 6, 3, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 1, 3, 1, 6, 6, 1, 1, 1, 6, 3, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 1, 4, 1, 7, 7, 0, 1, 0, 7, 4, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 5, 0, 8, 8, 1, 1, 1, 8, 5, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 5, 1, 8, 8, 1, 1, 1, 8, 5, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 5, 0, 8, 8, 1, 1, 1, 8, 5, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 5, 1, 8, 8, 1, 1, 1, 8, 5, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 4, 0, 7, 7, 0, 0, 0, 7, 4, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 4, 1, 7, 7, 0, 1, 0, 7, 4, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 5, 0, 8, 8, 2, 2, 2, 8, 5, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 5, 1, 8, 8, 2, 2, 2, 8, 5, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 4, 0, 7, 7, 1, 1, 1, 7, 4, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 4, 1, 7, 7, 1, 1, 1, 7, 4, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 1, 5, 1, 8, 8, 0, 1, 0, 8, 5, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 6, 0, 9, 9, 1, 1, 1, 9, 6, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 6, 1, 9, 9, 1, 1, 1, 9, 6, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 6, 0, 9, 9, 1, 1, 1, 9, 6, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 6, 1, 9, 9, 1, 1, 1, 9, 6, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 5, 0, 8, 8, 0, 0, 0, 8, 5, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 5, 1, 8, 8, 0, 1, 0, 8, 5, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 0, 6, 0, 9, 9, 2, 2, 2, 9, 6, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 6, 1, 9, 9, 2, 2, 2, 9, 6, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 5, 0, 8, 8, 1, 1, 1, 8, 5, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 5, 1, 8, 8, 1, 1, 1, 8, 5, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 6, 1, 9, 9, 0, 1, 0, 9, 6, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 7, 0, 10, 10, 1, 1, 1, 10, 7, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 7, 1, 10, 10, 1, 1, 1, 10, 7, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 7, 0, 10, 10, 1, 1, 1, 10, 7, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 7, 1, 10, 10, 1, 1, 1, 10, 7, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 6, 0, 9, 9, 0, 0, 0, 9, 6, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 6, 1, 9, 9, 0, 1, 0, 9, 6, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 7, 0, 10, 10, 2, 2, 2, 10, 7, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 7, 1, 10, 10, 2, 2, 2, 10, 7, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 6, 0, 9, 9, 1, 1, 1, 9, 6, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 6, 1, 9, 9, 1, 1, 1, 9, 6, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 7, 1, 10, 10, 0, 1, 0, 10, 7, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 8, 1, 11, 11, 1, 1, 1, 11, 8, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 8, 1, 11, 11, 1, 1, 1, 11, 8, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 7, 0, 10, 10, 0, 0, 0, 10, 7, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 7, 1, 10, 10, 0, 1, 0, 10, 7, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 8, 1, 11, 11, 2, 2, 2, 11, 8, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 7, 0, 10, 10, 1, 1, 1, 10, 7, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 7, 1, 10, 10, 1, 1, 1, 10, 7, 10, 10, 10, 0, 10, 0, 10, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 0, 0, 1, 8, 1, 0, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 1, 1, 1, 8, 1, 1, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 2, 2, 1, 8, 1, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 1, 1, 0, 7, 0, 1, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 1, 1, 1, 7, 1, 1, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 1, 1, 2, 7, 2, 1, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 1, 1, 1, 7, 1, 1, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 0, 0, 2, 8, 2, 0, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 1, 1, 2, 8, 2, 1, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 0, 0, 1, 7, 1, 0, 0, 0, 11, 11, 1, 7, 1, 11, 11, 0, 1, 0, 11, 7, 11, 11, 11, 1, 11, 1, 11, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 2, 2, 1, 7, 1, 2, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 1, 1, 1, 7, 1, 1, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 2, 2, 2, 8, 2, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 1, 1, 1, 7, 1, 1, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 2, 2, 0, 8, 0, 2, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 2, 2, 1, 8, 1, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 1, 1, 0, 7, 0, 1, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 1, 1, 0, 7, 0, 1, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 1, 1, 0, 8, 0, 1, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 1, 1, 1, 8, 1, 1, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 0, 0, 0, 7, 0, 0, 0, 0, 11, 11, 1, 7, 1, 11, 11, 1, 1, 1, 11, 7, 11, 11, 11, 0, 11, 0, 11, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 2, 2, 0, 7, 0, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 0, 0, 1, 8, 1, 0, 0, 0, 11, 11, 1, 9, 1, 11, 11, 0, 1, 0, 11, 9, 11, 11, 11, 0, 11, 0, 11, 0, 0, 10, 10, 0, 8, 0, 10, 10, 0, 0, 0, 10, 8, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 7, 0, 9, 9, 0, 0, 0, 9, 7, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 6, 0, 8, 8, 0, 0, 0, 8, 6, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 5, 0, 7, 7, 0, 0, 0, 7, 5, 7, 7, 7, 0, 7, 0, 7, 0, 0, 6, 6, 0, 4, 0, 6, 6, 0, 0, 0, 6, 4, 6, 6, 6, 0, 6, 0, 6, 0, 0, 5, 5, 0, 3, 0, 5, 5, 0, 0, 0, 5, 3, 5, 5, 5, 0, 5, 0, 5, 0, 0, 4, 4, 0, 2, 0, 4, 4, 0, 0, 0, 4, 2, 4, 4, 4, 0, 4, 0, 4, 0, 0, 3, 3, 0, 1, 0, 3, 3, 0, 0, 0, 3, 1, 3, 3, 3, 0, 3, 0, 3, 0, 0, 3, 3, 1, 1, 1, 3, 3, 0, 1, 0, 3, 1, 3, 3, 3, 0, 3, 0, 3, 0, 0, 4, 4, 0, 2, 0, 4, 4, 1, 1, 1, 4, 2, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 2, 1, 4, 4, 1, 1, 1, 4, 2, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 0, 2, 0, 4, 4, 1, 1, 1, 4, 2, 4, 4, 4, 2, 4, 2, 4, 0, 0, 4, 4, 1, 2, 1, 4, 4, 1, 1, 1, 4, 2, 4, 4, 4, 2, 4, 2, 4, 0, 0, 3, 3, 0, 1, 0, 3, 3, 0, 0, 0, 3, 1, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 1, 1, 3, 3, 0, 1, 0, 3, 1, 3, 3, 3, 1, 3, 1, 3, 0, 0, 4, 4, 0, 2, 0, 4, 4, 2, 2, 2, 4, 2, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 2, 1, 4, 4, 2, 2, 2, 4, 2, 4, 4, 4, 1, 4, 1, 4, 0, 0, 3, 3, 0, 1, 0, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 0, 3, 0, 3, 0, 0, 3, 3, 1, 1, 1, 3, 3, 1, 1, 1, 3, 1, 3, 3, 3, 0, 3, 0, 3, 0, 0, 4, 4, 1, 2, 1, 4, 4, 0, 1, 0, 4, 2, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 0, 3, 0, 5, 5, 1, 1, 1, 5, 3, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 3, 1, 5, 5, 1, 1, 1, 5, 3, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 0, 3, 0, 5, 5, 1, 1, 1, 5, 3, 5, 5, 5, 2, 5, 2, 5, 0, 0, 5, 5, 1, 3, 1, 5, 5, 1, 1, 1, 5, 3, 5, 5, 5, 2, 5, 2, 5, 0, 0, 4, 4, 0, 2, 0, 4, 4, 0, 0, 0, 4, 2, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 2, 1, 4, 4, 0, 1, 0, 4, 2, 4, 4, 4, 1, 4, 1, 4, 0, 0, 5, 5, 0, 3, 0, 5, 5, 2, 2, 2, 5, 3, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 3, 1, 5, 5, 2, 2, 2, 5, 3, 5, 5, 5, 1, 5, 1, 5, 0, 0, 4, 4, 0, 2, 0, 4, 4, 1, 1, 1, 4, 2, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 1, 2, 1, 4, 4, 1, 1, 1, 4, 2, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 1, 3, 1, 5, 5, 0, 1, 0, 5, 3, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 0, 4, 0, 6, 6, 1, 1, 1, 6, 4, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 4, 1, 6, 6, 1, 1, 1, 6, 4, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 0, 4, 0, 6, 6, 1, 1, 1, 6, 4, 6, 6, 6, 2, 6, 2, 6, 0, 0, 6, 6, 1, 4, 1, 6, 6, 1, 1, 1, 6, 4, 6, 6, 6, 2, 6, 2, 6, 0, 0, 5, 5, 0, 3, 0, 5, 5, 0, 0, 0, 5, 3, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 3, 1, 5, 5, 0, 1, 0, 5, 3, 5, 5, 5, 1, 5, 1, 5, 0, 0, 6, 6, 0, 4, 0, 6, 6, 2, 2, 2, 6, 4, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 4, 1, 6, 6, 2, 2, 2, 6, 4, 6, 6, 6, 1, 6, 1, 6, 0, 0, 5, 5, 0, 3, 0, 5, 5, 1, 1, 1, 5, 3, 5, 5, 5, 0, 5, 0, 5, 0, 0, 5, 5, 1, 3, 1, 5, 5, 1, 1, 1, 5, 3, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 1, 4, 1, 6, 6, 0, 1, 0, 6, 4, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 5, 0, 7, 7, 1, 1, 1, 7, 5, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 5, 1, 7, 7, 1, 1, 1, 7, 5, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 5, 0, 7, 7, 1, 1, 1, 7, 5, 7, 7, 7, 2, 7, 2, 7, 0, 0, 7, 7, 1, 5, 1, 7, 7, 1, 1, 1, 7, 5, 7, 7, 7, 2, 7, 2, 7, 0, 0, 6, 6, 0, 4, 0, 6, 6, 0, 0, 0, 6, 4, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 4, 1, 6, 6, 0, 1, 0, 6, 4, 6, 6, 6, 1, 6, 1, 6, 0, 0, 7, 7, 0, 5, 0, 7, 7, 2, 2, 2, 7, 5, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 5, 1, 7, 7, 2, 2, 2, 7, 5, 7, 7, 7, 1, 7, 1, 7, 0, 0, 6, 6, 0, 4, 0, 6, 6, 1, 1, 1, 6, 4, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 1, 4, 1, 6, 6, 1, 1, 1, 6, 4, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 1, 5, 1, 7, 7, 0, 1, 0, 7, 5, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 6, 0, 8, 8, 1, 1, 1, 8, 6, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 6, 1, 8, 8, 1, 1, 1, 8, 6, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 6, 0, 8, 8, 1, 1, 1, 8, 6, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 6, 1, 8, 8, 1, 1, 1, 8, 6, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 5, 0, 7, 7, 0, 0, 0, 7, 5, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 5, 1, 7, 7, 0, 1, 0, 7, 5, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 6, 0, 8, 8, 2, 2, 2, 8, 6, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 6, 1, 8, 8, 2, 2, 2, 8, 6, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 5, 0, 7, 7, 1, 1, 1, 7, 5, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 5, 1, 7, 7, 1, 1, 1, 7, 5, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 1, 6, 1, 8, 8, 0, 1, 0, 8, 6, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 7, 0, 9, 9, 1, 1, 1, 9, 7, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 7, 1, 9, 9, 1, 1, 1, 9, 7, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 7, 0, 9, 9, 1, 1, 1, 9, 7, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 7, 1, 9, 9, 1, 1, 1, 9, 7, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 6, 0, 8, 8, 0, 0, 0, 8, 6, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 6, 1, 8, 8, 0, 1, 0, 8, 6, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 0, 7, 0, 9, 9, 2, 2, 2, 9, 7, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 7, 1, 9, 9, 2, 2, 2, 9, 7, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 6, 0, 8, 8, 1, 1, 1, 8, 6, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 6, 1, 8, 8, 1, 1, 1, 8, 6, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 7, 1, 9, 9, 0, 1, 0, 9, 7, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 8, 0, 10, 10, 1, 1, 1, 10, 8, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 8, 1, 10, 10, 1, 1, 1, 10, 8, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 8, 0, 10, 10, 1, 1, 1, 10, 8, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 1, 8, 1, 10, 10, 1, 1, 1, 10, 8, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 7, 0, 9, 9, 0, 0, 0, 9, 7, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 7, 1, 9, 9, 0, 1, 0, 9, 7, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 8, 0, 10, 10, 2, 2, 2, 10, 8, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 8, 1, 10, 10, 2, 2, 2, 10, 8, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 7, 0, 9, 9, 1, 1, 1, 9, 7, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 7, 1, 9, 9, 1, 1, 1, 9, 7, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 8, 1, 10, 10, 0, 1, 0, 10, 8, 10, 10, 10, 0, 10, 0, 10, 0, 0, 11, 11, 1, 9, 1, 11, 11, 1, 1, 1, 11, 9, 11, 11, 11, 1, 11, 1, 11, 0, 0, 11, 11, 1, 9, 1, 11, 11, 1, 1, 1, 11, 9, 11, 11, 11, 2, 11, 2, 11, 0, 0, 10, 10, 0, 8, 0, 10, 10, 0, 0, 0, 10, 8, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 8, 1, 10, 10, 0, 1, 0, 10, 8, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 9, 1, 11, 11, 2, 2, 2, 11, 9, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 8, 0, 10, 10, 1, 1, 1, 10, 8, 10, 10, 10, 0, 10, 0, 10, 0, 0, 10, 10, 1, 8, 1, 10, 10, 1, 1, 1, 10, 8, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 0, 0, 1, 9, 1, 0, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 1, 1, 1, 9, 1, 1, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 2, 2, 1, 9, 1, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 1, 1, 0, 8, 0, 1, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 1, 1, 1, 8, 1, 1, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 1, 1, 2, 8, 2, 1, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 1, 1, 1, 8, 1, 1, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 0, 0, 2, 9, 2, 0, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 0, 0, 1, 8, 1, 0, 0, 0, 11, 11, 1, 8, 1, 11, 11, 0, 1, 0, 11, 8, 11, 11, 11, 1, 11, 1, 11, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 2, 2, 1, 8, 1, 2, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 1, 1, 1, 8, 1, 1, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 2, 2, 2, 9, 2, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 1, 1, 1, 8, 1, 1, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 1, 1, 2, 9, 2, 1, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 2, 2, 0, 9, 0, 2, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 2, 2, 1, 9, 1, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 1, 1, 0, 8, 0, 1, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 1, 1, 0, 8, 0, 1, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 1, 1, 0, 9, 0, 1, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 1, 1, 1, 9, 1, 1, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 11, 11, 1, 8, 1, 11, 11, 1, 1, 1, 11, 8, 11, 11, 11, 0, 11, 0, 11, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 2, 2, 0, 8, 0, 2, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 0, 0, 1, 9, 1, 0, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 1, 1, 1, 10, 1, 1, 0, 0, 2, 2, 0, 0, 1, 2, 2, 0, 1, 0, 2, 0, 2, 2, 2, 1, 2, 1, 2, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 2, 2, 1, 10, 1, 2, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 1, 1, 0, 9, 0, 1, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 1, 1, 1, 9, 1, 1, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 1, 1, 2, 9, 2, 1, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 1, 1, 1, 9, 1, 1, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 2, 2, 1, 10, 1, 2, 0, 0, 3, 3, 0, 0, 1, 3, 3, 1, 1, 1, 3, 0, 3, 3, 3, 0, 3, 0, 3, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 3, 3, 1, 10, 1, 3, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 2, 2, 0, 9, 0, 2, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 2, 2, 1, 9, 1, 2, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 2, 2, 2, 9, 2, 2, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 2, 2, 1, 9, 1, 2, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 3, 3, 1, 10, 1, 3, 0, 0, 4, 4, 0, 0, 1, 4, 4, 0, 1, 0, 4, 0, 4, 4, 4, 1, 4, 1, 4, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 4, 4, 1, 10, 1, 4, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 3, 3, 0, 9, 0, 3, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 2, 2, 0, 8, 0, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 2, 2, 1, 8, 1, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 2, 2, 2, 8, 2, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 2, 2, 1, 8, 1, 2, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 3, 3, 1, 9, 1, 3, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 3, 3, 1, 9, 1, 3, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 3, 3, 2, 9, 2, 3, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 2, 2, 1, 8, 1, 2, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 3, 3, 2, 9, 2, 3, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 3, 3, 1, 9, 1, 3, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 2, 2, 0, 8, 0, 2, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 3, 3, 1, 9, 1, 3, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 3, 3, 0, 9, 0, 3, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 4, 4, 1, 10, 1, 4, 0, 0, 5, 5, 0, 0, 1, 5, 5, 1, 1, 1, 5, 0, 5, 5, 5, 0, 5, 0, 5, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 5, 5, 1, 10, 1, 5, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 4, 4, 0, 9, 0, 4, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 3, 3, 0, 8, 0, 3, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 2, 2, 0, 7, 0, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 2, 2, 1, 7, 1, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 2, 2, 2, 7, 2, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 2, 2, 1, 7, 1, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 3, 3, 1, 8, 1, 3, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 3, 3, 1, 8, 1, 3, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 3, 3, 2, 8, 2, 3, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 3, 3, 2, 8, 2, 3, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 2, 2, 1, 7, 1, 2, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 3, 3, 1, 8, 1, 3, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 3, 3, 1, 8, 1, 3, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 2, 2, 0, 7, 0, 2, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 3, 3, 0, 8, 0, 3, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 4, 4, 1, 9, 1, 4, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 4, 4, 1, 9, 1, 4, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 4, 4, 2, 9, 2, 4, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 3, 3, 1, 8, 1, 3, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 3, 3, 1, 8, 1, 3, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 4, 4, 2, 9, 2, 4, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 4, 4, 1, 9, 1, 4, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 3, 3, 0, 8, 0, 3, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 3, 3, 0, 8, 0, 3, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 4, 4, 1, 9, 1, 4, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 4, 4, 0, 9, 0, 4, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 5, 5, 1, 10, 1, 5, 0, 0, 6, 6, 0, 0, 1, 6, 6, 0, 1, 0, 6, 0, 6, 6, 6, 1, 6, 1, 6, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 6, 6, 1, 10, 1, 6, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 5, 5, 0, 9, 0, 5, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 4, 4, 0, 8, 0, 4, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 3, 3, 0, 7, 0, 3, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 2, 2, 0, 6, 0, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 2, 2, 1, 6, 1, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 2, 2, 2, 6, 2, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 2, 2, 2, 6, 6, 6, 2, 2, 1, 6, 1, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 3, 3, 1, 7, 1, 3, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 3, 3, 1, 7, 1, 3, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 3, 3, 2, 7, 2, 3, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 3, 3, 2, 7, 2, 3, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 2, 2, 1, 6, 1, 2, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 3, 3, 1, 7, 1, 3, 0, 0, 7, 7, 1, 7, 1, 7, 7, 2, 2, 2, 7, 7, 7, 3, 3, 1, 7, 1, 3, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 2, 2, 0, 6, 0, 2, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 3, 3, 0, 7, 0, 3, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 4, 4, 1, 8, 1, 4, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 4, 4, 1, 8, 1, 4, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 4, 4, 2, 8, 2, 4, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 4, 4, 2, 8, 2, 4, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 3, 3, 1, 7, 1, 3, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 3, 3, 1, 7, 1, 3, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 4, 4, 1, 8, 1, 4, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 4, 4, 1, 8, 1, 4, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 3, 3, 0, 7, 0, 3, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 3, 3, 0, 7, 0, 3, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 4, 4, 0, 8, 0, 4, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 5, 5, 1, 9, 1, 5, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 5, 5, 1, 9, 1, 5, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 5, 5, 2, 9, 2, 5, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 4, 4, 1, 8, 1, 4, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 4, 4, 1, 8, 1, 4, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 5, 5, 2, 9, 2, 5, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 5, 5, 1, 9, 1, 5, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 4, 4, 0, 8, 0, 4, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 4, 4, 0, 8, 0, 4, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 5, 5, 1, 9, 1, 5, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 5, 5, 0, 9, 0, 5, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 6, 6, 1, 10, 1, 6, 0, 0, 7, 7, 0, 0, 1, 7, 7, 1, 1, 1, 7, 0, 7, 7, 7, 0, 7, 0, 7, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 7, 7, 1, 10, 1, 7, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 6, 6, 0, 9, 0, 6, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 5, 5, 0, 8, 0, 5, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 4, 4, 0, 7, 0, 4, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 3, 3, 0, 6, 0, 3, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 2, 2, 0, 5, 0, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 2, 2, 1, 5, 1, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 2, 2, 2, 5, 2, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 2, 2, 2, 5, 5, 5, 2, 2, 1, 5, 1, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 3, 3, 1, 6, 1, 3, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 3, 3, 1, 6, 1, 3, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 3, 3, 2, 6, 2, 3, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 3, 3, 2, 6, 2, 3, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 2, 2, 1, 5, 1, 2, 0, 0, 6, 6, 0, 6, 0, 6, 6, 2, 2, 2, 6, 6, 6, 3, 3, 1, 6, 1, 3, 0, 0, 6, 6, 1, 6, 1, 6, 6, 2, 2, 2, 6, 6, 6, 3, 3, 1, 6, 1, 3, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 2, 2, 0, 5, 0, 2, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 3, 3, 0, 6, 0, 3, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 4, 4, 1, 7, 1, 4, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 4, 4, 1, 7, 1, 4, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 4, 4, 2, 7, 2, 4, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 4, 4, 2, 7, 2, 4, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 3, 3, 1, 6, 1, 3, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 3, 3, 1, 6, 1, 3, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 4, 4, 1, 7, 1, 4, 0, 0, 7, 7, 1, 7, 1, 7, 7, 2, 2, 2, 7, 7, 7, 4, 4, 1, 7, 1, 4, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 3, 3, 0, 6, 0, 3, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 3, 3, 0, 6, 0, 3, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 4, 4, 0, 7, 0, 4, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 5, 5, 1, 8, 1, 5, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 5, 5, 1, 8, 1, 5, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 5, 5, 2, 8, 2, 5, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 5, 5, 2, 8, 2, 5, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 4, 4, 1, 7, 1, 4, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 4, 4, 1, 7, 1, 4, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 5, 5, 1, 8, 1, 5, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 5, 5, 1, 8, 1, 5, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 4, 4, 0, 7, 0, 4, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 4, 4, 0, 7, 0, 4, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 5, 5, 0, 8, 0, 5, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 6, 6, 1, 9, 1, 6, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 6, 6, 1, 9, 1, 6, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 6, 6, 2, 9, 2, 6, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 5, 5, 1, 8, 1, 5, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 5, 5, 1, 8, 1, 5, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 6, 6, 2, 9, 2, 6, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 6, 6, 1, 9, 1, 6, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 5, 5, 0, 8, 0, 5, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 5, 5, 0, 8, 0, 5, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 6, 6, 1, 9, 1, 6, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 6, 6, 0, 9, 0, 6, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 7, 7, 1, 10, 1, 7, 0, 0, 8, 8, 0, 0, 1, 8, 8, 0, 1, 0, 8, 0, 8, 8, 8, 1, 8, 1, 8, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 8, 8, 1, 10, 1, 8, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 7, 7, 0, 9, 0, 7, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 6, 6, 0, 8, 0, 6, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 5, 5, 0, 7, 0, 5, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 4, 4, 0, 6, 0, 4, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 3, 3, 0, 5, 0, 3, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 2, 2, 0, 4, 0, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 2, 2, 1, 4, 1, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 2, 2, 2, 4, 2, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 2, 2, 2, 4, 4, 4, 2, 2, 1, 4, 1, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 3, 3, 1, 5, 1, 3, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 3, 3, 1, 5, 1, 3, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 3, 3, 2, 5, 2, 3, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 3, 3, 2, 5, 2, 3, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 2, 2, 1, 4, 1, 2, 0, 0, 5, 5, 0, 5, 0, 5, 5, 2, 2, 2, 5, 5, 5, 3, 3, 1, 5, 1, 3, 0, 0, 5, 5, 1, 5, 1, 5, 5, 2, 2, 2, 5, 5, 5, 3, 3, 1, 5, 1, 3, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 2, 2, 0, 4, 0, 2, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 3, 3, 0, 5, 0, 3, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 4, 4, 1, 6, 1, 4, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 4, 4, 1, 6, 1, 4, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 4, 4, 2, 6, 2, 4, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 4, 4, 2, 6, 2, 4, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 3, 3, 1, 5, 1, 3, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 3, 3, 1, 5, 1, 3, 0, 0, 6, 6, 0, 6, 0, 6, 6, 2, 2, 2, 6, 6, 6, 4, 4, 1, 6, 1, 4, 0, 0, 6, 6, 1, 6, 1, 6, 6, 2, 2, 2, 6, 6, 6, 4, 4, 1, 6, 1, 4, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 3, 3, 0, 5, 0, 3, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 3, 3, 0, 5, 0, 3, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 4, 4, 0, 6, 0, 4, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 5, 5, 1, 7, 1, 5, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 5, 5, 1, 7, 1, 5, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 5, 5, 2, 7, 2, 5, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 5, 5, 2, 7, 2, 5, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 4, 4, 1, 6, 1, 4, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 4, 4, 1, 6, 1, 4, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 5, 5, 1, 7, 1, 5, 0, 0, 7, 7, 1, 7, 1, 7, 7, 2, 2, 2, 7, 7, 7, 5, 5, 1, 7, 1, 5, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 4, 4, 0, 6, 0, 4, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 4, 4, 0, 6, 0, 4, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 5, 5, 0, 7, 0, 5, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 6, 6, 1, 8, 1, 6, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 6, 6, 1, 8, 1, 6, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 6, 6, 2, 8, 2, 6, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 6, 6, 2, 8, 2, 6, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 5, 5, 1, 7, 1, 5, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 5, 5, 1, 7, 1, 5, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 6, 6, 1, 8, 1, 6, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 6, 6, 1, 8, 1, 6, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 5, 5, 0, 7, 0, 5, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 5, 5, 0, 7, 0, 5, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 6, 6, 0, 8, 0, 6, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 7, 7, 1, 9, 1, 7, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 7, 7, 1, 9, 1, 7, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 7, 7, 2, 9, 2, 7, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 6, 6, 1, 8, 1, 6, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 6, 6, 1, 8, 1, 6, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 7, 7, 2, 9, 2, 7, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 7, 7, 1, 9, 1, 7, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 6, 6, 0, 8, 0, 6, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 6, 6, 0, 8, 0, 6, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 7, 7, 1, 9, 1, 7, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 7, 7, 0, 9, 0, 7, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 8, 8, 1, 10, 1, 8, 0, 0, 9, 9, 0, 0, 1, 9, 9, 1, 1, 1, 9, 0, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 9, 9, 1, 10, 1, 9, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 8, 8, 0, 9, 0, 8, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 7, 7, 0, 8, 0, 7, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 6, 6, 0, 7, 0, 6, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 5, 5, 0, 6, 0, 5, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 4, 4, 0, 5, 0, 4, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 3, 3, 0, 4, 0, 3, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 2, 2, 0, 3, 0, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 2, 2, 1, 3, 1, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 2, 2, 2, 3, 2, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 2, 2, 2, 3, 3, 3, 2, 2, 1, 3, 1, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 3, 3, 1, 4, 1, 3, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 3, 3, 1, 4, 1, 3, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 3, 3, 2, 4, 2, 3, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 3, 3, 2, 4, 2, 3, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 2, 2, 1, 3, 1, 2, 0, 0, 4, 4, 0, 4, 0, 4, 4, 2, 2, 2, 4, 4, 4, 3, 3, 1, 4, 1, 3, 0, 0, 4, 4, 1, 4, 1, 4, 4, 2, 2, 2, 4, 4, 4, 3, 3, 1, 4, 1, 3, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 2, 2, 0, 3, 0, 2, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 3, 3, 0, 4, 0, 3, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 4, 4, 1, 5, 1, 4, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 4, 4, 1, 5, 1, 4, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 4, 4, 2, 5, 2, 4, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 4, 4, 2, 5, 2, 4, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 3, 3, 1, 4, 1, 3, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 3, 3, 1, 4, 1, 3, 0, 0, 5, 5, 0, 5, 0, 5, 5, 2, 2, 2, 5, 5, 5, 4, 4, 1, 5, 1, 4, 0, 0, 5, 5, 1, 5, 1, 5, 5, 2, 2, 2, 5, 5, 5, 4, 4, 1, 5, 1, 4, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 3, 3, 0, 4, 0, 3, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 3, 3, 0, 4, 0, 3, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 4, 4, 0, 5, 0, 4, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 5, 5, 1, 6, 1, 5, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 5, 5, 1, 6, 1, 5, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 5, 5, 2, 6, 2, 5, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 5, 5, 2, 6, 2, 5, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 4, 4, 1, 5, 1, 4, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 4, 4, 1, 5, 1, 4, 0, 0, 6, 6, 0, 6, 0, 6, 6, 2, 2, 2, 6, 6, 6, 5, 5, 1, 6, 1, 5, 0, 0, 6, 6, 1, 6, 1, 6, 6, 2, 2, 2, 6, 6, 6, 5, 5, 1, 6, 1, 5, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 4, 4, 0, 5, 0, 4, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 4, 4, 0, 5, 0, 4, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 5, 5, 0, 6, 0, 5, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 6, 6, 1, 7, 1, 6, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 6, 6, 1, 7, 1, 6, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 6, 6, 2, 7, 2, 6, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 6, 6, 2, 7, 2, 6, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 5, 5, 1, 6, 1, 5, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 5, 5, 1, 6, 1, 5, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 6, 6, 1, 7, 1, 6, 0, 0, 7, 7, 1, 7, 1, 7, 7, 2, 2, 2, 7, 7, 7, 6, 6, 1, 7, 1, 6, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 5, 5, 0, 6, 0, 5, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 5, 5, 0, 6, 0, 5, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 6, 6, 0, 7, 0, 6, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 7, 7, 1, 8, 1, 7, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 7, 7, 1, 8, 1, 7, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 7, 7, 2, 8, 2, 7, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 7, 7, 2, 8, 2, 7, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 6, 6, 1, 7, 1, 6, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 6, 6, 1, 7, 1, 6, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 7, 7, 1, 8, 1, 7, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 7, 7, 1, 8, 1, 7, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 6, 6, 0, 7, 0, 6, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 6, 6, 0, 7, 0, 6, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 7, 7, 0, 8, 0, 7, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 8, 8, 1, 9, 1, 8, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 8, 8, 1, 9, 1, 8, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 8, 8, 2, 9, 2, 8, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 7, 7, 1, 8, 1, 7, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 7, 7, 1, 8, 1, 7, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 8, 8, 2, 9, 2, 8, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 8, 8, 1, 9, 1, 8, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 7, 7, 0, 8, 0, 7, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 7, 7, 0, 8, 0, 7, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 8, 8, 1, 9, 1, 8, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 8, 8, 0, 9, 0, 8, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 9, 9, 1, 10, 1, 9, 0, 0, 10, 10, 0, 0, 1, 10, 10, 0, 1, 0, 10, 0, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 10, 1, 10, 10, 1, 1, 1, 10, 10, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 9, 0, 9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 7, 7, 0, 7, 0, 7, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 6, 6, 0, 6, 0, 6, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 5, 5, 0, 5, 0, 5, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 4, 4, 0, 4, 0, 4, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 0, 3, 0, 3, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 2, 3, 2, 3, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 2, 3, 2, 3, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 0, 0, 3, 3, 0, 3, 0, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 3, 1, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 1, 3, 1, 3, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 3, 3, 1, 3, 1, 3, 3, 0, 1, 0, 3, 3, 3, 3, 3, 0, 3, 0, 3, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 2, 4, 2, 4, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 2, 4, 2, 4, 0, 0, 3, 3, 0, 3, 0, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 3, 1, 3, 3, 0, 1, 0, 3, 3, 3, 3, 3, 1, 3, 1, 3, 0, 0, 4, 4, 0, 4, 0, 4, 4, 2, 2, 2, 4, 4, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 4, 1, 4, 4, 2, 2, 2, 4, 4, 4, 4, 4, 1, 4, 1, 4, 0, 0, 3, 3, 0, 3, 0, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 0, 3, 0, 3, 0, 0, 3, 3, 1, 3, 1, 3, 3, 1, 1, 1, 3, 3, 3, 3, 3, 0, 3, 0, 3, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 2, 5, 2, 5, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 2, 5, 2, 5, 0, 0, 4, 4, 0, 4, 0, 4, 4, 0, 0, 0, 4, 4, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 4, 1, 4, 4, 0, 1, 0, 4, 4, 4, 4, 4, 1, 4, 1, 4, 0, 0, 5, 5, 0, 5, 0, 5, 5, 2, 2, 2, 5, 5, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 5, 1, 5, 5, 2, 2, 2, 5, 5, 5, 5, 5, 1, 5, 1, 5, 0, 0, 4, 4, 0, 4, 0, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 1, 4, 1, 4, 4, 1, 1, 1, 4, 4, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 6, 6, 2, 6, 2, 6, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 6, 6, 2, 6, 2, 6, 0, 0, 5, 5, 0, 5, 0, 5, 5, 0, 0, 0, 5, 5, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 5, 1, 5, 5, 0, 1, 0, 5, 5, 5, 5, 5, 1, 5, 1, 5, 0, 0, 6, 6, 0, 6, 0, 6, 6, 2, 2, 2, 6, 6, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 6, 1, 6, 6, 2, 2, 2, 6, 6, 6, 6, 6, 1, 6, 1, 6, 0, 0, 5, 5, 0, 5, 0, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 0, 5, 0, 5, 0, 0, 5, 5, 1, 5, 1, 5, 5, 1, 1, 1, 5, 5, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 7, 7, 2, 7, 2, 7, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 7, 7, 2, 7, 2, 7, 0, 0, 6, 6, 0, 6, 0, 6, 6, 0, 0, 0, 6, 6, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 6, 1, 6, 6, 0, 1, 0, 6, 6, 6, 6, 6, 1, 6, 1, 6, 0, 0, 7, 7, 0, 7, 0, 7, 7, 2, 2, 2, 7, 7, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 7, 1, 7, 7, 2, 2, 2, 7, 7, 7, 7, 7, 1, 7, 1, 7, 0, 0, 6, 6, 0, 6, 0, 6, 6, 1, 1, 1, 6, 6, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 1, 6, 1, 6, 6, 1, 1, 1, 6, 6, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 7, 0, 7, 7, 0, 0, 0, 7, 7, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 7, 1, 7, 7, 0, 1, 0, 7, 7, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 8, 0, 8, 8, 2, 2, 2, 8, 8, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 8, 1, 8, 8, 2, 2, 2, 8, 8, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 7, 0, 7, 7, 1, 1, 1, 7, 7, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 7, 1, 7, 7, 1, 1, 1, 7, 7, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 9, 0, 9, 9, 1, 1, 1, 9, 9, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 8, 0, 8, 8, 0, 0, 0, 8, 8, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 8, 1, 8, 8, 0, 1, 0, 8, 8, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 1, 9, 1, 9, 9, 1, 1, 1, 9, 9, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 0, 9, 0, 9, 9, 2, 2, 2, 9, 9, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 8, 0, 8, 8, 1, 1, 1, 8, 8, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 8, 1, 8, 8, 1, 1, 1, 8, 8, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 9, 1, 9, 9, 2, 2, 2, 9, 9, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 9, 1, 9, 9, 0, 1, 0, 9, 9, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 10, 10, 1, 10, 1, 10, 0, 0, 11, 11, 1, 10, 1, 11, 11, 1, 1, 1, 11, 10, 11, 11, 11, 1, 11, 1, 11, 0, 0, 10, 10, 0, 9, 0, 10, 10, 0, 0, 0, 10, 9, 10, 10, 10, 0, 10, 0, 10, 0, 0, 9, 9, 0, 8, 0, 9, 9, 0, 0, 0, 9, 8, 9, 9, 9, 0, 9, 0, 9, 0, 0, 8, 8, 0, 7, 0, 8, 8, 0, 0, 0, 8, 7, 8, 8, 8, 0, 8, 0, 8, 0, 0, 7, 7, 0, 6, 0, 7, 7, 0, 0, 0, 7, 6, 7, 7, 7, 0, 7, 0, 7, 0, 0, 6, 6, 0, 5, 0, 6, 6, 0, 0, 0, 6, 5, 6, 6, 6, 0, 6, 0, 6, 0, 0, 5, 5, 0, 4, 0, 5, 5, 0, 0, 0, 5, 4, 5, 5, 5, 0, 5, 0, 5, 0, 0, 4, 4, 0, 3, 0, 4, 4, 0, 0, 0, 4, 3, 4, 4, 4, 0, 4, 0, 4, 0, 0, 3, 3, 0, 2, 0, 3, 3, 0, 0, 0, 3, 2, 3, 3, 3, 0, 3, 0, 3, 0, 0, 2, 2, 0, 1, 0, 2, 2, 0, 0, 0, 2, 1, 2, 2, 2, 0, 2, 0, 2, 0, 0, 3, 3, 0, 2, 0, 3, 3, 1, 1, 1, 3, 2, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 2, 1, 3, 3, 1, 1, 1, 3, 2, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 0, 2, 0, 3, 3, 1, 1, 1, 3, 2, 3, 3, 3, 2, 3, 2, 3, 0, 0, 3, 3, 1, 2, 1, 3, 3, 1, 1, 1, 3, 2, 3, 3, 3, 2, 3, 2, 3, 0, 0, 2, 2, 0, 1, 0, 2, 2, 0, 0, 0, 2, 1, 2, 2, 2, 1, 2, 1, 2, 0, 0, 3, 3, 0, 2, 0, 3, 3, 2, 2, 2, 3, 2, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 2, 1, 3, 3, 2, 2, 2, 3, 2, 3, 3, 3, 1, 3, 1, 3, 0, 0, 2, 2, 0, 1, 0, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 0, 2, 0, 2, 0, 0, 3, 3, 1, 2, 1, 3, 3, 0, 1, 0, 3, 2, 3, 3, 3, 0, 3, 0, 3, 0, 0, 4, 4, 0, 3, 0, 4, 4, 1, 1, 1, 4, 3, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 3, 1, 4, 4, 1, 1, 1, 4, 3, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 0, 3, 0, 4, 4, 1, 1, 1, 4, 3, 4, 4, 4, 2, 4, 2, 4, 0, 0, 4, 4, 1, 3, 1, 4, 4, 1, 1, 1, 4, 3, 4, 4, 4, 2, 4, 2, 4, 0, 0, 3, 3, 0, 2, 0, 3, 3, 0, 0, 0, 3, 2, 3, 3, 3, 1, 3, 1, 3, 0, 0, 3, 3, 1, 2, 1, 3, 3, 0, 1, 0, 3, 2, 3, 3, 3, 1, 3, 1, 3, 0, 0, 4, 4, 0, 3, 0, 4, 4, 2, 2, 2, 4, 3, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 3, 1, 4, 4, 2, 2, 2, 4, 3, 4, 4, 4, 1, 4, 1, 4, 0, 0, 3, 3, 0, 2, 0, 3, 3, 1, 1, 1, 3, 2, 3, 3, 3, 0, 3, 0, 3, 0, 0, 3, 3, 1, 2, 1, 3, 3, 1, 1, 1, 3, 2, 3, 3, 3, 0, 3, 0, 3, 0, 0, 4, 4, 1, 3, 1, 4, 4, 0, 1, 0, 4, 3, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 0, 4, 0, 5, 5, 1, 1, 1, 5, 4, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 4, 1, 5, 5, 1, 1, 1, 5, 4, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 0, 4, 0, 5, 5, 1, 1, 1, 5, 4, 5, 5, 5, 2, 5, 2, 5, 0, 0, 5, 5, 1, 4, 1, 5, 5, 1, 1, 1, 5, 4, 5, 5, 5, 2, 5, 2, 5, 0, 0, 4, 4, 0, 3, 0, 4, 4, 0, 0, 0, 4, 3, 4, 4, 4, 1, 4, 1, 4, 0, 0, 4, 4, 1, 3, 1, 4, 4, 0, 1, 0, 4, 3, 4, 4, 4, 1, 4, 1, 4, 0, 0, 5, 5, 0, 4, 0, 5, 5, 2, 2, 2, 5, 4, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 4, 1, 5, 5, 2, 2, 2, 5, 4, 5, 5, 5, 1, 5, 1, 5, 0, 0, 4, 4, 0, 3, 0, 4, 4, 1, 1, 1, 4, 3, 4, 4, 4, 0, 4, 0, 4, 0, 0, 4, 4, 1, 3, 1, 4, 4, 1, 1, 1, 4, 3, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 1, 4, 1, 5, 5, 0, 1, 0, 5, 4, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 0, 5, 0, 6, 6, 1, 1, 1, 6, 5, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 5, 1, 6, 6, 1, 1, 1, 6, 5, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 0, 5, 0, 6, 6, 1, 1, 1, 6, 5, 6, 6, 6, 2, 6, 2, 6, 0, 0, 6, 6, 1, 5, 1, 6, 6, 1, 1, 1, 6, 5, 6, 6, 6, 2, 6, 2, 6, 0, 0, 5, 5, 0, 4, 0, 5, 5, 0, 0, 0, 5, 4, 5, 5, 5, 1, 5, 1, 5, 0, 0, 5, 5, 1, 4, 1, 5, 5, 0, 1, 0, 5, 4, 5, 5, 5, 1, 5, 1, 5, 0, 0, 6, 6, 0, 5, 0, 6, 6, 2, 2, 2, 6, 5, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 5, 1, 6, 6, 2, 2, 2, 6, 5, 6, 6, 6, 1, 6, 1, 6, 0, 0, 5, 5, 0, 4, 0, 5, 5, 1, 1, 1, 5, 4, 5, 5, 5, 0, 5, 0, 5, 0, 0, 5, 5, 1, 4, 1, 5, 5, 1, 1, 1, 5, 4, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 1, 5, 1, 6, 6, 0, 1, 0, 6, 5, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 6, 0, 7, 7, 1, 1, 1, 7, 6, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 6, 1, 7, 7, 1, 1, 1, 7, 6, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 0, 6, 0, 7, 7, 1, 1, 1, 7, 6, 7, 7, 7, 2, 7, 2, 7, 0, 0, 7, 7, 1, 6, 1, 7, 7, 1, 1, 1, 7, 6, 7, 7, 7, 2, 7, 2, 7, 0, 0, 6, 6, 0, 5, 0, 6, 6, 0, 0, 0, 6, 5, 6, 6, 6, 1, 6, 1, 6, 0, 0, 6, 6, 1, 5, 1, 6, 6, 0, 1, 0, 6, 5, 6, 6, 6, 1, 6, 1, 6, 0, 0, 7, 7, 0, 6, 0, 7, 7, 2, 2, 2, 7, 6, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 6, 1, 7, 7, 2, 2, 2, 7, 6, 7, 7, 7, 1, 7, 1, 7, 0, 0, 6, 6, 0, 5, 0, 6, 6, 1, 1, 1, 6, 5, 6, 6, 6, 0, 6, 0, 6, 0, 0, 6, 6, 1, 5, 1, 6, 6, 1, 1, 1, 6, 5, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 1, 6, 1, 7, 7, 0, 1, 0, 7, 6, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 7, 0, 8, 8, 1, 1, 1, 8, 7, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 7, 1, 8, 8, 1, 1, 1, 8, 7, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 0, 7, 0, 8, 8, 1, 1, 1, 8, 7, 8, 8, 8, 2, 8, 2, 8, 0, 0, 8, 8, 1, 7, 1, 8, 8, 1, 1, 1, 8, 7, 8, 8, 8, 2, 8, 2, 8, 0, 0, 7, 7, 0, 6, 0, 7, 7, 0, 0, 0, 7, 6, 7, 7, 7, 1, 7, 1, 7, 0, 0, 7, 7, 1, 6, 1, 7, 7, 0, 1, 0, 7, 6, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 7, 0, 8, 8, 2, 2, 2, 8, 7, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 7, 1, 8, 8, 2, 2, 2, 8, 7, 8, 8, 8, 1, 8, 1, 8, 0, 0, 7, 7, 0, 6, 0, 7, 7, 1, 1, 1, 7, 6, 7, 7, 7, 0, 7, 0, 7, 0, 0, 7, 7, 1, 6, 1, 7, 7, 1, 1, 1, 7, 6, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 1, 7, 1, 8, 8, 0, 1, 0, 8, 7, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 8, 0, 9, 9, 1, 1, 1, 9, 8, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 8, 1, 9, 9, 1, 1, 1, 9, 8, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 0, 8, 0, 9, 9, 1, 1, 1, 9, 8, 9, 9, 9, 2, 9, 2, 9, 0, 0, 9, 9, 1, 8, 1, 9, 9, 1, 1, 1, 9, 8, 9, 9, 9, 2, 9, 2, 9, 0, 0, 8, 8, 0, 7, 0, 8, 8, 0, 0, 0, 8, 7, 8, 8, 8, 1, 8, 1, 8, 0, 0, 8, 8, 1, 7, 1, 8, 8, 0, 1, 0, 8, 7, 8, 8, 8, 1, 8, 1, 8, 0, 0, 9, 9, 0, 8, 0, 9, 9, 2, 2, 2, 9, 8, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 8, 1, 9, 9, 2, 2, 2, 9, 8, 9, 9, 9, 1, 9, 1, 9, 0, 0, 8, 8, 0, 7, 0, 8, 8, 1, 1, 1, 8, 7, 8, 8, 8, 0, 8, 0, 8, 0, 0, 8, 8, 1, 7, 1, 8, 8, 1, 1, 1, 8, 7, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 1, 8, 1, 9, 9, 0, 1, 0, 9, 8, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 9, 0, 10, 10, 1, 1, 1, 10, 9, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 9, 1, 10, 10, 1, 1, 1, 10, 9, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 0, 9, 0, 10, 10, 1, 1, 1, 10, 9, 10, 10, 10, 2, 10, 2, 10, 0, 0, 9, 9, 0, 8, 0, 9, 9, 0, 0, 0, 9, 8, 9, 9, 9, 1, 9, 1, 9, 0, 0, 9, 9, 1, 8, 1, 9, 9, 0, 1, 0, 9, 8, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 1, 9, 1, 10, 10, 1, 1, 1, 10, 9, 10, 10, 10, 2, 10, 2, 10, 0, 0, 10, 10, 0, 9, 0, 10, 10, 2, 2, 2, 10, 9, 10, 10, 10, 1, 10, 1, 10, 0, 0, 9, 9, 0, 8, 0, 9, 9, 1, 1, 1, 9, 8, 9, 9, 9, 0, 9, 0, 9, 0, 0, 9, 9, 1, 8, 1, 9, 9, 1, 1, 1, 9, 8, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 1, 9, 1, 10, 10, 2, 2, 2, 10, 9, 10, 10, 10, 1, 10, 1, 10, 0, 0, 10, 10, 1, 9, 1, 10, 10, 0, 1, 0, 10, 9, 10, 10, 10, 0, 10, 0, 10, 0, 0, 2, 2, 0, 0, 1, 2, 2, 1, 1, 1, 2, 0, 2, 2, 2, 0, 2, 0, 2, 0, 0, 10, 10, 0, 10, 0, 10, 10, 1, 1, 1, 10, 10, 10, 0, 0, 1, 10, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 3, 3, 0, 0, 1, 3, 3, 0, 1, 0, 3, 0, 3, 3, 3, 1, 3, 1, 3, 0, 0, 4, 4, 0, 0, 1, 4, 4, 1, 1, 1, 4, 0, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 0, 0, 1, 5, 5, 0, 1, 0, 5, 0, 5, 5, 5, 1, 5, 1, 5, 0, 0, 6, 6, 0, 0, 1, 6, 6, 1, 1, 1, 6, 0, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 0, 1, 7, 7, 0, 1, 0, 7, 0, 7, 7, 7, 1, 7, 1, 7, 0, 0, 8, 8, 0, 0, 1, 8, 8, 1, 1, 1, 8, 0, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 0, 1, 9, 9, 0, 1, 0, 9, 0, 9, 9, 9, 1, 9, 1, 9, 0, 0, 10, 10, 0, 0, 1, 10, 10, 1, 1, 1, 10, 0, 10, 10, 10, 0, 10, 0, 10, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 2, 2, 0, 0, 1, 2, 2, 0, 1, 0, 2, 0, 2, 2, 2, 0, 2, 0, 2, 0, 0, 3, 3, 0, 0, 1, 3, 3, 0, 1, 0, 3, 0, 3, 3, 3, 0, 3, 0, 3, 0, 0, 4, 4, 0, 0, 1, 4, 4, 0, 1, 0, 4, 0, 4, 4, 4, 0, 4, 0, 4, 0, 0, 5, 5, 0, 0, 1, 5, 5, 0, 1, 0, 5, 0, 5, 5, 5, 0, 5, 0, 5, 0, 0, 6, 6, 0, 0, 1, 6, 6, 0, 1, 0, 6, 0, 6, 6, 6, 0, 6, 0, 6, 0, 0, 7, 7, 0, 0, 1, 7, 7, 0, 1, 0, 7, 0, 7, 7, 7, 0, 7, 0, 7, 0, 0, 8, 8, 0, 0, 1, 8, 8, 0, 1, 0, 8, 0, 8, 8, 8, 0, 8, 0, 8, 0, 0, 9, 9, 0, 0, 1, 9, 9, 0, 1, 0, 9, 0, 9, 9, 9, 0, 9, 0, 9, 0, 0, 10, 10, 0, 0, 1, 10, 10, 0, 1, 0, 10, 0, 10, 10, 10, 0, 10, 0, 10, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char core2_decoder_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 3, }; /* Vector for state transitions. */ static const unsigned char core2_decoder_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 1, 0, 1, 5, 2, 0, 2, 5, 3, 0, 3, 5, 4, 0, 4, 5, 5, 0, }; /* Vector of min issue delay of insns. */ static const unsigned char core2_decoder_min_issue_delay[] ATTRIBUTE_UNUSED = { 4, 68, 96}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char core2_core_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 3, 0, 0, 4, 5, 6, 7, 7, 8, 9, 9, 4, 4, 10, 10, 11, 10, 11, 10, 0, 9, 12, 10, 13, 4, 13, 13, 9, 9, 4, 0, 13, 0, 0, 13, 13, 4, 4, 4, 4, 4, 4, 5, 5, 5, 9, 9, 9, 9, 9, 9, 9, 9, 0, 4, 12, 9, 9, 4, 4, 4, 4, 4, 4, 4, 4, 9, 9, 14, 9, 9, 9, 1, 0, 0, 1, 15, 1, 15, 16, }; /* Vector for state transitions. */ static const unsigned char core2_core_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 3, 124, 2, 2, 1, 119, 3, 26, 54, 105, 103, 3, 5, 1, 0, 1, 3, 4, 101, 3, 3, 100, 96, 4, 27, 128, 128, 28, 128, 6, 90, 2, 2, 5, 6, 54, 128, 15, 3, 15, 6, 5, 128, 128, 89, 128, 128, 3, 0, 3, 6, 7, 55, 128, 16, 88, 16, 7, 6, 128, 128, 7, 128, 128, 4, 2, 4, 7, 8, 56, 128, 17, 87, 17, 128, 7, 128, 128, 128, 128, 128, 87, 5, 5, 9, 10, 45, 128, 9, 6, 9, 128, 128, 128, 128, 128, 128, 128, 6, 0, 6, 10, 11, 42, 128, 10, 40, 10, 128, 128, 128, 128, 128, 128, 128, 7, 2, 7, 11, 12, 34, 128, 11, 8, 11, 128, 128, 128, 128, 128, 128, 128, 8, 5, 8, 12, 128, 128, 128, 12, 128, 12, 128, 128, 128, 128, 128, 128, 128, 128, 9, 9, 128, 128, 46, 128, 128, 10, 128, 128, 128, 128, 128, 128, 128, 128, 10, 0, 10, 128, 128, 22, 128, 128, 14, 128, 128, 128, 128, 128, 128, 128, 128, 11, 2, 11, 128, 128, 13, 128, 128, 12, 128, 128, 128, 128, 128, 128, 128, 128, 12, 5, 12, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 9, 13, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 10, 14, 128, 128, 13, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 12, 15, 15, 9, 10, 58, 128, 128, 16, 128, 10, 9, 128, 128, 25, 128, 128, 16, 0, 16, 10, 11, 21, 128, 128, 20, 128, 11, 10, 128, 128, 11, 128, 128, 17, 2, 17, 11, 12, 19, 128, 128, 18, 128, 128, 11, 128, 128, 128, 128, 128, 18, 5, 18, 12, 128, 128, 128, 128, 128, 128, 128, 12, 128, 128, 128, 128, 128, 128, 9, 19, 13, 128, 128, 128, 128, 128, 128, 128, 13, 128, 128, 128, 128, 128, 128, 10, 20, 14, 12, 19, 128, 128, 128, 128, 12, 14, 128, 128, 12, 128, 128, 18, 15, 21, 22, 13, 24, 128, 128, 19, 128, 128, 22, 128, 128, 128, 128, 128, 19, 6, 22, 128, 128, 23, 128, 128, 13, 128, 128, 128, 128, 128, 128, 128, 128, 13, 6, 23, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 11, 24, 23, 128, 128, 128, 128, 128, 128, 128, 23, 128, 128, 128, 128, 128, 128, 11, 25, 128, 128, 22, 128, 128, 11, 128, 128, 128, 128, 128, 128, 128, 128, 11, 26, 26, 5, 6, 83, 5, 5, 27, 78, 6, 128, 45, 53, 128, 6, 128, 27, 0, 27, 6, 7, 41, 6, 6, 39, 35, 7, 128, 128, 128, 128, 128, 128, 28, 2, 28, 7, 8, 33, 7, 7, 29, 31, 128, 128, 128, 128, 128, 128, 128, 29, 5, 29, 8, 128, 128, 8, 8, 128, 30, 128, 128, 128, 128, 128, 128, 128, 128, 9, 30, 12, 128, 128, 12, 12, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 9, 31, 11, 12, 32, 11, 11, 30, 128, 128, 128, 128, 128, 128, 128, 128, 30, 5, 32, 13, 128, 128, 13, 13, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 10, 33, 34, 128, 128, 34, 34, 128, 32, 128, 128, 128, 128, 128, 128, 128, 128, 10, 34, 13, 128, 128, 128, 13, 128, 13, 128, 128, 128, 128, 128, 128, 128, 128, 10, 35, 10, 11, 37, 10, 10, 36, 128, 11, 128, 128, 128, 128, 128, 128, 31, 2, 36, 14, 12, 32, 14, 14, 128, 128, 12, 128, 128, 128, 128, 128, 128, 30, 15, 37, 22, 13, 38, 22, 22, 32, 128, 128, 128, 128, 128, 128, 128, 128, 32, 6, 38, 23, 128, 128, 23, 23, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 11, 39, 40, 8, 33, 40, 40, 128, 36, 8, 128, 128, 128, 128, 128, 128, 29, 15, 40, 14, 12, 34, 128, 14, 128, 14, 128, 128, 128, 128, 128, 128, 128, 8, 15, 41, 42, 34, 44, 42, 42, 33, 37, 128, 128, 128, 128, 128, 128, 128, 33, 6, 42, 22, 13, 43, 128, 22, 34, 22, 128, 128, 128, 128, 128, 128, 128, 34, 6, 43, 23, 128, 128, 128, 23, 128, 23, 128, 128, 128, 128, 128, 128, 128, 128, 11, 44, 43, 128, 128, 43, 43, 128, 38, 128, 128, 128, 128, 128, 128, 128, 128, 11, 45, 46, 22, 51, 128, 46, 50, 46, 128, 128, 128, 128, 128, 128, 128, 42, 3, 46, 128, 128, 48, 128, 128, 47, 128, 128, 128, 128, 128, 128, 128, 128, 22, 3, 47, 128, 128, 23, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 13, 16, 48, 128, 128, 49, 128, 128, 23, 128, 128, 128, 128, 128, 128, 128, 128, 23, 7, 49, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 12, 50, 47, 13, 43, 128, 47, 128, 47, 128, 128, 128, 128, 128, 128, 128, 34, 16, 51, 48, 23, 52, 128, 48, 43, 48, 128, 128, 128, 128, 128, 128, 128, 43, 7, 52, 49, 128, 128, 128, 49, 128, 49, 128, 128, 128, 128, 128, 128, 128, 128, 12, 53, 71, 68, 76, 128, 71, 75, 71, 128, 128, 128, 128, 128, 128, 128, 65, 54, 54, 45, 42, 63, 128, 58, 62, 58, 42, 45, 128, 128, 42, 128, 128, 55, 3, 55, 42, 34, 57, 128, 21, 56, 21, 128, 42, 128, 128, 128, 128, 128, 56, 6, 56, 34, 128, 128, 128, 19, 128, 19, 128, 34, 128, 128, 128, 128, 128, 128, 10, 57, 43, 128, 128, 128, 24, 128, 24, 128, 43, 128, 128, 128, 128, 128, 128, 11, 58, 46, 22, 60, 128, 128, 59, 128, 22, 46, 128, 128, 22, 128, 128, 21, 3, 59, 47, 13, 24, 128, 128, 128, 128, 13, 47, 128, 128, 13, 128, 128, 19, 16, 60, 48, 23, 61, 128, 128, 24, 128, 128, 48, 128, 128, 128, 128, 128, 24, 7, 61, 49, 128, 128, 128, 128, 128, 128, 128, 49, 128, 128, 128, 128, 128, 128, 12, 62, 50, 34, 57, 128, 59, 128, 59, 34, 50, 128, 128, 34, 128, 128, 56, 16, 63, 51, 43, 64, 128, 60, 57, 60, 128, 51, 128, 128, 128, 128, 128, 57, 7, 64, 52, 128, 128, 128, 61, 128, 61, 128, 52, 128, 128, 128, 128, 128, 128, 12, 65, 68, 67, 70, 128, 68, 66, 68, 128, 128, 128, 128, 128, 128, 128, 66, 45, 66, 67, 128, 128, 128, 67, 128, 67, 128, 128, 128, 128, 128, 128, 128, 128, 46, 67, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 46, 68, 128, 128, 69, 128, 128, 67, 128, 128, 128, 128, 128, 128, 128, 128, 67, 45, 69, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 22, 70, 69, 128, 128, 128, 69, 128, 69, 128, 128, 128, 128, 128, 128, 128, 128, 22, 71, 128, 128, 73, 128, 128, 72, 128, 128, 128, 128, 128, 128, 128, 128, 68, 54, 72, 128, 128, 69, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 67, 58, 73, 128, 128, 74, 128, 128, 69, 128, 128, 128, 128, 128, 128, 128, 128, 69, 42, 74, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 13, 75, 72, 67, 70, 128, 72, 128, 72, 128, 128, 128, 128, 128, 128, 128, 66, 58, 76, 73, 69, 77, 128, 73, 70, 73, 128, 128, 128, 128, 128, 128, 128, 70, 42, 77, 74, 128, 128, 128, 74, 128, 74, 128, 128, 128, 128, 128, 128, 128, 128, 13, 78, 9, 10, 79, 9, 9, 35, 128, 10, 128, 46, 71, 128, 10, 128, 35, 0, 79, 46, 22, 81, 46, 46, 80, 128, 22, 128, 128, 128, 128, 128, 128, 37, 3, 80, 47, 13, 38, 47, 47, 128, 128, 13, 128, 128, 128, 128, 128, 128, 32, 16, 81, 48, 23, 82, 48, 48, 38, 128, 128, 128, 128, 128, 128, 128, 128, 38, 7, 82, 49, 128, 128, 49, 49, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 12, 83, 45, 42, 85, 45, 45, 84, 79, 42, 128, 128, 128, 128, 128, 128, 41, 3, 84, 50, 34, 44, 50, 50, 128, 80, 34, 128, 128, 128, 128, 128, 128, 33, 16, 85, 51, 43, 86, 51, 51, 44, 81, 128, 128, 128, 128, 128, 128, 128, 44, 7, 86, 52, 128, 128, 52, 52, 128, 82, 128, 128, 128, 128, 128, 128, 128, 128, 12, 87, 8, 128, 128, 128, 18, 128, 18, 128, 8, 128, 128, 128, 128, 128, 128, 9, 88, 40, 8, 56, 128, 20, 128, 20, 8, 40, 128, 128, 8, 128, 128, 87, 15, 89, 25, 11, 42, 128, 25, 7, 25, 128, 128, 128, 128, 128, 128, 128, 7, 26, 90, 4, 87, 95, 4, 4, 91, 93, 128, 28, 128, 128, 128, 128, 7, 91, 5, 91, 87, 128, 128, 87, 87, 128, 92, 128, 29, 128, 128, 128, 128, 8, 128, 9, 92, 18, 128, 128, 18, 18, 128, 128, 128, 30, 128, 128, 128, 128, 12, 128, 9, 93, 17, 18, 94, 17, 17, 92, 128, 128, 31, 128, 128, 128, 128, 11, 92, 5, 94, 19, 128, 128, 19, 19, 128, 128, 128, 32, 128, 128, 128, 128, 13, 128, 10, 95, 56, 128, 128, 56, 56, 128, 94, 128, 33, 128, 128, 128, 128, 34, 128, 10, 96, 16, 17, 98, 16, 16, 97, 128, 17, 35, 128, 128, 31, 128, 10, 93, 2, 97, 20, 18, 94, 20, 20, 128, 128, 18, 36, 128, 128, 30, 128, 14, 92, 15, 98, 21, 19, 99, 21, 21, 94, 128, 128, 37, 128, 128, 128, 128, 22, 94, 6, 99, 24, 128, 128, 24, 24, 128, 128, 128, 38, 128, 128, 128, 128, 23, 128, 11, 100, 88, 87, 95, 88, 88, 128, 97, 87, 39, 128, 128, 29, 128, 40, 91, 15, 101, 55, 56, 102, 55, 55, 95, 98, 128, 41, 128, 128, 128, 128, 42, 95, 6, 102, 57, 128, 128, 57, 57, 128, 99, 128, 44, 128, 128, 128, 128, 43, 128, 11, 103, 89, 7, 41, 89, 89, 28, 104, 7, 128, 42, 65, 128, 7, 128, 28, 26, 104, 25, 11, 37, 25, 25, 31, 128, 11, 128, 22, 68, 128, 11, 128, 31, 26, 105, 53, 65, 117, 128, 112, 116, 112, 65, 53, 128, 128, 65, 128, 128, 106, 54, 106, 65, 66, 111, 128, 109, 107, 109, 128, 65, 128, 128, 128, 128, 128, 107, 45, 107, 66, 128, 128, 128, 108, 128, 108, 128, 66, 128, 128, 128, 128, 128, 128, 46, 108, 67, 128, 128, 128, 128, 128, 128, 128, 67, 128, 128, 128, 128, 128, 128, 46, 109, 68, 67, 110, 128, 128, 108, 128, 128, 68, 128, 128, 128, 128, 128, 108, 45, 110, 69, 128, 128, 128, 128, 128, 128, 128, 69, 128, 128, 128, 128, 128, 128, 22, 111, 70, 128, 128, 128, 110, 128, 110, 128, 70, 128, 128, 128, 128, 128, 128, 22, 112, 71, 68, 114, 128, 128, 113, 128, 68, 71, 128, 128, 68, 128, 128, 109, 54, 113, 72, 67, 110, 128, 128, 128, 128, 67, 72, 128, 128, 67, 128, 128, 108, 58, 114, 73, 69, 115, 128, 128, 110, 128, 128, 73, 128, 128, 128, 128, 128, 110, 42, 115, 74, 128, 128, 128, 128, 128, 128, 128, 74, 128, 128, 128, 128, 128, 128, 13, 116, 75, 66, 111, 128, 113, 128, 113, 66, 75, 128, 128, 66, 128, 128, 107, 58, 117, 76, 70, 118, 128, 114, 111, 114, 128, 76, 128, 128, 128, 128, 128, 111, 42, 118, 77, 128, 128, 128, 115, 128, 115, 128, 77, 128, 128, 128, 128, 128, 128, 13, 119, 15, 16, 120, 15, 15, 96, 128, 16, 78, 58, 112, 104, 16, 9, 96, 0, 120, 58, 21, 122, 58, 58, 121, 128, 21, 79, 128, 128, 37, 128, 46, 98, 3, 121, 59, 19, 99, 59, 59, 128, 128, 19, 80, 128, 128, 32, 128, 47, 94, 16, 122, 60, 24, 123, 60, 60, 99, 128, 128, 81, 128, 128, 128, 128, 48, 99, 7, 123, 61, 128, 128, 61, 61, 128, 128, 128, 82, 128, 128, 128, 128, 49, 128, 12, 124, 54, 55, 126, 54, 54, 125, 120, 55, 83, 128, 128, 41, 128, 45, 101, 3, 125, 62, 56, 102, 62, 62, 128, 121, 56, 84, 128, 128, 33, 128, 50, 95, 16, 126, 63, 57, 127, 63, 63, 102, 122, 128, 85, 128, 128, 128, 128, 51, 102, 7, 127, 64, 128, 128, 64, 64, 128, 123, 128, 86, 128, 128, 128, 128, 52, 128, 12}; /* Vector of min issue delay of insns. */ static const unsigned char core2_core_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 32, 0, 0, 0, 16, 0, 0, 17, 1, 16, 0, 0, 2, 0, 0, 2, 32, 34, 0, 0, 0, 32, 0, 32, 34, 34, 32, 0, 0, 1, 0, 1, 17, 17, 17, 0, 0, 0, 32, 0, 17, 34, 18, 32, 0, 0, 2, 0, 2, 34, 34, 34, 0, 0, 33, 32, 16, 34, 34, 34, 33, 0, 17, 1, 16, 17, 17, 17, 17, 0, 1, 16, 33, 1, 17, 34, 18, 32, 0, 17, 2, 16, 18, 34, 34, 34, 0, 2, 33, 34, 18, 34, 34, 34, 33, 0, 34, 19, 33, 34, 35, 50, 51, 16, 1, 16, 34, 18, 17, 34, 18, 32, 0, 0, 1, 16, 16, 1, 16, 17, 0, 0, 0, 33, 1, 0, 34, 2, 32, 0, 0, 2, 16, 18, 2, 34, 34, 0, 0, 33, 34, 18, 32, 34, 34, 33, 0, 2, 19, 33, 34, 3, 50, 51, 16, 0, 0, 34, 18, 0, 34, 2, 32, 0, 0, 3, 16, 18, 3, 50, 51, 0, 1, 16, 49, 1, 34, 51, 35, 48, 0, 34, 19, 33, 35, 51, 51, 51, 16, 0, 33, 50, 18, 48, 51, 51, 49, 0, 17, 1, 16, 17, 33, 18, 18, 0, 0, 0, 0, 0, 1, 0, 16, 16, 0, 0, 0, 0, 0, 18, 33, 34, 0, 0, 0, 0, 0, 34, 34, 34, 32, 0, 2, 16, 1, 2, 34, 34, 34, 16, 0, 33, 0, 18, 34, 34, 34, 33, 0, 0, 0, 0, 18, 34, 34, 34, 0, 0, 33, 0, 18, 34, 51, 35, 49, 0, 2, 16, 1, 2, 35, 50, 51, 16, 0, 33, 48, 16, 34, 51, 35, 49, 0, 0, 0, 0, 16, 18, 33, 34, 0, 0, 0, 0, 18, 1, 34, 18, 32, 0, 0, 0, 0, 18, 35, 50, 51, 0, 0, 33, 0, 18, 51, 51, 51, 49, 0, 0, 0, 1, 0, 18, 33, 34, 0, 0, 0, 32, 16, 17, 34, 18, 32, 0, 0, 0, 0, 2, 35, 50, 51, 0, 0, 0, 48, 0, 34, 51, 35, 48, 0, 2, 19, 1, 3, 51, 51, 51, 16, 0, 33, 0, 16, 51, 51, 51, 49, 0, 0, 3, 0, 1, 19, 49, 51, 0, 1, 16, 49, 1, 17, 51, 19, 48, 0, 17, 3, 33, 33, 19, 49, 51, 0, 1, 16, 49, 1, 51, 51, 51, 48, 0, 51, 35, 50, 51, 51, 51, 51, 32, 0, 0, 48, 16, 17, 51, 19, 48, 0, 0, 3, 0, 3, 51, 51, 51, 0, 0, 50, 48, 32, 51, 51, 51, 50, 0, 0, 4, 0, 1, 20, 65, 68, 0, 0, 0, 48, 0, 0, 51, 3, 48, 0, 0, 3, 0, 2, 3, 50, 51, 0, 0, 33, 48, 16, 32, 51, 35, 49, 0, 2, 19, 1, 3, 3, 51, 51, 16, 0, 0, 49, 1, 0, 51, 3, 48, 0, 0, 3, 33, 32, 3, 48, 51, 0, 0, 0, 49, 1, 48, 51, 51, 48, 0, 3, 35, 50, 51, 3, 51, 51, 32, 0, 0, 48, 16, 0, 51, 3, 48, 0, 0, 3, 0, 3, 3, 51, 51, 0, 0, 50, 48, 32, 48, 51, 51, 50, 0, 0, 4, 0, 2, 36, 66, 68, 0, 0, 33, 64, 16, 34, 68, 36, 65, 0, 34, 20, 33, 34, 36, 66, 68, 16, 1, 16, 65, 1, 34, 68, 36, 64, 0, 34, 20, 33, 35, 52, 67, 68, 16, 0, 33, 64, 16, 51, 68, 52, 65, 0, 17, 4, 16, 17, 20, 65, 68, 0, 1, 16, 66, 18, 17, 68, 20, 64, 0, 17, 4, 16, 19, 52, 67, 68, 0, 3, 50, 67, 35, 51, 68, 52, 66, 0, 0, 4, 1, 1, 20, 65, 68, 0, 0, 0, 64, 0, 51, 68, 52, 64, 0, 3, 36, 2, 3, 52, 67, 68, 32, 0, 0, 0, 1, 1, 0, 16, 16, 0, 0, 0, 0, 16, 19, 49, 51, 0, 0, 0, 0, 18, 1, 51, 19, 48, 0, 0, 0, 0, 19, 51, 51, 51, 0, 0, 50, 0, 35, 51, 51, 51, 50, 0, 0, 0, 0, 0, 19, 49, 51, 0, 0, 0, 0, 16, 1, 51, 19, 48, 0, 0, 0, 0, 3, 51, 51, 51, 0, 0, 50, 0, 32, 51, 51, 51, 50, 0, 2, 18, 1, 2, 2, 34, 34, 16, 0, 0, 32, 16, 0, 34, 2, 32, 0, 0, 1, 0, 1, 33, 18, 18, 0, 0, 0, 0, 0, 32, 34, 34, 0, 0, 2, 16, 1, 2, 2, 34, 32, 16, 0, 33, 0, 18, 32, 34, 34, 1, 0, 0, 0, 0, 18, 2, 34, 32, 0, 0, 33, 0, 18, 32, 51, 35, 1, 0, 2, 16, 1, 2, 3, 50, 48, 16, 0, 0, 0, 1, 0, 34, 2, 0, 0, 0, 0, 1, 32, 2, 32, 32, 0, 0, 0, 0, 1, 32, 51, 35, 0, 0, 2, 16, 1, 35, 3, 51, 48, 16, 0, 0, 0, 16, 0, 34, 2, 0, 0, 0, 0, 0, 2, 3, 50, 48, 0, 0, 33, 0, 16, 48, 51, 51, 1, 0, 0, 0, 0, 0, 32, 2, 2, 0, 0, 0, 0, 1, 2, 0, 32, 32, 0, 0, 4, 0, 0, 4, 64, 68, 0, 0, 0, 64, 0, 32, 68, 36, 64, 0, 2, 20, 1, 2, 4, 66, 68, 16, 0, 33, 66, 18, 32, 68, 36, 65, 0, 0, 4, 16, 18, 4, 66, 68, 0, 0, 33, 66, 18, 48, 68, 52, 65, 0, 2, 20, 1, 3, 4, 67, 68, 16, 0, 0, 65, 1, 0, 68, 4, 64, 0, 0, 4, 33, 32, 4, 64, 68, 0, 0, 0, 65, 1, 48, 68, 52, 64, 0, 3, 36, 50, 51, 4, 67, 68, 32, 0, 0, 64, 16, 0, 68, 4, 64, 0, 0, 4, 0, 3, 4, 67, 68, 0, 0, 50, 64, 32, 48, 68, 52, 66, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 1, 0, 51, 3, 0, 0, 0, 0, 1, 32, 3, 48, 48, 0, 0, 0, 0, 1, 48, 51, 51, 0, 0, 3, 32, 2, 51, 3, 51, 48, 32, 0, 0, 0, 0, 0, 51, 3, 0, 0, 0, 0, 1, 0, 3, 48, 48, 0, 0, 0, 0, 0, 48, 51, 51, 0, 0, 3, 32, 2, 3, 3, 51, 48, 32}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char core2_idiv_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, }; /* Vector for state transitions. */ static const unsigned char core2_idiv_transitions[] ATTRIBUTE_UNUSED = { 0, 26, 17, 1, 0, 1, 38, 38, 38, 2, 2, 38, 38, 38, 3, 3, 38, 38, 38, 4, 4, 38, 38, 38, 5, 5, 38, 38, 38, 6, 6, 38, 38, 38, 7, 7, 38, 38, 38, 8, 8, 38, 38, 38, 9, 9, 38, 38, 38, 10, 10, 38, 38, 38, 11, 11, 38, 38, 38, 12, 12, 38, 38, 38, 13, 13, 38, 38, 38, 14, 14, 38, 38, 38, 15, 15, 38, 38, 38, 16, 16, 38, 38, 38, 17, 17, 38, 38, 38, 18, 18, 38, 38, 38, 19, 19, 38, 38, 38, 20, 20, 38, 38, 38, 21, 21, 38, 38, 38, 22, 22, 38, 38, 38, 23, 23, 38, 38, 38, 24, 24, 38, 38, 38, 25, 25, 38, 38, 38, 26, 26, 38, 38, 38, 27, 27, 38, 38, 38, 28, 28, 38, 38, 38, 29, 29, 38, 38, 38, 30, 30, 38, 38, 38, 31, 31, 38, 38, 38, 32, 32, 38, 38, 38, 33, 33, 38, 38, 38, 34, 34, 38, 38, 38, 35, 35, 38, 38, 38, 36, 36, 38, 38, 38, 37, 37, 38, 38, 38, 0, }; /* Vector of min issue delay of insns. */ static const unsigned char core2_idiv_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 37, 37, 37, 0, 0, 36, 36, 36, 0, 0, 35, 35, 35, 0, 0, 34, 34, 34, 0, 0, 33, 33, 33, 0, 0, 32, 32, 32, 0, 0, 31, 31, 31, 0, 0, 30, 30, 30, 0, 0, 29, 29, 29, 0, 0, 28, 28, 28, 0, 0, 27, 27, 27, 0, 0, 26, 26, 26, 0, 0, 25, 25, 25, 0, 0, 24, 24, 24, 0, 0, 23, 23, 23, 0, 0, 22, 22, 22, 0, 0, 21, 21, 21, 0, 0, 20, 20, 20, 0, 0, 19, 19, 19, 0, 0, 18, 18, 18, 0, 0, 17, 17, 17, 0, 0, 16, 16, 16, 0, 0, 15, 15, 15, 0, 0, 14, 14, 14, 0, 0, 13, 13, 13, 0, 0, 12, 12, 12, 0, 0, 11, 11, 11, 0, 0, 10, 10, 10, 0, 0, 9, 9, 9, 0, 0, 8, 8, 8, 0, 0, 7, 7, 7, 0, 0, 6, 6, 6, 0, 0, 5, 5, 5, 0, 0, 4, 4, 4, 0, 0, 3, 3, 3, 0, 0, 2, 2, 2, 0, 0, 1, 1, 1, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char core2_fdiv_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, }; /* Vector for state transitions. */ static const unsigned char core2_fdiv_transitions[] ATTRIBUTE_UNUSED = { 0, 21, 7, 1, 0, 1, 38, 38, 38, 2, 2, 38, 38, 38, 3, 3, 38, 38, 38, 4, 4, 38, 38, 38, 5, 5, 38, 38, 38, 6, 6, 38, 38, 38, 7, 7, 38, 38, 38, 8, 8, 38, 38, 38, 9, 9, 38, 38, 38, 10, 10, 38, 38, 38, 11, 11, 38, 38, 38, 12, 12, 38, 38, 38, 13, 13, 38, 38, 38, 14, 14, 38, 38, 38, 15, 15, 38, 38, 38, 16, 16, 38, 38, 38, 17, 17, 38, 38, 38, 18, 18, 38, 38, 38, 19, 19, 38, 38, 38, 20, 20, 38, 38, 38, 21, 21, 38, 38, 38, 22, 22, 38, 38, 38, 23, 23, 38, 38, 38, 24, 24, 38, 38, 38, 25, 25, 38, 38, 38, 26, 26, 38, 38, 38, 27, 27, 38, 38, 38, 28, 28, 38, 38, 38, 29, 29, 38, 38, 38, 30, 30, 38, 38, 38, 31, 31, 38, 38, 38, 32, 32, 38, 38, 38, 33, 33, 38, 38, 38, 34, 34, 38, 38, 38, 35, 35, 38, 38, 38, 36, 36, 38, 38, 38, 37, 37, 38, 38, 38, 0, }; /* Vector of min issue delay of insns. */ static const unsigned char core2_fdiv_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 37, 37, 37, 0, 0, 36, 36, 36, 0, 0, 35, 35, 35, 0, 0, 34, 34, 34, 0, 0, 33, 33, 33, 0, 0, 32, 32, 32, 0, 0, 31, 31, 31, 0, 0, 30, 30, 30, 0, 0, 29, 29, 29, 0, 0, 28, 28, 28, 0, 0, 27, 27, 27, 0, 0, 26, 26, 26, 0, 0, 25, 25, 25, 0, 0, 24, 24, 24, 0, 0, 23, 23, 23, 0, 0, 22, 22, 22, 0, 0, 21, 21, 21, 0, 0, 20, 20, 20, 0, 0, 19, 19, 19, 0, 0, 18, 18, 18, 0, 0, 17, 17, 17, 0, 0, 16, 16, 16, 0, 0, 15, 15, 15, 0, 0, 14, 14, 14, 0, 0, 13, 13, 13, 0, 0, 12, 12, 12, 0, 0, 11, 11, 11, 0, 0, 10, 10, 10, 0, 0, 9, 9, 9, 0, 0, 8, 8, 8, 0, 0, 7, 7, 7, 0, 0, 6, 6, 6, 0, 0, 5, 5, 5, 0, 0, 4, 4, 4, 0, 0, 3, 3, 3, 0, 0, 2, 2, 2, 0, 0, 1, 1, 1, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char core2_ssediv_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, }; /* Vector for state transitions. */ static const unsigned char core2_ssediv_transitions[] ATTRIBUTE_UNUSED = { 0, 15, 1, 0, 1, 32, 32, 2, 2, 32, 32, 3, 3, 32, 32, 4, 4, 32, 32, 5, 5, 32, 32, 6, 6, 32, 32, 7, 7, 32, 32, 8, 8, 32, 32, 9, 9, 32, 32, 10, 10, 32, 32, 11, 11, 32, 32, 12, 12, 32, 32, 13, 13, 32, 32, 14, 14, 32, 32, 15, 15, 32, 32, 16, 16, 32, 32, 17, 17, 32, 32, 18, 18, 32, 32, 19, 19, 32, 32, 20, 20, 32, 32, 21, 21, 32, 32, 22, 22, 32, 32, 23, 23, 32, 32, 24, 24, 32, 32, 25, 25, 32, 32, 26, 26, 32, 32, 27, 27, 32, 32, 28, 28, 32, 32, 29, 29, 32, 32, 30, 30, 32, 32, 31, 31, 32, 32, 0}; /* Vector of min issue delay of insns. */ static const unsigned char core2_ssediv_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 31, 31, 0, 0, 30, 30, 0, 0, 29, 29, 0, 0, 28, 28, 0, 0, 27, 27, 0, 0, 26, 26, 0, 0, 25, 25, 0, 0, 24, 24, 0, 0, 23, 23, 0, 0, 22, 22, 0, 0, 21, 21, 0, 0, 20, 20, 0, 0, 19, 19, 0, 0, 18, 18, 0, 0, 17, 17, 0, 0, 16, 16, 0, 0, 15, 15, 0, 0, 14, 14, 0, 0, 13, 13, 0, 0, 12, 12, 0, 0, 11, 11, 0, 0, 10, 10, 0, 0, 9, 9, 0, 0, 8, 8, 0, 0, 7, 7, 0, 0, 6, 6, 0, 0, 5, 5, 0, 0, 4, 4, 0, 0, 3, 3, 0, 0, 2, 2, 0, 0, 1, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char core2_load_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 4, }; /* Vector for state transitions. */ static const unsigned char core2_load_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 2, 1, 0, 1, 3, 3, 1, 0, 2, 3, 3, 2, 1}; /* Vector of min issue delay of insns. */ static const unsigned char core2_load_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 5, 2, 128}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char core2_store_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 3, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 3, 5, }; /* Vector for state transitions. */ static const unsigned char core2_store_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 4, 7, 1, 0, 1, 8, 8, 6, 8, 2, 2, 8, 1, 3, 8, 0, 3, 8, 6, 8, 8, 4, 4, 1, 8, 5, 8, 2, 5, 6, 8, 8, 8, 1, 6, 8, 8, 8, 8, 1, 7, 3, 5, 8, 6, 4}; /* Vector of min issue delay of insns. */ static const unsigned char core2_store_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 2, 72, 16, 65, 28, 4, 128, 156, 57, 192, 16}; #define DFA__ADVANCE_CYCLE 989 struct DFA_chip { unsigned char pentium_automaton_state; unsigned char pentium_fpu_automaton_state; unsigned char ppro_decoder_automaton_state; unsigned char ppro_core_automaton_state; unsigned char ppro_idiv_automaton_state; unsigned char ppro_fdiv_automaton_state; unsigned char ppro_load_automaton_state; unsigned char ppro_store_automaton_state; unsigned char k6_decoder_automaton_state; unsigned char k6_load_unit_automaton_state; unsigned char k6_store_unit_automaton_state; unsigned char k6_integer_units_automaton_state; unsigned char k6_fpu_unit_automaton_state; unsigned char k6_branch_unit_automaton_state; unsigned char athlon_automaton_state; unsigned char athlon_load_automaton_state; unsigned char athlon_mult_automaton_state; unsigned short athlon_fp_automaton_state; unsigned char bdver1_automaton_state; unsigned short bdver1_ieu_automaton_state; unsigned short bdver1_load_automaton_state; unsigned short bdver1_fp_automaton_state; unsigned char bdver1_agu_automaton_state; unsigned char bdver3_automaton_state; unsigned short bdver3_ieu_automaton_state; unsigned short bdver3_load_automaton_state; unsigned short bdver3_fp_automaton_state; unsigned char bdver3_agu_automaton_state; unsigned char btver2_automaton_state; unsigned char btver2_int_automaton_state; unsigned char btver2_agu_automaton_state; unsigned short btver2_fp_automaton_state; unsigned short geode_automaton_state; unsigned char atom_automaton_state; unsigned short slm_automaton_state; unsigned char core2_decoder_automaton_state; unsigned char core2_core_automaton_state; unsigned char core2_idiv_automaton_state; unsigned char core2_fdiv_automaton_state; unsigned char core2_ssediv_automaton_state; unsigned char core2_load_automaton_state; unsigned char core2_store_automaton_state; }; const int max_insn_queue_index = 255; static int internal_min_issue_delay (int insn_code, struct DFA_chip *chip ATTRIBUTE_UNUSED) { int temp ATTRIBUTE_UNUSED; int res = -1; switch (insn_code) { case 0: /* pent_mul */ case 1: /* pent_str */ case 6: /* pent_imov */ case 7: /* pent_push */ case 8: /* pent_pop */ case 9: /* pent_call */ case 10: /* pent_branch */ case 15: /* pent_uv_both */ case 16: /* pent_u_both */ case 17: /* pent_v_both */ case 18: /* pent_np_both */ case 19: /* pent_uv_load */ case 20: /* pent_u_load */ case 21: /* pent_v_load */ case 22: /* pent_np_load */ case 23: /* pent_uv */ case 24: /* pent_u */ case 25: /* pent_v */ case 26: /* pent_np */ temp = pentium_min_issue_delay [(pentium_translate [insn_code] + chip->pentium_automaton_state * 17) / 2]; temp = (temp >> (8 - ((pentium_translate [insn_code] + chip->pentium_automaton_state * 17) % 2 + 1) * 4)) & 15; res = temp; break; case 2: /* pent_block */ case 3: /* pent_fmov */ case 4: /* pent_fpmovxf */ case 5: /* pent_fpstore */ case 11: /* pent_fp */ case 12: /* pent_fmul */ case 13: /* pent_fdiv */ case 14: /* pent_fpspc */ temp = pentium_fpu_min_issue_delay [pentium_fpu_translate [insn_code] + chip->pentium_fpu_automaton_state * 8]; res = temp; temp = pentium_min_issue_delay [(pentium_translate [insn_code] + chip->pentium_automaton_state * 17) / 2]; temp = (temp >> (8 - ((pentium_translate [insn_code] + chip->pentium_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 27: /* ppro_complex_insn */ temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; break; case 28: /* ppro_imov */ case 31: /* ppro_imovx */ case 33: /* ppro_lea */ case 34: /* ppro_shift_rotate */ case 36: /* ppro_branch */ case 39: /* ppro_imul */ case 47: /* ppro_fop */ case 51: /* ppro_fsgn */ case 53: /* ppro_fcmov */ case 54: /* ppro_fcmp */ case 56: /* ppro_fmov */ case 59: /* ppro_fmov_store */ case 61: /* ppro_fmul */ case 69: /* ppro_mmx_shft */ case 71: /* ppro_mmx_mul */ case 73: /* ppro_sse_mmxcvt */ case 75: /* ppro_sse_SF */ case 76: /* ppro_sse_add_SF */ case 78: /* ppro_sse_cmp_SF */ case 80: /* ppro_sse_comi_SF */ case 82: /* ppro_sse_mul_SF */ case 84: /* ppro_sse_div_SF */ case 88: /* ppro_sse_mov_SF */ case 91: /* ppro_sse_V4SF */ case 92: /* ppro_sse_add_V4SF */ case 94: /* ppro_sse_cmp_V4SF */ case 96: /* ppro_sse_cvt_V4SF */ case 98: /* ppro_sse_mul_V4SF */ case 100: /* ppro_sse_div_V4SF */ case 102: /* ppro_sse_log_V4SF */ case 104: /* ppro_sse_mov_V4SF */ case 107: /* ppro_insn */ temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 29: /* ppro_imov_load */ case 32: /* ppro_imovx_load */ case 57: /* ppro_fmov_load */ case 105: /* ppro_sse_mov_V4SF_load */ temp = ppro_load_min_issue_delay [(ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) / 4]; temp = (temp >> (8 - ((ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) % 4 + 1) * 2)) & 3; res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 30: /* ppro_imov_store */ case 74: /* ppro_sse_sfence */ case 90: /* ppro_sse_mov_SF_store */ case 106: /* ppro_sse_mov_V4SF_store */ temp = ppro_store_min_issue_delay [(ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) / 4]; temp = (temp >> (8 - ((ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 35: /* ppro_shift_rotate_mem */ case 50: /* ppro_fop_both */ case 110: /* ppro_insn_both */ temp = ppro_store_min_issue_delay [(ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) / 4]; temp = (temp >> (8 - ((ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; temp = ppro_load_min_issue_delay [(ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) / 4]; temp = (temp >> (8 - ((ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 37: /* ppro_indirect_branch */ case 38: /* ppro_leave */ case 40: /* ppro_imul_mem */ case 48: /* ppro_fop_load */ case 55: /* ppro_fcmp_load */ case 58: /* ppro_fmov_XF_load */ case 62: /* ppro_fmul_load */ case 70: /* ppro_mmx_shft_load */ case 72: /* ppro_mmx_mul_load */ case 77: /* ppro_sse_add_SF_load */ case 79: /* ppro_sse_cmp_SF_load */ case 81: /* ppro_sse_comi_SF_load */ case 83: /* ppro_sse_mul_SF_load */ case 85: /* ppro_sse_div_SF_load */ case 86: /* ppro_sse_icvt_SF */ case 87: /* ppro_sse_icvt_SI */ case 89: /* ppro_sse_mov_SF_load */ case 93: /* ppro_sse_add_V4SF_load */ case 95: /* ppro_sse_cmp_V4SF_load */ case 99: /* ppro_sse_mul_V4SF_load */ case 101: /* ppro_sse_div_V4SF_load */ case 103: /* ppro_sse_log_V4SF_load */ case 108: /* ppro_insn_load */ temp = ppro_load_min_issue_delay [(ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) / 4]; temp = (temp >> (8 - ((ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) % 4 + 1) * 2)) & 3; res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 41: /* ppro_idiv_QI */ case 43: /* ppro_idiv_HI */ case 45: /* ppro_idiv_SI */ temp = ppro_idiv_min_issue_delay [ppro_idiv_translate [insn_code] + chip->ppro_idiv_automaton_state * 5]; res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 42: /* ppro_idiv_QI_load */ case 44: /* ppro_idiv_HI_load */ case 46: /* ppro_idiv_SI_load */ temp = ppro_load_min_issue_delay [(ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) / 4]; temp = (temp >> (8 - ((ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) % 4 + 1) * 2)) & 3; res = temp; temp = ppro_idiv_min_issue_delay [ppro_idiv_translate [insn_code] + chip->ppro_idiv_automaton_state * 5]; if (temp > res) res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 49: /* ppro_fop_store */ case 52: /* ppro_fistp */ case 60: /* ppro_fmov_XF_store */ case 97: /* ppro_sse_cvt_V4SF_other */ case 109: /* ppro_insn_store */ temp = ppro_store_min_issue_delay [(ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) / 4]; temp = (temp >> (8 - ((ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 63: /* ppro_fdiv_SF */ case 65: /* ppro_fdiv_DF */ case 67: /* ppro_fdiv_XF */ temp = ppro_fdiv_min_issue_delay [ppro_fdiv_translate [insn_code] + chip->ppro_fdiv_automaton_state * 5]; res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 64: /* ppro_fdiv_SF_load */ case 66: /* ppro_fdiv_DF_load */ case 68: /* ppro_fdiv_XF_load */ temp = ppro_load_min_issue_delay [(ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) / 4]; temp = (temp >> (8 - ((ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) % 4 + 1) * 2)) & 3; res = temp; temp = ppro_fdiv_min_issue_delay [ppro_fdiv_translate [insn_code] + chip->ppro_fdiv_automaton_state * 5]; if (temp > res) res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 111: /* k6_alux_only */ case 114: /* k6_alu_imul */ case 117: /* k6_alu_idiv */ case 119: /* k6_alu */ case 122: /* k6_alu_imov */ temp = k6_integer_units_min_issue_delay [k6_integer_units_translate [insn_code] + chip->k6_integer_units_automaton_state * 11]; res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 112: /* k6_alux_only_load */ case 115: /* k6_alu_imul_load */ case 118: /* k6_alu_idiv_mem */ case 120: /* k6_alu_load */ case 126: /* k6_alu_imov_both */ case 130: /* k6_load_leave */ temp = k6_integer_units_min_issue_delay [k6_integer_units_translate [insn_code] + chip->k6_integer_units_automaton_state * 11]; res = temp; temp = k6_load_unit_min_issue_delay [(k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) / 2]; temp = (temp >> (8 - ((k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 113: /* k6_alux_only_store */ case 116: /* k6_alu_imul_store */ case 121: /* k6_alu_store */ temp = k6_integer_units_min_issue_delay [k6_integer_units_translate [insn_code] + chip->k6_integer_units_automaton_state * 11]; res = temp; temp = k6_store_unit_min_issue_delay [(k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) / 2]; temp = (temp >> (8 - ((k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_load_unit_min_issue_delay [(k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) / 2]; temp = (temp >> (8 - ((k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 123: /* k6_alu_imov_imm */ temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; break; case 124: /* k6_alu_imov_load */ case 129: /* k6_load_pop */ case 131: /* k6_load_str */ temp = k6_load_unit_min_issue_delay [(k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) / 2]; temp = (temp >> (8 - ((k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) % 2 + 1) * 4)) & 15; res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 125: /* k6_alu_imov_store */ case 133: /* k6_store_push */ temp = k6_store_unit_min_issue_delay [(k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) / 2]; temp = (temp >> (8 - ((k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) % 2 + 1) * 4)) & 15; res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 127: /* k6_branch_call */ case 128: /* k6_branch_branch */ temp = k6_branch_unit_min_issue_delay [(k6_branch_unit_translate [insn_code] + chip->k6_branch_unit_automaton_state * 3) / 8]; temp = (temp >> (8 - ((k6_branch_unit_translate [insn_code] + chip->k6_branch_unit_automaton_state * 3) % 8 + 1) * 1)) & 1; res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 132: /* k6_store_lea */ temp = k6_integer_units_min_issue_delay [k6_integer_units_translate [insn_code] + chip->k6_integer_units_automaton_state * 11]; res = temp; temp = k6_store_unit_min_issue_delay [(k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) / 2]; temp = (temp >> (8 - ((k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 134: /* k6_store_str */ temp = k6_store_unit_min_issue_delay [(k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) / 2]; temp = (temp >> (8 - ((k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) % 2 + 1) * 4)) & 15; res = temp; break; case 135: /* k6_fpu */ case 138: /* k6_fpu_fmul */ case 140: /* k6_fpu_expensive */ temp = k6_fpu_unit_min_issue_delay [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 136: /* k6_fpu_load */ case 139: /* k6_fpu_fmul_load */ temp = k6_fpu_unit_min_issue_delay [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; res = temp; temp = k6_load_unit_min_issue_delay [(k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) / 2]; temp = (temp >> (8 - ((k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 137: /* k6_fpu_store */ temp = k6_fpu_unit_min_issue_delay [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; res = temp; temp = k6_store_unit_min_issue_delay [(k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) / 2]; temp = (temp >> (8 - ((k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 141: /* athlon_branch */ case 142: /* athlon_call */ case 143: /* athlon_call_amdfam10 */ case 150: /* athlon_lea */ case 151: /* athlon_lea_amdfam10 */ case 162: /* athlon_idirect */ case 163: /* athlon_idirect_amdfam10 */ case 164: /* athlon_ivector */ case 165: /* athlon_ivector_amdfam10 */ temp = athlon_min_issue_delay [(athlon_translate [insn_code] + chip->athlon_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_translate [insn_code] + chip->athlon_automaton_state * 11) % 2 + 1) * 4)) & 15; res = temp; break; case 144: /* athlon_push */ case 145: /* athlon_pop */ case 146: /* athlon_pop_k8 */ case 147: /* athlon_pop_amdfam10 */ case 148: /* athlon_leave */ case 149: /* athlon_leave_k8 */ case 161: /* athlon_str */ case 166: /* athlon_idirect_loadmov */ case 167: /* athlon_idirect_load */ case 168: /* athlon_idirect_load_amdfam10 */ case 169: /* athlon_ivector_load */ case 170: /* athlon_ivector_load_amdfam10 */ case 171: /* athlon_idirect_movstore */ case 172: /* athlon_idirect_both */ case 173: /* athlon_idirect_both_amdfam10 */ case 174: /* athlon_ivector_both */ case 175: /* athlon_ivector_both_amdfam10 */ case 176: /* athlon_idirect_store */ case 177: /* athlon_idirect_store_amdfam10 */ case 178: /* athlon_ivector_store */ case 179: /* athlon_ivector_store_amdfam10 */ case 222: /* athlon_sseld_amdfam10 */ temp = athlon_load_min_issue_delay [(athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) % 2 + 1) * 4)) & 15; res = temp; temp = athlon_min_issue_delay [(athlon_translate [insn_code] + chip->athlon_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_translate [insn_code] + chip->athlon_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 152: /* athlon_imul */ case 153: /* athlon_imul_k8_DI */ case 154: /* athlon_imul_k8 */ case 155: /* athlon_imul_amdfam10_HI */ temp = athlon_mult_min_issue_delay [(athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4) / 2]; temp = (temp >> (8 - ((athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4) % 2 + 1) * 4)) & 15; res = temp; temp = athlon_min_issue_delay [(athlon_translate [insn_code] + chip->athlon_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_translate [insn_code] + chip->athlon_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 156: /* athlon_imul_mem */ case 157: /* athlon_imul_mem_k8_DI */ case 158: /* athlon_imul_mem_k8 */ temp = athlon_mult_min_issue_delay [(athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4) / 2]; temp = (temp >> (8 - ((athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4) % 2 + 1) * 4)) & 15; res = temp; temp = athlon_load_min_issue_delay [(athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = athlon_min_issue_delay [(athlon_translate [insn_code] + chip->athlon_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_translate [insn_code] + chip->athlon_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 159: /* athlon_idiv */ case 189: /* athlon_fmov */ case 192: /* athlon_fadd */ case 195: /* athlon_fmul */ case 196: /* athlon_fsgn */ case 199: /* athlon_fdiv */ case 200: /* athlon_fdiv_k8 */ case 202: /* athlon_fpspc */ case 204: /* athlon_fcmov */ case 206: /* athlon_fcmov_k8 */ case 209: /* athlon_fcomi */ case 212: /* athlon_fcom */ case 229: /* athlon_movaps_k8 */ case 230: /* athlon_movaps */ case 231: /* athlon_mmxssemov */ case 233: /* athlon_mmxmul */ case 235: /* athlon_mmx */ case 239: /* athlon_sselog */ case 240: /* athlon_sselog_k8 */ case 241: /* athlon_sselog_amdfam10 */ case 244: /* athlon_ssecmp */ case 248: /* athlon_ssecmpvector */ case 249: /* athlon_ssecmpvector_k8 */ case 250: /* athlon_ssecmpvector_amdfam10 */ case 254: /* athlon_ssecomi */ case 255: /* athlon_ssecomi_amdfam10 */ case 258: /* athlon_sseadd */ case 262: /* athlon_sseaddvector */ case 263: /* athlon_sseaddvector_k8 */ case 264: /* athlon_sseaddvector_amdfam10 */ case 267: /* athlon_ssecvt_cvtss2sd */ case 268: /* athlon_ssecvt_cvtss2sd_amdfam10 */ case 271: /* athlon_ssecvt_cvtps2pd_k8 */ case 272: /* athlon_ssecvt_cvtps2pd_amdfam10 */ case 284: /* athlon_ssecvt_cvtsd2ss */ case 285: /* athlon_ssecvt_cvtsd2ss_amdfam10 */ case 288: /* athlon_ssecvt_cvtpd2ps */ case 289: /* athlon_ssecvt_cvtpd2ps_amdfam10 */ case 292: /* athlon_ssecvt_cvtsX2si */ case 293: /* athlon_ssecvt_cvtsX2si_k8 */ case 294: /* athlon_ssecvt_cvtsX2si_amdfam10 */ case 296: /* athlon_sseicvt_cvtpd2dq_amdfam10 */ case 299: /* athlon_ssemul */ case 303: /* athlon_ssemulvector */ case 304: /* athlon_ssemulvector_k8 */ case 305: /* athlon_ssemulvector_amdfam10 */ case 308: /* athlon_ssediv */ case 312: /* athlon_ssedivvector */ case 313: /* athlon_ssedivvector_k8 */ case 314: /* athlon_ssedivvector_amdfam10 */ case 315: /* athlon_sseins_amdfam10 */ temp = athlon_fp_min_issue_delay [athlon_fp_translate [insn_code] + chip->athlon_fp_automaton_state * 26]; res = temp; temp = athlon_min_issue_delay [(athlon_translate [insn_code] + chip->athlon_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_translate [insn_code] + chip->athlon_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 160: /* athlon_idiv_mem */ case 180: /* athlon_fldxf */ case 181: /* athlon_fldxf_k8 */ case 182: /* athlon_fld */ case 183: /* athlon_fld_k8 */ case 184: /* athlon_fstxf */ case 185: /* athlon_fstxf_k8 */ case 186: /* athlon_fst */ case 187: /* athlon_fst_k8 */ case 188: /* athlon_fist */ case 190: /* athlon_fadd_load */ case 191: /* athlon_fadd_load_k8 */ case 193: /* athlon_fmul_load */ case 194: /* athlon_fmul_load_k8 */ case 197: /* athlon_fdiv_load */ case 198: /* athlon_fdiv_load_k8 */ case 201: /* athlon_fpspc_load */ case 203: /* athlon_fcmov_load */ case 205: /* athlon_fcmov_load_k8 */ case 207: /* athlon_fcomi_load */ case 208: /* athlon_fcomi_load_k8 */ case 210: /* athlon_fcom_load */ case 211: /* athlon_fcom_load_k8 */ case 213: /* athlon_movlpd_load */ case 214: /* athlon_movlpd_load_k8 */ case 215: /* athlon_movsd_load_generic */ case 216: /* athlon_movaps_load_k8 */ case 217: /* athlon_movaps_load */ case 218: /* athlon_movss_load */ case 219: /* athlon_movss_load_k8 */ case 220: /* athlon_mmxsseld */ case 221: /* athlon_mmxsseld_k8 */ case 223: /* athlon_mmxld_amdfam10 */ case 224: /* athlon_mmxssest */ case 225: /* athlon_mmxssest_k8 */ case 226: /* athlon_mmxssest_short */ case 227: /* athlon_ssest_amdfam10 */ case 228: /* athlon_mmxssest_short_amdfam10 */ case 232: /* athlon_mmxmul_load */ case 234: /* athlon_mmx_load */ case 236: /* athlon_sselog_load */ case 237: /* athlon_sselog_load_k8 */ case 238: /* athlon_sselog_load_amdfam10 */ case 242: /* athlon_ssecmp_load */ case 243: /* athlon_ssecmp_load_k8 */ case 245: /* athlon_ssecmpvector_load */ case 246: /* athlon_ssecmpvector_load_k8 */ case 247: /* athlon_ssecmpvector_load_amdfam10 */ case 251: /* athlon_ssecomi_load */ case 252: /* athlon_ssecomi_load_k8 */ case 253: /* athlon_ssecomi_load_amdfam10 */ case 256: /* athlon_sseadd_load */ case 257: /* athlon_sseadd_load_k8 */ case 259: /* athlon_sseaddvector_load */ case 260: /* athlon_sseaddvector_load_k8 */ case 261: /* athlon_sseaddvector_load_amdfam10 */ case 265: /* athlon_ssecvt_cvtss2sd_load_k8 */ case 266: /* athlon_ssecvt_cvtss2sd_load_amdfam10 */ case 269: /* athlon_ssecvt_cvtps2pd_load_k8 */ case 270: /* athlon_ssecvt_cvtps2pd_load_amdfam10 */ case 273: /* athlon_sseicvt_cvtsi2sd_load */ case 274: /* athlon_sseicvt_cvtsi2sd_load_amdfam10 */ case 275: /* athlon_sseicvt_cvtsi2ss_load */ case 276: /* athlon_sseicvt_cvtsi2ss_load_k8 */ case 277: /* athlon_sseicvt_cvtsi2ss_load_amdfam10 */ case 278: /* athlon_sseicvt_cvtsi2sd_k8 */ case 279: /* athlon_sseicvt_cvtsi2sd_amdfam10 */ case 280: /* athlon_sseicvt_cvtsi2ss */ case 281: /* athlon_sseicvt_cvtsi2ss_amdfam10 */ case 282: /* athlon_ssecvt_cvtsd2ss_load_k8 */ case 283: /* athlon_ssecvt_cvtsd2ss_load_amdfam10 */ case 286: /* athlon_ssecvt_cvtpd2ps_load_k8 */ case 287: /* athlon_ssecvt_cvtpd2ps_load_amdfam10 */ case 290: /* athlon_secvt_cvtsX2si_load */ case 291: /* athlon_secvt_cvtsX2si_load_amdfam10 */ case 295: /* athlon_sseicvt_cvtpd2dq_load_amdfam10 */ case 297: /* athlon_ssemul_load */ case 298: /* athlon_ssemul_load_k8 */ case 300: /* athlon_ssemulvector_load */ case 301: /* athlon_ssemulvector_load_k8 */ case 302: /* athlon_ssemulvector_load_amdfam10 */ case 306: /* athlon_ssediv_load */ case 307: /* athlon_ssediv_load_k8 */ case 309: /* athlon_ssedivvector_load */ case 310: /* athlon_ssedivvector_load_k8 */ case 311: /* athlon_ssedivvector_load_amdfam10 */ temp = athlon_fp_min_issue_delay [athlon_fp_translate [insn_code] + chip->athlon_fp_automaton_state * 26]; res = temp; temp = athlon_load_min_issue_delay [(athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = athlon_min_issue_delay [(athlon_translate [insn_code] + chip->athlon_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_translate [insn_code] + chip->athlon_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 316: /* bdver1_call */ case 320: /* bdver1_lea */ temp = bdver1_agu_min_issue_delay [(bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) / 8]; temp = (temp >> (8 - ((bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 317: /* bdver1_push */ case 330: /* bdver1_idirect_loadmov */ case 333: /* bdver1_idirect_movstore */ case 360: /* bdver1_ssevector_avx128_unaligned_load */ case 361: /* bdver1_ssevector_avx256_unaligned_load */ case 365: /* bdver1_ssevector_sse128_load */ case 367: /* bdver1_ssescalar_vmovss_load */ temp = bdver1_agu_min_issue_delay [(bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) / 8]; temp = (temp >> (8 - ((bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; temp = bdver1_load_min_issue_delay [(bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 318: /* bdver1_pop */ case 319: /* bdver1_leave */ case 323: /* bdver1_imul_mem_DI */ case 324: /* bdver1_imul_mem */ case 327: /* bdver1_str */ case 331: /* bdver1_idirect_load */ case 332: /* bdver1_ivector_load */ case 334: /* bdver1_idirect_both */ case 335: /* bdver1_ivector_both */ case 336: /* bdver1_idirect_store */ case 337: /* bdver1_ivector_store */ temp = bdver1_agu_min_issue_delay [(bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) / 8]; temp = (temp >> (8 - ((bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; temp = bdver1_load_min_issue_delay [(bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_ieu_min_issue_delay [(bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 321: /* bdver1_imul_DI */ case 322: /* bdver1_imul */ case 328: /* bdver1_idirect */ case 329: /* bdver1_ivector */ temp = bdver1_ieu_min_issue_delay [(bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) % 2 + 1) * 4)) & 15; res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 325: /* bdver1_idiv */ temp = bdver1_fp_min_issue_delay [bdver1_fp_translate [insn_code] + chip->bdver1_fp_automaton_state * 14]; res = temp; temp = bdver1_ieu_min_issue_delay [(bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 326: /* bdver1_idiv_mem */ temp = bdver1_agu_min_issue_delay [(bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) / 8]; temp = (temp >> (8 - ((bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; temp = bdver1_fp_min_issue_delay [bdver1_fp_translate [insn_code] + chip->bdver1_fp_automaton_state * 14]; if (temp > res) res = temp; temp = bdver1_load_min_issue_delay [(bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_ieu_min_issue_delay [(bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 338: /* bdver1_fldxf */ case 339: /* bdver1_fld */ case 340: /* bdver1_fstxf */ case 341: /* bdver1_fst */ case 342: /* bdver1_fist */ case 344: /* bdver1_fadd_load */ case 346: /* bdver1_fmul_load */ case 349: /* bdver1_fdiv_load */ case 351: /* bdver1_fpspc_load */ case 352: /* bdver1_fpspc */ case 353: /* bdver1_fcmov_load */ case 355: /* bdver1_fcomi_load */ case 357: /* bdver1_fcom_load */ case 362: /* bdver1_ssevector_sse128_unaligned_load */ case 363: /* bdver1_ssevector_avx128_load */ case 364: /* bdver1_ssevector_avx256_load */ case 366: /* bdver1_ssescalar_movq_load */ case 368: /* bdver1_ssescalar_sse128_load */ case 369: /* bdver1_mmxsse_load */ case 370: /* bdver1_sse_store_avx256 */ case 371: /* bdver1_sse_store */ case 372: /* bdver1_mmxsse_store_short */ case 376: /* bdver1_sselog_load_256 */ case 378: /* bdver1_sselog_load */ case 380: /* bdver1_ssecmp_load */ case 382: /* bdver1_ssecomi_load */ case 384: /* bdver1_vcvtX2Y_avx256_load */ case 386: /* bdver1_ssecvt_cvtss2sd_load */ case 388: /* bdver1_sseicvt_cvtsi2sd_load */ case 390: /* bdver1_ssecvt_cvtpd2ps_load */ case 392: /* bdver1_ssecvt_cvtdq2ps_load */ case 394: /* bdver1_ssecvt_cvtdq2pd_load */ case 396: /* bdver1_ssecvt_cvtps2pd_load */ case 398: /* bdver1_ssecvt_cvtsX2si_load */ case 400: /* bdver1_ssecvt_cvtpd2pi_load */ case 402: /* bdver1_ssecvt_cvtpd2dq_load */ case 404: /* bdver1_ssecvt_cvtps2pi_load */ case 406: /* bdver1_ssemuladd_load_256 */ case 408: /* bdver1_ssemuladd_load */ case 410: /* bdver1_sseimul_load */ case 412: /* bdver1_sseiadd_load */ case 414: /* bdver1_ssediv_double_load_256 */ case 416: /* bdver1_ssediv_single_load_256 */ case 418: /* bdver1_ssediv_double_load */ case 420: /* bdver1_ssediv_single_load */ temp = bdver1_agu_min_issue_delay [(bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) / 8]; temp = (temp >> (8 - ((bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; temp = bdver1_fp_min_issue_delay [bdver1_fp_translate [insn_code] + chip->bdver1_fp_automaton_state * 14]; if (temp > res) res = temp; temp = bdver1_load_min_issue_delay [(bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 343: /* bdver1_fmov_bdver1 */ case 345: /* bdver1_fadd */ case 347: /* bdver1_fmul */ case 348: /* bdver1_fsgn */ case 350: /* bdver1_fdiv */ case 354: /* bdver1_fcmov */ case 356: /* bdver1_fcomi */ case 358: /* bdver1_fcom */ case 359: /* bdver1_fxch */ case 373: /* bdver1_ssevector_avx256 */ case 374: /* bdver1_movss_movsd */ case 375: /* bdver1_mmxssemov */ case 377: /* bdver1_sselog_256 */ case 379: /* bdver1_sselog */ case 381: /* bdver1_ssecmp */ case 383: /* bdver1_ssecomi */ case 385: /* bdver1_vcvtX2Y_avx256 */ case 387: /* bdver1_ssecvt_cvtss2sd */ case 391: /* bdver1_ssecvt_cvtpd2ps */ case 393: /* bdver1_ssecvt_cvtdq2ps */ case 395: /* bdver1_ssecvt_cvtdq2pd */ case 397: /* bdver1_ssecvt_cvtps2pd */ case 399: /* bdver1_ssecvt_cvtsX2si */ case 401: /* bdver1_ssecvt_cvtpd2pi */ case 403: /* bdver1_ssecvt_cvtpd2dq */ case 405: /* bdver1_ssecvt_cvtps2pi */ case 407: /* bdver1_ssemuladd_256 */ case 409: /* bdver1_ssemuladd */ case 411: /* bdver1_sseimul */ case 413: /* bdver1_sseiadd */ case 415: /* bdver1_ssediv_double_256 */ case 417: /* bdver1_ssediv_single_256 */ case 419: /* bdver1_ssediv_double */ case 421: /* bdver1_ssediv_single */ case 422: /* bdver1_sseins */ temp = bdver1_fp_min_issue_delay [bdver1_fp_translate [insn_code] + chip->bdver1_fp_automaton_state * 14]; res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 389: /* bdver1_sseicvt_cvtsi2sd */ temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; res = temp; break; case 423: /* bdver3_call */ temp = bdver3_agu_min_issue_delay [(bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) / 2]; temp = (temp >> (8 - ((bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) % 2 + 1) * 4)) & 15; res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 424: /* bdver3_push */ case 437: /* bdver3_idirect_movstore */ temp = bdver3_load_min_issue_delay [(bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) / 2]; temp = (temp >> (8 - ((bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) % 2 + 1) * 4)) & 15; res = temp; temp = bdver3_ieu_min_issue_delay [(bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) / 2]; temp = (temp >> (8 - ((bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 425: /* bdver3_pop */ case 426: /* bdver3_leave */ case 430: /* bdver3_imul_mem_DI */ case 431: /* bdver3_imul_mem */ case 432: /* bdver3_str */ case 434: /* bdver3_ivector */ case 436: /* bdver3_idirect_load */ case 438: /* bdver3_idirect_both */ case 439: /* bdver3_idirect_store */ temp = bdver3_agu_min_issue_delay [(bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) / 2]; temp = (temp >> (8 - ((bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) % 2 + 1) * 4)) & 15; res = temp; temp = bdver3_load_min_issue_delay [(bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) / 2]; temp = (temp >> (8 - ((bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_ieu_min_issue_delay [(bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) / 2]; temp = (temp >> (8 - ((bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 427: /* bdver3_lea */ case 428: /* bdver3_imul_DI */ case 429: /* bdver3_imul */ case 433: /* bdver3_idirect */ temp = bdver3_ieu_min_issue_delay [(bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) / 2]; temp = (temp >> (8 - ((bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) % 2 + 1) * 4)) & 15; res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 435: /* bdver3_idirect_loadmov */ case 461: /* bdver3_ssevector_avx128_unaligned_load */ case 462: /* bdver3_ssevector_avx256_unaligned_load */ case 466: /* bdver3_ssevector_sse128_load */ case 468: /* bdver3_ssescalar_vmovss_load */ temp = bdver3_agu_min_issue_delay [(bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) / 2]; temp = (temp >> (8 - ((bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) % 2 + 1) * 4)) & 15; res = temp; temp = bdver3_load_min_issue_delay [(bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) / 2]; temp = (temp >> (8 - ((bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 440: /* bdver3_fldxf */ case 441: /* bdver3_fld */ case 442: /* bdver3_fstxf */ case 446: /* bdver3_fadd_load */ case 448: /* bdver3_fmul_load */ case 451: /* bdver3_fdiv_load */ case 453: /* bdver3_fpspc_load */ case 454: /* bdver3_fcmov_load */ case 456: /* bdver3_fcomi_load */ case 458: /* bdver3_fcom_load */ case 463: /* bdver3_ssevector_sse128_unaligned_load */ case 464: /* bdver3_ssevector_avx128_load */ case 465: /* bdver3_ssevector_avx256_load */ case 467: /* bdver3_ssescalar_movq_load */ case 469: /* bdver3_ssescalar_sse128_load */ case 470: /* bdver3_mmxsse_load */ case 477: /* bdver3_sselog_load_256 */ case 479: /* bdver3_sselog_load */ case 481: /* bdver3_sseshuf_load_256 */ case 482: /* bdver3_sseshuf_load */ case 485: /* bdver3_ssecmp_load */ case 487: /* bdver3_ssecomi_load */ case 489: /* bdver3_vcvtX2Y_avx256_load */ case 491: /* bdver3_ssecvt_cvtss2sd_load */ case 493: /* bdver3_sseicvt_cvtsi2sd_load */ case 495: /* bdver3_ssecvt_cvtpd2ps_load */ case 497: /* bdver3_ssecvt_cvtdq2ps_load */ case 499: /* bdver3_ssecvt_cvtdq2pd_load */ case 501: /* bdver3_ssecvt_cvtps2pd_load */ case 503: /* bdver3_ssecvt_cvtsX2si_load */ case 505: /* bdver3_ssecvt_cvtpd2pi_load */ case 507: /* bdver3_ssecvt_cvtpd2dq_load */ case 509: /* bdver3_ssecvt_cvtps2pi_load */ case 511: /* bdver3_ssemuladd_load_256 */ case 513: /* bdver3_ssemuladd_load */ case 515: /* bdver3_sseimul_load */ case 517: /* bdver3_sseiadd_load */ case 519: /* bdver3_ssediv_double_load_256 */ case 521: /* bdver3_ssediv_single_load_256 */ case 523: /* bdver3_ssediv_double_load */ case 525: /* bdver3_ssediv_single_load */ temp = bdver3_agu_min_issue_delay [(bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) / 2]; temp = (temp >> (8 - ((bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) % 2 + 1) * 4)) & 15; res = temp; temp = bdver3_fp_min_issue_delay [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; if (temp > res) res = temp; temp = bdver3_load_min_issue_delay [(bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) / 2]; temp = (temp >> (8 - ((bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 443: /* bdver3_fst */ case 444: /* bdver3_fist */ case 455: /* bdver3_fcmov */ case 471: /* bdver3_sse_store_avx256 */ case 472: /* bdver3_sse_store */ case 473: /* bdver3_mmxsse_store_short */ case 490: /* bdver3_vcvtX2Y_avx256 */ temp = bdver3_fp_min_issue_delay [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; res = temp; temp = bdver3_load_min_issue_delay [(bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) / 2]; temp = (temp >> (8 - ((bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 445: /* bdver3_fmov_bdver3 */ case 447: /* bdver3_fadd */ case 449: /* bdver3_fmul */ case 450: /* bdver3_fsgn */ case 452: /* bdver3_fdiv */ case 457: /* bdver3_fcomi */ case 459: /* bdver3_fcom */ case 460: /* bdver3_fxch */ case 474: /* bdver3_ssevector_avx256 */ case 475: /* bdver3_movss_movsd */ case 476: /* bdver3_mmxssemov */ case 478: /* bdver3_sselog_256 */ case 480: /* bdver3_sselog */ case 483: /* bdver3_sseshuf_256 */ case 484: /* bdver3_sseshuf */ case 486: /* bdver3_ssecmp */ case 488: /* bdver3_ssecomi */ case 492: /* bdver3_ssecvt_cvtss2sd */ case 496: /* bdver3_ssecvt_cvtpd2ps */ case 498: /* bdver3_ssecvt_cvtdq2ps */ case 500: /* bdver3_ssecvt_cvtdq2pd */ case 502: /* bdver3_ssecvt_cvtps2pd */ case 504: /* bdver3_ssecvt_cvtsX2si */ case 506: /* bdver3_ssecvt_cvtpd2pi */ case 508: /* bdver3_ssecvt_cvtpd2dq */ case 510: /* bdver3_ssecvt_cvtps2pi */ case 512: /* bdver3_ssemuladd_256 */ case 514: /* bdver3_ssemuladd */ case 516: /* bdver3_sseimul */ case 518: /* bdver3_sseiadd */ case 520: /* bdver3_ssediv_double_256 */ case 522: /* bdver3_ssediv_single_256 */ case 524: /* bdver3_ssediv_double */ case 526: /* bdver3_ssediv_single */ case 527: /* bdver3_sseins */ temp = bdver3_fp_min_issue_delay [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 494: /* bdver3_sseicvt_cvtsi2sd */ temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; res = temp; break; case 528: /* btver2_call */ temp = btver2_agu_min_issue_delay [(btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) / 2]; temp = (temp >> (8 - ((btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) % 2 + 1) * 4)) & 15; res = temp; temp = btver2_min_issue_delay [(btver2_translate [insn_code] + chip->btver2_automaton_state * 4) / 8]; temp = (temp >> (8 - ((btver2_translate [insn_code] + chip->btver2_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 529: /* btver2_push_mem */ case 531: /* btver2_pop_mem */ case 537: /* btver2_imul_mem_DI */ case 538: /* btver2_imul_mem */ case 540: /* btver2_idiv_mem_DI */ case 542: /* btver2_idiv_mem_SI */ case 544: /* btver2_idiv_mem_HI */ case 546: /* btver2_idiv_mem_QI */ case 547: /* btver2_str */ case 548: /* btver2_idirect_loadmov */ case 549: /* btver2_idirect_load */ case 550: /* btver2_idirect_movstore */ case 551: /* btver2_idirect_both */ case 552: /* btver2_idirect_store */ case 591: /* btver2_bmi_mem_direct */ case 593: /* btver2_bmi_double_store */ case 594: /* btver2_bmi_double_load */ temp = btver2_agu_min_issue_delay [(btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) / 2]; temp = (temp >> (8 - ((btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) % 2 + 1) * 4)) & 15; res = temp; temp = btver2_int_min_issue_delay [btver2_int_translate [insn_code] + chip->btver2_int_automaton_state * 15]; if (temp > res) res = temp; temp = btver2_min_issue_delay [(btver2_translate [insn_code] + chip->btver2_automaton_state * 4) / 8]; temp = (temp >> (8 - ((btver2_translate [insn_code] + chip->btver2_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 530: /* btver2_push */ case 532: /* btver2_pop */ case 533: /* btver2_leave */ case 534: /* btver2_lea */ case 535: /* btver2_imul_DI */ case 536: /* btver2_imul */ case 539: /* btver2_idiv_DI */ case 541: /* btver2_idiv_SI */ case 543: /* btver2_idiv_HI */ case 545: /* btver2_idiv_QI */ case 553: /* btver2_idirect */ case 590: /* btver2_bmi_reg_direct */ case 592: /* btver2_bmi_reg_double */ temp = btver2_int_min_issue_delay [btver2_int_translate [insn_code] + chip->btver2_int_automaton_state * 15]; res = temp; temp = btver2_min_issue_delay [(btver2_translate [insn_code] + chip->btver2_automaton_state * 4) / 8]; temp = (temp >> (8 - ((btver2_translate [insn_code] + chip->btver2_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 554: /* btver2_fldxf */ case 555: /* btver2_fld */ case 556: /* btver2_fstxf */ case 557: /* btver2_fst */ case 558: /* btver2_fist */ case 560: /* btver2_fadd_load */ case 562: /* btver2_fmul_load */ case 565: /* btver2_fdiv_load */ case 567: /* btver2_fcmov_load */ case 569: /* btver2_fcomi_load */ case 571: /* btver2_fcom_load */ case 575: /* btver2_sse_maxmin_mem */ case 577: /* btver2_sse_rcp_mem */ case 579: /* btver2_avx_rcp_mem */ case 581: /* btver2_sse_sqrt_v4sf_mem */ case 583: /* btver2_sse_sqrt_v4df_mem */ case 585: /* btver2_sse_sqrt_sf_mem */ case 587: /* btver2_sse_sqrt_df_mem */ case 589: /* btver2_sse_sqrt_v8sf_mem */ case 595: /* btver2_ssecvt_load_direct */ case 596: /* btver2_ssecvt_store_direct */ case 598: /* btver2_ssecvt_load_double */ case 600: /* btver2_ssecvt_store_vector */ case 602: /* btver2_avx_add_load_256 */ case 604: /* btver2_avx_load_log */ case 606: /* btver2_avx_load_sse */ case 608: /* btver2_avx_load_int_mov */ case 609: /* btver2_avx_store_int_mov */ case 611: /* btver2_avx_load_from_vectors */ case 612: /* btver2_avx_loads_from_scalar */ case 613: /* btver2_avx_store_move */ case 614: /* btver2_avx_load_move */ case 616: /* btver2_avx_load_cmp */ case 618: /* btver2_ssecvt_256_load */ case 620: /* btver2_ssecvt_256_vector_load */ case 622: /* btver2_avx_load_div */ case 624: /* btver2_avx_mul_load_pd */ case 625: /* btver2_avx_mul_load_ps */ case 632: /* btver2_sseint_load_direct */ case 635: /* btver2_sselog_load_direct */ case 639: /* btver2_ssecomi_load_128 */ case 641: /* btver2_ssemul_load_v2df */ case 643: /* btver2_ssemul_load_v4sf */ case 645: /* btver2_sse_store_vectmov */ case 646: /* btver2_sse_load_vectmov */ case 649: /* btver2_sseimul_load */ case 650: /* btver2_sseimul_load_vect */ case 653: /* btver2_sseishft_load */ case 655: /* btver2_sselog1_load */ case 659: /* btver2_sseadd_load */ case 661: /* btver2_sseint_to_scalar_move_with_load */ case 662: /* btver2_sseint_to_scalar_move_with_store */ case 663: /* btver2_scalar_to_sseint_move_with_load */ case 666: /* btver2_sse_int_load */ case 668: /* btver2_sse_int_cvt_load */ case 672: /* btver2_sse2cvt_load_direct */ case 674: /* btver2_sseicvt_load_si */ case 676: /* btver2_ssecvt_load_df */ case 678: /* btver2_ssecvt_load_sf */ case 680: /* btver2_sseicvt_load_df */ case 682: /* btver2_scalar_sse_load_add */ case 684: /* btver2_int_sse_cmp_load */ case 688: /* btver2_ssemmx_mov_load_default */ case 689: /* btver2_ssemmx_mov_store_default */ case 693: /* btver2_sse_shuf_double_load */ case 694: /* btver2_sse_shuf_direct_load */ case 699: /* btver2_sse_div_load */ case 700: /* btver2_sse_div_sf_load */ case 701: /* btver2_sse_mul_load */ case 702: /* btver2_sse_mul_sf_load */ temp = btver2_fp_min_issue_delay [btver2_fp_translate [insn_code] + chip->btver2_fp_automaton_state * 54]; res = temp; temp = btver2_agu_min_issue_delay [(btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) / 2]; temp = (temp >> (8 - ((btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = btver2_min_issue_delay [(btver2_translate [insn_code] + chip->btver2_automaton_state * 4) / 8]; temp = (temp >> (8 - ((btver2_translate [insn_code] + chip->btver2_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 559: /* btver2_fmov */ case 561: /* btver2_fadd */ case 563: /* btver2_fmul */ case 564: /* btver2_fsgn */ case 566: /* btver2_fdiv */ case 568: /* btver2_fcmov */ case 570: /* btver2_fcomi */ case 572: /* btver2_fcom */ case 573: /* btver2_fxch */ case 574: /* btver2_sse_maxmin */ case 576: /* btver2_sse_rcp */ case 578: /* btver2_avx_rcp */ case 580: /* btver2_sse_sqrt_v4sf */ case 582: /* btver2_sse_sqrt_v4df */ case 584: /* btver2_sse_sqrt_sf */ case 586: /* btver2_sse_sqrt_df */ case 588: /* btver2_sse_sqrt_v8sf */ case 597: /* btver2_ssecvt_reg_direct */ case 599: /* btver2_ssecvt_reg_double */ case 601: /* btver2_ssecvt_reg_vector */ case 603: /* btver2_avx_add_reg_256 */ case 605: /* btver2_avx_reg_log */ case 607: /* btver2_avx_reg_sse */ case 610: /* btver2_avx_int_mov */ case 615: /* btver2_avx_reg_move */ case 617: /* btver2_avx_cmp */ case 619: /* btver2_ssecvt_256 */ case 621: /* btver2_ssecvt_256_vector */ case 623: /* btver2_avx_div */ case 626: /* btver2_avx_mul_256_pd */ case 627: /* btver2_avx_mul_256_ps */ case 628: /* btver2_avx_dpps_load_ps */ case 629: /* btver2_avx_dpps_ps */ case 630: /* btver2_aes_double */ case 631: /* btver2_aes_direct */ case 633: /* btver2_sseint_direct */ case 634: /* btver2_sselog_direct */ case 636: /* btver2_intext_reg_128 */ case 637: /* btver2_sse_mov_direct */ case 638: /* btver2_sse_mov_vector */ case 640: /* btver2_ssecomi_reg_128 */ case 642: /* btver2_ssemul_reg_v2df */ case 644: /* btver2_ssemul_reg_v4sf */ case 647: /* btver2_sse_vectmov */ case 648: /* btver2_sseimul */ case 651: /* btver2_sseimul_vect */ case 652: /* btver2_sseins */ case 654: /* btver2_sseishft_direct */ case 656: /* btver2_sselog1_direct */ case 657: /* btver2_sselog1_vector_load */ case 658: /* btver2_sselog1_vector */ case 660: /* btver2_sseadd_reg */ case 664: /* btver2_sseint_to_scalar */ case 665: /* btver2_scalar_to_sseint */ case 667: /* btver2_sse_int_direct */ case 669: /* btver2_sse_int_cvt */ case 670: /* btver2_sse_int_32_move */ case 671: /* btver2_int_32_sse_move */ case 673: /* btver2_sse2cvt_reg_direct */ case 675: /* btver2_sseicvt_si */ case 677: /* btver2_ssecvt_df */ case 679: /* btver2_ssecvt_sf */ case 681: /* btver2_sseicvt_df */ case 683: /* btver2_scalar_sse_add */ case 685: /* btver2_int_sse_cmp */ case 686: /* btver2_int_sse_comsi_load */ case 687: /* btver2_int_sse_comsi */ case 690: /* btver2_sse_mov_default */ case 691: /* btver2_sse_shuf_double */ case 692: /* btver2_sse_shuf_direct */ case 695: /* btver2_sse_div */ case 696: /* btver2_sse_div_sf */ case 697: /* btver2_sse_mul */ case 698: /* btver2_sse_mul_sf */ temp = btver2_fp_min_issue_delay [btver2_fp_translate [insn_code] + chip->btver2_fp_automaton_state * 54]; res = temp; temp = btver2_min_issue_delay [(btver2_translate [insn_code] + chip->btver2_automaton_state * 4) / 8]; temp = (temp >> (8 - ((btver2_translate [insn_code] + chip->btver2_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 703: /* alu */ case 704: /* shift */ case 705: /* imul */ case 706: /* idiv */ case 707: /* call */ case 708: /* geode_branch */ case 709: /* geode_pop_push */ case 710: /* geode_leave */ case 711: /* geode_load_str */ case 712: /* geode_store_str */ case 713: /* geode_unknown */ case 714: /* geode_fop */ case 715: /* geode_fsimple */ case 716: /* geode_fist */ case 717: /* geode_fmul */ case 718: /* geode_fdiv */ case 719: /* geode_fpspc */ case 720: /* geode_frndint */ case 721: /* geode_mmxmov */ case 722: /* geode_mmx */ temp = geode_min_issue_delay [geode_translate [insn_code] + chip->geode_automaton_state * 15]; res = temp; break; case 723: /* atom_other */ case 724: /* atom_other_2 */ case 725: /* atom_multi */ case 726: /* atom_alu */ case 727: /* atom_alu_mem */ case 728: /* atom_alu_carry */ case 729: /* atom_alu_carry_mem */ case 730: /* atom_alu1 */ case 731: /* atom_alu1_mem */ case 732: /* atom_negnot */ case 733: /* atom_negnot_mem */ case 734: /* atom_imov */ case 735: /* atom_imov_mem */ case 736: /* atom_imovx */ case 737: /* atom_imovx_mem */ case 738: /* atom_imovx_2 */ case 739: /* atom_imovx_2_mem */ case 740: /* atom_imovx_3 */ case 741: /* atom_lea */ case 742: /* atom_lea_2 */ case 743: /* atom_incdec */ case 744: /* atom_incdec_mem */ case 745: /* atom_ishift */ case 746: /* atom_ishift_mem */ case 747: /* atom_ishift_3 */ case 748: /* atom_ishift1 */ case 749: /* atom_ishift1_mem */ case 750: /* atom_rotate */ case 751: /* atom_rotate_mem */ case 752: /* atom_rotate1 */ case 753: /* atom_rotate1_mem */ case 754: /* atom_imul */ case 755: /* atom_imul_mem */ case 756: /* atom_imul_3 */ case 757: /* atom_idiv */ case 758: /* atom_icmp */ case 759: /* atom_icmp_mem */ case 760: /* atom_test */ case 761: /* atom_test_mem */ case 762: /* atom_ibr */ case 763: /* atom_ibr_2 */ case 764: /* atom_setcc */ case 765: /* atom_setcc_2 */ case 766: /* atom_icmov */ case 767: /* atom_icmov_mem */ case 768: /* atom_push */ case 769: /* atom_pop */ case 770: /* atom_pop_2 */ case 771: /* atom_call */ case 772: /* atom_callv */ case 773: /* atom_leave */ case 774: /* atom_str */ case 775: /* atom_sselog */ case 776: /* atom_sselog_mem */ case 777: /* atom_sselog1 */ case 778: /* atom_sselog1_mem */ case 779: /* atom_sseiadd */ case 780: /* atom_sseiadd_2 */ case 781: /* atom_sseiadd_3 */ case 782: /* atom_sseiadd_4 */ case 783: /* atom_sseishft */ case 784: /* atom_sseishft_2 */ case 785: /* atom_sseishft_3 */ case 786: /* atom_sseimul */ case 787: /* atom_sse */ case 788: /* atom_sse_2 */ case 789: /* atom_sse_3 */ case 790: /* atom_sse_4 */ case 791: /* atom_sse_5 */ case 792: /* atom_ssemov */ case 793: /* atom_ssemov_2 */ case 794: /* atom_ssemov_3 */ case 795: /* atom_ssemov_4 */ case 796: /* atom_ssemov_5 */ case 797: /* atom_sseadd */ case 798: /* atom_sseadd_mem */ case 799: /* atom_sseadd_3 */ case 800: /* atom_ssemul */ case 801: /* atom_ssemul_2 */ case 802: /* atom_ssecmp */ case 803: /* atom_ssecomi */ case 804: /* atom_ssecvt */ case 805: /* atom_ssecvt_2 */ case 806: /* atom_ssecvt_3 */ case 807: /* atom_sseicvt */ case 808: /* atom_sseicvt_2 */ case 809: /* atom_ssediv */ case 810: /* atom_fmov */ case 811: /* atom_fmov_mem */ temp = atom_min_issue_delay [atom_translate [insn_code] + chip->atom_automaton_state * 16]; res = temp; break; case 812: /* slm_other */ case 813: /* slm_other_2 */ case 814: /* slm_multi */ case 815: /* slm_alu */ case 816: /* slm_alu_mem */ case 817: /* slm_alu_carry */ case 818: /* slm_alu_carry_mem */ case 819: /* slm_alu1 */ case 820: /* slm_alu1_1 */ case 821: /* slm_alu1_mem */ case 822: /* slm_negnot */ case 823: /* slm_negnot_mem */ case 824: /* slm_imov */ case 825: /* slm_imov_mem */ case 826: /* slm_imovx */ case 827: /* slm_imovx_mem */ case 828: /* slm_imovx_2 */ case 829: /* slm_imovx_2_mem */ case 830: /* slm_imovx_3 */ case 831: /* slm_lea */ case 832: /* slm_lea_2 */ case 833: /* slm_incdec */ case 834: /* slm_incdec_mem */ case 835: /* slm_ishift */ case 836: /* slm_ishift_mem */ case 837: /* slm_ishift_3 */ case 838: /* slm_ishift1 */ case 839: /* slm_ishift1_mem */ case 840: /* slm_rotate */ case 841: /* slm_rotate_mem */ case 842: /* slm_rotate1 */ case 843: /* slm_rotate1_mem */ case 844: /* slm_imul */ case 845: /* slm_imul_mem */ case 846: /* slm_imul_3 */ case 847: /* slm_idiv */ case 848: /* slm_icmp */ case 849: /* slm_icmp_mem */ case 850: /* slm_test */ case 851: /* slm_test_mem */ case 852: /* slm_ibr */ case 853: /* slm_ibr_2 */ case 854: /* slm_setcc */ case 855: /* slm_setcc_2 */ case 856: /* slm_icmov */ case 857: /* slm_icmov_mem */ case 858: /* slm_push */ case 859: /* slm_pop */ case 860: /* slm_pop_2 */ case 861: /* slm_call */ case 862: /* slm_callv */ case 863: /* slm_leave */ case 864: /* slm_str */ case 865: /* slm_sselog */ case 866: /* slm_sselog_mem */ case 867: /* slm_sselog1 */ case 868: /* slm_sselog1_mem */ case 869: /* slm_sseiadd */ case 870: /* slm_sseiadd_2 */ case 871: /* slm_sseiadd_3 */ case 872: /* slm_sseiadd_4 */ case 873: /* slm_sseishft */ case 874: /* slm_sseishft_2 */ case 875: /* slm_sseishft_3 */ case 876: /* slm_sseimul */ case 877: /* slm_sse */ case 878: /* slm_sse_2 */ case 879: /* slm_sse_3 */ case 880: /* slm_sse_4 */ case 881: /* slm_sse_5 */ case 882: /* slm_ssemov */ case 883: /* slm_ssemov_2 */ case 884: /* slm_ssemov_3 */ case 885: /* slm_ssemov_4 */ case 886: /* slm_ssemov_5 */ case 887: /* slm_sseadd */ case 888: /* slm_sseadd_mem */ case 889: /* slm_sseadd_3 */ case 890: /* slm_ssemul */ case 891: /* slm_ssemul_2 */ case 892: /* slm_ssecmp */ case 893: /* slm_ssecomi */ case 894: /* slm_ssecvt */ case 895: /* slm_ssecvt_mem */ case 896: /* slm_ssecvt_1 */ case 897: /* slm_ssecvt_1_mem */ case 898: /* slm_ssecvt_3 */ case 899: /* slm_sseicvt */ case 900: /* slm_sseicvt_2 */ case 901: /* slm_ssediv */ case 902: /* slm_fmov */ case 903: /* slm_fmov_mem */ temp = slm_min_issue_delay [slm_translate [insn_code] + chip->slm_automaton_state * 21]; res = temp; break; case 904: /* c2_complex_insn */ case 905: /* c2_call */ case 929: /* c2_fxch */ temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; res = temp; break; case 906: /* c2_imov */ case 909: /* c2_icmov */ case 913: /* c2_lea */ case 914: /* c2_shift_rotate */ case 916: /* c2_branch */ case 919: /* c2_imul_hisi */ case 921: /* c2_imul_di */ case 930: /* c2_fop */ case 934: /* c2_fsgn */ case 936: /* c2_fcmov */ case 937: /* c2_fcmp */ case 939: /* c2_fmov */ case 944: /* c2_fmul */ case 952: /* c2_mmx_add */ case 954: /* c2_mmx_shft */ case 956: /* c2_mmx_sse_shft */ case 957: /* c2_mmx_sse_shft_load */ case 958: /* c2_mmx_sse_shft1 */ case 959: /* c2_mmx_sse_shft1_load */ case 960: /* c2_mmx_mul */ case 962: /* c2_sse_mmxcvt */ case 964: /* c2_sse_SFDF */ case 965: /* c2_sse_V4SF */ case 966: /* c2_sse_addcmp */ case 968: /* c2_sse_mul_SF */ case 970: /* c2_sse_mul_DF */ case 976: /* c2_sse_icvt_SF */ case 978: /* c2_sse_icvt_DF */ case 980: /* c2_sse_icvt_SI */ case 982: /* c2_sse_mov */ case 985: /* c2_insn */ temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 907: /* c2_imov_load */ case 940: /* c2_fmov_load */ case 983: /* c2_sse_mov_load */ temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 908: /* c2_imov_store */ case 911: /* c2_push_reg */ case 942: /* c2_fmov_store */ case 943: /* c2_fmov_XF_store */ case 963: /* c2_sse_sfence */ case 984: /* c2_sse_mov_store */ temp = core2_store_min_issue_delay [(core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) / 4]; temp = (temp >> (8 - ((core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 910: /* c2_icmov_load */ case 917: /* c2_indirect_branch */ case 918: /* c2_leave */ case 920: /* c2_imul_hisi_mem */ case 922: /* c2_imul_di_mem */ case 931: /* c2_fop_load */ case 938: /* c2_fcmp_load */ case 941: /* c2_fmov_XF_load */ case 945: /* c2_fmul_load */ case 953: /* c2_mmx_add_load */ case 955: /* c2_mmx_shft_load */ case 961: /* c2_mmx_mul_load */ case 967: /* c2_sse_addcmp_load */ case 969: /* c2_sse_mul_SF_load */ case 971: /* c2_sse_mul_DF_load */ case 977: /* c2_sse_icvt_SF_load */ case 979: /* c2_sse_icvt_DF_load */ case 981: /* c2_sse_icvt_SI_load */ case 986: /* c2_insn_load */ temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 912: /* c2_push_mem */ temp = core2_store_min_issue_delay [(core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) / 4]; temp = (temp >> (8 - ((core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 915: /* c2_shift_rotate_mem */ case 933: /* c2_fop_both */ case 988: /* c2_insn_both */ temp = core2_store_min_issue_delay [(core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) / 4]; temp = (temp >> (8 - ((core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 923: /* c2_idiv_QI */ case 925: /* c2_idiv_HI */ case 927: /* c2_idiv_SI */ temp = core2_idiv_min_issue_delay [core2_idiv_translate [insn_code] + chip->core2_idiv_automaton_state * 5]; res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 924: /* c2_idiv_QI_load */ case 926: /* c2_idiv_HI_load */ case 928: /* c2_idiv_SI_load */ temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; res = temp; temp = core2_idiv_min_issue_delay [core2_idiv_translate [insn_code] + chip->core2_idiv_automaton_state * 5]; if (temp > res) res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 932: /* c2_fop_store */ case 935: /* c2_fistp */ case 987: /* c2_insn_store */ temp = core2_store_min_issue_delay [(core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) / 4]; temp = (temp >> (8 - ((core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 946: /* c2_fdiv_SF */ case 948: /* c2_fdiv_DF */ case 950: /* c2_fdiv_XF */ temp = core2_fdiv_min_issue_delay [core2_fdiv_translate [insn_code] + chip->core2_fdiv_automaton_state * 5]; res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 947: /* c2_fdiv_SF_load */ case 949: /* c2_fdiv_DF_load */ case 951: /* c2_fdiv_XF_load */ temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; res = temp; temp = core2_fdiv_min_issue_delay [core2_fdiv_translate [insn_code] + chip->core2_fdiv_automaton_state * 5]; if (temp > res) res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 972: /* c2_sse_div_SF */ case 974: /* c2_sse_div_DF */ temp = core2_ssediv_min_issue_delay [core2_ssediv_translate [insn_code] + chip->core2_ssediv_automaton_state * 4]; res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 973: /* c2_sse_div_SF_load */ case 975: /* c2_sse_div_DF_load */ temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; res = temp; temp = core2_ssediv_min_issue_delay [core2_ssediv_translate [insn_code] + chip->core2_ssediv_automaton_state * 4]; if (temp > res) res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 989: /* $advance_cycle */ temp = core2_store_min_issue_delay [(core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) / 4]; temp = (temp >> (8 - ((core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; temp = core2_load_min_issue_delay [(core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) / 4]; temp = (temp >> (8 - ((core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = core2_ssediv_min_issue_delay [core2_ssediv_translate [insn_code] + chip->core2_ssediv_automaton_state * 4]; if (temp > res) res = temp; temp = core2_fdiv_min_issue_delay [core2_fdiv_translate [insn_code] + chip->core2_fdiv_automaton_state * 5]; if (temp > res) res = temp; temp = core2_idiv_min_issue_delay [core2_idiv_translate [insn_code] + chip->core2_idiv_automaton_state * 5]; if (temp > res) res = temp; temp = core2_core_min_issue_delay [(core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) / 2]; temp = (temp >> (8 - ((core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = core2_decoder_min_issue_delay [(core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = slm_min_issue_delay [slm_translate [insn_code] + chip->slm_automaton_state * 21]; if (temp > res) res = temp; temp = atom_min_issue_delay [atom_translate [insn_code] + chip->atom_automaton_state * 16]; if (temp > res) res = temp; temp = geode_min_issue_delay [geode_translate [insn_code] + chip->geode_automaton_state * 15]; if (temp > res) res = temp; temp = btver2_fp_min_issue_delay [btver2_fp_translate [insn_code] + chip->btver2_fp_automaton_state * 54]; if (temp > res) res = temp; temp = btver2_agu_min_issue_delay [(btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) / 2]; temp = (temp >> (8 - ((btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = btver2_int_min_issue_delay [btver2_int_translate [insn_code] + chip->btver2_int_automaton_state * 15]; if (temp > res) res = temp; temp = btver2_min_issue_delay [(btver2_translate [insn_code] + chip->btver2_automaton_state * 4) / 8]; temp = (temp >> (8 - ((btver2_translate [insn_code] + chip->btver2_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = bdver3_agu_min_issue_delay [(bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) / 2]; temp = (temp >> (8 - ((bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_fp_min_issue_delay [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; if (temp > res) res = temp; temp = bdver3_load_min_issue_delay [(bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) / 2]; temp = (temp >> (8 - ((bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_ieu_min_issue_delay [(bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) / 2]; temp = (temp >> (8 - ((bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver3_min_issue_delay [(bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) / 4]; temp = (temp >> (8 - ((bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = bdver1_agu_min_issue_delay [(bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) / 8]; temp = (temp >> (8 - ((bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = bdver1_fp_min_issue_delay [bdver1_fp_translate [insn_code] + chip->bdver1_fp_automaton_state * 14]; if (temp > res) res = temp; temp = bdver1_load_min_issue_delay [(bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_ieu_min_issue_delay [(bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) / 2]; temp = (temp >> (8 - ((bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = bdver1_min_issue_delay [(bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) / 8]; temp = (temp >> (8 - ((bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = athlon_fp_min_issue_delay [athlon_fp_translate [insn_code] + chip->athlon_fp_automaton_state * 26]; if (temp > res) res = temp; temp = athlon_mult_min_issue_delay [(athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4) / 2]; temp = (temp >> (8 - ((athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = athlon_load_min_issue_delay [(athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = athlon_min_issue_delay [(athlon_translate [insn_code] + chip->athlon_automaton_state * 11) / 2]; temp = (temp >> (8 - ((athlon_translate [insn_code] + chip->athlon_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_branch_unit_min_issue_delay [(k6_branch_unit_translate [insn_code] + chip->k6_branch_unit_automaton_state * 3) / 8]; temp = (temp >> (8 - ((k6_branch_unit_translate [insn_code] + chip->k6_branch_unit_automaton_state * 3) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = k6_fpu_unit_min_issue_delay [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; if (temp > res) res = temp; temp = k6_integer_units_min_issue_delay [k6_integer_units_translate [insn_code] + chip->k6_integer_units_automaton_state * 11]; if (temp > res) res = temp; temp = k6_store_unit_min_issue_delay [(k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) / 2]; temp = (temp >> (8 - ((k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_load_unit_min_issue_delay [(k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) / 2]; temp = (temp >> (8 - ((k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = k6_decoder_min_issue_delay [(k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = ppro_store_min_issue_delay [(ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) / 4]; temp = (temp >> (8 - ((ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = ppro_load_min_issue_delay [(ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) / 4]; temp = (temp >> (8 - ((ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = ppro_fdiv_min_issue_delay [ppro_fdiv_translate [insn_code] + chip->ppro_fdiv_automaton_state * 5]; if (temp > res) res = temp; temp = ppro_idiv_min_issue_delay [ppro_idiv_translate [insn_code] + chip->ppro_idiv_automaton_state * 5]; if (temp > res) res = temp; temp = ppro_core_min_issue_delay [ppro_core_translate [insn_code] + chip->ppro_core_automaton_state * 12]; if (temp > res) res = temp; temp = ppro_decoder_min_issue_delay [(ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) / 8]; temp = (temp >> (8 - ((ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = pentium_fpu_min_issue_delay [pentium_fpu_translate [insn_code] + chip->pentium_fpu_automaton_state * 8]; if (temp > res) res = temp; temp = pentium_min_issue_delay [(pentium_translate [insn_code] + chip->pentium_automaton_state * 17) / 2]; temp = (temp >> (8 - ((pentium_translate [insn_code] + chip->pentium_automaton_state * 17) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; default: res = -1; break; } return res; } static int internal_state_transition (int insn_code, struct DFA_chip *chip ATTRIBUTE_UNUSED) { int temp ATTRIBUTE_UNUSED; switch (insn_code) { case 0: /* pent_mul */ case 1: /* pent_str */ case 6: /* pent_imov */ case 7: /* pent_push */ case 8: /* pent_pop */ case 9: /* pent_call */ case 10: /* pent_branch */ case 15: /* pent_uv_both */ case 16: /* pent_u_both */ case 17: /* pent_v_both */ case 18: /* pent_np_both */ case 19: /* pent_uv_load */ case 20: /* pent_u_load */ case 21: /* pent_v_load */ case 22: /* pent_np_load */ case 23: /* pent_uv */ case 24: /* pent_u */ case 25: /* pent_v */ case 26: /* pent_np */ { temp = pentium_base [chip->pentium_automaton_state] + pentium_translate [insn_code]; if (pentium_check [temp] != chip->pentium_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->pentium_automaton_state = pentium_transitions [temp]; return -1; } case 2: /* pent_block */ case 3: /* pent_fmov */ case 4: /* pent_fpmovxf */ case 5: /* pent_fpstore */ case 11: /* pent_fp */ case 12: /* pent_fmul */ case 13: /* pent_fdiv */ case 14: /* pent_fpspc */ { unsigned char _pentium_fpu_automaton_state; temp = pentium_fpu_base [chip->pentium_fpu_automaton_state] + pentium_fpu_translate [insn_code]; if (pentium_fpu_check [temp] != chip->pentium_fpu_automaton_state) return internal_min_issue_delay (insn_code, chip); else _pentium_fpu_automaton_state = pentium_fpu_transitions [temp]; temp = pentium_base [chip->pentium_automaton_state] + pentium_translate [insn_code]; if (pentium_check [temp] != chip->pentium_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->pentium_automaton_state = pentium_transitions [temp]; chip->pentium_fpu_automaton_state = _pentium_fpu_automaton_state; return -1; } case 27: /* ppro_complex_insn */ { temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; return -1; } case 28: /* ppro_imov */ case 31: /* ppro_imovx */ case 33: /* ppro_lea */ case 34: /* ppro_shift_rotate */ case 36: /* ppro_branch */ case 39: /* ppro_imul */ case 47: /* ppro_fop */ case 51: /* ppro_fsgn */ case 53: /* ppro_fcmov */ case 54: /* ppro_fcmp */ case 56: /* ppro_fmov */ case 59: /* ppro_fmov_store */ case 61: /* ppro_fmul */ case 69: /* ppro_mmx_shft */ case 71: /* ppro_mmx_mul */ case 73: /* ppro_sse_mmxcvt */ case 75: /* ppro_sse_SF */ case 76: /* ppro_sse_add_SF */ case 78: /* ppro_sse_cmp_SF */ case 80: /* ppro_sse_comi_SF */ case 82: /* ppro_sse_mul_SF */ case 84: /* ppro_sse_div_SF */ case 88: /* ppro_sse_mov_SF */ case 91: /* ppro_sse_V4SF */ case 92: /* ppro_sse_add_V4SF */ case 94: /* ppro_sse_cmp_V4SF */ case 96: /* ppro_sse_cvt_V4SF */ case 98: /* ppro_sse_mul_V4SF */ case 100: /* ppro_sse_div_V4SF */ case 102: /* ppro_sse_log_V4SF */ case 104: /* ppro_sse_mov_V4SF */ case 107: /* ppro_insn */ { unsigned char _ppro_core_automaton_state; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 29: /* ppro_imov_load */ case 32: /* ppro_imovx_load */ case 57: /* ppro_fmov_load */ case 105: /* ppro_sse_mov_V4SF_load */ { unsigned char _ppro_load_automaton_state; temp = ppro_load_transitions [ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _ppro_load_automaton_state = temp; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_load_automaton_state = _ppro_load_automaton_state; return -1; } case 30: /* ppro_imov_store */ case 74: /* ppro_sse_sfence */ case 90: /* ppro_sse_mov_SF_store */ case 106: /* ppro_sse_mov_V4SF_store */ { unsigned char _ppro_store_automaton_state; temp = ppro_store_transitions [ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _ppro_store_automaton_state = temp; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_store_automaton_state = _ppro_store_automaton_state; return -1; } case 35: /* ppro_shift_rotate_mem */ case 50: /* ppro_fop_both */ case 110: /* ppro_insn_both */ { unsigned char _ppro_store_automaton_state; unsigned char _ppro_load_automaton_state; unsigned char _ppro_core_automaton_state; temp = ppro_store_transitions [ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _ppro_store_automaton_state = temp; temp = ppro_load_transitions [ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _ppro_load_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_store_automaton_state = _ppro_store_automaton_state; chip->ppro_load_automaton_state = _ppro_load_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 37: /* ppro_indirect_branch */ case 38: /* ppro_leave */ case 40: /* ppro_imul_mem */ case 48: /* ppro_fop_load */ case 55: /* ppro_fcmp_load */ case 58: /* ppro_fmov_XF_load */ case 62: /* ppro_fmul_load */ case 70: /* ppro_mmx_shft_load */ case 72: /* ppro_mmx_mul_load */ case 77: /* ppro_sse_add_SF_load */ case 79: /* ppro_sse_cmp_SF_load */ case 81: /* ppro_sse_comi_SF_load */ case 83: /* ppro_sse_mul_SF_load */ case 85: /* ppro_sse_div_SF_load */ case 86: /* ppro_sse_icvt_SF */ case 87: /* ppro_sse_icvt_SI */ case 89: /* ppro_sse_mov_SF_load */ case 93: /* ppro_sse_add_V4SF_load */ case 95: /* ppro_sse_cmp_V4SF_load */ case 99: /* ppro_sse_mul_V4SF_load */ case 101: /* ppro_sse_div_V4SF_load */ case 103: /* ppro_sse_log_V4SF_load */ case 108: /* ppro_insn_load */ { unsigned char _ppro_load_automaton_state; unsigned char _ppro_core_automaton_state; temp = ppro_load_transitions [ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _ppro_load_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_load_automaton_state = _ppro_load_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 41: /* ppro_idiv_QI */ case 43: /* ppro_idiv_HI */ case 45: /* ppro_idiv_SI */ { unsigned char _ppro_idiv_automaton_state; unsigned char _ppro_core_automaton_state; temp = ppro_idiv_transitions [ppro_idiv_translate [insn_code] + chip->ppro_idiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _ppro_idiv_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_idiv_automaton_state = _ppro_idiv_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 42: /* ppro_idiv_QI_load */ case 44: /* ppro_idiv_HI_load */ case 46: /* ppro_idiv_SI_load */ { unsigned char _ppro_load_automaton_state; unsigned char _ppro_idiv_automaton_state; unsigned char _ppro_core_automaton_state; temp = ppro_load_transitions [ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _ppro_load_automaton_state = temp; temp = ppro_idiv_transitions [ppro_idiv_translate [insn_code] + chip->ppro_idiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _ppro_idiv_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_load_automaton_state = _ppro_load_automaton_state; chip->ppro_idiv_automaton_state = _ppro_idiv_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 49: /* ppro_fop_store */ case 52: /* ppro_fistp */ case 60: /* ppro_fmov_XF_store */ case 97: /* ppro_sse_cvt_V4SF_other */ case 109: /* ppro_insn_store */ { unsigned char _ppro_store_automaton_state; unsigned char _ppro_core_automaton_state; temp = ppro_store_transitions [ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _ppro_store_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_store_automaton_state = _ppro_store_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 63: /* ppro_fdiv_SF */ case 65: /* ppro_fdiv_DF */ case 67: /* ppro_fdiv_XF */ { unsigned char _ppro_fdiv_automaton_state; unsigned char _ppro_core_automaton_state; temp = ppro_fdiv_transitions [ppro_fdiv_translate [insn_code] + chip->ppro_fdiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _ppro_fdiv_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_fdiv_automaton_state = _ppro_fdiv_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 64: /* ppro_fdiv_SF_load */ case 66: /* ppro_fdiv_DF_load */ case 68: /* ppro_fdiv_XF_load */ { unsigned char _ppro_load_automaton_state; unsigned char _ppro_fdiv_automaton_state; unsigned char _ppro_core_automaton_state; temp = ppro_load_transitions [ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _ppro_load_automaton_state = temp; temp = ppro_fdiv_transitions [ppro_fdiv_translate [insn_code] + chip->ppro_fdiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _ppro_fdiv_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else chip->ppro_decoder_automaton_state = temp; chip->ppro_load_automaton_state = _ppro_load_automaton_state; chip->ppro_fdiv_automaton_state = _ppro_fdiv_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; return -1; } case 111: /* k6_alux_only */ case 114: /* k6_alu_imul */ case 117: /* k6_alu_idiv */ case 119: /* k6_alu */ case 122: /* k6_alu_imov */ { unsigned char _k6_integer_units_automaton_state; temp = k6_integer_units_base [chip->k6_integer_units_automaton_state] + k6_integer_units_translate [insn_code]; if (k6_integer_units_check [temp] != chip->k6_integer_units_automaton_state) return internal_min_issue_delay (insn_code, chip); else _k6_integer_units_automaton_state = k6_integer_units_transitions [temp]; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_integer_units_automaton_state = _k6_integer_units_automaton_state; return -1; } case 112: /* k6_alux_only_load */ case 115: /* k6_alu_imul_load */ case 118: /* k6_alu_idiv_mem */ case 120: /* k6_alu_load */ case 126: /* k6_alu_imov_both */ case 130: /* k6_load_leave */ { unsigned char _k6_integer_units_automaton_state; unsigned char _k6_load_unit_automaton_state; temp = k6_integer_units_base [chip->k6_integer_units_automaton_state] + k6_integer_units_translate [insn_code]; if (k6_integer_units_check [temp] != chip->k6_integer_units_automaton_state) return internal_min_issue_delay (insn_code, chip); else _k6_integer_units_automaton_state = k6_integer_units_transitions [temp]; temp = k6_load_unit_transitions [k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _k6_load_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_integer_units_automaton_state = _k6_integer_units_automaton_state; chip->k6_load_unit_automaton_state = _k6_load_unit_automaton_state; return -1; } case 113: /* k6_alux_only_store */ case 116: /* k6_alu_imul_store */ case 121: /* k6_alu_store */ { unsigned char _k6_integer_units_automaton_state; unsigned char _k6_store_unit_automaton_state; unsigned char _k6_load_unit_automaton_state; temp = k6_integer_units_base [chip->k6_integer_units_automaton_state] + k6_integer_units_translate [insn_code]; if (k6_integer_units_check [temp] != chip->k6_integer_units_automaton_state) return internal_min_issue_delay (insn_code, chip); else _k6_integer_units_automaton_state = k6_integer_units_transitions [temp]; temp = k6_store_unit_transitions [k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else _k6_store_unit_automaton_state = temp; temp = k6_load_unit_transitions [k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _k6_load_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_integer_units_automaton_state = _k6_integer_units_automaton_state; chip->k6_store_unit_automaton_state = _k6_store_unit_automaton_state; chip->k6_load_unit_automaton_state = _k6_load_unit_automaton_state; return -1; } case 123: /* k6_alu_imov_imm */ { temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; return -1; } case 124: /* k6_alu_imov_load */ case 129: /* k6_load_pop */ case 131: /* k6_load_str */ { unsigned char _k6_load_unit_automaton_state; temp = k6_load_unit_transitions [k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _k6_load_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_load_unit_automaton_state = _k6_load_unit_automaton_state; return -1; } case 125: /* k6_alu_imov_store */ case 133: /* k6_store_push */ { unsigned char _k6_store_unit_automaton_state; temp = k6_store_unit_transitions [k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else _k6_store_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_store_unit_automaton_state = _k6_store_unit_automaton_state; return -1; } case 127: /* k6_branch_call */ case 128: /* k6_branch_branch */ { unsigned char _k6_branch_unit_automaton_state; temp = k6_branch_unit_transitions [k6_branch_unit_translate [insn_code] + chip->k6_branch_unit_automaton_state * 3]; if (temp >= 2) return internal_min_issue_delay (insn_code, chip); else _k6_branch_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_branch_unit_automaton_state = _k6_branch_unit_automaton_state; return -1; } case 132: /* k6_store_lea */ { unsigned char _k6_integer_units_automaton_state; unsigned char _k6_store_unit_automaton_state; temp = k6_integer_units_base [chip->k6_integer_units_automaton_state] + k6_integer_units_translate [insn_code]; if (k6_integer_units_check [temp] != chip->k6_integer_units_automaton_state) return internal_min_issue_delay (insn_code, chip); else _k6_integer_units_automaton_state = k6_integer_units_transitions [temp]; temp = k6_store_unit_transitions [k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else _k6_store_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_integer_units_automaton_state = _k6_integer_units_automaton_state; chip->k6_store_unit_automaton_state = _k6_store_unit_automaton_state; return -1; } case 134: /* k6_store_str */ { temp = k6_store_unit_transitions [k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else chip->k6_store_unit_automaton_state = temp; return -1; } case 135: /* k6_fpu */ case 138: /* k6_fpu_fmul */ case 140: /* k6_fpu_expensive */ { unsigned char _k6_fpu_unit_automaton_state; temp = k6_fpu_unit_transitions [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; if (temp >= 57) return internal_min_issue_delay (insn_code, chip); else _k6_fpu_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_fpu_unit_automaton_state = _k6_fpu_unit_automaton_state; return -1; } case 136: /* k6_fpu_load */ case 139: /* k6_fpu_fmul_load */ { unsigned char _k6_fpu_unit_automaton_state; unsigned char _k6_load_unit_automaton_state; temp = k6_fpu_unit_transitions [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; if (temp >= 57) return internal_min_issue_delay (insn_code, chip); else _k6_fpu_unit_automaton_state = temp; temp = k6_load_unit_transitions [k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _k6_load_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_fpu_unit_automaton_state = _k6_fpu_unit_automaton_state; chip->k6_load_unit_automaton_state = _k6_load_unit_automaton_state; return -1; } case 137: /* k6_fpu_store */ { unsigned char _k6_fpu_unit_automaton_state; unsigned char _k6_store_unit_automaton_state; temp = k6_fpu_unit_transitions [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; if (temp >= 57) return internal_min_issue_delay (insn_code, chip); else _k6_fpu_unit_automaton_state = temp; temp = k6_store_unit_transitions [k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else _k6_store_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->k6_decoder_automaton_state = temp; chip->k6_fpu_unit_automaton_state = _k6_fpu_unit_automaton_state; chip->k6_store_unit_automaton_state = _k6_store_unit_automaton_state; return -1; } case 141: /* athlon_branch */ case 142: /* athlon_call */ case 143: /* athlon_call_amdfam10 */ case 150: /* athlon_lea */ case 151: /* athlon_lea_amdfam10 */ case 162: /* athlon_idirect */ case 163: /* athlon_idirect_amdfam10 */ case 164: /* athlon_ivector */ case 165: /* athlon_ivector_amdfam10 */ { temp = athlon_transitions [athlon_translate [insn_code] + chip->athlon_automaton_state * 11]; if (temp >= 76) return internal_min_issue_delay (insn_code, chip); else chip->athlon_automaton_state = temp; return -1; } case 144: /* athlon_push */ case 145: /* athlon_pop */ case 146: /* athlon_pop_k8 */ case 147: /* athlon_pop_amdfam10 */ case 148: /* athlon_leave */ case 149: /* athlon_leave_k8 */ case 161: /* athlon_str */ case 166: /* athlon_idirect_loadmov */ case 167: /* athlon_idirect_load */ case 168: /* athlon_idirect_load_amdfam10 */ case 169: /* athlon_ivector_load */ case 170: /* athlon_ivector_load_amdfam10 */ case 171: /* athlon_idirect_movstore */ case 172: /* athlon_idirect_both */ case 173: /* athlon_idirect_both_amdfam10 */ case 174: /* athlon_ivector_both */ case 175: /* athlon_ivector_both_amdfam10 */ case 176: /* athlon_idirect_store */ case 177: /* athlon_idirect_store_amdfam10 */ case 178: /* athlon_ivector_store */ case 179: /* athlon_ivector_store_amdfam10 */ case 222: /* athlon_sseld_amdfam10 */ { unsigned char _athlon_load_automaton_state; temp = athlon_load_transitions [athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11]; if (temp >= 162) return internal_min_issue_delay (insn_code, chip); else _athlon_load_automaton_state = temp; temp = athlon_transitions [athlon_translate [insn_code] + chip->athlon_automaton_state * 11]; if (temp >= 76) return internal_min_issue_delay (insn_code, chip); else chip->athlon_automaton_state = temp; chip->athlon_load_automaton_state = _athlon_load_automaton_state; return -1; } case 152: /* athlon_imul */ case 153: /* athlon_imul_k8_DI */ case 154: /* athlon_imul_k8 */ case 155: /* athlon_imul_amdfam10_HI */ { unsigned char _athlon_mult_automaton_state; temp = athlon_mult_transitions [athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else _athlon_mult_automaton_state = temp; temp = athlon_transitions [athlon_translate [insn_code] + chip->athlon_automaton_state * 11]; if (temp >= 76) return internal_min_issue_delay (insn_code, chip); else chip->athlon_automaton_state = temp; chip->athlon_mult_automaton_state = _athlon_mult_automaton_state; return -1; } case 156: /* athlon_imul_mem */ case 157: /* athlon_imul_mem_k8_DI */ case 158: /* athlon_imul_mem_k8 */ { unsigned char _athlon_mult_automaton_state; unsigned char _athlon_load_automaton_state; temp = athlon_mult_transitions [athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else _athlon_mult_automaton_state = temp; temp = athlon_load_transitions [athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11]; if (temp >= 162) return internal_min_issue_delay (insn_code, chip); else _athlon_load_automaton_state = temp; temp = athlon_transitions [athlon_translate [insn_code] + chip->athlon_automaton_state * 11]; if (temp >= 76) return internal_min_issue_delay (insn_code, chip); else chip->athlon_automaton_state = temp; chip->athlon_mult_automaton_state = _athlon_mult_automaton_state; chip->athlon_load_automaton_state = _athlon_load_automaton_state; return -1; } case 159: /* athlon_idiv */ case 189: /* athlon_fmov */ case 192: /* athlon_fadd */ case 195: /* athlon_fmul */ case 196: /* athlon_fsgn */ case 199: /* athlon_fdiv */ case 200: /* athlon_fdiv_k8 */ case 202: /* athlon_fpspc */ case 204: /* athlon_fcmov */ case 206: /* athlon_fcmov_k8 */ case 209: /* athlon_fcomi */ case 212: /* athlon_fcom */ case 229: /* athlon_movaps_k8 */ case 230: /* athlon_movaps */ case 231: /* athlon_mmxssemov */ case 233: /* athlon_mmxmul */ case 235: /* athlon_mmx */ case 239: /* athlon_sselog */ case 240: /* athlon_sselog_k8 */ case 241: /* athlon_sselog_amdfam10 */ case 244: /* athlon_ssecmp */ case 248: /* athlon_ssecmpvector */ case 249: /* athlon_ssecmpvector_k8 */ case 250: /* athlon_ssecmpvector_amdfam10 */ case 254: /* athlon_ssecomi */ case 255: /* athlon_ssecomi_amdfam10 */ case 258: /* athlon_sseadd */ case 262: /* athlon_sseaddvector */ case 263: /* athlon_sseaddvector_k8 */ case 264: /* athlon_sseaddvector_amdfam10 */ case 267: /* athlon_ssecvt_cvtss2sd */ case 268: /* athlon_ssecvt_cvtss2sd_amdfam10 */ case 271: /* athlon_ssecvt_cvtps2pd_k8 */ case 272: /* athlon_ssecvt_cvtps2pd_amdfam10 */ case 284: /* athlon_ssecvt_cvtsd2ss */ case 285: /* athlon_ssecvt_cvtsd2ss_amdfam10 */ case 288: /* athlon_ssecvt_cvtpd2ps */ case 289: /* athlon_ssecvt_cvtpd2ps_amdfam10 */ case 292: /* athlon_ssecvt_cvtsX2si */ case 293: /* athlon_ssecvt_cvtsX2si_k8 */ case 294: /* athlon_ssecvt_cvtsX2si_amdfam10 */ case 296: /* athlon_sseicvt_cvtpd2dq_amdfam10 */ case 299: /* athlon_ssemul */ case 303: /* athlon_ssemulvector */ case 304: /* athlon_ssemulvector_k8 */ case 305: /* athlon_ssemulvector_amdfam10 */ case 308: /* athlon_ssediv */ case 312: /* athlon_ssedivvector */ case 313: /* athlon_ssedivvector_k8 */ case 314: /* athlon_ssedivvector_amdfam10 */ case 315: /* athlon_sseins_amdfam10 */ { unsigned short _athlon_fp_automaton_state; temp = athlon_fp_base [chip->athlon_fp_automaton_state] + athlon_fp_translate [insn_code]; if (athlon_fp_check [temp] != chip->athlon_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _athlon_fp_automaton_state = athlon_fp_transitions [temp]; temp = athlon_transitions [athlon_translate [insn_code] + chip->athlon_automaton_state * 11]; if (temp >= 76) return internal_min_issue_delay (insn_code, chip); else chip->athlon_automaton_state = temp; chip->athlon_fp_automaton_state = _athlon_fp_automaton_state; return -1; } case 160: /* athlon_idiv_mem */ case 180: /* athlon_fldxf */ case 181: /* athlon_fldxf_k8 */ case 182: /* athlon_fld */ case 183: /* athlon_fld_k8 */ case 184: /* athlon_fstxf */ case 185: /* athlon_fstxf_k8 */ case 186: /* athlon_fst */ case 187: /* athlon_fst_k8 */ case 188: /* athlon_fist */ case 190: /* athlon_fadd_load */ case 191: /* athlon_fadd_load_k8 */ case 193: /* athlon_fmul_load */ case 194: /* athlon_fmul_load_k8 */ case 197: /* athlon_fdiv_load */ case 198: /* athlon_fdiv_load_k8 */ case 201: /* athlon_fpspc_load */ case 203: /* athlon_fcmov_load */ case 205: /* athlon_fcmov_load_k8 */ case 207: /* athlon_fcomi_load */ case 208: /* athlon_fcomi_load_k8 */ case 210: /* athlon_fcom_load */ case 211: /* athlon_fcom_load_k8 */ case 213: /* athlon_movlpd_load */ case 214: /* athlon_movlpd_load_k8 */ case 215: /* athlon_movsd_load_generic */ case 216: /* athlon_movaps_load_k8 */ case 217: /* athlon_movaps_load */ case 218: /* athlon_movss_load */ case 219: /* athlon_movss_load_k8 */ case 220: /* athlon_mmxsseld */ case 221: /* athlon_mmxsseld_k8 */ case 223: /* athlon_mmxld_amdfam10 */ case 224: /* athlon_mmxssest */ case 225: /* athlon_mmxssest_k8 */ case 226: /* athlon_mmxssest_short */ case 227: /* athlon_ssest_amdfam10 */ case 228: /* athlon_mmxssest_short_amdfam10 */ case 232: /* athlon_mmxmul_load */ case 234: /* athlon_mmx_load */ case 236: /* athlon_sselog_load */ case 237: /* athlon_sselog_load_k8 */ case 238: /* athlon_sselog_load_amdfam10 */ case 242: /* athlon_ssecmp_load */ case 243: /* athlon_ssecmp_load_k8 */ case 245: /* athlon_ssecmpvector_load */ case 246: /* athlon_ssecmpvector_load_k8 */ case 247: /* athlon_ssecmpvector_load_amdfam10 */ case 251: /* athlon_ssecomi_load */ case 252: /* athlon_ssecomi_load_k8 */ case 253: /* athlon_ssecomi_load_amdfam10 */ case 256: /* athlon_sseadd_load */ case 257: /* athlon_sseadd_load_k8 */ case 259: /* athlon_sseaddvector_load */ case 260: /* athlon_sseaddvector_load_k8 */ case 261: /* athlon_sseaddvector_load_amdfam10 */ case 265: /* athlon_ssecvt_cvtss2sd_load_k8 */ case 266: /* athlon_ssecvt_cvtss2sd_load_amdfam10 */ case 269: /* athlon_ssecvt_cvtps2pd_load_k8 */ case 270: /* athlon_ssecvt_cvtps2pd_load_amdfam10 */ case 273: /* athlon_sseicvt_cvtsi2sd_load */ case 274: /* athlon_sseicvt_cvtsi2sd_load_amdfam10 */ case 275: /* athlon_sseicvt_cvtsi2ss_load */ case 276: /* athlon_sseicvt_cvtsi2ss_load_k8 */ case 277: /* athlon_sseicvt_cvtsi2ss_load_amdfam10 */ case 278: /* athlon_sseicvt_cvtsi2sd_k8 */ case 279: /* athlon_sseicvt_cvtsi2sd_amdfam10 */ case 280: /* athlon_sseicvt_cvtsi2ss */ case 281: /* athlon_sseicvt_cvtsi2ss_amdfam10 */ case 282: /* athlon_ssecvt_cvtsd2ss_load_k8 */ case 283: /* athlon_ssecvt_cvtsd2ss_load_amdfam10 */ case 286: /* athlon_ssecvt_cvtpd2ps_load_k8 */ case 287: /* athlon_ssecvt_cvtpd2ps_load_amdfam10 */ case 290: /* athlon_secvt_cvtsX2si_load */ case 291: /* athlon_secvt_cvtsX2si_load_amdfam10 */ case 295: /* athlon_sseicvt_cvtpd2dq_load_amdfam10 */ case 297: /* athlon_ssemul_load */ case 298: /* athlon_ssemul_load_k8 */ case 300: /* athlon_ssemulvector_load */ case 301: /* athlon_ssemulvector_load_k8 */ case 302: /* athlon_ssemulvector_load_amdfam10 */ case 306: /* athlon_ssediv_load */ case 307: /* athlon_ssediv_load_k8 */ case 309: /* athlon_ssedivvector_load */ case 310: /* athlon_ssedivvector_load_k8 */ case 311: /* athlon_ssedivvector_load_amdfam10 */ { unsigned short _athlon_fp_automaton_state; unsigned char _athlon_load_automaton_state; temp = athlon_fp_base [chip->athlon_fp_automaton_state] + athlon_fp_translate [insn_code]; if (athlon_fp_check [temp] != chip->athlon_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _athlon_fp_automaton_state = athlon_fp_transitions [temp]; temp = athlon_load_transitions [athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11]; if (temp >= 162) return internal_min_issue_delay (insn_code, chip); else _athlon_load_automaton_state = temp; temp = athlon_transitions [athlon_translate [insn_code] + chip->athlon_automaton_state * 11]; if (temp >= 76) return internal_min_issue_delay (insn_code, chip); else chip->athlon_automaton_state = temp; chip->athlon_fp_automaton_state = _athlon_fp_automaton_state; chip->athlon_load_automaton_state = _athlon_load_automaton_state; return -1; } case 316: /* bdver1_call */ case 320: /* bdver1_lea */ { unsigned char _bdver1_agu_automaton_state; temp = bdver1_agu_transitions [bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _bdver1_agu_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_agu_automaton_state = _bdver1_agu_automaton_state; return -1; } case 317: /* bdver1_push */ case 330: /* bdver1_idirect_loadmov */ case 333: /* bdver1_idirect_movstore */ case 360: /* bdver1_ssevector_avx128_unaligned_load */ case 361: /* bdver1_ssevector_avx256_unaligned_load */ case 365: /* bdver1_ssevector_sse128_load */ case 367: /* bdver1_ssescalar_vmovss_load */ { unsigned char _bdver1_agu_automaton_state; unsigned short _bdver1_load_automaton_state; temp = bdver1_agu_transitions [bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _bdver1_agu_automaton_state = temp; temp = bdver1_load_transitions [bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11]; if (temp >= 291) return internal_min_issue_delay (insn_code, chip); else _bdver1_load_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_agu_automaton_state = _bdver1_agu_automaton_state; chip->bdver1_load_automaton_state = _bdver1_load_automaton_state; return -1; } case 318: /* bdver1_pop */ case 319: /* bdver1_leave */ case 323: /* bdver1_imul_mem_DI */ case 324: /* bdver1_imul_mem */ case 327: /* bdver1_str */ case 331: /* bdver1_idirect_load */ case 332: /* bdver1_ivector_load */ case 334: /* bdver1_idirect_both */ case 335: /* bdver1_ivector_both */ case 336: /* bdver1_idirect_store */ case 337: /* bdver1_ivector_store */ { unsigned char _bdver1_agu_automaton_state; unsigned short _bdver1_load_automaton_state; unsigned short _bdver1_ieu_automaton_state; temp = bdver1_agu_transitions [bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _bdver1_agu_automaton_state = temp; temp = bdver1_load_transitions [bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11]; if (temp >= 291) return internal_min_issue_delay (insn_code, chip); else _bdver1_load_automaton_state = temp; temp = bdver1_ieu_transitions [bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11]; if (temp >= 808) return internal_min_issue_delay (insn_code, chip); else _bdver1_ieu_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_agu_automaton_state = _bdver1_agu_automaton_state; chip->bdver1_load_automaton_state = _bdver1_load_automaton_state; chip->bdver1_ieu_automaton_state = _bdver1_ieu_automaton_state; return -1; } case 321: /* bdver1_imul_DI */ case 322: /* bdver1_imul */ case 328: /* bdver1_idirect */ case 329: /* bdver1_ivector */ { unsigned short _bdver1_ieu_automaton_state; temp = bdver1_ieu_transitions [bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11]; if (temp >= 808) return internal_min_issue_delay (insn_code, chip); else _bdver1_ieu_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_ieu_automaton_state = _bdver1_ieu_automaton_state; return -1; } case 325: /* bdver1_idiv */ { unsigned short _bdver1_fp_automaton_state; unsigned short _bdver1_ieu_automaton_state; temp = bdver1_fp_base [chip->bdver1_fp_automaton_state] + bdver1_fp_translate [insn_code]; if (bdver1_fp_check [temp] != chip->bdver1_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _bdver1_fp_automaton_state = bdver1_fp_transitions [temp]; temp = bdver1_ieu_transitions [bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11]; if (temp >= 808) return internal_min_issue_delay (insn_code, chip); else _bdver1_ieu_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_fp_automaton_state = _bdver1_fp_automaton_state; chip->bdver1_ieu_automaton_state = _bdver1_ieu_automaton_state; return -1; } case 326: /* bdver1_idiv_mem */ { unsigned char _bdver1_agu_automaton_state; unsigned short _bdver1_fp_automaton_state; unsigned short _bdver1_load_automaton_state; unsigned short _bdver1_ieu_automaton_state; temp = bdver1_agu_transitions [bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _bdver1_agu_automaton_state = temp; temp = bdver1_fp_base [chip->bdver1_fp_automaton_state] + bdver1_fp_translate [insn_code]; if (bdver1_fp_check [temp] != chip->bdver1_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _bdver1_fp_automaton_state = bdver1_fp_transitions [temp]; temp = bdver1_load_transitions [bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11]; if (temp >= 291) return internal_min_issue_delay (insn_code, chip); else _bdver1_load_automaton_state = temp; temp = bdver1_ieu_transitions [bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11]; if (temp >= 808) return internal_min_issue_delay (insn_code, chip); else _bdver1_ieu_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_agu_automaton_state = _bdver1_agu_automaton_state; chip->bdver1_fp_automaton_state = _bdver1_fp_automaton_state; chip->bdver1_load_automaton_state = _bdver1_load_automaton_state; chip->bdver1_ieu_automaton_state = _bdver1_ieu_automaton_state; return -1; } case 338: /* bdver1_fldxf */ case 339: /* bdver1_fld */ case 340: /* bdver1_fstxf */ case 341: /* bdver1_fst */ case 342: /* bdver1_fist */ case 344: /* bdver1_fadd_load */ case 346: /* bdver1_fmul_load */ case 349: /* bdver1_fdiv_load */ case 351: /* bdver1_fpspc_load */ case 352: /* bdver1_fpspc */ case 353: /* bdver1_fcmov_load */ case 355: /* bdver1_fcomi_load */ case 357: /* bdver1_fcom_load */ case 362: /* bdver1_ssevector_sse128_unaligned_load */ case 363: /* bdver1_ssevector_avx128_load */ case 364: /* bdver1_ssevector_avx256_load */ case 366: /* bdver1_ssescalar_movq_load */ case 368: /* bdver1_ssescalar_sse128_load */ case 369: /* bdver1_mmxsse_load */ case 370: /* bdver1_sse_store_avx256 */ case 371: /* bdver1_sse_store */ case 372: /* bdver1_mmxsse_store_short */ case 376: /* bdver1_sselog_load_256 */ case 378: /* bdver1_sselog_load */ case 380: /* bdver1_ssecmp_load */ case 382: /* bdver1_ssecomi_load */ case 384: /* bdver1_vcvtX2Y_avx256_load */ case 386: /* bdver1_ssecvt_cvtss2sd_load */ case 388: /* bdver1_sseicvt_cvtsi2sd_load */ case 390: /* bdver1_ssecvt_cvtpd2ps_load */ case 392: /* bdver1_ssecvt_cvtdq2ps_load */ case 394: /* bdver1_ssecvt_cvtdq2pd_load */ case 396: /* bdver1_ssecvt_cvtps2pd_load */ case 398: /* bdver1_ssecvt_cvtsX2si_load */ case 400: /* bdver1_ssecvt_cvtpd2pi_load */ case 402: /* bdver1_ssecvt_cvtpd2dq_load */ case 404: /* bdver1_ssecvt_cvtps2pi_load */ case 406: /* bdver1_ssemuladd_load_256 */ case 408: /* bdver1_ssemuladd_load */ case 410: /* bdver1_sseimul_load */ case 412: /* bdver1_sseiadd_load */ case 414: /* bdver1_ssediv_double_load_256 */ case 416: /* bdver1_ssediv_single_load_256 */ case 418: /* bdver1_ssediv_double_load */ case 420: /* bdver1_ssediv_single_load */ { unsigned char _bdver1_agu_automaton_state; unsigned short _bdver1_fp_automaton_state; unsigned short _bdver1_load_automaton_state; temp = bdver1_agu_transitions [bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _bdver1_agu_automaton_state = temp; temp = bdver1_fp_base [chip->bdver1_fp_automaton_state] + bdver1_fp_translate [insn_code]; if (bdver1_fp_check [temp] != chip->bdver1_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _bdver1_fp_automaton_state = bdver1_fp_transitions [temp]; temp = bdver1_load_transitions [bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11]; if (temp >= 291) return internal_min_issue_delay (insn_code, chip); else _bdver1_load_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_agu_automaton_state = _bdver1_agu_automaton_state; chip->bdver1_fp_automaton_state = _bdver1_fp_automaton_state; chip->bdver1_load_automaton_state = _bdver1_load_automaton_state; return -1; } case 343: /* bdver1_fmov_bdver1 */ case 345: /* bdver1_fadd */ case 347: /* bdver1_fmul */ case 348: /* bdver1_fsgn */ case 350: /* bdver1_fdiv */ case 354: /* bdver1_fcmov */ case 356: /* bdver1_fcomi */ case 358: /* bdver1_fcom */ case 359: /* bdver1_fxch */ case 373: /* bdver1_ssevector_avx256 */ case 374: /* bdver1_movss_movsd */ case 375: /* bdver1_mmxssemov */ case 377: /* bdver1_sselog_256 */ case 379: /* bdver1_sselog */ case 381: /* bdver1_ssecmp */ case 383: /* bdver1_ssecomi */ case 385: /* bdver1_vcvtX2Y_avx256 */ case 387: /* bdver1_ssecvt_cvtss2sd */ case 391: /* bdver1_ssecvt_cvtpd2ps */ case 393: /* bdver1_ssecvt_cvtdq2ps */ case 395: /* bdver1_ssecvt_cvtdq2pd */ case 397: /* bdver1_ssecvt_cvtps2pd */ case 399: /* bdver1_ssecvt_cvtsX2si */ case 401: /* bdver1_ssecvt_cvtpd2pi */ case 403: /* bdver1_ssecvt_cvtpd2dq */ case 405: /* bdver1_ssecvt_cvtps2pi */ case 407: /* bdver1_ssemuladd_256 */ case 409: /* bdver1_ssemuladd */ case 411: /* bdver1_sseimul */ case 413: /* bdver1_sseiadd */ case 415: /* bdver1_ssediv_double_256 */ case 417: /* bdver1_ssediv_single_256 */ case 419: /* bdver1_ssediv_double */ case 421: /* bdver1_ssediv_single */ case 422: /* bdver1_sseins */ { unsigned short _bdver1_fp_automaton_state; temp = bdver1_fp_base [chip->bdver1_fp_automaton_state] + bdver1_fp_translate [insn_code]; if (bdver1_fp_check [temp] != chip->bdver1_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _bdver1_fp_automaton_state = bdver1_fp_transitions [temp]; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; chip->bdver1_fp_automaton_state = _bdver1_fp_automaton_state; return -1; } case 389: /* bdver1_sseicvt_cvtsi2sd */ { temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else chip->bdver1_automaton_state = temp; return -1; } case 423: /* bdver3_call */ { unsigned char _bdver3_agu_automaton_state; temp = bdver3_agu_transitions [bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7]; if (temp >= 30) return internal_min_issue_delay (insn_code, chip); else _bdver3_agu_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_agu_automaton_state = _bdver3_agu_automaton_state; return -1; } case 424: /* bdver3_push */ case 437: /* bdver3_idirect_movstore */ { unsigned short _bdver3_load_automaton_state; unsigned short _bdver3_ieu_automaton_state; temp = bdver3_load_transitions [bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14]; if (temp >= 361) return internal_min_issue_delay (insn_code, chip); else _bdver3_load_automaton_state = temp; temp = bdver3_ieu_transitions [bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9]; if (temp >= 256) return internal_min_issue_delay (insn_code, chip); else _bdver3_ieu_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_load_automaton_state = _bdver3_load_automaton_state; chip->bdver3_ieu_automaton_state = _bdver3_ieu_automaton_state; return -1; } case 425: /* bdver3_pop */ case 426: /* bdver3_leave */ case 430: /* bdver3_imul_mem_DI */ case 431: /* bdver3_imul_mem */ case 432: /* bdver3_str */ case 434: /* bdver3_ivector */ case 436: /* bdver3_idirect_load */ case 438: /* bdver3_idirect_both */ case 439: /* bdver3_idirect_store */ { unsigned char _bdver3_agu_automaton_state; unsigned short _bdver3_load_automaton_state; unsigned short _bdver3_ieu_automaton_state; temp = bdver3_agu_transitions [bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7]; if (temp >= 30) return internal_min_issue_delay (insn_code, chip); else _bdver3_agu_automaton_state = temp; temp = bdver3_load_transitions [bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14]; if (temp >= 361) return internal_min_issue_delay (insn_code, chip); else _bdver3_load_automaton_state = temp; temp = bdver3_ieu_transitions [bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9]; if (temp >= 256) return internal_min_issue_delay (insn_code, chip); else _bdver3_ieu_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_agu_automaton_state = _bdver3_agu_automaton_state; chip->bdver3_load_automaton_state = _bdver3_load_automaton_state; chip->bdver3_ieu_automaton_state = _bdver3_ieu_automaton_state; return -1; } case 427: /* bdver3_lea */ case 428: /* bdver3_imul_DI */ case 429: /* bdver3_imul */ case 433: /* bdver3_idirect */ { unsigned short _bdver3_ieu_automaton_state; temp = bdver3_ieu_transitions [bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9]; if (temp >= 256) return internal_min_issue_delay (insn_code, chip); else _bdver3_ieu_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_ieu_automaton_state = _bdver3_ieu_automaton_state; return -1; } case 435: /* bdver3_idirect_loadmov */ case 461: /* bdver3_ssevector_avx128_unaligned_load */ case 462: /* bdver3_ssevector_avx256_unaligned_load */ case 466: /* bdver3_ssevector_sse128_load */ case 468: /* bdver3_ssescalar_vmovss_load */ { unsigned char _bdver3_agu_automaton_state; unsigned short _bdver3_load_automaton_state; temp = bdver3_agu_transitions [bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7]; if (temp >= 30) return internal_min_issue_delay (insn_code, chip); else _bdver3_agu_automaton_state = temp; temp = bdver3_load_transitions [bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14]; if (temp >= 361) return internal_min_issue_delay (insn_code, chip); else _bdver3_load_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_agu_automaton_state = _bdver3_agu_automaton_state; chip->bdver3_load_automaton_state = _bdver3_load_automaton_state; return -1; } case 440: /* bdver3_fldxf */ case 441: /* bdver3_fld */ case 442: /* bdver3_fstxf */ case 446: /* bdver3_fadd_load */ case 448: /* bdver3_fmul_load */ case 451: /* bdver3_fdiv_load */ case 453: /* bdver3_fpspc_load */ case 454: /* bdver3_fcmov_load */ case 456: /* bdver3_fcomi_load */ case 458: /* bdver3_fcom_load */ case 463: /* bdver3_ssevector_sse128_unaligned_load */ case 464: /* bdver3_ssevector_avx128_load */ case 465: /* bdver3_ssevector_avx256_load */ case 467: /* bdver3_ssescalar_movq_load */ case 469: /* bdver3_ssescalar_sse128_load */ case 470: /* bdver3_mmxsse_load */ case 477: /* bdver3_sselog_load_256 */ case 479: /* bdver3_sselog_load */ case 481: /* bdver3_sseshuf_load_256 */ case 482: /* bdver3_sseshuf_load */ case 485: /* bdver3_ssecmp_load */ case 487: /* bdver3_ssecomi_load */ case 489: /* bdver3_vcvtX2Y_avx256_load */ case 491: /* bdver3_ssecvt_cvtss2sd_load */ case 493: /* bdver3_sseicvt_cvtsi2sd_load */ case 495: /* bdver3_ssecvt_cvtpd2ps_load */ case 497: /* bdver3_ssecvt_cvtdq2ps_load */ case 499: /* bdver3_ssecvt_cvtdq2pd_load */ case 501: /* bdver3_ssecvt_cvtps2pd_load */ case 503: /* bdver3_ssecvt_cvtsX2si_load */ case 505: /* bdver3_ssecvt_cvtpd2pi_load */ case 507: /* bdver3_ssecvt_cvtpd2dq_load */ case 509: /* bdver3_ssecvt_cvtps2pi_load */ case 511: /* bdver3_ssemuladd_load_256 */ case 513: /* bdver3_ssemuladd_load */ case 515: /* bdver3_sseimul_load */ case 517: /* bdver3_sseiadd_load */ case 519: /* bdver3_ssediv_double_load_256 */ case 521: /* bdver3_ssediv_single_load_256 */ case 523: /* bdver3_ssediv_double_load */ case 525: /* bdver3_ssediv_single_load */ { unsigned char _bdver3_agu_automaton_state; unsigned short _bdver3_fp_automaton_state; unsigned short _bdver3_load_automaton_state; temp = bdver3_agu_transitions [bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7]; if (temp >= 30) return internal_min_issue_delay (insn_code, chip); else _bdver3_agu_automaton_state = temp; temp = bdver3_fp_transitions [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; if (temp >= 2610) return internal_min_issue_delay (insn_code, chip); else _bdver3_fp_automaton_state = temp; temp = bdver3_load_transitions [bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14]; if (temp >= 361) return internal_min_issue_delay (insn_code, chip); else _bdver3_load_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_agu_automaton_state = _bdver3_agu_automaton_state; chip->bdver3_fp_automaton_state = _bdver3_fp_automaton_state; chip->bdver3_load_automaton_state = _bdver3_load_automaton_state; return -1; } case 443: /* bdver3_fst */ case 444: /* bdver3_fist */ case 455: /* bdver3_fcmov */ case 471: /* bdver3_sse_store_avx256 */ case 472: /* bdver3_sse_store */ case 473: /* bdver3_mmxsse_store_short */ case 490: /* bdver3_vcvtX2Y_avx256 */ { unsigned short _bdver3_fp_automaton_state; unsigned short _bdver3_load_automaton_state; temp = bdver3_fp_transitions [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; if (temp >= 2610) return internal_min_issue_delay (insn_code, chip); else _bdver3_fp_automaton_state = temp; temp = bdver3_load_transitions [bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14]; if (temp >= 361) return internal_min_issue_delay (insn_code, chip); else _bdver3_load_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_fp_automaton_state = _bdver3_fp_automaton_state; chip->bdver3_load_automaton_state = _bdver3_load_automaton_state; return -1; } case 445: /* bdver3_fmov_bdver3 */ case 447: /* bdver3_fadd */ case 449: /* bdver3_fmul */ case 450: /* bdver3_fsgn */ case 452: /* bdver3_fdiv */ case 457: /* bdver3_fcomi */ case 459: /* bdver3_fcom */ case 460: /* bdver3_fxch */ case 474: /* bdver3_ssevector_avx256 */ case 475: /* bdver3_movss_movsd */ case 476: /* bdver3_mmxssemov */ case 478: /* bdver3_sselog_256 */ case 480: /* bdver3_sselog */ case 483: /* bdver3_sseshuf_256 */ case 484: /* bdver3_sseshuf */ case 486: /* bdver3_ssecmp */ case 488: /* bdver3_ssecomi */ case 492: /* bdver3_ssecvt_cvtss2sd */ case 496: /* bdver3_ssecvt_cvtpd2ps */ case 498: /* bdver3_ssecvt_cvtdq2ps */ case 500: /* bdver3_ssecvt_cvtdq2pd */ case 502: /* bdver3_ssecvt_cvtps2pd */ case 504: /* bdver3_ssecvt_cvtsX2si */ case 506: /* bdver3_ssecvt_cvtpd2pi */ case 508: /* bdver3_ssecvt_cvtpd2dq */ case 510: /* bdver3_ssecvt_cvtps2pi */ case 512: /* bdver3_ssemuladd_256 */ case 514: /* bdver3_ssemuladd */ case 516: /* bdver3_sseimul */ case 518: /* bdver3_sseiadd */ case 520: /* bdver3_ssediv_double_256 */ case 522: /* bdver3_ssediv_single_256 */ case 524: /* bdver3_ssediv_double */ case 526: /* bdver3_ssediv_single */ case 527: /* bdver3_sseins */ { unsigned short _bdver3_fp_automaton_state; temp = bdver3_fp_transitions [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; if (temp >= 2610) return internal_min_issue_delay (insn_code, chip); else _bdver3_fp_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; chip->bdver3_fp_automaton_state = _bdver3_fp_automaton_state; return -1; } case 494: /* bdver3_sseicvt_cvtsi2sd */ { temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->bdver3_automaton_state = temp; return -1; } case 528: /* btver2_call */ { unsigned char _btver2_agu_automaton_state; temp = btver2_agu_transitions [btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10]; if (temp >= 39) return internal_min_issue_delay (insn_code, chip); else _btver2_agu_automaton_state = temp; temp = btver2_transitions [btver2_translate [insn_code] + chip->btver2_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->btver2_automaton_state = temp; chip->btver2_agu_automaton_state = _btver2_agu_automaton_state; return -1; } case 529: /* btver2_push_mem */ case 531: /* btver2_pop_mem */ case 537: /* btver2_imul_mem_DI */ case 538: /* btver2_imul_mem */ case 540: /* btver2_idiv_mem_DI */ case 542: /* btver2_idiv_mem_SI */ case 544: /* btver2_idiv_mem_HI */ case 546: /* btver2_idiv_mem_QI */ case 547: /* btver2_str */ case 548: /* btver2_idirect_loadmov */ case 549: /* btver2_idirect_load */ case 550: /* btver2_idirect_movstore */ case 551: /* btver2_idirect_both */ case 552: /* btver2_idirect_store */ case 591: /* btver2_bmi_mem_direct */ case 593: /* btver2_bmi_double_store */ case 594: /* btver2_bmi_double_load */ { unsigned char _btver2_agu_automaton_state; unsigned char _btver2_int_automaton_state; temp = btver2_agu_transitions [btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10]; if (temp >= 39) return internal_min_issue_delay (insn_code, chip); else _btver2_agu_automaton_state = temp; temp = btver2_int_base [chip->btver2_int_automaton_state] + btver2_int_translate [insn_code]; if (btver2_int_check [temp] != chip->btver2_int_automaton_state) return internal_min_issue_delay (insn_code, chip); else _btver2_int_automaton_state = btver2_int_transitions [temp]; temp = btver2_transitions [btver2_translate [insn_code] + chip->btver2_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->btver2_automaton_state = temp; chip->btver2_agu_automaton_state = _btver2_agu_automaton_state; chip->btver2_int_automaton_state = _btver2_int_automaton_state; return -1; } case 530: /* btver2_push */ case 532: /* btver2_pop */ case 533: /* btver2_leave */ case 534: /* btver2_lea */ case 535: /* btver2_imul_DI */ case 536: /* btver2_imul */ case 539: /* btver2_idiv_DI */ case 541: /* btver2_idiv_SI */ case 543: /* btver2_idiv_HI */ case 545: /* btver2_idiv_QI */ case 553: /* btver2_idirect */ case 590: /* btver2_bmi_reg_direct */ case 592: /* btver2_bmi_reg_double */ { unsigned char _btver2_int_automaton_state; temp = btver2_int_base [chip->btver2_int_automaton_state] + btver2_int_translate [insn_code]; if (btver2_int_check [temp] != chip->btver2_int_automaton_state) return internal_min_issue_delay (insn_code, chip); else _btver2_int_automaton_state = btver2_int_transitions [temp]; temp = btver2_transitions [btver2_translate [insn_code] + chip->btver2_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->btver2_automaton_state = temp; chip->btver2_int_automaton_state = _btver2_int_automaton_state; return -1; } case 554: /* btver2_fldxf */ case 555: /* btver2_fld */ case 556: /* btver2_fstxf */ case 557: /* btver2_fst */ case 558: /* btver2_fist */ case 560: /* btver2_fadd_load */ case 562: /* btver2_fmul_load */ case 565: /* btver2_fdiv_load */ case 567: /* btver2_fcmov_load */ case 569: /* btver2_fcomi_load */ case 571: /* btver2_fcom_load */ case 575: /* btver2_sse_maxmin_mem */ case 577: /* btver2_sse_rcp_mem */ case 579: /* btver2_avx_rcp_mem */ case 581: /* btver2_sse_sqrt_v4sf_mem */ case 583: /* btver2_sse_sqrt_v4df_mem */ case 585: /* btver2_sse_sqrt_sf_mem */ case 587: /* btver2_sse_sqrt_df_mem */ case 589: /* btver2_sse_sqrt_v8sf_mem */ case 595: /* btver2_ssecvt_load_direct */ case 596: /* btver2_ssecvt_store_direct */ case 598: /* btver2_ssecvt_load_double */ case 600: /* btver2_ssecvt_store_vector */ case 602: /* btver2_avx_add_load_256 */ case 604: /* btver2_avx_load_log */ case 606: /* btver2_avx_load_sse */ case 608: /* btver2_avx_load_int_mov */ case 609: /* btver2_avx_store_int_mov */ case 611: /* btver2_avx_load_from_vectors */ case 612: /* btver2_avx_loads_from_scalar */ case 613: /* btver2_avx_store_move */ case 614: /* btver2_avx_load_move */ case 616: /* btver2_avx_load_cmp */ case 618: /* btver2_ssecvt_256_load */ case 620: /* btver2_ssecvt_256_vector_load */ case 622: /* btver2_avx_load_div */ case 624: /* btver2_avx_mul_load_pd */ case 625: /* btver2_avx_mul_load_ps */ case 632: /* btver2_sseint_load_direct */ case 635: /* btver2_sselog_load_direct */ case 639: /* btver2_ssecomi_load_128 */ case 641: /* btver2_ssemul_load_v2df */ case 643: /* btver2_ssemul_load_v4sf */ case 645: /* btver2_sse_store_vectmov */ case 646: /* btver2_sse_load_vectmov */ case 649: /* btver2_sseimul_load */ case 650: /* btver2_sseimul_load_vect */ case 653: /* btver2_sseishft_load */ case 655: /* btver2_sselog1_load */ case 659: /* btver2_sseadd_load */ case 661: /* btver2_sseint_to_scalar_move_with_load */ case 662: /* btver2_sseint_to_scalar_move_with_store */ case 663: /* btver2_scalar_to_sseint_move_with_load */ case 666: /* btver2_sse_int_load */ case 668: /* btver2_sse_int_cvt_load */ case 672: /* btver2_sse2cvt_load_direct */ case 674: /* btver2_sseicvt_load_si */ case 676: /* btver2_ssecvt_load_df */ case 678: /* btver2_ssecvt_load_sf */ case 680: /* btver2_sseicvt_load_df */ case 682: /* btver2_scalar_sse_load_add */ case 684: /* btver2_int_sse_cmp_load */ case 688: /* btver2_ssemmx_mov_load_default */ case 689: /* btver2_ssemmx_mov_store_default */ case 693: /* btver2_sse_shuf_double_load */ case 694: /* btver2_sse_shuf_direct_load */ case 699: /* btver2_sse_div_load */ case 700: /* btver2_sse_div_sf_load */ case 701: /* btver2_sse_mul_load */ case 702: /* btver2_sse_mul_sf_load */ { unsigned short _btver2_fp_automaton_state; unsigned char _btver2_agu_automaton_state; temp = btver2_fp_base [chip->btver2_fp_automaton_state] + btver2_fp_translate [insn_code]; if (btver2_fp_check [temp] != chip->btver2_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _btver2_fp_automaton_state = btver2_fp_transitions [temp]; temp = btver2_agu_transitions [btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10]; if (temp >= 39) return internal_min_issue_delay (insn_code, chip); else _btver2_agu_automaton_state = temp; temp = btver2_transitions [btver2_translate [insn_code] + chip->btver2_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->btver2_automaton_state = temp; chip->btver2_fp_automaton_state = _btver2_fp_automaton_state; chip->btver2_agu_automaton_state = _btver2_agu_automaton_state; return -1; } case 559: /* btver2_fmov */ case 561: /* btver2_fadd */ case 563: /* btver2_fmul */ case 564: /* btver2_fsgn */ case 566: /* btver2_fdiv */ case 568: /* btver2_fcmov */ case 570: /* btver2_fcomi */ case 572: /* btver2_fcom */ case 573: /* btver2_fxch */ case 574: /* btver2_sse_maxmin */ case 576: /* btver2_sse_rcp */ case 578: /* btver2_avx_rcp */ case 580: /* btver2_sse_sqrt_v4sf */ case 582: /* btver2_sse_sqrt_v4df */ case 584: /* btver2_sse_sqrt_sf */ case 586: /* btver2_sse_sqrt_df */ case 588: /* btver2_sse_sqrt_v8sf */ case 597: /* btver2_ssecvt_reg_direct */ case 599: /* btver2_ssecvt_reg_double */ case 601: /* btver2_ssecvt_reg_vector */ case 603: /* btver2_avx_add_reg_256 */ case 605: /* btver2_avx_reg_log */ case 607: /* btver2_avx_reg_sse */ case 610: /* btver2_avx_int_mov */ case 615: /* btver2_avx_reg_move */ case 617: /* btver2_avx_cmp */ case 619: /* btver2_ssecvt_256 */ case 621: /* btver2_ssecvt_256_vector */ case 623: /* btver2_avx_div */ case 626: /* btver2_avx_mul_256_pd */ case 627: /* btver2_avx_mul_256_ps */ case 628: /* btver2_avx_dpps_load_ps */ case 629: /* btver2_avx_dpps_ps */ case 630: /* btver2_aes_double */ case 631: /* btver2_aes_direct */ case 633: /* btver2_sseint_direct */ case 634: /* btver2_sselog_direct */ case 636: /* btver2_intext_reg_128 */ case 637: /* btver2_sse_mov_direct */ case 638: /* btver2_sse_mov_vector */ case 640: /* btver2_ssecomi_reg_128 */ case 642: /* btver2_ssemul_reg_v2df */ case 644: /* btver2_ssemul_reg_v4sf */ case 647: /* btver2_sse_vectmov */ case 648: /* btver2_sseimul */ case 651: /* btver2_sseimul_vect */ case 652: /* btver2_sseins */ case 654: /* btver2_sseishft_direct */ case 656: /* btver2_sselog1_direct */ case 657: /* btver2_sselog1_vector_load */ case 658: /* btver2_sselog1_vector */ case 660: /* btver2_sseadd_reg */ case 664: /* btver2_sseint_to_scalar */ case 665: /* btver2_scalar_to_sseint */ case 667: /* btver2_sse_int_direct */ case 669: /* btver2_sse_int_cvt */ case 670: /* btver2_sse_int_32_move */ case 671: /* btver2_int_32_sse_move */ case 673: /* btver2_sse2cvt_reg_direct */ case 675: /* btver2_sseicvt_si */ case 677: /* btver2_ssecvt_df */ case 679: /* btver2_ssecvt_sf */ case 681: /* btver2_sseicvt_df */ case 683: /* btver2_scalar_sse_add */ case 685: /* btver2_int_sse_cmp */ case 686: /* btver2_int_sse_comsi_load */ case 687: /* btver2_int_sse_comsi */ case 690: /* btver2_sse_mov_default */ case 691: /* btver2_sse_shuf_double */ case 692: /* btver2_sse_shuf_direct */ case 695: /* btver2_sse_div */ case 696: /* btver2_sse_div_sf */ case 697: /* btver2_sse_mul */ case 698: /* btver2_sse_mul_sf */ { unsigned short _btver2_fp_automaton_state; temp = btver2_fp_base [chip->btver2_fp_automaton_state] + btver2_fp_translate [insn_code]; if (btver2_fp_check [temp] != chip->btver2_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _btver2_fp_automaton_state = btver2_fp_transitions [temp]; temp = btver2_transitions [btver2_translate [insn_code] + chip->btver2_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else chip->btver2_automaton_state = temp; chip->btver2_fp_automaton_state = _btver2_fp_automaton_state; return -1; } case 703: /* alu */ case 704: /* shift */ case 705: /* imul */ case 706: /* idiv */ case 707: /* call */ case 708: /* geode_branch */ case 709: /* geode_pop_push */ case 710: /* geode_leave */ case 711: /* geode_load_str */ case 712: /* geode_store_str */ case 713: /* geode_unknown */ case 714: /* geode_fop */ case 715: /* geode_fsimple */ case 716: /* geode_fist */ case 717: /* geode_fmul */ case 718: /* geode_fdiv */ case 719: /* geode_fpspc */ case 720: /* geode_frndint */ case 721: /* geode_mmxmov */ case 722: /* geode_mmx */ { temp = geode_base [chip->geode_automaton_state] + geode_translate [insn_code]; if (geode_check [temp] != chip->geode_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->geode_automaton_state = geode_transitions [temp]; return -1; } case 723: /* atom_other */ case 724: /* atom_other_2 */ case 725: /* atom_multi */ case 726: /* atom_alu */ case 727: /* atom_alu_mem */ case 728: /* atom_alu_carry */ case 729: /* atom_alu_carry_mem */ case 730: /* atom_alu1 */ case 731: /* atom_alu1_mem */ case 732: /* atom_negnot */ case 733: /* atom_negnot_mem */ case 734: /* atom_imov */ case 735: /* atom_imov_mem */ case 736: /* atom_imovx */ case 737: /* atom_imovx_mem */ case 738: /* atom_imovx_2 */ case 739: /* atom_imovx_2_mem */ case 740: /* atom_imovx_3 */ case 741: /* atom_lea */ case 742: /* atom_lea_2 */ case 743: /* atom_incdec */ case 744: /* atom_incdec_mem */ case 745: /* atom_ishift */ case 746: /* atom_ishift_mem */ case 747: /* atom_ishift_3 */ case 748: /* atom_ishift1 */ case 749: /* atom_ishift1_mem */ case 750: /* atom_rotate */ case 751: /* atom_rotate_mem */ case 752: /* atom_rotate1 */ case 753: /* atom_rotate1_mem */ case 754: /* atom_imul */ case 755: /* atom_imul_mem */ case 756: /* atom_imul_3 */ case 757: /* atom_idiv */ case 758: /* atom_icmp */ case 759: /* atom_icmp_mem */ case 760: /* atom_test */ case 761: /* atom_test_mem */ case 762: /* atom_ibr */ case 763: /* atom_ibr_2 */ case 764: /* atom_setcc */ case 765: /* atom_setcc_2 */ case 766: /* atom_icmov */ case 767: /* atom_icmov_mem */ case 768: /* atom_push */ case 769: /* atom_pop */ case 770: /* atom_pop_2 */ case 771: /* atom_call */ case 772: /* atom_callv */ case 773: /* atom_leave */ case 774: /* atom_str */ case 775: /* atom_sselog */ case 776: /* atom_sselog_mem */ case 777: /* atom_sselog1 */ case 778: /* atom_sselog1_mem */ case 779: /* atom_sseiadd */ case 780: /* atom_sseiadd_2 */ case 781: /* atom_sseiadd_3 */ case 782: /* atom_sseiadd_4 */ case 783: /* atom_sseishft */ case 784: /* atom_sseishft_2 */ case 785: /* atom_sseishft_3 */ case 786: /* atom_sseimul */ case 787: /* atom_sse */ case 788: /* atom_sse_2 */ case 789: /* atom_sse_3 */ case 790: /* atom_sse_4 */ case 791: /* atom_sse_5 */ case 792: /* atom_ssemov */ case 793: /* atom_ssemov_2 */ case 794: /* atom_ssemov_3 */ case 795: /* atom_ssemov_4 */ case 796: /* atom_ssemov_5 */ case 797: /* atom_sseadd */ case 798: /* atom_sseadd_mem */ case 799: /* atom_sseadd_3 */ case 800: /* atom_ssemul */ case 801: /* atom_ssemul_2 */ case 802: /* atom_ssecmp */ case 803: /* atom_ssecomi */ case 804: /* atom_ssecvt */ case 805: /* atom_ssecvt_2 */ case 806: /* atom_ssecvt_3 */ case 807: /* atom_sseicvt */ case 808: /* atom_sseicvt_2 */ case 809: /* atom_ssediv */ case 810: /* atom_fmov */ case 811: /* atom_fmov_mem */ { temp = atom_base [chip->atom_automaton_state] + atom_translate [insn_code]; if (atom_check [temp] != chip->atom_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->atom_automaton_state = atom_transitions [temp]; return -1; } case 812: /* slm_other */ case 813: /* slm_other_2 */ case 814: /* slm_multi */ case 815: /* slm_alu */ case 816: /* slm_alu_mem */ case 817: /* slm_alu_carry */ case 818: /* slm_alu_carry_mem */ case 819: /* slm_alu1 */ case 820: /* slm_alu1_1 */ case 821: /* slm_alu1_mem */ case 822: /* slm_negnot */ case 823: /* slm_negnot_mem */ case 824: /* slm_imov */ case 825: /* slm_imov_mem */ case 826: /* slm_imovx */ case 827: /* slm_imovx_mem */ case 828: /* slm_imovx_2 */ case 829: /* slm_imovx_2_mem */ case 830: /* slm_imovx_3 */ case 831: /* slm_lea */ case 832: /* slm_lea_2 */ case 833: /* slm_incdec */ case 834: /* slm_incdec_mem */ case 835: /* slm_ishift */ case 836: /* slm_ishift_mem */ case 837: /* slm_ishift_3 */ case 838: /* slm_ishift1 */ case 839: /* slm_ishift1_mem */ case 840: /* slm_rotate */ case 841: /* slm_rotate_mem */ case 842: /* slm_rotate1 */ case 843: /* slm_rotate1_mem */ case 844: /* slm_imul */ case 845: /* slm_imul_mem */ case 846: /* slm_imul_3 */ case 847: /* slm_idiv */ case 848: /* slm_icmp */ case 849: /* slm_icmp_mem */ case 850: /* slm_test */ case 851: /* slm_test_mem */ case 852: /* slm_ibr */ case 853: /* slm_ibr_2 */ case 854: /* slm_setcc */ case 855: /* slm_setcc_2 */ case 856: /* slm_icmov */ case 857: /* slm_icmov_mem */ case 858: /* slm_push */ case 859: /* slm_pop */ case 860: /* slm_pop_2 */ case 861: /* slm_call */ case 862: /* slm_callv */ case 863: /* slm_leave */ case 864: /* slm_str */ case 865: /* slm_sselog */ case 866: /* slm_sselog_mem */ case 867: /* slm_sselog1 */ case 868: /* slm_sselog1_mem */ case 869: /* slm_sseiadd */ case 870: /* slm_sseiadd_2 */ case 871: /* slm_sseiadd_3 */ case 872: /* slm_sseiadd_4 */ case 873: /* slm_sseishft */ case 874: /* slm_sseishft_2 */ case 875: /* slm_sseishft_3 */ case 876: /* slm_sseimul */ case 877: /* slm_sse */ case 878: /* slm_sse_2 */ case 879: /* slm_sse_3 */ case 880: /* slm_sse_4 */ case 881: /* slm_sse_5 */ case 882: /* slm_ssemov */ case 883: /* slm_ssemov_2 */ case 884: /* slm_ssemov_3 */ case 885: /* slm_ssemov_4 */ case 886: /* slm_ssemov_5 */ case 887: /* slm_sseadd */ case 888: /* slm_sseadd_mem */ case 889: /* slm_sseadd_3 */ case 890: /* slm_ssemul */ case 891: /* slm_ssemul_2 */ case 892: /* slm_ssecmp */ case 893: /* slm_ssecomi */ case 894: /* slm_ssecvt */ case 895: /* slm_ssecvt_mem */ case 896: /* slm_ssecvt_1 */ case 897: /* slm_ssecvt_1_mem */ case 898: /* slm_ssecvt_3 */ case 899: /* slm_sseicvt */ case 900: /* slm_sseicvt_2 */ case 901: /* slm_ssediv */ case 902: /* slm_fmov */ case 903: /* slm_fmov_mem */ { temp = slm_base [chip->slm_automaton_state] + slm_translate [insn_code]; if (slm_check [temp] != chip->slm_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->slm_automaton_state = slm_transitions [temp]; return -1; } case 904: /* c2_complex_insn */ case 905: /* c2_call */ case 929: /* c2_fxch */ { temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; return -1; } case 906: /* c2_imov */ case 909: /* c2_icmov */ case 913: /* c2_lea */ case 914: /* c2_shift_rotate */ case 916: /* c2_branch */ case 919: /* c2_imul_hisi */ case 921: /* c2_imul_di */ case 930: /* c2_fop */ case 934: /* c2_fsgn */ case 936: /* c2_fcmov */ case 937: /* c2_fcmp */ case 939: /* c2_fmov */ case 944: /* c2_fmul */ case 952: /* c2_mmx_add */ case 954: /* c2_mmx_shft */ case 956: /* c2_mmx_sse_shft */ case 957: /* c2_mmx_sse_shft_load */ case 958: /* c2_mmx_sse_shft1 */ case 959: /* c2_mmx_sse_shft1_load */ case 960: /* c2_mmx_mul */ case 962: /* c2_sse_mmxcvt */ case 964: /* c2_sse_SFDF */ case 965: /* c2_sse_V4SF */ case 966: /* c2_sse_addcmp */ case 968: /* c2_sse_mul_SF */ case 970: /* c2_sse_mul_DF */ case 976: /* c2_sse_icvt_SF */ case 978: /* c2_sse_icvt_DF */ case 980: /* c2_sse_icvt_SI */ case 982: /* c2_sse_mov */ case 985: /* c2_insn */ { unsigned char _core2_core_automaton_state; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 907: /* c2_imov_load */ case 940: /* c2_fmov_load */ case 983: /* c2_sse_mov_load */ { unsigned char _core2_load_automaton_state; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_load_automaton_state = _core2_load_automaton_state; return -1; } case 908: /* c2_imov_store */ case 911: /* c2_push_reg */ case 942: /* c2_fmov_store */ case 943: /* c2_fmov_XF_store */ case 963: /* c2_sse_sfence */ case 984: /* c2_sse_mov_store */ { unsigned char _core2_store_automaton_state; temp = core2_store_transitions [core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6]; if (temp >= 8) return internal_min_issue_delay (insn_code, chip); else _core2_store_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_store_automaton_state = _core2_store_automaton_state; return -1; } case 910: /* c2_icmov_load */ case 917: /* c2_indirect_branch */ case 918: /* c2_leave */ case 920: /* c2_imul_hisi_mem */ case 922: /* c2_imul_di_mem */ case 931: /* c2_fop_load */ case 938: /* c2_fcmp_load */ case 941: /* c2_fmov_XF_load */ case 945: /* c2_fmul_load */ case 953: /* c2_mmx_add_load */ case 955: /* c2_mmx_shft_load */ case 961: /* c2_mmx_mul_load */ case 967: /* c2_sse_addcmp_load */ case 969: /* c2_sse_mul_SF_load */ case 971: /* c2_sse_mul_DF_load */ case 977: /* c2_sse_icvt_SF_load */ case 979: /* c2_sse_icvt_DF_load */ case 981: /* c2_sse_icvt_SI_load */ case 986: /* c2_insn_load */ { unsigned char _core2_load_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_load_automaton_state = _core2_load_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 912: /* c2_push_mem */ { unsigned char _core2_store_automaton_state; unsigned char _core2_load_automaton_state; temp = core2_store_transitions [core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6]; if (temp >= 8) return internal_min_issue_delay (insn_code, chip); else _core2_store_automaton_state = temp; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_store_automaton_state = _core2_store_automaton_state; chip->core2_load_automaton_state = _core2_load_automaton_state; return -1; } case 915: /* c2_shift_rotate_mem */ case 933: /* c2_fop_both */ case 988: /* c2_insn_both */ { unsigned char _core2_store_automaton_state; unsigned char _core2_load_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_store_transitions [core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6]; if (temp >= 8) return internal_min_issue_delay (insn_code, chip); else _core2_store_automaton_state = temp; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_store_automaton_state = _core2_store_automaton_state; chip->core2_load_automaton_state = _core2_load_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 923: /* c2_idiv_QI */ case 925: /* c2_idiv_HI */ case 927: /* c2_idiv_SI */ { unsigned char _core2_idiv_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_idiv_transitions [core2_idiv_translate [insn_code] + chip->core2_idiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _core2_idiv_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_idiv_automaton_state = _core2_idiv_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 924: /* c2_idiv_QI_load */ case 926: /* c2_idiv_HI_load */ case 928: /* c2_idiv_SI_load */ { unsigned char _core2_load_automaton_state; unsigned char _core2_idiv_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_idiv_transitions [core2_idiv_translate [insn_code] + chip->core2_idiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _core2_idiv_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_load_automaton_state = _core2_load_automaton_state; chip->core2_idiv_automaton_state = _core2_idiv_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 932: /* c2_fop_store */ case 935: /* c2_fistp */ case 987: /* c2_insn_store */ { unsigned char _core2_store_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_store_transitions [core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6]; if (temp >= 8) return internal_min_issue_delay (insn_code, chip); else _core2_store_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_store_automaton_state = _core2_store_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 946: /* c2_fdiv_SF */ case 948: /* c2_fdiv_DF */ case 950: /* c2_fdiv_XF */ { unsigned char _core2_fdiv_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_fdiv_transitions [core2_fdiv_translate [insn_code] + chip->core2_fdiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _core2_fdiv_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_fdiv_automaton_state = _core2_fdiv_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 947: /* c2_fdiv_SF_load */ case 949: /* c2_fdiv_DF_load */ case 951: /* c2_fdiv_XF_load */ { unsigned char _core2_load_automaton_state; unsigned char _core2_fdiv_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_fdiv_transitions [core2_fdiv_translate [insn_code] + chip->core2_fdiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _core2_fdiv_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_load_automaton_state = _core2_load_automaton_state; chip->core2_fdiv_automaton_state = _core2_fdiv_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 972: /* c2_sse_div_SF */ case 974: /* c2_sse_div_DF */ { unsigned char _core2_ssediv_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_ssediv_transitions [core2_ssediv_translate [insn_code] + chip->core2_ssediv_automaton_state * 4]; if (temp >= 32) return internal_min_issue_delay (insn_code, chip); else _core2_ssediv_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_ssediv_automaton_state = _core2_ssediv_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 973: /* c2_sse_div_SF_load */ case 975: /* c2_sse_div_DF_load */ { unsigned char _core2_load_automaton_state; unsigned char _core2_ssediv_automaton_state; unsigned char _core2_core_automaton_state; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_ssediv_transitions [core2_ssediv_translate [insn_code] + chip->core2_ssediv_automaton_state * 4]; if (temp >= 32) return internal_min_issue_delay (insn_code, chip); else _core2_ssediv_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->core2_decoder_automaton_state = temp; chip->core2_load_automaton_state = _core2_load_automaton_state; chip->core2_ssediv_automaton_state = _core2_ssediv_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; return -1; } case 989: /* $advance_cycle */ { unsigned char _core2_store_automaton_state; unsigned char _core2_load_automaton_state; unsigned char _core2_ssediv_automaton_state; unsigned char _core2_fdiv_automaton_state; unsigned char _core2_idiv_automaton_state; unsigned char _core2_core_automaton_state; unsigned char _core2_decoder_automaton_state; unsigned short _slm_automaton_state; unsigned char _atom_automaton_state; unsigned short _geode_automaton_state; unsigned short _btver2_fp_automaton_state; unsigned char _btver2_agu_automaton_state; unsigned char _btver2_int_automaton_state; unsigned char _btver2_automaton_state; unsigned char _bdver3_agu_automaton_state; unsigned short _bdver3_fp_automaton_state; unsigned short _bdver3_load_automaton_state; unsigned short _bdver3_ieu_automaton_state; unsigned char _bdver3_automaton_state; unsigned char _bdver1_agu_automaton_state; unsigned short _bdver1_fp_automaton_state; unsigned short _bdver1_load_automaton_state; unsigned short _bdver1_ieu_automaton_state; unsigned char _bdver1_automaton_state; unsigned short _athlon_fp_automaton_state; unsigned char _athlon_mult_automaton_state; unsigned char _athlon_load_automaton_state; unsigned char _athlon_automaton_state; unsigned char _k6_branch_unit_automaton_state; unsigned char _k6_fpu_unit_automaton_state; unsigned char _k6_integer_units_automaton_state; unsigned char _k6_store_unit_automaton_state; unsigned char _k6_load_unit_automaton_state; unsigned char _k6_decoder_automaton_state; unsigned char _ppro_store_automaton_state; unsigned char _ppro_load_automaton_state; unsigned char _ppro_fdiv_automaton_state; unsigned char _ppro_idiv_automaton_state; unsigned char _ppro_core_automaton_state; unsigned char _ppro_decoder_automaton_state; unsigned char _pentium_fpu_automaton_state; temp = core2_store_transitions [core2_store_translate [insn_code] + chip->core2_store_automaton_state * 6]; if (temp >= 8) return internal_min_issue_delay (insn_code, chip); else _core2_store_automaton_state = temp; temp = core2_load_transitions [core2_load_translate [insn_code] + chip->core2_load_automaton_state * 5]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _core2_load_automaton_state = temp; temp = core2_ssediv_transitions [core2_ssediv_translate [insn_code] + chip->core2_ssediv_automaton_state * 4]; if (temp >= 32) return internal_min_issue_delay (insn_code, chip); else _core2_ssediv_automaton_state = temp; temp = core2_fdiv_transitions [core2_fdiv_translate [insn_code] + chip->core2_fdiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _core2_fdiv_automaton_state = temp; temp = core2_idiv_transitions [core2_idiv_translate [insn_code] + chip->core2_idiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _core2_idiv_automaton_state = temp; temp = core2_core_transitions [core2_core_translate [insn_code] + chip->core2_core_automaton_state * 17]; if (temp >= 128) return internal_min_issue_delay (insn_code, chip); else _core2_core_automaton_state = temp; temp = core2_decoder_transitions [core2_decoder_translate [insn_code] + chip->core2_decoder_automaton_state * 4]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else _core2_decoder_automaton_state = temp; temp = slm_base [chip->slm_automaton_state] + slm_translate [insn_code]; if (slm_check [temp] != chip->slm_automaton_state) return internal_min_issue_delay (insn_code, chip); else _slm_automaton_state = slm_transitions [temp]; temp = atom_base [chip->atom_automaton_state] + atom_translate [insn_code]; if (atom_check [temp] != chip->atom_automaton_state) return internal_min_issue_delay (insn_code, chip); else _atom_automaton_state = atom_transitions [temp]; temp = geode_base [chip->geode_automaton_state] + geode_translate [insn_code]; if (geode_check [temp] != chip->geode_automaton_state) return internal_min_issue_delay (insn_code, chip); else _geode_automaton_state = geode_transitions [temp]; temp = btver2_fp_base [chip->btver2_fp_automaton_state] + btver2_fp_translate [insn_code]; if (btver2_fp_check [temp] != chip->btver2_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _btver2_fp_automaton_state = btver2_fp_transitions [temp]; temp = btver2_agu_transitions [btver2_agu_translate [insn_code] + chip->btver2_agu_automaton_state * 10]; if (temp >= 39) return internal_min_issue_delay (insn_code, chip); else _btver2_agu_automaton_state = temp; temp = btver2_int_base [chip->btver2_int_automaton_state] + btver2_int_translate [insn_code]; if (btver2_int_check [temp] != chip->btver2_int_automaton_state) return internal_min_issue_delay (insn_code, chip); else _btver2_int_automaton_state = btver2_int_transitions [temp]; temp = btver2_transitions [btver2_translate [insn_code] + chip->btver2_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _btver2_automaton_state = temp; temp = bdver3_agu_transitions [bdver3_agu_translate [insn_code] + chip->bdver3_agu_automaton_state * 7]; if (temp >= 30) return internal_min_issue_delay (insn_code, chip); else _bdver3_agu_automaton_state = temp; temp = bdver3_fp_transitions [bdver3_fp_translate [insn_code] + chip->bdver3_fp_automaton_state * 18]; if (temp >= 2610) return internal_min_issue_delay (insn_code, chip); else _bdver3_fp_automaton_state = temp; temp = bdver3_load_transitions [bdver3_load_translate [insn_code] + chip->bdver3_load_automaton_state * 14]; if (temp >= 361) return internal_min_issue_delay (insn_code, chip); else _bdver3_load_automaton_state = temp; temp = bdver3_ieu_transitions [bdver3_ieu_translate [insn_code] + chip->bdver3_ieu_automaton_state * 9]; if (temp >= 256) return internal_min_issue_delay (insn_code, chip); else _bdver3_ieu_automaton_state = temp; temp = bdver3_transitions [bdver3_translate [insn_code] + chip->bdver3_automaton_state * 5]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else _bdver3_automaton_state = temp; temp = bdver1_agu_transitions [bdver1_agu_translate [insn_code] + chip->bdver1_agu_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _bdver1_agu_automaton_state = temp; temp = bdver1_fp_base [chip->bdver1_fp_automaton_state] + bdver1_fp_translate [insn_code]; if (bdver1_fp_check [temp] != chip->bdver1_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _bdver1_fp_automaton_state = bdver1_fp_transitions [temp]; temp = bdver1_load_transitions [bdver1_load_translate [insn_code] + chip->bdver1_load_automaton_state * 11]; if (temp >= 291) return internal_min_issue_delay (insn_code, chip); else _bdver1_load_automaton_state = temp; temp = bdver1_ieu_transitions [bdver1_ieu_translate [insn_code] + chip->bdver1_ieu_automaton_state * 11]; if (temp >= 808) return internal_min_issue_delay (insn_code, chip); else _bdver1_ieu_automaton_state = temp; temp = bdver1_transitions [bdver1_translate [insn_code] + chip->bdver1_automaton_state * 6]; if (temp >= 7) return internal_min_issue_delay (insn_code, chip); else _bdver1_automaton_state = temp; temp = athlon_fp_base [chip->athlon_fp_automaton_state] + athlon_fp_translate [insn_code]; if (athlon_fp_check [temp] != chip->athlon_fp_automaton_state) return internal_min_issue_delay (insn_code, chip); else _athlon_fp_automaton_state = athlon_fp_transitions [temp]; temp = athlon_mult_transitions [athlon_mult_translate [insn_code] + chip->athlon_mult_automaton_state * 4]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else _athlon_mult_automaton_state = temp; temp = athlon_load_transitions [athlon_load_translate [insn_code] + chip->athlon_load_automaton_state * 11]; if (temp >= 162) return internal_min_issue_delay (insn_code, chip); else _athlon_load_automaton_state = temp; temp = athlon_transitions [athlon_translate [insn_code] + chip->athlon_automaton_state * 11]; if (temp >= 76) return internal_min_issue_delay (insn_code, chip); else _athlon_automaton_state = temp; temp = k6_branch_unit_transitions [k6_branch_unit_translate [insn_code] + chip->k6_branch_unit_automaton_state * 3]; if (temp >= 2) return internal_min_issue_delay (insn_code, chip); else _k6_branch_unit_automaton_state = temp; temp = k6_fpu_unit_transitions [k6_fpu_unit_translate [insn_code] + chip->k6_fpu_unit_automaton_state * 5]; if (temp >= 57) return internal_min_issue_delay (insn_code, chip); else _k6_fpu_unit_automaton_state = temp; temp = k6_integer_units_base [chip->k6_integer_units_automaton_state] + k6_integer_units_translate [insn_code]; if (k6_integer_units_check [temp] != chip->k6_integer_units_automaton_state) return internal_min_issue_delay (insn_code, chip); else _k6_integer_units_automaton_state = k6_integer_units_transitions [temp]; temp = k6_store_unit_transitions [k6_store_unit_translate [insn_code] + chip->k6_store_unit_automaton_state * 6]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else _k6_store_unit_automaton_state = temp; temp = k6_load_unit_transitions [k6_load_unit_translate [insn_code] + chip->k6_load_unit_automaton_state * 4]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _k6_load_unit_automaton_state = temp; temp = k6_decoder_transitions [k6_decoder_translate [insn_code] + chip->k6_decoder_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _k6_decoder_automaton_state = temp; temp = ppro_store_transitions [ppro_store_translate [insn_code] + chip->ppro_store_automaton_state * 7]; if (temp >= 11) return internal_min_issue_delay (insn_code, chip); else _ppro_store_automaton_state = temp; temp = ppro_load_transitions [ppro_load_translate [insn_code] + chip->ppro_load_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _ppro_load_automaton_state = temp; temp = ppro_fdiv_transitions [ppro_fdiv_translate [insn_code] + chip->ppro_fdiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _ppro_fdiv_automaton_state = temp; temp = ppro_idiv_transitions [ppro_idiv_translate [insn_code] + chip->ppro_idiv_automaton_state * 5]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _ppro_idiv_automaton_state = temp; temp = ppro_core_base [chip->ppro_core_automaton_state] + ppro_core_translate [insn_code]; if (ppro_core_check [temp] != chip->ppro_core_automaton_state) return internal_min_issue_delay (insn_code, chip); else _ppro_core_automaton_state = ppro_core_transitions [temp]; temp = ppro_decoder_transitions [ppro_decoder_translate [insn_code] + chip->ppro_decoder_automaton_state * 4]; if (temp >= 4) return internal_min_issue_delay (insn_code, chip); else _ppro_decoder_automaton_state = temp; temp = pentium_fpu_base [chip->pentium_fpu_automaton_state] + pentium_fpu_translate [insn_code]; if (pentium_fpu_check [temp] != chip->pentium_fpu_automaton_state) return internal_min_issue_delay (insn_code, chip); else _pentium_fpu_automaton_state = pentium_fpu_transitions [temp]; temp = pentium_base [chip->pentium_automaton_state] + pentium_translate [insn_code]; if (pentium_check [temp] != chip->pentium_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->pentium_automaton_state = pentium_transitions [temp]; chip->core2_store_automaton_state = _core2_store_automaton_state; chip->core2_load_automaton_state = _core2_load_automaton_state; chip->core2_ssediv_automaton_state = _core2_ssediv_automaton_state; chip->core2_fdiv_automaton_state = _core2_fdiv_automaton_state; chip->core2_idiv_automaton_state = _core2_idiv_automaton_state; chip->core2_core_automaton_state = _core2_core_automaton_state; chip->core2_decoder_automaton_state = _core2_decoder_automaton_state; chip->slm_automaton_state = _slm_automaton_state; chip->atom_automaton_state = _atom_automaton_state; chip->geode_automaton_state = _geode_automaton_state; chip->btver2_fp_automaton_state = _btver2_fp_automaton_state; chip->btver2_agu_automaton_state = _btver2_agu_automaton_state; chip->btver2_int_automaton_state = _btver2_int_automaton_state; chip->btver2_automaton_state = _btver2_automaton_state; chip->bdver3_agu_automaton_state = _bdver3_agu_automaton_state; chip->bdver3_fp_automaton_state = _bdver3_fp_automaton_state; chip->bdver3_load_automaton_state = _bdver3_load_automaton_state; chip->bdver3_ieu_automaton_state = _bdver3_ieu_automaton_state; chip->bdver3_automaton_state = _bdver3_automaton_state; chip->bdver1_agu_automaton_state = _bdver1_agu_automaton_state; chip->bdver1_fp_automaton_state = _bdver1_fp_automaton_state; chip->bdver1_load_automaton_state = _bdver1_load_automaton_state; chip->bdver1_ieu_automaton_state = _bdver1_ieu_automaton_state; chip->bdver1_automaton_state = _bdver1_automaton_state; chip->athlon_fp_automaton_state = _athlon_fp_automaton_state; chip->athlon_mult_automaton_state = _athlon_mult_automaton_state; chip->athlon_load_automaton_state = _athlon_load_automaton_state; chip->athlon_automaton_state = _athlon_automaton_state; chip->k6_branch_unit_automaton_state = _k6_branch_unit_automaton_state; chip->k6_fpu_unit_automaton_state = _k6_fpu_unit_automaton_state; chip->k6_integer_units_automaton_state = _k6_integer_units_automaton_state; chip->k6_store_unit_automaton_state = _k6_store_unit_automaton_state; chip->k6_load_unit_automaton_state = _k6_load_unit_automaton_state; chip->k6_decoder_automaton_state = _k6_decoder_automaton_state; chip->ppro_store_automaton_state = _ppro_store_automaton_state; chip->ppro_load_automaton_state = _ppro_load_automaton_state; chip->ppro_fdiv_automaton_state = _ppro_fdiv_automaton_state; chip->ppro_idiv_automaton_state = _ppro_idiv_automaton_state; chip->ppro_core_automaton_state = _ppro_core_automaton_state; chip->ppro_decoder_automaton_state = _ppro_decoder_automaton_state; chip->pentium_fpu_automaton_state = _pentium_fpu_automaton_state; return -1; } default: return -1; } } static int *dfa_insn_codes; static int dfa_insn_codes_length; static void dfa_insn_code_enlarge (int uid) { int i = dfa_insn_codes_length; dfa_insn_codes_length = 2 * uid; dfa_insn_codes = XRESIZEVEC (int, dfa_insn_codes, dfa_insn_codes_length); for (; i < dfa_insn_codes_length; i++) dfa_insn_codes[i] = -1; } static inline int dfa_insn_code (rtx insn) { int uid = INSN_UID (insn); int insn_code; if (uid >= dfa_insn_codes_length) dfa_insn_code_enlarge (uid); insn_code = dfa_insn_codes[uid]; if (insn_code < 0) { insn_code = internal_dfa_insn_code (insn); dfa_insn_codes[uid] = insn_code; } return insn_code; } int state_transition (state_t state, rtx insn) { int insn_code; if (insn == 0) insn_code = DFA__ADVANCE_CYCLE; else { insn_code = dfa_insn_code (insn); if (insn_code > DFA__ADVANCE_CYCLE) return -1; } return internal_state_transition (insn_code, (struct DFA_chip *) state); } int min_issue_delay (state_t state, rtx insn) { int insn_code; if (insn != 0) { insn_code = dfa_insn_code (insn); if (insn_code > DFA__ADVANCE_CYCLE) return 0; } else insn_code = DFA__ADVANCE_CYCLE; return internal_min_issue_delay (insn_code, (struct DFA_chip *) state); } static int internal_state_dead_lock_p (struct DFA_chip *ARG_UNUSED (chip)) { return 0/* FALSE */; } int state_dead_lock_p (state_t state) { return internal_state_dead_lock_p ((struct DFA_chip *) state); } int state_size (void) { return sizeof (struct DFA_chip); } static inline void internal_reset (struct DFA_chip *chip) { memset (chip, 0, sizeof (struct DFA_chip)); } void state_reset (state_t state) { internal_reset ((struct DFA_chip *) state); } int min_insn_conflict_delay (state_t state, rtx insn, rtx insn2) { struct DFA_chip DFA_chip; int insn_code, insn2_code, transition; if (insn == 0) insn_code = DFA__ADVANCE_CYCLE; else { insn_code = dfa_insn_code (insn); if (insn_code > DFA__ADVANCE_CYCLE) return 0; } if (insn2 == 0) insn2_code = DFA__ADVANCE_CYCLE; else { insn2_code = dfa_insn_code (insn2); if (insn2_code > DFA__ADVANCE_CYCLE) return 0; } memcpy (&DFA_chip, state, sizeof (DFA_chip)); internal_reset (&DFA_chip); transition = internal_state_transition (insn_code, &DFA_chip); gcc_assert (transition <= 0); return internal_min_issue_delay (insn2_code, &DFA_chip); } static const unsigned char default_latencies[] = { 11, 12, 1, 1, 3, 2, 1, 1, 1, 10, 1, 3, 3, 39, 70, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 6, 1, 4, 1, 1, 4, 1, 1, 4, 1, 6, 4, 4, 4, 19, 19, 23, 23, 39, 39, 3, 5, 3, 5, 1, 5, 2, 1, 4, 1, 1, 3, 1, 3, 5, 6, 18, 19, 32, 33, 38, 39, 1, 2, 3, 3, 4, 3, 3, 3, 3, 3, 3, 1, 1, 4, 4, 18, 18, 4, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 4, 5, 5, 48, 48, 2, 2, 1, 2, 3, 1, 3, 1, 4, 1, 3, 3, 2, 4, 4, 17, 19, 1, 3, 3, 1, 0, 2, 1, 2, 1, 1, 3, 5, 10, 2, 2, 10, 2, 6, 6, 2, 2, 56, 0, 0, 0, 2, 4, 3, 3, 3, 3, 2, 1, 5, 4, 3, 4, 8, 7, 6, 6, 9, 6, 1, 1, 2, 2, 3, 4, 4, 6, 6, 1, 4, 4, 6, 6, 1, 1, 2, 2, 12, 13, 0, 2, 10, 8, 4, 2, 4, 2, 4, 6, 4, 4, 6, 4, 2, 24, 13, 24, 11, 103, 100, 7, 7, 17, 15, 3, 5, 3, 2, 4, 2, 0, 2, 2, 2, 0, 1, 1, 0, 2, 2, 4, 3, 3, 2, 2, 2, 2, 2, 2, 4, 3, 3, 2, 3, 5, 4, 3, 3, 2, 2, 4, 2, 3, 5, 4, 3, 3, 2, 4, 6, 5, 4, 3, 4, 6, 4, 5, 7, 6, 5, 5, 4, 4, 7, 2, 7, 5, 4, 3, 2, 6, 9, 9, 9, 9, 11, 14, 14, 14, 9, 9, 12, 8, 8, 9, 8, 7, 9, 10, 9, 9, 8, 9, 7, 4, 6, 4, 5, 7, 6, 5, 5, 4, 20, 22, 20, 39, 35, 22, 39, 39, 20, 5, 0, 1, 1, 3, 1, 6, 4, 10, 8, 6, 10, 6, 1, 2, 4, 5, 6, 4, 4, 5, 4, 5, 13, 5, 8, 2, 2, 2, 10, 6, 10, 6, 2, 46, 42, 103, 100, 17, 15, 6, 2, 6, 2, 2, 4, 5, 4, 4, 5, 4, 4, 4, 4, 4, 5, 4, 4, 3, 2, 2, 7, 3, 6, 2, 6, 2, 6, 2, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 6, 2, 8, 4, 8, 4, 6, 2, 8, 4, 11, 7, 10, 6, 8, 4, 6, 2, 31, 27, 28, 24, 31, 27, 28, 24, 3, 2, 1, 1, 3, 1, 6, 4, 10, 8, 6, 1, 2, 4, 5, 5, 4, 4, 13, 2, 4, 2, 2, 2, 10, 6, 6, 6, 2, 42, 42, 143, 17, 15, 6, 2, 6, 2, 2, 4, 5, 4, 4, 5, 4, 4, 4, 4, 4, 5, 4, 4, 3, 2, 2, 7, 3, 6, 2, 7, 6, 3, 2, 6, 2, 6, 2, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 6, 2, 8, 4, 8, 4, 6, 2, 8, 4, 11, 7, 10, 6, 8, 4, 6, 2, 27, 27, 27, 24, 27, 27, 27, 24, 3, 2, 4, 1, 4, 1, 3, 1, 6, 3, 9, 6, 41, 44, 25, 28, 17, 20, 12, 15, 7, 4, 4, 4, 4, 4, 1, 19, 11, 24, 11, 9, 2, 8, 3, 10, 5, 2, 24, 19, 12, 7, 7, 2, 6, 1, 1, 2, 7, 2, 7, 2, 7, 21, 26, 54, 59, 16, 21, 27, 32, 42, 42, 1, 4, 2, 5, 4, 8, 8, 3, 8, 3, 11, 6, 8, 3, 6, 1, 6, 1, 6, 6, 1, 6, 6, 6, 6, 1, 7, 2, 8, 3, 11, 6, 43, 38, 9, 7, 4, 2, 17, 12, 3, 2, 6, 1, 1, 6, 3, 1, 2, 8, 3, 14, 9, 16, 11, 8, 8, 3, 2, 7, 9, 4, 3, 6, 1, 6, 1, 7, 2, 8, 3, 8, 8, 11, 3, 6, 6, 1, 6, 1, 3, 6, 8, 3, 11, 6, 11, 6, 12, 7, 14, 9, 8, 3, 7, 2, 7, 2, 6, 6, 1, 2, 1, 7, 6, 19, 14, 4, 2, 24, 19, 9, 7, 1, 2, 7, 40, 2, 1, 1, 2, 4, 2, 1, 6, 1, 4, 10, 47, 54, 12, 1, 2, 9, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 5, 5, 10, 65, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 4, 5, 6, 1, 1, 2, 1, 4, 1, 1, 1, 7, 1, 1, 3, 1, 2, 5, 5, 8, 5, 4, 1, 10, 5, 5, 7, 5, 8, 62, 1, 1, 9, 1, 9, 1, 1, 2, 2, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 3, 3, 4, 33, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 3, 3, 1, 1, 1, 1, 1, 4, 5, 4, 1, 1, 2, 5, 4, 1, 1, 1, 9, 1, 1, 3, 1, 2, 3, 3, 4, 5, 4, 1, 1, 5, 5, 2, 2, 4, 1, 4, 13, 1, 1, 6, 1, 1, 4, 1, 2, 2, 1, 1, 1, 1, 4, 1, 6, 4, 3, 3, 5, 5, 19, 19, 23, 23, 39, 39, 0, 3, 5, 3, 5, 1, 5, 2, 1, 4, 1, 1, 3, 1, 3, 5, 6, 18, 19, 32, 33, 38, 39, 1, 2, 1, 2, 1, 2, 2, 3, 3, 3, 4, 3, 3, 4, 3, 3, 4, 4, 5, 5, 18, 18, 32, 32, 4, 4, 4, 4, 3, 3, 1, 2, 1, 1, 4, 1, 4, }; static int internal_insn_latency (int insn_code ATTRIBUTE_UNUSED, int insn2_code ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED, rtx insn2 ATTRIBUTE_UNUSED) { if (insn_code >= DFA__ADVANCE_CYCLE || insn2_code >= DFA__ADVANCE_CYCLE) return 0; switch (insn_code) { case 7: switch (insn2_code) { case 7: return 0; case 8: return 0; case 9: return 0; } break; case 8: switch (insn2_code) { case 7: return 0; case 8: return 0; case 9: return 0; } break; case 726: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 727: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 728: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 729: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 730: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 731: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 732: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 734: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 735: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 736: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 737: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 739: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 741: switch (insn2_code) { case 728: return 0; case 726: return 0; case 730: return 0; case 732: return 0; case 734: return 0; case 736: return 0; case 743: return 0; case 764: return 0; case 766: return 0; case 769: return 0; case 727: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 729: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 731: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 737: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 739: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 735: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 767: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 811: if (!ix86_agi_dependent (insn, insn2)) return 0; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 3; if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 3; if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 3; if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 3; if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 746: if (ix86_dep_by_shift_count (insn, insn2)) return 3; break; case 749: if (ix86_dep_by_shift_count (insn, insn2)) return 3; break; case 751: if (ix86_dep_by_shift_count (insn, insn2)) return 3; break; case 753: if (ix86_dep_by_shift_count (insn, insn2)) return 3; break; } break; case 743: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 745: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 748: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 750: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 752: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 766: return 2; case 728: return 2; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 754: switch (insn2_code) { case 741: return 9; case 727: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 9; break; } break; case 755: switch (insn2_code) { case 741: return 9; case 727: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 9; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 9; break; } break; case 758: switch (insn2_code) { case 766: return 2; case 728: return 2; } break; case 760: switch (insn2_code) { case 766: return 2; case 728: return 2; } break; case 764: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 766: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 767: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 769: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 811: switch (insn2_code) { case 741: return 4; case 727: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 729: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 731: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 733: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 735: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 744: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 737: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 739: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 755: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 759: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 761: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 767: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 776: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 778: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 811: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 798: if (ix86_agi_dependent (insn, insn2)) return 4; break; case 746: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 749: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 751: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 753: if (ix86_agi_dependent (insn, insn2)) return 4; if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 745: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 748: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 750: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 752: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 815: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 816: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 817: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 818: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 819: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 821: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 822: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 824: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 825: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 826: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 827: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 829: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 831: switch (insn2_code) { case 835: if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (!ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 833: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 835: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 838: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 840: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 842: switch (insn2_code) { case 856: return 2; case 817: return 2; case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 848: switch (insn2_code) { case 856: return 2; case 817: return 2; } break; case 850: switch (insn2_code) { case 856: return 2; case 817: return 2; } break; case 854: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 856: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 857: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 859: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; case 903: switch (insn2_code) { case 835: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 838: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 840: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 842: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 836: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 839: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 841: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; case 843: if (ix86_dep_by_shift_count (insn, insn2)) return 2; break; } break; } return default_latencies[insn_code]; } int insn_latency (rtx insn, rtx insn2) { int insn_code, insn2_code; if (insn == 0) insn_code = DFA__ADVANCE_CYCLE; else { insn_code = dfa_insn_code (insn); if (insn_code > DFA__ADVANCE_CYCLE) return 0; } if (insn2 == 0) insn2_code = DFA__ADVANCE_CYCLE; else { insn2_code = dfa_insn_code (insn2); if (insn2_code > DFA__ADVANCE_CYCLE) return 0; } return internal_insn_latency (insn_code, insn2_code, insn, insn2); } static int internal_maximal_insn_latency (int insn_code ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED) { switch (insn_code) { case 7: { return 1; } break; case 8: { return 1; } break; case 726: { return 4; } break; case 727: { return 4; } break; case 728: { return 4; } break; case 729: { return 4; } break; case 730: { return 4; } break; case 731: { return 4; } break; case 732: { return 4; } break; case 734: { return 4; } break; case 735: { return 4; } break; case 736: { return 4; } break; case 737: { return 4; } break; case 739: { return 4; } break; case 741: { return 3; } break; case 743: { return 4; } break; case 745: { return 4; } break; case 748: { return 4; } break; case 750: { return 4; } break; case 752: { return 4; } break; case 754: { return 9; } break; case 755: { return 9; } break; case 758: { return 2; } break; case 760: { return 2; } break; case 764: { return 4; } break; case 766: { return 4; } break; case 767: { return 4; } break; case 769: { return 4; } break; case 811: { return 4; } break; case 815: { return 2; } break; case 816: { return 2; } break; case 817: { return 2; } break; case 818: { return 2; } break; case 819: { return 2; } break; case 821: { return 2; } break; case 822: { return 2; } break; case 824: { return 2; } break; case 825: { return 2; } break; case 826: { return 2; } break; case 827: { return 2; } break; case 829: { return 2; } break; case 831: { return 2; } break; case 833: { return 2; } break; case 835: { return 2; } break; case 838: { return 2; } break; case 840: { return 2; } break; case 842: { return 2; } break; case 848: { return 2; } break; case 850: { return 2; } break; case 854: { return 2; } break; case 856: { return 2; } break; case 857: { return 2; } break; case 859: { return 2; } break; case 903: { return 2; } break; } return default_latencies[insn_code]; } int maximal_insn_latency (rtx insn) { int insn_code; if (insn == 0) insn_code = DFA__ADVANCE_CYCLE; else { insn_code = dfa_insn_code (insn); if (insn_code > DFA__ADVANCE_CYCLE) return 0; } return internal_maximal_insn_latency (insn_code, insn); } void print_reservation (FILE *f, rtx insn ATTRIBUTE_UNUSED) { static const char *const reservation_names[] = { "pentium-np*11", "pentium-np*12", "(pentium-np+pentium-fp)", "(pentium-fp+pentium-np)", "((pentium-fp+pentium-np))*3", "((pentium-fp+pentium-np))*2", "pentium-firstuv", "pentium-firstuv", "pentium-firstuv", "pentium-firstv,pentium-v*9", "pentium-firstv", "(pentium-firstu+pentium-fp),nothing,nothing", "(pentium-firstuv+pentium-fp+pentium-fmul),pentium-fmul,nothing", "(pentium-np+pentium-fp+pentium-fmul),((pentium-fp+pentium-fmul))*36,pentium-fmul*2", "(pentium-np+pentium-fp+pentium-fmul),((pentium-fp+pentium-fmul))*67,pentium-fmul*2", "pentium-firstuvboth,(pentium-uv+pentium-memory),pentium-uv", "pentium-firstuboth,(pentium-u+pentium-memory),pentium-u", "pentium-firstvboth,(pentium-v+pentium-memory),pentium-v", "pentium-np,pentium-np,pentium-np", "pentium-firstuvload,pentium-uv", "pentium-firstuload,pentium-u", "pentium-firstvload,pentium-v", "pentium-np,pentium-np", "pentium-firstuv", "pentium-firstu", "pentium-firstv", "pentium-np", "decoder0", "decodern,p0|p1", "decodern,p2", "decoder0,(p4+p3)", "decodern,p0|p1", "decodern,p2", "decodern,p0", "decodern,p0", "decoder0,(p2+p0),(p4+p3)", "decodern,p1", "decoder0,(p2+p1)", "decoder0,(p2+(p0|p1)),p0|p1", "decodern,p0", "decoder0,(p2+p0)", "decoder0,((p0+idiv))*2,((p0|p1)+idiv),idiv*9", "decoder0,(p2+p0+idiv),(p0+idiv),((p0|p1)+idiv),idiv*9", "decoder0,((p0+idiv))*3,((p0|p1)+idiv),idiv*17", "decoder0,(p2+p0+idiv),(p0+idiv),((p0|p1)+idiv),idiv*18", "decoder0,((p0+idiv))*3,((p0|p1)+idiv),idiv*33", "decoder0,(p2+p0+idiv),(p0+idiv),((p0|p1)+idiv),idiv*34", "decodern,p0", "decoder0,(p2+p0),p0", "decoder0,p0,p0,(p0+p4+p3)", "decoder0,(p2+p0),(p0+p4+p3)", "decodern,p0", "decoder0,p0*2,(p4+p3)", "decoder0,p0*2", "decodern,p0", "decoder0,(p2+p0)", "decodern,p0", "decodern,p2", "decoder0,((p2+p0))*2", "decodern,p0", "decoder0,(p0+p4),(p0+p3)", "decoder0,p0*2", "decoder0,(p2+p0),p0", "decodern,(p0+fdiv),fdiv*16", "decoder0,(p2+p0+fdiv),fdiv*16", "decodern,(p0+fdiv),fdiv*30", "decoder0,(p2+p0+fdiv),fdiv*30", "decodern,(p0+fdiv),fdiv*36", "decoder0,(p2+p0+fdiv),fdiv*36", "decodern,p1", "decoder0,(p2+p1)", "decodern,p0", "decoder0,(p2+p0)", "decodern,p1", "decoder0,(p4+p3)", "decodern,p0", "decodern,p1", "decoder0,(p2+p1)", "decoder0,p1", "decoder0,(p2+p1)", "decodern,p0", "decoder0,(p2+p0)", "decodern,p0", "decoder0,(p2+p0)", "decoder0,p0*17", "decoder0,(p2+p0),p0*16", "decoder0,((p2+p1))*2", "decoder0,(p2+p1)", "decoder0,p0|p1", "decoder0,(p2+(p0|p1))", "decoder0,(p4+p3)", "decoder0,p1*2", "decoder0,p1*2", "decoder0,((p2+p1))*2", "decoder0,p1*2", "decoder0,((p2+p1))*2", "decoder0,p1*2", "decoder0,p1,(p4+p3)", "decoder0,p0*2", "decoder0,((p2+p0))*2", "decoder0,p0*34", "decoder0,((p2+p0))*2,p0*32", "decodern,p1", "decoder0,(p2+p1)", "decoder0,(p0|p1)*2", "decoder0,p2*2", "decoder0,((p4+p3))*2", "decodern,p0|p1", "decoder0,(p2+(p0|p1))", "decoder0,p0|p1,(p4+p3)", "decoder0,(p2+(p0|p1)),(p4+p3)", "k6_decode_short,k6_alux", "k6_decode_short,k6_load,k6_alux", "k6_decode_long,k6_load,k6_alux,k6_store", "k6_decode_vector,k6_alux*3", "k6_decode_vector,k6_load,k6_alux*3", "k6_decode_vector,k6_load,k6_alux*3,k6_store", "k6_decode_vector,k6_alux*17", "k6_decode_vector,k6_load,k6_alux*17", "k6_decode_short,k6_alux|k6_aluy", "k6_decode_short,k6_load,k6_alux|k6_aluy", "k6_decode_long,k6_load,k6_alux|k6_aluy,k6_store", "k6_decode_short,k6_alux|k6_aluy", "k6_decode_short", "k6_decode_short,k6_load", "k6_decode_short,k6_store", "k6_decode_long,k6_load,k6_alux|k6_aluy", "k6_decode_vector,k6_branch", "k6_decode_short,k6_branch", "k6_decode_short,k6_load", "k6_decode_long,k6_load,(k6_alux|k6_aluy)*2", "k6_decode_vector,k6_load*10", "k6_decode_short,k6_store,k6_alux|k6_aluy", "k6_decode_short,k6_store", "k6_store*10", "k6_decode_vector,k6_fpu*2", "k6_decode_short,k6_load,k6_fpu*2", "k6_decode_short,k6_store,k6_fpu*2", "k6_decode_short,k6_fpu*2", "k6_decode_short,k6_load,k6_fpu*2", "k6_decode_short,k6_fpu*56", "athlon-direct,athlon-ieu", "athlon-vector,athlon-ieu", "athlon-double,athlon-ieu", "athlon-direct,athlon-agu,athlon-store", "athlon-vector,athlon-load,athlon-ieu", "athlon-double,(athlon-ieu+athlon-load)", "athlon-direct,(athlon-ieu+athlon-load)", "athlon-vector,(athlon-ieu+athlon-load)", "athlon-double,(athlon-ieu+athlon-load)", "athlon-direct,athlon-agu,nothing", "athlon-direct,athlon-agu,nothing", "athlon-vector,athlon-ieu0,athlon-mult,nothing,nothing,athlon-ieu0", "athlon-direct0,athlon-ieu0,athlon-mult,nothing,athlon-ieu0", "athlon-direct0,athlon-ieu0,athlon-mult,athlon-ieu0", "athlon-vector,athlon-ieu0,athlon-mult,nothing,athlon-ieu0", "athlon-vector,athlon-load,athlon-ieu,athlon-mult,nothing,nothing,athlon-ieu", "athlon-vector,athlon-load,athlon-ieu,athlon-mult,nothing,athlon-ieu", "athlon-vector,athlon-load,athlon-ieu,athlon-mult,athlon-ieu", "athlon-vector,(athlon-ieu0*6+(athlon-fpsched,athlon-fvector))", "athlon-vector,((athlon-load,athlon-ieu0*6)+(athlon-fpsched,athlon-fvector))", "athlon-vector,athlon-load,athlon-ieu0*6", "athlon-direct,athlon-ieu", "athlon-direct,athlon-ieu", "athlon-vector,athlon-ieu,athlon-ieu", "athlon-vector,athlon-ieu,athlon-ieu", "athlon-direct,athlon-load", "athlon-direct,athlon-load,athlon-ieu", "athlon-direct,athlon-load,athlon-ieu", "athlon-vector,athlon-load,athlon-ieu,athlon-ieu", "athlon-vector,athlon-load,athlon-ieu,athlon-ieu", "athlon-direct,athlon-agu,athlon-store", "athlon-direct,athlon-load,athlon-ieu,athlon-store,athlon-store", "athlon-direct,athlon-load,athlon-ieu,athlon-store,athlon-store", "athlon-vector,athlon-load,athlon-ieu,athlon-ieu,athlon-store", "athlon-vector,athlon-load,athlon-ieu,athlon-ieu,athlon-store", "athlon-direct,(athlon-ieu+athlon-agu),athlon-store", "athlon-direct,(athlon-ieu+athlon-agu),athlon-store", "athlon-vector,(athlon-ieu+athlon-agu),athlon-ieu,athlon-store", "athlon-vector,(athlon-ieu+athlon-agu),athlon-ieu,athlon-store", "athlon-vector,athlon-fpload2,athlon-fvector*9", "athlon-vector,athlon-fpload2k8,athlon-fvector*9", "athlon-direct,athlon-fpload,athlon-fany", "athlon-direct,athlon-fploadk8,athlon-fstore", "athlon-vector,(athlon-fpsched+athlon-agu),(athlon-store2+athlon-fvector*7)", "athlon-vector,(athlon-fpsched+athlon-agu),(athlon-store2+athlon-fvector*6)", "athlon-direct,(athlon-fpsched+athlon-agu),(athlon-fstore+athlon-store)", "athlon-direct,(athlon-fpsched+athlon-agu),(athlon-fstore+athlon-store)", "athlon-direct,(athlon-fpsched+athlon-agu),(athlon-fstore+athlon-store)", "athlon-direct,athlon-fpsched,athlon-faddmul", "athlon-direct,athlon-fpload,athlon-fadd", "athlon-direct,athlon-fploadk8,athlon-fadd", "athlon-direct,athlon-fpsched,athlon-fadd", "athlon-direct,athlon-fpload,athlon-fmul", "athlon-direct,athlon-fploadk8,athlon-fmul", "athlon-direct,athlon-fpsched,athlon-fmul", "athlon-direct,athlon-fpsched,athlon-fmul", "athlon-direct,athlon-fpload,athlon-fmul", "athlon-direct,athlon-fploadk8,athlon-fmul", "athlon-direct,athlon-fpsched,athlon-fmul", "athlon-direct,athlon-fpsched,athlon-fmul", "athlon-vector,athlon-fpload,athlon-fvector", "athlon-vector,athlon-fpsched,athlon-fvector", "athlon-vector,athlon-fpload,athlon-fvector", "athlon-vector,athlon-fpsched,athlon-fvector", "athlon-vector,athlon-fploadk8,athlon-fvector", "athlon-vector,athlon-fpsched,athlon-fvector", "athlon-vector,athlon-fpload,athlon-fadd", "athlon-vector,athlon-fploadk8,athlon-fadd", "athlon-vector,athlon-fpsched,athlon-fadd", "athlon-direct,athlon-fpload,athlon-fadd", "athlon-direct,athlon-fploadk8,athlon-fadd", "athlon-direct,athlon-fpsched,athlon-fadd", "athlon-direct,athlon-fpload,athlon-fany", "athlon-direct,athlon-fploadk8,athlon-fstore", "athlon-double,athlon-fploadk8,(athlon-fstore+athlon-fmul)", "athlon-double,athlon-fpload2k8,athlon-fstore,athlon-fstore", "athlon-vector,athlon-fpload2,(athlon-fany+athlon-fany)", "athlon-vector,athlon-fpload,athlon-fany*2", "athlon-double,athlon-fploadk8,(athlon-fstore+athlon-fany)", "athlon-direct,athlon-fpload,athlon-fany", "athlon-direct,athlon-fploadk8,athlon-fstore", "athlon-direct,athlon-fploadk8", "athlon-direct,athlon-fploadk8,athlon-fany", "athlon-vector,(athlon-fpsched+athlon-agu),((athlon-fstore+athlon-store2))*2", "athlon-double,(athlon-fpsched+athlon-agu),((athlon-fstore+athlon-store2))*2", "athlon-direct,(athlon-fpsched+athlon-agu),(athlon-fstore+athlon-store)", "athlon-double,(athlon-fpsched+athlon-agu),((athlon-fstore+athlon-store))*2", "athlon-direct,(athlon-fpsched+athlon-agu),(athlon-fstore+athlon-store)", "athlon-double,athlon-fpsched,(athlon-faddmul+athlon-faddmul)|(athlon-faddmul,athlon-faddmul)", "athlon-vector,athlon-fpsched,(athlon-faddmul+athlon-faddmul)", "athlon-direct,athlon-fpsched,athlon-faddmul", "athlon-direct,athlon-fpload,athlon-fmul", "athlon-direct,athlon-fpsched,athlon-fmul", "athlon-direct,athlon-fpload,athlon-faddmul", "athlon-direct,athlon-fpsched,athlon-faddmul", "athlon-vector,athlon-fpload2,athlon-fmul*2", "athlon-double,athlon-fpload2k8,athlon-fmul*2", "athlon-direct,athlon-fploadk8,athlon-fadd|athlon-fmul", "athlon-vector,athlon-fpsched,athlon-fmul*2", "athlon-double,athlon-fpsched,athlon-fmul", "athlon-direct,athlon-fpsched,athlon-fadd|athlon-fmul", "athlon-direct,athlon-fpload,athlon-fadd", "athlon-direct,athlon-fploadk8,athlon-fadd", "athlon-direct,athlon-fpsched,athlon-fadd", "athlon-vector,athlon-fpload2,athlon-fadd*2", "athlon-double,athlon-fpload2k8,athlon-fadd*2", "athlon-direct,athlon-fploadk8,athlon-fadd", "athlon-vector,athlon-fpsched,athlon-fadd*2", "athlon-double,athlon-fpsched,athlon-fadd*2", "athlon-direct,athlon-fpsched,athlon-fadd", "athlon-vector,athlon-fpload,athlon-fadd", "athlon-vector,athlon-fploadk8,athlon-fadd", "athlon-direct,athlon-fploadk8,athlon-fadd", "athlon-vector,athlon-fpsched,athlon-fadd", "athlon-direct,athlon-fpsched,athlon-fadd", "athlon-direct,athlon-fpload,athlon-fadd", "athlon-direct,athlon-fploadk8,athlon-fadd", "athlon-direct,athlon-fpsched,athlon-fadd", "athlon-vector,athlon-fpload2,athlon-fadd*2", "athlon-double,athlon-fpload2k8,athlon-fadd*2", "athlon-direct,athlon-fploadk8,athlon-fadd", "athlon-vector,athlon-fpsched,athlon-fadd*2", "athlon-double,athlon-fpsched,athlon-fadd*2", "athlon-direct,athlon-fpsched,athlon-fadd", "athlon-direct,athlon-fploadk8,athlon-fstore", "athlon-double,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-direct,athlon-fpsched,athlon-fstore", "athlon-vector,athlon-fpsched,athlon-faddmul,athlon-fstore*2", "athlon-double,athlon-fpload2k8,athlon-fstore*2", "athlon-direct,athlon-fploadk8,athlon-fstore", "athlon-double,athlon-fpsched,athlon-fstore,athlon-fstore", "athlon-direct,athlon-fpsched,athlon-fstore", "athlon-direct,athlon-fploadk8,athlon-fstore", "athlon-double,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-vector,athlon-fpload,athlon-fstore*2", "athlon-double,athlon-fploadk8,athlon-fstore*2", "athlon-double,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-double,athlon-fploadk8,athlon-fstore", "athlon-vector,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-vector,athlon-fploadk8,athlon-fvector*2", "athlon-vector,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-double,athlon-fploadk8,athlon-fstore*3", "athlon-double,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-vector,athlon-fpsched,athlon-fvector*3", "athlon-vector,athlon-fpsched,athlon-faddmul,athlon-fstore*2", "athlon-double,athlon-fpload2k8,athlon-fstore*3", "athlon-double,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-vector,athlon-fpsched,athlon-fvector*2", "athlon-double,athlon-fpsched,(athlon-faddmul+athlon-fstore)", "athlon-vector,athlon-fploadk8,athlon-fvector", "athlon-double,athlon-fploadk8,(athlon-fadd+athlon-fstore)", "athlon-vector,athlon-fpsched,athlon-fvector", "athlon-double,athlon-fpsched,athlon-fstore", "athlon-double,athlon-fpsched,(athlon-fadd+athlon-fstore)", "athlon-double,athlon-fploadk8,(athlon-faddmul+athlon-fstore)", "athlon-double,athlon-fpsched,(athlon-faddmul+athlon-fstore)", "athlon-direct,athlon-fpload,athlon-fmul", "athlon-direct,athlon-fploadk8,athlon-fmul", "athlon-direct,athlon-fpsched,athlon-fmul", "athlon-vector,athlon-fpload2,athlon-fmul*2", "athlon-double,athlon-fpload2k8,athlon-fmul*2", "athlon-direct,athlon-fploadk8,athlon-fmul", "athlon-vector,athlon-fpsched,athlon-fmul*2", "athlon-double,athlon-fpsched,athlon-fmul*2", "athlon-direct,athlon-fpsched,athlon-fmul", "athlon-direct,athlon-fpload,athlon-fmul*17", "athlon-direct,athlon-fploadk8,athlon-fmul*17", "athlon-direct,athlon-fpsched,athlon-fmul*17", "athlon-vector,athlon-fpload2,athlon-fmul*34", "athlon-double,athlon-fpload2k8,athlon-fmul*34", "athlon-direct,athlon-fploadk8,athlon-fmul*17", "athlon-vector,athlon-fmul*34", "athlon-double,athlon-fmul*34", "athlon-direct,athlon-fmul*17", "athlon-vector,athlon-fpsched,athlon-faddmul", "bdver1-double,bdver1-agu", "bdver1-direct,bdver1-agu,bdver1-store", "bdver1-direct,bdver1-ivector", "bdver1-vector,bdver1-ivector", "bdver1-direct,bdver1-agu", "bdver1-direct1,bdver1-ieu1", "bdver1-direct1,bdver1-ieu1", "bdver1-direct1,bdver1-load,bdver1-ieu1", "bdver1-direct1,bdver1-load,bdver1-ieu1", "bdver1-vector,(bdver1-ieu0*6+(bdver1-fpsched,bdver1-fvector))", "bdver1-vector,((bdver1-load,bdver1-ieu0*6)+(bdver1-fpsched,bdver1-fvector))", "bdver1-vector,bdver1-load,bdver1-ieu0*6", "bdver1-direct,bdver1-ieu", "bdver1-vector,bdver1-ieu,bdver1-ieu", "bdver1-direct,bdver1-load", "bdver1-direct,bdver1-load,bdver1-ieu", "bdver1-vector,bdver1-load,bdver1-ieu,bdver1-ieu", "bdver1-direct,bdver1-agu,bdver1-store", "bdver1-direct,bdver1-load,bdver1-ieu,bdver1-store,bdver1-store", "bdver1-vector,bdver1-load,bdver1-ieu,bdver1-ieu,bdver1-store", "bdver1-direct,(bdver1-ieu+bdver1-agu),bdver1-store", "bdver1-vector,(bdver1-ieu+bdver1-agu),bdver1-ieu,bdver1-store", "bdver1-vector,bdver1-fpload2,bdver1-fvector*9", "bdver1-direct,bdver1-fpload,bdver1-ffma", "bdver1-vector,(bdver1-fpsched+bdver1-agu),(bdver1-store2+bdver1-fvector*6)", "bdver1-double,(bdver1-fpsched+bdver1-agu),(bdver1-fsto+bdver1-store)", "bdver1-double,(bdver1-fpsched+bdver1-agu),(bdver1-fsto+bdver1-store)", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpload,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-double,bdver1-fpload,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpload,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-vector,bdver1-fpload,bdver1-fvector", "bdver1-vector,bdver1-fpload,bdver1-fvector", "bdver1-vector,bdver1-fpload,bdver1-fvector", "bdver1-vector,bdver1-fpsched,bdver1-fvector", "bdver1-double,bdver1-fpload,bdver1-ffma|bdver1-fsto", "bdver1-double,bdver1-fpsched,bdver1-ffma|bdver1-fsto", "bdver1-direct,bdver1-fpload,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpload", "bdver1-double,bdver1-fpload", "bdver1-direct,bdver1-fpload,bdver1-fmal", "bdver1-direct,bdver1-fpload,bdver1-fmal", "bdver1-double,bdver1-fpload,bdver1-fmal", "bdver1-direct,bdver1-fpload", "bdver1-direct,bdver1-fpload,bdver1-fmal", "bdver1-direct,bdver1-fpload", "bdver1-direct,bdver1-fpload,bdver1-ffma", "bdver1-direct,bdver1-fpload,bdver1-fmal", "bdver1-double,(bdver1-fpsched+bdver1-agu),((bdver1-fsto+bdver1-store))*2", "bdver1-direct,(bdver1-fpsched+bdver1-agu),((bdver1-fsto+bdver1-store))*2", "bdver1-direct,(bdver1-fpsched+bdver1-agu),(bdver1-fsto+bdver1-store)", "bdver1-double,bdver1-fpsched,bdver1-fmal", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-fmal", "bdver1-double,bdver1-fpload,bdver1-fmal", "bdver1-double,bdver1-fpsched,bdver1-fmal", "bdver1-direct,bdver1-fpload,bdver1-fxbar", "bdver1-direct,bdver1-fpsched,bdver1-fxbar", "bdver1-direct,bdver1-fpload,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-double,bdver1-fpload,bdver1-ffma|bdver1-fsto", "bdver1-double,bdver1-fpsched,bdver1-ffma|bdver1-fsto", "bdver1-vector,bdver1-fpload,bdver1-fvector", "bdver1-vector,bdver1-fpsched,bdver1-fvector", "bdver1-direct,bdver1-fpload,bdver1-fcvt", "bdver1-direct,bdver1-fpsched,bdver1-fcvt", "bdver1-direct,bdver1-fpload,bdver1-fcvt", "bdver1-double,bdver1-fpsched,nothing|bdver1-fcvt", "bdver1-double,bdver1-fpload,bdver1-fxbar|bdver1-fcvt", "bdver1-double,bdver1-fpsched,bdver1-fxbar|bdver1-fcvt", "bdver1-direct,bdver1-fpload,bdver1-fcvt", "bdver1-direct,bdver1-fpsched,bdver1-fcvt", "bdver1-double,bdver1-fpload,bdver1-fxbar|bdver1-fcvt", "bdver1-double,bdver1-fpsched,bdver1-fxbar|bdver1-fcvt", "bdver1-double,bdver1-fpload,bdver1-fxbar|bdver1-fcvt", "bdver1-double,bdver1-fpsched,bdver1-fxbar|bdver1-fcvt", "bdver1-double,bdver1-fpload,bdver1-fcvt|bdver1-fsto", "bdver1-double,bdver1-fpsched,bdver1-fcvt|bdver1-fsto", "bdver1-double,bdver1-fpload,bdver1-fcvt|bdver1-fxbar", "bdver1-double,bdver1-fpsched,bdver1-fcvt|bdver1-fxbar", "bdver1-double,bdver1-fpload,bdver1-fcvt|bdver1-fxbar", "bdver1-double,bdver1-fpsched,bdver1-fcvt|bdver1-fxbar", "bdver1-direct,bdver1-fpload,bdver1-fcvt", "bdver1-direct,bdver1-fpsched,bdver1-fcvt", "bdver1-double,bdver1-fpload,bdver1-ffma", "bdver1-double,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpload,bdver1-ffma", "bdver1-direct,bdver1-fpsched,bdver1-ffma", "bdver1-direct,bdver1-fpload,bdver1-fmma", "bdver1-direct,bdver1-fpsched,bdver1-fmma", "bdver1-direct,bdver1-fpload,bdver1-fmal", "bdver1-direct,bdver1-fpsched,bdver1-fmal", "bdver1-double,bdver1-fpload,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-double,bdver1-fpsched,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-double,bdver1-fpload,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-double,bdver1-fpsched,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-direct,bdver1-fpload,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-direct,bdver1-fpsched,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-direct,bdver1-fpload,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-direct,bdver1-fpsched,bdver1-ffma0*17|bdver1-ffma1*17", "bdver1-direct,bdver1-fpsched,bdver1-fxbar", "bdver3-double,bdver3-agu|bdver3-ieu,nothing", "bdver3-direct,bdver3-ieu,bdver3-store", "bdver3-direct,bdver3-ivector", "bdver3-vector,bdver3-ivector", "bdver3-direct,bdver3-ieu", "bdver3-direct,bdver3-ieu1", "bdver3-direct,bdver3-ieu1", "bdver3-direct,bdver3-load,bdver3-ieu1", "bdver3-direct,bdver3-load,bdver3-ieu1", "bdver3-vector,bdver3-load,bdver3-ivector", "bdver3-direct,bdver3-ieu|bdver3-agu", "bdver3-vector,bdver3-ivector", "bdver3-direct,bdver3-load", "bdver3-direct,bdver3-load,bdver3-ieu", "bdver3-direct,bdver3-ieu,bdver3-store", "bdver3-direct,bdver3-load,bdver3-ieu,bdver3-store,bdver3-store", "bdver3-direct,(bdver3-ieu+bdver3-agu),bdver3-store", "bdver3-vector,bdver3-fpload2,bdver3-fvector*9", "bdver3-direct,bdver3-fpload,bdver3-ffma", "bdver3-vector,(bdver3-fpsched+bdver3-agu),(bdver3-store2+bdver3-fvector*6)", "bdver3-double,bdver3-fpsched,(bdver3-fsto+bdver3-store)", "bdver3-double,bdver3-fpsched,(bdver3-fsto+bdver3-store)", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpload,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-double,bdver3-fpload,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpload,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-vector,bdver3-fpload,bdver3-fvector", "bdver3-vector,bdver3-fpload,bdver3-fvector", "bdver3-vector,bdver3-fpsched,bdver3-fvector", "bdver3-double,bdver3-fpload,bdver3-ffma|bdver3-fsto", "bdver3-double,bdver3-fpsched,bdver3-ffma|bdver3-fsto", "bdver3-direct,bdver3-fpload,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpload", "bdver3-double,bdver3-fpload", "bdver3-direct,bdver3-fpload,bdver3-fmal", "bdver3-direct,bdver3-fpload,bdver3-fmal", "bdver3-double,bdver3-fpload,bdver3-fmal", "bdver3-direct,bdver3-fpload", "bdver3-direct,bdver3-fpload,bdver3-fmal", "bdver3-direct,bdver3-fpload", "bdver3-direct,bdver3-fpload,bdver3-ffma", "bdver3-direct,bdver3-fpload,bdver3-fmal", "bdver3-double,bdver3-fpsched,((bdver3-fsto+bdver3-store))*2", "bdver3-direct,bdver3-fpsched,((bdver3-fsto+bdver3-store))*2", "bdver3-direct,bdver3-fpsched,(bdver3-fsto+bdver3-store)", "bdver3-double,bdver3-fpsched,bdver3-fmal", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-fmal", "bdver3-double,bdver3-fpload,bdver3-fmal", "bdver3-double,bdver3-fpsched,bdver3-fmal", "bdver3-direct,bdver3-fpload,bdver3-fxbar", "bdver3-direct,bdver3-fpsched,bdver3-fxbar", "bdver3-double,bdver3-fpload,bdver3-fpshuf", "bdver3-direct,bdver3-fpload,bdver3-fpshuf", "bdver3-double,bdver3-fpsched,bdver3-fpshuf", "bdver3-direct,bdver3-fpsched,bdver3-fpshuf", "bdver3-direct,bdver3-fpload,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-double,bdver3-fpload,bdver3-ffma|bdver3-fsto", "bdver3-double,bdver3-fpsched,bdver3-ffma|bdver3-fsto", "bdver3-vector,bdver3-fpload,bdver3-fvector", "bdver3-vector,bdver3-fpsched,bdver3-fvector", "bdver3-direct,bdver3-fpload,bdver3-fcvt", "bdver3-direct,bdver3-fpsched,bdver3-fcvt", "bdver3-direct,bdver3-fpload,bdver3-fcvt", "bdver3-double,bdver3-fpsched,nothing|bdver3-fcvt", "bdver3-double,bdver3-fpload,bdver3-fxbar|bdver3-fcvt", "bdver3-double,bdver3-fpsched,bdver3-fxbar|bdver3-fcvt", "bdver3-direct,bdver3-fpload,bdver3-fcvt", "bdver3-direct,bdver3-fpsched,bdver3-fcvt", "bdver3-double,bdver3-fpload,bdver3-fxbar|bdver3-fcvt", "bdver3-double,bdver3-fpsched,bdver3-fxbar|bdver3-fcvt", "bdver3-double,bdver3-fpload,bdver3-fxbar|bdver3-fcvt", "bdver3-double,bdver3-fpsched,bdver3-fxbar|bdver3-fcvt", "bdver3-double,bdver3-fpload,bdver3-fcvt|bdver3-fsto", "bdver3-double,bdver3-fpsched,bdver3-fcvt|bdver3-fsto", "bdver3-double,bdver3-fpload,bdver3-fcvt|bdver3-fxbar", "bdver3-double,bdver3-fpsched,bdver3-fcvt|bdver3-fxbar", "bdver3-double,bdver3-fpload,bdver3-fcvt|bdver3-fxbar", "bdver3-double,bdver3-fpsched,bdver3-fcvt|bdver3-fxbar", "bdver3-direct,bdver3-fpload,bdver3-fcvt", "bdver3-direct,bdver3-fpsched,bdver3-fcvt", "bdver3-double,bdver3-fpload,bdver3-ffma", "bdver3-double,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpload,bdver3-ffma", "bdver3-direct,bdver3-fpsched,bdver3-ffma", "bdver3-direct,bdver3-fpload,bdver3-fmma", "bdver3-direct,bdver3-fpsched,bdver3-fmma", "bdver3-direct,bdver3-fpload,bdver3-fmal", "bdver3-direct,bdver3-fpsched,bdver3-fmal", "bdver3-double,bdver3-fpload,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-double,bdver3-fpsched,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-double,bdver3-fpload,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-double,bdver3-fpsched,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-direct,bdver3-fpload,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-direct,bdver3-fpsched,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-direct,bdver3-fpload,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-direct,bdver3-fpsched,bdver3-ffma0*17|bdver3-ffma1*17", "bdver3-direct,bdver3-fpsched,bdver3-fxbar", "btver2-double,btver2-load", "btver2-direct,btver2-load,btver2-alu", "btver2-direct,btver2-alu", "btver2-direct,btver2-load,btver2-alu", "btver2-direct,btver2-alu", "btver2-double,btver2-alu", "btver2-direct,btver2-alu", "btver2-direct,btver2-mul*4", "btver2-direct,btver2-mul", "btver2-direct,btver2-load,btver2-mul*4", "btver2-direct,btver2-load,btver2-mul", "btver2-double,btver2-div", "btver2-double,btver2-load,btver2-div", "btver2-double,btver2-div*25", "btver2-double,btver2-load,btver2-div*25", "btver2-double,btver2-div*17", "btver2-double,btver2-load,btver2-div*17", "btver2-direct,btver2-div*12", "btver2-direct,btver2-load,btver2-div*12", "btver2-vector,btver2-ivector", "btver2-direct,btver2-load,btver2-alu", "btver2-direct,btver2-load,btver2-alu", "btver2-direct,btver2-alu,btver2-store", "btver2-direct,btver2-load,btver2-alu,btver2-store", "btver2-direct,btver2-alu,btver2-store", "btver2-direct,btver2-alu", "btver2-vector,btver2-load,btver2-fvector*5", "btver2-direct,btver2-load,btver2-fp0|btver2-fp1", "btver2-vector,btver2-fvector*9,btver2-store", "btver2-direct,btver2-fp1,btver2-store", "btver2-direct,btver2-load,btver2-fp1", "btver2-direct,btver2-fp0|btver2-fp1", "btver2-direct,btver2-load,btver2-fp0", "btver2-direct,btver2-fp0", "btver2-direct,btver2-load,btver2-fp1*3", "btver2-direct,btver2-fp1*3", "btver2-direct,btver2-fp1*2", "btver2-direct,btver2-load,btver2-fp1*19", "btver2-direct,btver2-fp1*19", "btver2-vector,btver2-load,(btver2-fp0|btver2-fp1)*7", "btver2-vector,(btver2-fp0|btver2-fp1)*7", "btver2-direct,btver2-load,btver2-fp0*2", "btver2-direct,btver2-fp0*2", "btver2-direct,btver2-load,btver2-fp0", "btver2-direct,btver2-fp0", "btver2-direct,btver2-fp1", "btver2-direct,btver2-fpa", "btver2-direct,btver2-load,btver2-fpa", "btver2-direct,btver2-fpm", "btver2-direct,btver2-load,btver2-fpm", "btver2-double,btver2-fpm*2", "btver2-double,btver2-load,btver2-fpm*2", "btver2-direct,btver2-fpm*21", "btver2-direct,btver2-load,btver2-fpm*21", "btver2-double,btver2-fpm*54", "btver2-double,btver2-load,btver2-fpm*54", "btver2-direct,btver2-fpm*16", "btver2-direct,btver2-load,btver2-fpm*16", "btver2-direct,btver2-fpm*27", "btver2-direct,btver2-load,btver2-fpm*27", "btver2-double,btver2-fpm*42", "btver2-double,btver2-load,btver2-fpm*42", "btver2-direct,btver2-alu", "btver2-direct,btver2-load,btver2-alu", "btver2-double,btver2-alu", "btver2-double,btver2-alu,btver2-store", "btver2-double,btver2-load,btver2-alu", "btver2-direct,btver2-load,btver2-stc", "btver2-direct,btver2-stc,btver2-store", "btver2-direct,btver2-stc", "btver2-double,btver2-load,btver2-stc*2", "btver2-double,btver2-stc*2", "btver2-vector,btver2-stc,btver2-fpa|btver2-fpm,btver2-store", "btver2-vector,btver2-stc,btver2-fpa|btver2-fpm", "btver2-double,btver2-load,btver2-fpa", "btver2-double,btver2-fpa", "btver2-double,btver2-load,btver2-fpa|btver2-fpm", "btver2-double,btver2-fpa|btver2-fpm", "btver2-double,btver2-load,btver2-fpa|btver2-fpm", "btver2-double,btver2-fpa|btver2-fpm", "btver2-double,btver2-load,btver2-valu", "btver2-double,btver2-valu,btver2-store", "btver2-double,btver2-valu", "btver2-double,btver2-load,btver2-fpa|btver2-fpm", "btver2-double,btver2-load,(btver2-fpa|btver2-fpm)*2", "btver2-double,btver2-fpa|btver2-fpm,btver2-store", "btver2-double,btver2-load,btver2-fpa|btver2-fpm", "btver2-double,btver2-fpa|btver2-fpm", "btver2-double,btver2-load,(btver2-fpa|btver2-fpm)*2", "btver2-double,(btver2-fpa|btver2-fpm)*2", "btver2-double,btver2-load,btver2-stc*2", "btver2-double,btver2-stc*2", "btver2-vector,btver2-load,btver2-stc*2,btver2-fpa|btver2-fpm", "btver2-vector,btver2-stc*2,btver2-fpa|btver2-fpm", "btver2-double,btver2-load,btver2-fpm*38", "btver2-double,btver2-fpm*38", "btver2-double,btver2-load,btver2-fpm*4", "btver2-double,btver2-load,btver2-fpm*2", "btver2-double,btver2-fpm*4", "btver2-double,btver2-fpm*2", "btver2-vector,btver2-fpm*6,btver2-fpa*6", "btver2-vector,btver2-fpm*6,btver2-fpa*6", "btver2-double,btver2-valu,btver2-vimul", "btver2-direct,btver2-vimul", "btver2-direct,btver2-load,btver2-valu", "btver2-direct,btver2-valu", "btver2-direct,btver2-fpa|btver2-fpm", "btver2-direct,btver2-load,btver2-fpa|btver2-fpm", "btver2-direct,btver2-fpa", "btver2-direct,btver2-fpa|btver2-fpm", "btver2-vector,(btver2-fpa|btver2-fpm)*2", "btver2-direct,btver2-load,btver2-fpa", "btver2-direct,btver2-fpa", "btver2-vector,btver2-load,btver2-fpm*2,btver2-fpa", "btver2-vector,btver2-fpm*2,btver2-fpa", "btver2-vector,btver2-load,btver2-fpm*3,btver2-fpa*2", "btver2-vector,btver2-fpm*3,btver2-fpa*2", "btver2-vector,btver2-valu*3,btver2-store", "btver2-vector,btver2-load,btver2-valu*3", "btver2-vector,btver2-valu*3", "btver2-direct,btver2-vimul", "btver2-direct,btver2-load,btver2-vimul", "btver2-vector,btver2-load,btver2-vimul*2,btver2-valu", "btver2-vector,btver2-vimul*2,btver2-valu", "btver2-vector,btver2-valu*3", "btver2-direct,btver2-load,btver2-valu", "btver2-direct,btver2-valu", "btver2-direct,btver2-load,btver2-valu", "btver2-direct,btver2-valu", "btver2-vector,btver2-valu*2", "btver2-vector,btver2-valu*2", "btver2-direct,btver2-load,btver2-fpa", "btver2-direct,btver2-fpa", "btver2-direct,btver2-load,btver2-fpa", "btver2-direct,btver2-fpa,btver2-store", "btver2-direct,btver2-load,btver2-stc,btver2-valu", "btver2-direct,btver2-fpa", "btver2-direct,btver2-stc,btver2-valu", "btver2-direct,btver2-load,btver2-valu", "btver2-direct,btver2-valu", "btver2-direct,btver2-load,btver2-valu", "btver2-direct,btver2-valu", "btver2-direct,btver2-fpa", "btver2-direct,btver2-stc,btver2-valu", "btver2-direct,btver2-load,btver2-stc", "btver2-direct,btver2-stc", "btver2-double,btver2-load,btver2-stc,btver2-fpa", "btver2-double,btver2-stc,btver2-fpa", "btver2-double,btver2-load,btver2-stc*2", "btver2-double,btver2-stc*2", "btver2-double,btver2-load,btver2-stc*2", "btver2-double,btver2-stc*2", "btver2-double,btver2-load,btver2-stc", "btver2-double,btver2-stc", "btver2-direct,btver2-load,btver2-fpa", "btver2-direct,btver2-fpa", "btver2-direct,btver2-load,btver2-fpa", "btver2-direct,btver2-fpa", "btver2-direct,btver2-fpa", "btver2-direct,btver2-fpa", "btver2-direct,btver2-load,btver2-fpa|btver2-fpm", "btver2-direct,btver2-fpa|btver2-fpm,btver2-store", "btver2-direct,btver2-fpa|btver2-fpm", "btver2-double,btver2-fpa|btver2-fpm", "btver2-direct,btver2-fpa|btver2-fpm", "btver2-double,btver2-load,btver2-fpa|btver2-fpm", "btver2-direct,btver2-load,btver2-fpa|btver2-fpm", "btver2-direct,btver2-fpm*19", "btver2-direct,btver2-fpm*14", "btver2-direct,btver2-fpm*2", "btver2-direct,btver2-fpm", "btver2-direct,btver2-load,btver2-fpm*19", "btver2-direct,btver2-load,btver2-fpm*14", "btver2-direct,btver2-load,btver2-fpm*2", "btver2-direct,btver2-load,btver2-fpm", "geode_issue,geode_alu", "geode_issue,geode_alu*2", "geode_issue,geode_alu*7", "geode_issue,geode_alu*40", "geode_issue,geode_alu*2", "geode_issue,geode_alu", "geode_issue,geode_alu", "geode_issue,geode_alu*2", "geode_issue,geode_alu*4", "geode_issue,geode_alu*2", "geode_issue,geode_alu", "geode_issue,geode_fpu*6", "geode_issue,geode_fpu", "geode_issue,geode_fpu*4", "geode_issue,geode_fpu*10", "geode_issue,geode_fpu*47", "geode_issue,geode_fpu*54", "geode_issue,geode_fpu*12", "geode_issue,geode_fpu", "geode_issue,geode_fpu*2", "atom-complex,atom-all-eu*8", "atom-dual-1c", "atom-complex,atom-all-eu*8", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-0", "atom-simple-0", "atom-complex,atom-all-eu*2", "atom-simple-either", "atom-complex,atom-all-eu", "atom-simple-either", "atom-simple-either", "atom-simple-0", "atom-simple-0", "atom-complex,atom-all-eu*6", "atom-simple-0", "atom-simple-0", "atom-simple-0", "atom-simple-0", "atom-simple-0", "atom-simple-0", "atom-imul-32", "atom-imul-32", "atom-complex,atom-all-eu*9", "atom-complex,atom-all-eu*32,nothing*32", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-either", "atom-simple-1", "atom-complex,atom-all-eu", "atom-simple-either", "atom-complex,atom-all-eu", "atom-simple-either", "atom-simple-either", "atom-dual-2c", "atom-dual-1c", "atom-dual-2c", "atom-dual-1c", "atom-dual-1c", "atom-complex,atom-all-eu*2", "atom-complex,atom-all-eu*2", "atom-simple-either", "atom-simple-either", "atom-simple-0", "atom-simple-0", "atom-simple-either", "atom-fmul-4c", "atom-fmul-5c", "atom-complex,atom-all-eu*5", "atom-simple-either", "atom-simple-0", "atom-complex,atom-all-eu", "atom-simple-0", "atom-fmul-4c", "atom-simple-0", "atom-simple-either", "atom-simple-0", "atom-complex,atom-all-eu*6", "atom-simple-either", "atom-simple-0", "atom-eu-0-3-1", "atom-simple-0", "atom-complex,atom-all-eu", "atom-fadd-5c", "atom-dual-5c", "atom-complex,atom-all-eu*7", "atom-fmul-5c", "atom-fmul-4c", "atom-simple-either", "atom-complex,atom-all-eu*9", "atom-fadd-5c", "atom-dual-5c", "atom-complex,atom-all-eu*6", "atom-dual-5c", "atom-complex,atom-all-eu*7", "atom-complex,atom-all-eu*12,nothing*49", "atom-simple-either", "atom-simple-either", "slm-complex,slm-all-eu*8", "slm-dual-1c", "slm-complex,slm-all-eu*8", "slm-simple-either", "slm-simple-either", "slm-simple-either,nothing", "slm-simple-either,nothing", "slm-simple-either", "slm-simple-1,slm-ieu-1*9", "slm-simple-either", "slm-simple-either", "slm-simple-either", "slm-simple-either", "slm-simple-0", "slm-simple-either", "slm-simple-either", "slm-simple-either", "slm-simple-0", "slm-simple-0,nothing*2", "slm-simple-either", "slm-complex,slm-all-eu", "slm-simple-0", "slm-simple-0,nothing*2", "slm-simple-0", "slm-simple-0", "slm-complex,slm-all-eu*3", "slm-simple-0", "slm-simple-0", "slm-simple-0", "slm-simple-0", "slm-simple-0", "slm-simple-0", "slm-imul-32", "slm-imul-mem-32", "slm-imul-64", "slm-complex,slm-all-eu*16,nothing*16", "slm-simple-either", "slm-simple-either", "slm-simple-either", "slm-simple-either", "slm-simple-1", "slm-complex,slm-all-eu", "slm-simple-either", "slm-complex,slm-all-eu", "slm-simple-either,nothing", "slm-simple-0,nothing", "slm-dual-2c", "slm-dual-1c", "slm-dual-2c", "slm-dual-1c", "slm-dual-1c", "slm-complex,slm-all-eu*2", "slm-complex,slm-all-eu*2", "slm-simple-either", "slm-simple-either", "slm-simple-0", "slm-simple-0", "slm-simple-either", "slm-fmul-4c", "slm-fmul-5c", "slm-fadd-4c", "slm-simple-either", "slm-simple-0", "slm-complex,slm-all-eu", "slm-fmul-5c", "slm-fmul-4c", "slm-simple-0", "slm-simple-either", "slm-simple-0", "slm-complex,slm-all-eu*7,nothing", "slm-simple-either", "slm-simple-0", "slm-simple-0,nothing*2", "slm-simple-0", "slm-simple-0,nothing", "slm-fadd-3c", "slm-fadd-3c", "slm-fadd-4c", "slm-fmul-5c", "slm-fmul-4c", "slm-simple-either", "slm-simple-0", "slm-fp-0,slm-feu-0,nothing*3", "slm-fp-0,slm-feu-0,nothing*3", "slm-fp-0,slm-feu-0", "slm-fp-0,slm-feu-0", "slm-fp-0,nothing*3", "slm-fp-0", "slm-fp-0,nothing*3", "slm-fp-0,slm-feu-0*10,nothing*2", "slm-simple-either", "slm-simple-either", "c2_decoder0", "c2_decoder0", "c2_decodern,c2_p0|c2_p1|c2_p5", "c2_decodern,c2_p2", "c2_decodern,(c2_p4+c2_p3)", "c2_decoder0,(c2_p0|c2_p1|c2_p5)*2", "c2_decoder0,c2_p2,(c2_p0|c2_p1|c2_p5)*2", "c2_decodern,(c2_p4+c2_p3)", "c2_decoder0,c2_p2,(c2_p4+c2_p3)", "c2_decodern,c2_p0", "c2_decodern,c2_p0|c2_p5", "c2_decoder0,c2_p2,c2_p0|c2_p5,(c2_p4+c2_p3)", "c2_decodern,c2_p5", "c2_decoder0,(c2_p2+c2_p5)", "c2_decoder0,(c2_p2+(c2_p0|c2_p1)),c2_p0|c2_p1", "c2_decodern,c2_p1", "c2_decoder0,(c2_p2+c2_p1)", "c2_decodern,c2_p0", "c2_decoder0,(c2_p2+c2_p0)", "c2_decoder0,((c2_p0+c2_idiv))*2,((c2_p0|c2_p1)+c2_idiv),c2_idiv*9", "c2_decoder0,(c2_p2+c2_p0+c2_idiv),(c2_p0+c2_idiv),((c2_p0|c2_p1)+c2_idiv),c2_idiv*9", "c2_decoder0,((c2_p0+c2_idiv))*3,((c2_p0|c2_p1)+c2_idiv),c2_idiv*17", "c2_decoder0,(c2_p2+c2_p0+c2_idiv),(c2_p0+c2_idiv),((c2_p0|c2_p1)+c2_idiv),c2_idiv*18", "c2_decoder0,((c2_p0+c2_idiv))*3,((c2_p0|c2_p1)+c2_idiv),c2_idiv*33", "c2_decoder0,(c2_p2+c2_p0+c2_idiv),(c2_p0+c2_idiv),((c2_p0|c2_p1)+c2_idiv),c2_idiv*34", "c2_decodern", "c2_decodern,c2_p1", "c2_decoder0,(c2_p2+c2_p1),c2_p1", "c2_decoder0,c2_p0,c2_p0,(c2_p0+c2_p4+c2_p3)", "c2_decoder0,(c2_p2+c2_p0),(c2_p0+c2_p4+c2_p3)", "c2_decodern,c2_p0", "c2_decoder0,c2_p0*2,(c2_p4+c2_p3)", "c2_decoder0,c2_p0*2", "c2_decodern,c2_p1", "c2_decoder0,(c2_p2+c2_p1)", "c2_decodern,c2_p0", "c2_decodern,c2_p2", "c2_decoder0,((c2_p2+c2_p0))*2", "c2_decodern,(c2_p3+c2_p4)", "c2_decoder0,(c2_p3+c2_p4),(c2_p3+c2_p4)", "c2_decoder0,c2_p0*2", "c2_decoder0,(c2_p2+c2_p0),c2_p0", "c2_decodern,(c2_p0+c2_fdiv),c2_fdiv*16", "c2_decoder0,(c2_p2+c2_p0+c2_fdiv),c2_fdiv*16", "c2_decodern,(c2_p0+c2_fdiv),c2_fdiv*30", "c2_decoder0,(c2_p2+c2_p0+c2_fdiv),c2_fdiv*30", "c2_decodern,(c2_p0+c2_fdiv),c2_fdiv*36", "c2_decoder0,(c2_p2+c2_p0+c2_fdiv),c2_fdiv*36", "c2_decodern,c2_p0|c2_p5", "c2_decodern,(c2_p2+c2_p0)|c2_p5", "c2_decodern,c2_p0|c2_p5", "c2_decoder0,(c2_p2+c2_p1)", "c2_decodern,c2_p1", "c2_decodern,c2_p1", "c2_decodern,c2_p1", "c2_decodern,c2_p1", "c2_decodern,c2_p1", "c2_decoder0,(c2_p2+c2_p1)", "c2_decodern,c2_p1", "c2_decoder0,(c2_p4+c2_p3)", "c2_decodern,c2_p0", "c2_decoder0,c2_p1*2", "c2_decodern,c2_p1", "c2_decodern,(c2_p2+c2_p1)", "c2_decodern,c2_p0", "c2_decodern,(c2_p2+c2_p0)", "c2_decodern,c2_p0", "c2_decodern,(c2_p2+c2_p0)", "c2_decodern,c2_p0,c2_ssediv*17", "c2_decodern,(c2_p2+c2_p0),c2_ssediv*17", "c2_decodern,c2_p0,c2_ssediv*31", "c2_decodern,(c2_p2+c2_p0),c2_ssediv*31", "c2_decodern,c2_p1", "c2_decodern,(c2_p2+c2_p1)", "c2_decoder0,(c2_p0+c2_p1)", "c2_decoder0,(c2_p2+c2_p1)", "c2_decodern,c2_p1", "c2_decodern,(c2_p2+c2_p1)", "c2_decodern,c2_p0|c2_p1|c2_p5", "c2_decodern,c2_p2", "c2_decodern,(c2_p4+c2_p3)", "c2_decodern,c2_p0|c2_p1|c2_p5", "c2_decodern,c2_p2,c2_p0|c2_p1|c2_p5", "c2_decoder0,c2_p0|c2_p1|c2_p5,(c2_p4+c2_p3)", "c2_decoder0,c2_p2,c2_p0|c2_p1|c2_p5,(c2_p4+c2_p3)", "nothing" }; int insn_code; if (insn == 0) insn_code = DFA__ADVANCE_CYCLE; else { insn_code = dfa_insn_code (insn); if (insn_code > DFA__ADVANCE_CYCLE) insn_code = DFA__ADVANCE_CYCLE; } fputs (reservation_names[insn_code], f); } #if CPU_UNITS_QUERY int get_cpu_unit_code (const char *cpu_unit_name) { struct name_code {const char *name; int code;}; int cmp, l, m, h; static struct name_code name_code_table [] = { }; /* The following is binary search: */ l = 0; h = sizeof (name_code_table) / sizeof (struct name_code) - 1; while (l <= h) { m = (l + h) / 2; cmp = strcmp (cpu_unit_name, name_code_table [m].name); if (cmp < 0) h = m - 1; else if (cmp > 0) l = m + 1; else return name_code_table [m].code; } return -1; } int cpu_unit_reservation_p (state_t state, int cpu_unit_code) { gcc_assert (cpu_unit_code >= 0 && cpu_unit_code < 0); return 0; } bool insn_has_dfa_reservation_p (rtx insn ATTRIBUTE_UNUSED) { int insn_code; if (insn == 0) insn_code = DFA__ADVANCE_CYCLE; else { insn_code = dfa_insn_code (insn); if (insn_code > DFA__ADVANCE_CYCLE) insn_code = DFA__ADVANCE_CYCLE; } return insn_code != DFA__ADVANCE_CYCLE; } #endif /* #if CPU_UNITS_QUERY */ void dfa_clean_insn_cache (void) { int i; for (i = 0; i < dfa_insn_codes_length; i++) dfa_insn_codes [i] = -1; } void dfa_clear_single_insn_cache (rtx insn) { int i; i = INSN_UID (insn); if (i < dfa_insn_codes_length) dfa_insn_codes [i] = -1; } void dfa_start (void) { dfa_insn_codes_length = get_max_uid (); dfa_insn_codes = XNEWVEC (int, dfa_insn_codes_length); dfa_clean_insn_cache (); } void dfa_finish (void) { free (dfa_insn_codes); }