/* Generated automatically by the program `genautomata' from the machine description file `md'. */ #define IN_TARGET_CODE 1 #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" #include "alias.h" #include "tree.h" #include "varasm.h" #include "stor-layout.h" #include "calls.h" #include "rtl.h" #include "memmodel.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 cortex_a53_translate[] ATTRIBUTE_UNUSED = { 0, 1, 0, 0, 1, 2, 3, 4, 5, 6, 7, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 7, 6, 8, 0, 10, 0, 10, 10, 10, 11, 11, 10, 0, 0, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13}; /* Vector for state transitions. */ static const unsigned char cortex_a53_transitions[] ATTRIBUTE_UNUSED = { 2, 13, 1, 12, 10, 9, 9, 7, 6, 5, 2, 1, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 1, 0, 1, 1, 1, 1, 15, 1, 1, 15, 3, 1, 15, 15, 2, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 3, 4, 1, 1, 1, 1, 15, 1, 15, 15, 15, 1, 15, 15, 4, 0, 1, 1, 1, 1, 15, 1, 1, 15, 3, 15, 15, 15, 5, 0, 3, 3, 3, 3, 15, 15, 15, 15, 15, 3, 15, 15, 6, 4, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 7, 8, 1, 1, 1, 1, 15, 15, 1, 15, 3, 1, 15, 15, 8, 0, 1, 1, 1, 1, 15, 15, 15, 15, 15, 1, 15, 15, 9, 0, 14, 14, 14, 14, 15, 14, 14, 15, 3, 14, 15, 15, 10, 11, 2, 13, 1, 12, 15, 9, 9, 7, 6, 5, 2, 1, 11, 0, 1, 1, 1, 15, 15, 1, 1, 15, 3, 1, 15, 15, 12, 0, 1, 15, 1, 1, 15, 1, 1, 15, 3, 1, 15, 15, 13, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 11, }; /* Vector of min issue delay of insns. */ static const unsigned char cortex_a53_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 5, 85, 85, 80, 0, 65, 5, 5, 89, 169, 160, 0, 69, 69, 0, 4, 17, 80, 0, 154, 138, 5, 90, 101, 160, 0, 81, 5, 0, 5, 84, 80, 0, 129, 5, 0, 4, 0, 0, 1, 65, 5, 1, 4, 16, 80, 85, 149, 85, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char cortex_a53_advsimd_translate[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 4, 2, 5, 6, 6, 7, 7, 0, 0, 8, 8, 8, 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, 9}; /* Vector for state transitions. */ static const unsigned short cortex_a53_advsimd_transitions[] ATTRIBUTE_UNUSED = { 0, 14, 3409, 3416, 41, 3410, 3509, 3508, 1, 0, 1, 15, 3415, 3421, 42, 6, 3507, 2, 3510, 0, 2, 16, 3510, 3510, 17, 3510, 3510, 3510, 3510, 3, 3, 95, 3506, 3503, 111, 3502, 3510, 3510, 3496, 4, 4, 64, 3495, 3494, 78, 3410, 3510, 3510, 5, 0, 5, 65, 3493, 3492, 9, 6, 3510, 3510, 3510, 0, 6, 7, 3510, 3510, 8, 3510, 3510, 3510, 3510, 0, 7, 8, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 0, 8, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 0, 9, 3510, 70, 10, 3510, 8, 3510, 3510, 3510, 0, 10, 3510, 31, 37, 3510, 3510, 3510, 3510, 3510, 11, 11, 133, 447, 461, 155, 455, 3491, 3490, 3487, 12, 12, 60, 3295, 3303, 323, 3296, 3486, 3485, 3482, 13, 13, 92, 195, 202, 124, 196, 3481, 3480, 3477, 14, 14, 41, 3398, 3402, 3510, 71, 3476, 3475, 15, 0, 15, 42, 3401, 3405, 3510, 7, 18, 16, 3510, 0, 16, 17, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3, 17, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3, 18, 43, 3400, 3404, 3510, 3510, 16, 3510, 3510, 19, 19, 20, 3464, 3468, 21, 3429, 3472, 3510, 3474, 25, 20, 21, 3453, 3457, 3510, 2866, 3461, 3510, 3463, 25, 21, 3510, 22, 3440, 3510, 23, 3450, 3510, 3452, 25, 22, 3510, 23, 444, 3510, 3510, 3425, 3510, 3439, 25, 23, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 24, 25, 24, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 25, 25, 26, 3409, 3416, 27, 3410, 3422, 3510, 3424, 0, 26, 27, 3398, 3402, 3510, 71, 3406, 3510, 3408, 0, 27, 3510, 28, 35, 3510, 29, 3395, 3510, 3397, 0, 28, 3510, 29, 30, 3510, 3510, 32, 3510, 34, 0, 29, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 8, 0, 30, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 31, 11, 31, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 11, 32, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 33, 19, 33, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 19, 34, 3510, 8, 31, 3510, 3510, 33, 3510, 3510, 0, 35, 3510, 30, 36, 3510, 3510, 3365, 3510, 3362, 11, 36, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 37, 38, 37, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 38, 38, 144, 2687, 2694, 256, 2688, 3394, 3393, 3390, 39, 39, 398, 3389, 3386, 671, 3385, 3382, 3381, 3371, 40, 40, 108, 299, 306, 420, 300, 3370, 3369, 3366, 41, 41, 3510, 28, 35, 3510, 29, 3364, 3363, 42, 0, 42, 3510, 34, 3362, 3510, 8, 43, 17, 3510, 0, 43, 3510, 33, 44, 3510, 3510, 17, 3510, 3510, 19, 44, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 45, 45, 46, 3345, 3353, 47, 3346, 3359, 3510, 3361, 51, 46, 47, 3334, 3338, 3510, 2882, 3342, 3510, 3344, 51, 47, 3510, 48, 3321, 3510, 49, 3331, 3510, 3333, 51, 48, 3510, 49, 681, 3510, 3510, 3312, 3510, 3320, 51, 49, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 50, 51, 50, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 51, 51, 52, 3295, 3303, 53, 3296, 3309, 3510, 3311, 13, 52, 53, 3283, 3280, 3510, 3279, 3292, 3510, 3294, 13, 53, 3510, 54, 2957, 3510, 55, 3289, 3510, 3291, 13, 54, 3510, 55, 57, 3510, 3510, 2956, 3510, 2952, 13, 55, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 56, 13, 56, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 13, 57, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 58, 59, 58, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 59, 59, 362, 3067, 3071, 513, 382, 3288, 3287, 3284, 60, 60, 323, 3283, 3280, 3510, 3279, 3276, 3275, 61, 13, 61, 324, 3274, 3271, 3510, 3270, 3267, 62, 3510, 13, 62, 325, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 63, 63, 695, 3266, 3263, 727, 3262, 3510, 3510, 79, 64, 64, 78, 76, 72, 3510, 71, 3510, 3510, 65, 0, 65, 9, 69, 66, 3510, 7, 3510, 3510, 3510, 0, 66, 10, 68, 67, 3510, 3510, 3510, 3510, 3510, 11, 67, 37, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 38, 68, 31, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 11, 69, 70, 7, 68, 3510, 3510, 3510, 3510, 3510, 0, 70, 3510, 8, 31, 3510, 3510, 3510, 3510, 3510, 0, 71, 29, 3510, 3510, 3510, 3510, 3510, 3510, 7, 0, 72, 75, 74, 73, 3510, 3510, 3510, 3510, 66, 11, 73, 36, 3510, 3510, 3510, 3510, 3510, 3510, 67, 38, 74, 30, 3510, 3510, 3510, 3510, 3510, 3510, 68, 11, 75, 3510, 30, 36, 3510, 3510, 3510, 3510, 10, 11, 76, 77, 71, 74, 3510, 3510, 3510, 3510, 69, 0, 77, 3510, 29, 30, 3510, 3510, 3510, 3510, 70, 0, 78, 3510, 77, 75, 3510, 29, 3510, 3510, 9, 0, 79, 696, 3261, 3258, 83, 80, 3510, 3510, 3510, 64, 80, 82, 3510, 3510, 81, 3510, 3510, 3510, 3510, 64, 81, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 64, 82, 81, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 64, 83, 3510, 716, 84, 3510, 81, 3510, 3510, 3510, 64, 84, 3510, 714, 712, 3510, 3510, 3510, 3510, 3510, 85, 85, 408, 3236, 3234, 3510, 449, 3510, 3510, 86, 12, 86, 103, 3232, 89, 3510, 87, 3510, 3510, 3510, 12, 87, 88, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 12, 88, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 12, 89, 104, 451, 464, 3510, 3510, 3510, 3510, 3510, 90, 90, 221, 2299, 2307, 546, 2300, 3257, 3256, 3253, 91, 91, 692, 2795, 2803, 1177, 2796, 3252, 3251, 3248, 92, 92, 124, 179, 186, 3510, 180, 3247, 3246, 93, 14, 93, 125, 185, 191, 3510, 140, 3245, 94, 3510, 14, 94, 126, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 95, 95, 111, 3244, 3241, 3510, 3240, 3510, 3510, 96, 4, 96, 112, 3239, 99, 3510, 97, 3510, 3510, 3510, 4, 97, 98, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 4, 98, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 4, 99, 113, 3238, 3237, 3510, 3510, 3510, 3510, 3510, 100, 100, 85, 3235, 3233, 408, 455, 3510, 3510, 101, 12, 101, 86, 3231, 3230, 103, 102, 3510, 3510, 3510, 12, 102, 87, 3510, 3510, 88, 3510, 3510, 3510, 3510, 12, 103, 3510, 411, 104, 3510, 88, 3510, 3510, 3510, 12, 104, 3510, 340, 105, 3510, 3510, 3510, 3510, 3510, 90, 105, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 106, 106, 247, 2321, 2329, 624, 2322, 3229, 3228, 3225, 107, 107, 1001, 3224, 3221, 1288, 3220, 3217, 3216, 3206, 108, 108, 420, 284, 291, 3510, 285, 3205, 3204, 109, 41, 109, 421, 290, 295, 3510, 151, 3203, 110, 3510, 41, 110, 422, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 111, 111, 3510, 3202, 3199, 3510, 3198, 3510, 3510, 112, 4, 112, 3510, 3197, 113, 3510, 98, 3510, 3510, 3510, 4, 113, 3510, 3196, 114, 3510, 3510, 3510, 3510, 3510, 100, 114, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 115, 115, 699, 3195, 3194, 413, 2688, 3510, 3510, 116, 39, 116, 700, 3193, 3192, 120, 117, 3510, 3510, 3510, 39, 117, 118, 3510, 3510, 119, 3510, 3510, 3510, 3510, 39, 118, 119, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 39, 119, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 39, 120, 3510, 705, 121, 3510, 119, 3510, 3510, 3510, 39, 121, 3510, 492, 417, 3510, 3510, 3510, 3510, 3510, 122, 122, 591, 3191, 3188, 1100, 3187, 3184, 3183, 3173, 123, 123, 819, 2587, 2595, 847, 2588, 3172, 3171, 3168, 124, 124, 3510, 168, 173, 3510, 169, 3167, 3166, 125, 14, 125, 3510, 172, 131, 3510, 130, 127, 126, 3510, 14, 126, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 95, 127, 3510, 129, 128, 3510, 3510, 126, 3510, 3510, 20, 128, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 46, 129, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 20, 130, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 14, 131, 3510, 132, 143, 3510, 3510, 128, 3510, 3510, 133, 132, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 133, 133, 155, 448, 462, 3510, 449, 3165, 3164, 134, 12, 134, 156, 454, 467, 3510, 87, 3163, 135, 3510, 12, 135, 157, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 136, 136, 365, 3162, 3159, 1298, 3158, 3510, 3510, 3152, 137, 137, 225, 3151, 3150, 234, 196, 3510, 3510, 138, 14, 138, 226, 3149, 3148, 141, 139, 3510, 3510, 3510, 14, 139, 140, 3510, 3510, 130, 3510, 3510, 3510, 3510, 14, 140, 130, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 14, 141, 3510, 229, 142, 3510, 130, 3510, 3510, 3510, 14, 142, 3510, 132, 143, 3510, 3510, 3510, 3510, 3510, 133, 143, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 144, 144, 256, 2676, 2680, 3510, 706, 3147, 3146, 145, 39, 145, 257, 2679, 2683, 3510, 118, 3145, 146, 3510, 39, 146, 258, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 147, 147, 535, 3144, 3141, 1337, 3140, 3510, 3510, 3134, 148, 148, 251, 3133, 3132, 610, 300, 3510, 3510, 149, 41, 149, 252, 3131, 3130, 153, 150, 3510, 3510, 3510, 41, 150, 151, 3510, 3510, 152, 3510, 3510, 3510, 3510, 41, 151, 152, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 41, 152, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 41, 153, 3510, 613, 154, 3510, 152, 3510, 3510, 3510, 41, 154, 3510, 272, 255, 3510, 3510, 3510, 3510, 3510, 155, 155, 3510, 337, 344, 3510, 338, 3129, 3128, 156, 12, 156, 3510, 343, 468, 3510, 88, 158, 157, 3510, 12, 157, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 136, 158, 3510, 342, 347, 3510, 3510, 157, 3510, 3510, 159, 159, 160, 3111, 3119, 161, 3112, 3125, 3510, 3127, 165, 160, 161, 3100, 3104, 3510, 797, 3108, 3510, 3110, 165, 161, 3510, 162, 3087, 3510, 163, 3097, 3510, 3099, 165, 162, 3510, 163, 211, 3510, 3510, 3078, 3510, 3086, 165, 163, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 164, 165, 164, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 165, 165, 166, 195, 202, 167, 196, 208, 3510, 210, 14, 166, 167, 179, 186, 3510, 180, 192, 3510, 194, 14, 167, 3510, 168, 173, 3510, 169, 176, 3510, 178, 14, 168, 3510, 169, 170, 3510, 3510, 171, 3510, 172, 14, 169, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 130, 14, 170, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 132, 133, 171, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 129, 20, 172, 3510, 130, 132, 3510, 3510, 129, 3510, 3510, 14, 173, 3510, 170, 174, 3510, 3510, 175, 3510, 131, 133, 174, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 143, 144, 175, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 128, 46, 176, 3510, 171, 175, 3510, 3510, 3510, 3510, 177, 20, 177, 3510, 129, 128, 3510, 3510, 3510, 3510, 3510, 20, 178, 3510, 172, 131, 3510, 130, 177, 3510, 3510, 14, 179, 168, 180, 181, 3510, 3510, 183, 3510, 185, 14, 180, 169, 3510, 3510, 3510, 3510, 3510, 3510, 140, 14, 181, 170, 3510, 3510, 3510, 3510, 3510, 3510, 182, 133, 182, 132, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 133, 183, 171, 3510, 3510, 3510, 3510, 3510, 3510, 184, 20, 184, 129, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 20, 185, 172, 140, 182, 3510, 3510, 184, 3510, 3510, 14, 186, 173, 181, 187, 3510, 3510, 189, 3510, 191, 133, 187, 174, 3510, 3510, 3510, 3510, 3510, 3510, 188, 144, 188, 143, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 144, 189, 175, 3510, 3510, 3510, 3510, 3510, 3510, 190, 46, 190, 128, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 46, 191, 131, 182, 188, 3510, 3510, 190, 3510, 3510, 133, 192, 176, 183, 189, 3510, 3510, 3510, 3510, 193, 20, 193, 177, 184, 190, 3510, 3510, 3510, 3510, 3510, 20, 194, 178, 185, 191, 3510, 140, 193, 3510, 3510, 14, 195, 179, 196, 197, 168, 3510, 199, 3510, 201, 14, 196, 180, 3510, 3510, 169, 3510, 3510, 3510, 139, 14, 197, 181, 3510, 3510, 170, 3510, 3510, 3510, 198, 133, 198, 182, 3510, 3510, 132, 3510, 3510, 3510, 3510, 133, 199, 183, 3510, 3510, 171, 3510, 3510, 3510, 200, 20, 200, 184, 3510, 3510, 129, 3510, 3510, 3510, 3510, 20, 201, 185, 139, 198, 172, 3510, 200, 3510, 3510, 14, 202, 186, 197, 203, 173, 3510, 205, 3510, 207, 133, 203, 187, 3510, 3510, 174, 3510, 3510, 3510, 204, 144, 204, 188, 3510, 3510, 143, 3510, 3510, 3510, 3510, 144, 205, 189, 3510, 3510, 175, 3510, 3510, 3510, 206, 46, 206, 190, 3510, 3510, 128, 3510, 3510, 3510, 3510, 46, 207, 191, 198, 204, 131, 3510, 206, 3510, 3510, 133, 208, 192, 199, 205, 176, 3510, 3510, 3510, 209, 20, 209, 193, 200, 206, 177, 3510, 3510, 3510, 3510, 20, 210, 194, 201, 207, 178, 139, 209, 3510, 3510, 14, 211, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 212, 213, 212, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 213, 213, 214, 3067, 3071, 215, 382, 3075, 3510, 3077, 60, 214, 215, 2788, 2787, 3510, 383, 3064, 3510, 3066, 60, 215, 3510, 216, 525, 3510, 217, 3061, 3510, 3063, 60, 216, 3510, 217, 219, 3510, 3510, 524, 3510, 520, 60, 217, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 218, 60, 218, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 60, 219, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 220, 221, 220, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 221, 221, 546, 2282, 2290, 3510, 2283, 3060, 3059, 222, 91, 222, 547, 2289, 2295, 3510, 2284, 3058, 223, 3510, 91, 223, 548, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 224, 224, 942, 3057, 3054, 970, 3053, 3510, 3510, 235, 225, 225, 234, 232, 230, 3510, 180, 3510, 3510, 226, 14, 226, 141, 228, 227, 3510, 140, 3510, 3510, 3510, 14, 227, 142, 182, 188, 3510, 3510, 3510, 3510, 3510, 133, 228, 229, 140, 182, 3510, 3510, 3510, 3510, 3510, 14, 229, 3510, 130, 132, 3510, 3510, 3510, 3510, 3510, 14, 230, 231, 181, 187, 3510, 3510, 3510, 3510, 227, 133, 231, 3510, 170, 174, 3510, 3510, 3510, 3510, 142, 133, 232, 233, 180, 181, 3510, 3510, 3510, 3510, 228, 14, 233, 3510, 169, 170, 3510, 3510, 3510, 3510, 229, 14, 234, 3510, 233, 231, 3510, 169, 3510, 3510, 141, 14, 235, 943, 3052, 3049, 239, 236, 3510, 3510, 3510, 225, 236, 238, 3510, 3510, 237, 3510, 3510, 3510, 3510, 225, 237, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 225, 238, 237, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 225, 239, 3510, 959, 240, 3510, 237, 3510, 3510, 3510, 225, 240, 3510, 957, 955, 3510, 3510, 3510, 3510, 3510, 241, 241, 384, 395, 393, 3510, 383, 3510, 3510, 242, 60, 242, 373, 381, 244, 3510, 243, 3510, 3510, 3510, 60, 243, 218, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 60, 244, 374, 379, 245, 3510, 3510, 3510, 3510, 3510, 221, 245, 246, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 247, 246, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 247, 247, 624, 2174, 2182, 3510, 2175, 3048, 3047, 248, 107, 248, 625, 2181, 2187, 3510, 2176, 3046, 249, 3510, 107, 249, 626, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 250, 250, 1075, 3045, 3042, 1507, 3041, 3510, 3510, 3035, 251, 251, 610, 3034, 3033, 3510, 285, 3510, 3510, 252, 41, 252, 153, 3032, 253, 3510, 151, 3510, 3510, 3510, 41, 253, 154, 287, 254, 3510, 3510, 3510, 3510, 3510, 155, 254, 255, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 256, 255, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 256, 256, 3510, 490, 496, 3510, 414, 3031, 3030, 257, 39, 257, 3510, 495, 2672, 3510, 119, 259, 258, 3510, 39, 258, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 147, 259, 3510, 494, 498, 3510, 3510, 258, 3510, 3510, 260, 260, 261, 3013, 3021, 262, 3014, 3027, 3510, 3029, 266, 261, 262, 2996, 3004, 3510, 2997, 3010, 3510, 3012, 266, 262, 3510, 263, 2977, 3510, 264, 2993, 3510, 2995, 266, 263, 3510, 264, 315, 3510, 3510, 2968, 3510, 2976, 266, 264, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 265, 266, 265, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 266, 266, 267, 299, 306, 268, 300, 312, 3510, 314, 41, 267, 268, 284, 291, 3510, 285, 296, 3510, 298, 41, 268, 3510, 269, 276, 3510, 270, 281, 3510, 283, 41, 269, 3510, 270, 271, 3510, 3510, 273, 3510, 275, 41, 270, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 152, 41, 271, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 272, 155, 272, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 155, 273, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 274, 21, 274, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 21, 275, 3510, 152, 272, 3510, 3510, 274, 3510, 3510, 41, 276, 3510, 271, 277, 3510, 3510, 278, 3510, 280, 155, 277, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 255, 256, 278, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 279, 47, 279, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 47, 280, 3510, 272, 255, 3510, 3510, 279, 3510, 3510, 155, 281, 3510, 273, 278, 3510, 3510, 3510, 3510, 282, 21, 282, 3510, 274, 279, 3510, 3510, 3510, 3510, 3510, 21, 283, 3510, 275, 280, 3510, 152, 282, 3510, 3510, 41, 284, 269, 285, 286, 3510, 3510, 288, 3510, 290, 41, 285, 270, 3510, 3510, 3510, 3510, 3510, 3510, 151, 41, 286, 271, 3510, 3510, 3510, 3510, 3510, 3510, 287, 155, 287, 272, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 155, 288, 273, 3510, 3510, 3510, 3510, 3510, 3510, 289, 21, 289, 274, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 21, 290, 275, 151, 287, 3510, 3510, 289, 3510, 3510, 41, 291, 276, 286, 292, 3510, 3510, 293, 3510, 295, 155, 292, 277, 3510, 3510, 3510, 3510, 3510, 3510, 254, 256, 293, 278, 3510, 3510, 3510, 3510, 3510, 3510, 294, 47, 294, 279, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 47, 295, 280, 287, 254, 3510, 3510, 294, 3510, 3510, 155, 296, 281, 288, 293, 3510, 3510, 3510, 3510, 297, 21, 297, 282, 289, 294, 3510, 3510, 3510, 3510, 3510, 21, 298, 283, 290, 295, 3510, 151, 297, 3510, 3510, 41, 299, 284, 300, 301, 269, 3510, 303, 3510, 305, 41, 300, 285, 3510, 3510, 270, 3510, 3510, 3510, 150, 41, 301, 286, 3510, 3510, 271, 3510, 3510, 3510, 302, 155, 302, 287, 3510, 3510, 272, 3510, 3510, 3510, 3510, 155, 303, 288, 3510, 3510, 273, 3510, 3510, 3510, 304, 21, 304, 289, 3510, 3510, 274, 3510, 3510, 3510, 3510, 21, 305, 290, 150, 302, 275, 3510, 304, 3510, 3510, 41, 306, 291, 301, 307, 276, 3510, 309, 3510, 311, 155, 307, 292, 3510, 3510, 277, 3510, 3510, 3510, 308, 256, 308, 254, 3510, 3510, 255, 3510, 3510, 3510, 3510, 256, 309, 293, 3510, 3510, 278, 3510, 3510, 3510, 310, 47, 310, 294, 3510, 3510, 279, 3510, 3510, 3510, 3510, 47, 311, 295, 302, 308, 280, 3510, 310, 3510, 3510, 155, 312, 296, 303, 309, 281, 3510, 3510, 3510, 313, 21, 313, 297, 304, 310, 282, 3510, 3510, 3510, 3510, 21, 314, 298, 305, 311, 283, 150, 313, 3510, 3510, 41, 315, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 316, 317, 316, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 317, 317, 318, 2394, 2391, 319, 2390, 2965, 3510, 2967, 323, 318, 319, 1331, 1329, 3510, 1088, 2962, 3510, 2964, 323, 319, 3510, 320, 1330, 3510, 321, 2959, 3510, 2961, 323, 320, 3510, 321, 1092, 3510, 3510, 1327, 3510, 1319, 323, 321, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 322, 323, 322, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 323, 323, 3510, 54, 2957, 3510, 55, 2954, 2953, 324, 13, 324, 3510, 2952, 2944, 3510, 56, 326, 325, 3510, 13, 325, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 63, 326, 3510, 2943, 2924, 3510, 3510, 325, 3510, 3510, 327, 327, 328, 2907, 2915, 329, 2908, 2921, 3510, 2923, 26, 328, 329, 2896, 2900, 3510, 570, 2904, 3510, 2906, 26, 329, 3510, 330, 2877, 3510, 331, 2893, 3510, 2895, 26, 330, 3510, 331, 333, 3510, 3510, 2862, 3510, 2876, 26, 331, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 332, 26, 332, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 26, 333, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 334, 335, 334, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 335, 335, 336, 448, 462, 3510, 449, 475, 3510, 481, 12, 336, 3510, 337, 344, 3510, 338, 476, 3510, 482, 12, 337, 3510, 338, 339, 3510, 3510, 341, 3510, 343, 12, 338, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 88, 12, 339, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 340, 90, 340, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 90, 341, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 342, 159, 342, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 159, 343, 3510, 88, 340, 3510, 3510, 342, 3510, 3510, 12, 344, 3510, 339, 345, 3510, 3510, 346, 3510, 468, 90, 345, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 105, 106, 346, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 347, 348, 347, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 348, 348, 349, 2845, 2853, 350, 2846, 2859, 3510, 2861, 354, 349, 350, 2834, 2838, 3510, 2195, 2842, 3510, 2844, 354, 350, 3510, 351, 2821, 3510, 352, 2831, 3510, 2833, 354, 351, 3510, 352, 1045, 3510, 3510, 2812, 3510, 2820, 354, 352, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 353, 354, 353, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 354, 354, 355, 2795, 2803, 356, 2796, 2809, 3510, 2811, 92, 355, 356, 2240, 2237, 3510, 2236, 2792, 3510, 2794, 92, 356, 3510, 357, 1197, 3510, 358, 2789, 3510, 2791, 92, 357, 3510, 358, 360, 3510, 3510, 1196, 3510, 1192, 92, 358, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 359, 92, 359, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 92, 360, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 361, 362, 361, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 362, 362, 513, 2788, 2787, 3510, 383, 2784, 2783, 363, 60, 363, 514, 2782, 2781, 3510, 243, 2778, 364, 3510, 60, 364, 515, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 365, 365, 1298, 2777, 2774, 3510, 2773, 3510, 3510, 366, 137, 366, 1299, 2772, 369, 3510, 367, 3510, 3510, 3510, 137, 367, 368, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 137, 368, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 137, 369, 1300, 2771, 396, 3510, 3510, 3510, 3510, 3510, 370, 370, 241, 394, 388, 384, 382, 3510, 3510, 371, 60, 371, 242, 380, 376, 373, 372, 3510, 3510, 3510, 60, 372, 243, 3510, 3510, 218, 3510, 3510, 3510, 3510, 60, 373, 3510, 375, 374, 3510, 218, 3510, 3510, 3510, 60, 374, 3510, 220, 246, 3510, 3510, 3510, 3510, 3510, 221, 375, 3510, 218, 220, 3510, 3510, 3510, 3510, 3510, 60, 376, 244, 378, 377, 374, 3510, 3510, 3510, 3510, 221, 377, 245, 3510, 3510, 246, 3510, 3510, 3510, 3510, 247, 378, 379, 3510, 3510, 220, 3510, 3510, 3510, 3510, 221, 379, 220, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 221, 380, 381, 372, 378, 375, 3510, 3510, 3510, 3510, 60, 381, 375, 243, 379, 3510, 3510, 3510, 3510, 3510, 60, 382, 383, 3510, 3510, 217, 3510, 3510, 3510, 372, 60, 383, 217, 3510, 3510, 3510, 3510, 3510, 3510, 243, 60, 384, 3510, 387, 385, 3510, 217, 3510, 3510, 373, 60, 385, 3510, 219, 386, 3510, 3510, 3510, 3510, 374, 221, 386, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 246, 247, 387, 3510, 217, 219, 3510, 3510, 3510, 3510, 375, 60, 388, 393, 391, 389, 385, 3510, 3510, 3510, 376, 221, 389, 390, 3510, 3510, 386, 3510, 3510, 3510, 377, 247, 390, 386, 3510, 3510, 3510, 3510, 3510, 3510, 245, 247, 391, 392, 3510, 3510, 219, 3510, 3510, 3510, 378, 221, 392, 219, 3510, 3510, 3510, 3510, 3510, 3510, 379, 221, 393, 385, 392, 390, 3510, 3510, 3510, 3510, 244, 221, 394, 395, 382, 391, 387, 3510, 3510, 3510, 380, 60, 395, 387, 383, 392, 3510, 3510, 3510, 3510, 381, 60, 396, 1301, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 397, 397, 946, 2770, 2769, 602, 761, 3510, 3510, 2766, 398, 398, 671, 2765, 2762, 3510, 2761, 2758, 2757, 399, 40, 399, 672, 2756, 2753, 3510, 2752, 2749, 400, 3510, 40, 400, 673, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 401, 401, 1004, 2748, 2745, 428, 2744, 3510, 3510, 402, 78, 402, 1005, 2743, 2740, 406, 403, 3510, 3510, 3510, 78, 403, 405, 3510, 3510, 404, 3510, 3510, 3510, 3510, 78, 404, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 78, 405, 404, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 78, 406, 3510, 435, 407, 3510, 404, 3510, 3510, 3510, 78, 407, 3510, 433, 412, 3510, 3510, 3510, 3510, 3510, 408, 408, 3510, 410, 409, 3510, 338, 3510, 3510, 103, 12, 409, 3510, 339, 345, 3510, 3510, 3510, 3510, 104, 90, 410, 3510, 338, 339, 3510, 3510, 3510, 3510, 411, 12, 411, 3510, 88, 340, 3510, 3510, 3510, 3510, 3510, 12, 412, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 413, 413, 3510, 711, 415, 3510, 414, 3510, 3510, 120, 39, 414, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 119, 39, 415, 3510, 491, 416, 3510, 3510, 3510, 3510, 121, 122, 416, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 417, 418, 417, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 418, 418, 606, 2739, 2736, 1347, 2735, 2732, 2731, 2721, 419, 419, 1544, 2720, 2717, 1609, 2716, 2713, 2712, 426, 420, 420, 3510, 269, 276, 3510, 270, 425, 424, 421, 41, 421, 3510, 275, 280, 3510, 152, 423, 422, 3510, 41, 422, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 111, 423, 3510, 274, 279, 3510, 3510, 422, 3510, 3510, 21, 424, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 422, 111, 425, 3510, 273, 278, 3510, 3510, 424, 3510, 423, 21, 426, 1545, 2711, 2708, 1590, 2707, 438, 427, 3510, 420, 427, 437, 3510, 3510, 436, 3510, 3510, 3510, 3510, 428, 428, 3510, 434, 430, 3510, 429, 3510, 3510, 406, 78, 429, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 404, 78, 430, 3510, 432, 431, 3510, 3510, 3510, 3510, 407, 408, 431, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 412, 413, 432, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 433, 408, 433, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 408, 434, 3510, 429, 432, 3510, 3510, 3510, 3510, 435, 78, 435, 3510, 404, 433, 3510, 3510, 3510, 3510, 3510, 78, 436, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 428, 437, 436, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 428, 438, 1546, 2706, 2705, 1563, 3510, 427, 3510, 3510, 439, 439, 3510, 1037, 1035, 3510, 641, 1033, 3510, 440, 27, 440, 3510, 1027, 1025, 3510, 642, 441, 3510, 3510, 27, 441, 3510, 1023, 1021, 3510, 3510, 3510, 3510, 3510, 442, 442, 3510, 443, 484, 3510, 23, 3510, 3510, 2704, 25, 443, 3510, 23, 444, 3510, 3510, 3510, 3510, 483, 25, 444, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 445, 446, 445, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 446, 446, 335, 447, 461, 336, 455, 474, 3510, 480, 12, 447, 448, 455, 456, 337, 3510, 458, 3510, 460, 12, 448, 337, 449, 450, 3510, 3510, 452, 3510, 454, 12, 449, 338, 3510, 3510, 3510, 3510, 3510, 3510, 87, 12, 450, 339, 3510, 3510, 3510, 3510, 3510, 3510, 451, 90, 451, 340, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 90, 452, 341, 3510, 3510, 3510, 3510, 3510, 3510, 453, 159, 453, 342, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 159, 454, 343, 87, 451, 3510, 3510, 453, 3510, 3510, 12, 455, 449, 3510, 3510, 338, 3510, 3510, 3510, 102, 12, 456, 450, 3510, 3510, 339, 3510, 3510, 3510, 457, 90, 457, 451, 3510, 3510, 340, 3510, 3510, 3510, 3510, 90, 458, 452, 3510, 3510, 341, 3510, 3510, 3510, 459, 159, 459, 453, 3510, 3510, 342, 3510, 3510, 3510, 3510, 159, 460, 454, 102, 457, 343, 3510, 459, 3510, 3510, 12, 461, 462, 456, 469, 344, 3510, 471, 3510, 473, 90, 462, 344, 450, 463, 3510, 3510, 465, 3510, 467, 90, 463, 345, 3510, 3510, 3510, 3510, 3510, 3510, 464, 106, 464, 105, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 106, 465, 346, 3510, 3510, 3510, 3510, 3510, 3510, 466, 348, 466, 347, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 348, 467, 468, 451, 464, 3510, 3510, 466, 3510, 3510, 90, 468, 3510, 340, 105, 3510, 3510, 347, 3510, 3510, 90, 469, 463, 3510, 3510, 345, 3510, 3510, 3510, 470, 106, 470, 464, 3510, 3510, 105, 3510, 3510, 3510, 3510, 106, 471, 465, 3510, 3510, 346, 3510, 3510, 3510, 472, 348, 472, 466, 3510, 3510, 347, 3510, 3510, 3510, 3510, 348, 473, 467, 457, 470, 468, 3510, 472, 3510, 3510, 90, 474, 475, 458, 471, 476, 3510, 3510, 3510, 479, 159, 475, 476, 452, 465, 3510, 3510, 3510, 3510, 478, 159, 476, 3510, 341, 346, 3510, 3510, 3510, 3510, 477, 159, 477, 3510, 342, 347, 3510, 3510, 3510, 3510, 3510, 159, 478, 477, 453, 466, 3510, 3510, 3510, 3510, 3510, 159, 479, 478, 459, 472, 477, 3510, 3510, 3510, 3510, 159, 480, 481, 460, 473, 482, 102, 479, 3510, 3510, 12, 481, 482, 454, 467, 3510, 87, 478, 3510, 3510, 12, 482, 3510, 343, 468, 3510, 88, 477, 3510, 3510, 12, 483, 3510, 24, 445, 3510, 3510, 3510, 3510, 3510, 25, 484, 3510, 444, 485, 3510, 3510, 3510, 3510, 2703, 446, 485, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 486, 487, 486, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 487, 487, 488, 2687, 2694, 489, 2688, 2700, 3510, 2702, 39, 488, 489, 2676, 2680, 3510, 706, 2684, 3510, 2686, 39, 489, 3510, 490, 496, 3510, 414, 2673, 3510, 2675, 39, 490, 3510, 414, 491, 3510, 3510, 493, 3510, 495, 39, 491, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 492, 122, 492, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 122, 493, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 494, 260, 494, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 260, 495, 3510, 119, 492, 3510, 3510, 494, 3510, 3510, 39, 496, 3510, 491, 416, 3510, 3510, 497, 3510, 2672, 122, 497, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 498, 499, 498, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 499, 499, 500, 2655, 2663, 501, 2656, 2669, 3510, 2671, 505, 500, 501, 2638, 2646, 3510, 2639, 2652, 3510, 2654, 505, 501, 3510, 502, 2619, 3510, 503, 2635, 3510, 2637, 505, 502, 3510, 503, 2604, 3510, 3510, 2610, 3510, 2618, 505, 503, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 504, 505, 504, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 505, 505, 506, 2587, 2595, 507, 2588, 2601, 3510, 2603, 124, 506, 507, 846, 843, 3510, 842, 2584, 3510, 2586, 124, 507, 3510, 508, 529, 3510, 509, 2581, 3510, 2583, 124, 508, 3510, 509, 511, 3510, 3510, 526, 3510, 528, 124, 509, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 510, 124, 510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 124, 511, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 512, 513, 512, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 513, 513, 3510, 216, 525, 3510, 217, 522, 521, 514, 60, 514, 3510, 520, 519, 3510, 218, 516, 515, 3510, 60, 515, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 365, 516, 3510, 518, 517, 3510, 3510, 515, 3510, 3510, 160, 517, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 349, 518, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 160, 519, 3510, 220, 246, 3510, 3510, 517, 3510, 3510, 221, 520, 3510, 218, 220, 3510, 3510, 518, 3510, 3510, 60, 521, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 515, 365, 522, 3510, 524, 523, 3510, 3510, 521, 3510, 516, 160, 523, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 517, 349, 524, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 518, 160, 525, 3510, 219, 386, 3510, 3510, 523, 3510, 519, 221, 526, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 527, 329, 527, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 329, 528, 3510, 510, 512, 3510, 3510, 527, 3510, 3510, 124, 529, 3510, 511, 530, 3510, 3510, 839, 3510, 830, 513, 530, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 531, 532, 531, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 532, 532, 3510, 586, 770, 3510, 587, 1191, 1189, 533, 398, 533, 3510, 760, 774, 3510, 588, 1187, 534, 3510, 398, 534, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 535, 535, 1337, 2580, 2577, 3510, 2576, 3510, 3510, 536, 148, 536, 1338, 2575, 539, 3510, 537, 3510, 3510, 3510, 148, 537, 538, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 148, 538, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 148, 539, 1339, 2574, 2573, 3510, 3510, 3510, 3510, 3510, 540, 540, 1080, 2572, 2571, 620, 2390, 3510, 3510, 541, 323, 541, 1081, 2570, 2569, 544, 542, 3510, 3510, 3510, 323, 542, 543, 3510, 3510, 322, 3510, 3510, 3510, 3510, 323, 543, 322, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 323, 544, 3510, 1087, 545, 3510, 322, 3510, 3510, 3510, 323, 545, 3510, 1085, 623, 3510, 3510, 3510, 3510, 3510, 546, 546, 3510, 686, 2249, 3510, 687, 2568, 2567, 547, 91, 547, 3510, 2248, 2278, 3510, 688, 549, 548, 3510, 91, 548, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 224, 549, 3510, 2247, 2259, 3510, 3510, 548, 3510, 3510, 550, 550, 551, 2550, 2558, 552, 2551, 2564, 3510, 2566, 166, 551, 552, 2539, 2543, 3510, 982, 2547, 3510, 2549, 166, 552, 3510, 553, 581, 3510, 554, 2536, 3510, 2538, 166, 553, 3510, 554, 556, 3510, 3510, 558, 3510, 580, 166, 554, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 555, 166, 555, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 166, 556, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 557, 214, 557, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 214, 558, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 559, 560, 559, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 560, 560, 561, 569, 575, 3510, 570, 3510, 3510, 579, 26, 561, 3510, 562, 564, 3510, 331, 3510, 3510, 568, 26, 562, 3510, 331, 333, 3510, 3510, 3510, 3510, 563, 26, 563, 3510, 332, 334, 3510, 3510, 3510, 3510, 3510, 26, 564, 3510, 333, 565, 3510, 3510, 3510, 3510, 567, 335, 565, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 566, 488, 566, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 488, 567, 3510, 334, 566, 3510, 3510, 3510, 3510, 3510, 335, 568, 3510, 563, 567, 3510, 332, 3510, 3510, 3510, 26, 569, 562, 570, 572, 3510, 3510, 3510, 3510, 574, 26, 570, 331, 3510, 3510, 3510, 3510, 3510, 3510, 571, 26, 571, 332, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 26, 572, 333, 3510, 3510, 3510, 3510, 3510, 3510, 573, 335, 573, 334, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 335, 574, 563, 571, 573, 3510, 3510, 3510, 3510, 3510, 26, 575, 564, 572, 576, 3510, 3510, 3510, 3510, 578, 335, 576, 565, 3510, 3510, 3510, 3510, 3510, 3510, 577, 488, 577, 566, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 488, 578, 567, 573, 577, 3510, 3510, 3510, 3510, 3510, 335, 579, 568, 574, 578, 3510, 571, 3510, 3510, 3510, 26, 580, 3510, 555, 557, 3510, 3510, 559, 3510, 3510, 166, 581, 3510, 556, 582, 3510, 3510, 2527, 3510, 2535, 214, 582, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 583, 584, 583, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 584, 584, 585, 750, 769, 3510, 751, 786, 3510, 792, 398, 585, 3510, 586, 770, 3510, 587, 787, 3510, 793, 398, 586, 3510, 587, 589, 3510, 3510, 756, 3510, 760, 398, 587, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 588, 398, 588, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 398, 589, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 590, 591, 590, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 591, 591, 1100, 2526, 2523, 3510, 2522, 2519, 2518, 592, 123, 592, 1101, 2517, 2514, 3510, 2513, 2510, 593, 3510, 123, 593, 1102, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 594, 594, 850, 2509, 2506, 868, 2505, 3510, 3510, 595, 234, 595, 851, 2504, 2501, 599, 596, 3510, 3510, 3510, 234, 596, 598, 3510, 3510, 597, 3510, 3510, 3510, 3510, 234, 597, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 234, 598, 597, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 234, 599, 3510, 857, 600, 3510, 597, 3510, 3510, 3510, 234, 600, 3510, 855, 601, 3510, 3510, 3510, 3510, 3510, 384, 601, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 602, 602, 3510, 954, 952, 3510, 587, 3510, 3510, 603, 398, 603, 3510, 950, 604, 3510, 588, 3510, 3510, 3510, 398, 604, 3510, 590, 605, 3510, 3510, 3510, 3510, 3510, 591, 605, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 606, 606, 1347, 2500, 2497, 3510, 2496, 2493, 2492, 607, 419, 607, 1348, 2491, 2488, 3510, 2487, 2484, 608, 3510, 419, 608, 1349, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 609, 609, 1612, 2483, 2480, 1635, 2479, 3510, 3510, 614, 610, 610, 3510, 612, 611, 3510, 270, 3510, 3510, 153, 41, 611, 3510, 271, 277, 3510, 3510, 3510, 3510, 154, 155, 612, 3510, 270, 271, 3510, 3510, 3510, 3510, 613, 41, 613, 3510, 152, 272, 3510, 3510, 3510, 3510, 3510, 41, 614, 1613, 2478, 2475, 618, 615, 3510, 3510, 3510, 610, 615, 617, 3510, 3510, 616, 3510, 3510, 3510, 3510, 610, 616, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 610, 617, 616, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 610, 618, 3510, 1624, 619, 3510, 616, 3510, 3510, 3510, 610, 619, 3510, 1622, 1620, 3510, 3510, 3510, 3510, 3510, 620, 620, 3510, 1094, 621, 3510, 321, 3510, 3510, 544, 323, 621, 3510, 1092, 622, 3510, 3510, 3510, 3510, 545, 546, 622, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 623, 624, 623, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 624, 624, 3510, 813, 2127, 3510, 814, 2474, 2473, 625, 107, 625, 3510, 2126, 2170, 3510, 815, 627, 626, 3510, 107, 626, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 250, 627, 3510, 2125, 2151, 3510, 3510, 626, 3510, 3510, 628, 628, 629, 2456, 2464, 630, 2457, 2470, 3510, 2472, 267, 629, 630, 2439, 2447, 3510, 2440, 2453, 3510, 2455, 267, 630, 3510, 631, 663, 3510, 632, 2436, 3510, 2438, 267, 631, 3510, 632, 634, 3510, 3510, 636, 3510, 662, 267, 632, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 633, 267, 633, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 267, 634, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 635, 318, 635, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 318, 636, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 637, 638, 637, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 638, 638, 639, 651, 657, 3510, 652, 3510, 3510, 661, 27, 639, 3510, 640, 646, 3510, 641, 3510, 3510, 650, 27, 640, 3510, 641, 643, 3510, 3510, 3510, 3510, 645, 27, 641, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 642, 27, 642, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 27, 643, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 644, 336, 644, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 336, 645, 3510, 642, 644, 3510, 3510, 3510, 3510, 3510, 27, 646, 3510, 643, 647, 3510, 3510, 3510, 3510, 649, 336, 647, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 648, 489, 648, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 489, 649, 3510, 644, 648, 3510, 3510, 3510, 3510, 3510, 336, 650, 3510, 645, 649, 3510, 642, 3510, 3510, 3510, 27, 651, 640, 652, 654, 3510, 3510, 3510, 3510, 656, 27, 652, 641, 3510, 3510, 3510, 3510, 3510, 3510, 653, 27, 653, 642, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 27, 654, 643, 3510, 3510, 3510, 3510, 3510, 3510, 655, 336, 655, 644, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 336, 656, 645, 653, 655, 3510, 3510, 3510, 3510, 3510, 27, 657, 646, 654, 658, 3510, 3510, 3510, 3510, 660, 336, 658, 647, 3510, 3510, 3510, 3510, 3510, 3510, 659, 489, 659, 648, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 489, 660, 649, 655, 659, 3510, 3510, 3510, 3510, 3510, 336, 661, 650, 656, 660, 3510, 653, 3510, 3510, 3510, 27, 662, 3510, 633, 635, 3510, 3510, 637, 3510, 3510, 267, 663, 3510, 634, 664, 3510, 3510, 2427, 3510, 2435, 318, 664, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 665, 666, 665, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 666, 666, 667, 1829, 1828, 3510, 1803, 2424, 3510, 2426, 671, 667, 3510, 668, 1581, 3510, 669, 2421, 3510, 2423, 671, 668, 3510, 669, 1582, 3510, 3510, 1580, 3510, 1576, 671, 669, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 670, 671, 670, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 671, 671, 3510, 2420, 2417, 3510, 2416, 2413, 2412, 672, 40, 672, 3510, 2411, 2375, 3510, 2374, 674, 673, 3510, 40, 673, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 401, 674, 3510, 2373, 2354, 3510, 3510, 673, 3510, 3510, 675, 675, 1017, 2353, 2350, 439, 2349, 2346, 3510, 676, 27, 676, 1018, 2345, 2342, 440, 2341, 677, 3510, 3510, 27, 677, 1019, 2340, 678, 441, 3510, 3510, 3510, 3510, 442, 678, 1020, 3510, 3510, 1021, 3510, 3510, 3510, 3510, 679, 679, 3510, 680, 2317, 3510, 49, 3510, 3510, 2339, 51, 680, 3510, 49, 681, 3510, 3510, 3510, 3510, 2316, 51, 681, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 682, 683, 682, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 683, 683, 684, 2299, 2307, 685, 2300, 2313, 3510, 2315, 91, 684, 685, 2282, 2290, 3510, 2283, 2296, 3510, 2298, 91, 685, 3510, 686, 2249, 3510, 687, 2279, 3510, 2281, 91, 686, 3510, 687, 689, 3510, 3510, 2246, 3510, 2248, 91, 687, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 688, 91, 688, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 91, 689, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 690, 691, 690, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 691, 691, 939, 1048, 1067, 1218, 1060, 2245, 2244, 2241, 692, 692, 1177, 2240, 2237, 3510, 2236, 2233, 2232, 693, 92, 693, 1178, 2231, 2228, 3510, 2227, 729, 694, 3510, 92, 694, 728, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 695, 695, 727, 725, 719, 3510, 717, 3510, 3510, 696, 64, 696, 83, 715, 697, 3510, 82, 3510, 3510, 3510, 64, 697, 84, 713, 698, 3510, 3510, 3510, 3510, 3510, 85, 698, 712, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 699, 699, 413, 710, 707, 3510, 706, 3510, 3510, 700, 39, 700, 120, 704, 701, 3510, 118, 3510, 3510, 3510, 39, 701, 121, 703, 702, 3510, 3510, 3510, 3510, 3510, 122, 702, 417, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 418, 703, 492, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 122, 704, 705, 118, 703, 3510, 3510, 3510, 3510, 3510, 39, 705, 3510, 119, 492, 3510, 3510, 3510, 3510, 3510, 39, 706, 414, 3510, 3510, 3510, 3510, 3510, 3510, 118, 39, 707, 415, 709, 708, 3510, 3510, 3510, 3510, 701, 122, 708, 416, 3510, 3510, 3510, 3510, 3510, 3510, 702, 418, 709, 491, 3510, 3510, 3510, 3510, 3510, 3510, 703, 122, 710, 711, 706, 709, 3510, 3510, 3510, 3510, 704, 39, 711, 3510, 414, 491, 3510, 3510, 3510, 3510, 705, 39, 712, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 699, 713, 714, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 85, 714, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 85, 715, 716, 82, 713, 3510, 3510, 3510, 3510, 3510, 64, 716, 3510, 81, 714, 3510, 3510, 3510, 3510, 3510, 64, 717, 718, 3510, 3510, 3510, 3510, 3510, 3510, 82, 64, 718, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 81, 64, 719, 724, 722, 720, 3510, 3510, 3510, 3510, 697, 85, 720, 721, 3510, 3510, 3510, 3510, 3510, 3510, 698, 699, 721, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 712, 699, 722, 723, 3510, 3510, 3510, 3510, 3510, 3510, 713, 85, 723, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 714, 85, 724, 3510, 723, 721, 3510, 3510, 3510, 3510, 84, 85, 725, 726, 717, 722, 3510, 3510, 3510, 3510, 715, 64, 726, 3510, 718, 723, 3510, 3510, 3510, 3510, 716, 64, 727, 3510, 726, 724, 3510, 718, 3510, 3510, 83, 64, 728, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 695, 729, 1179, 2226, 730, 3510, 3510, 694, 3510, 3510, 328, 730, 731, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 732, 731, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 732, 732, 733, 2209, 2217, 3510, 2210, 2223, 3510, 2225, 52, 733, 3510, 734, 808, 3510, 735, 2206, 3510, 2208, 52, 734, 3510, 735, 737, 3510, 3510, 739, 3510, 807, 52, 735, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 736, 52, 736, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 52, 737, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 738, 684, 738, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 684, 739, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 740, 741, 740, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 741, 741, 742, 796, 802, 3510, 797, 3510, 3510, 806, 165, 742, 3510, 743, 745, 3510, 163, 3510, 3510, 795, 165, 743, 3510, 163, 211, 3510, 3510, 3510, 3510, 744, 165, 744, 3510, 164, 212, 3510, 3510, 3510, 3510, 3510, 165, 745, 3510, 211, 746, 3510, 3510, 3510, 3510, 794, 213, 746, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 747, 748, 747, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 748, 748, 584, 749, 768, 585, 761, 785, 3510, 791, 398, 749, 750, 761, 763, 586, 3510, 765, 3510, 767, 398, 750, 586, 751, 753, 3510, 3510, 755, 3510, 759, 398, 751, 587, 3510, 3510, 3510, 3510, 3510, 3510, 752, 398, 752, 588, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 398, 753, 589, 3510, 3510, 3510, 3510, 3510, 3510, 754, 591, 754, 590, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 591, 755, 756, 3510, 3510, 3510, 3510, 3510, 3510, 758, 261, 756, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 757, 261, 757, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 261, 758, 757, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 261, 759, 760, 752, 754, 3510, 3510, 758, 3510, 3510, 398, 760, 3510, 588, 590, 3510, 3510, 757, 3510, 3510, 398, 761, 751, 3510, 3510, 587, 3510, 3510, 3510, 762, 398, 762, 752, 3510, 3510, 588, 3510, 3510, 3510, 3510, 398, 763, 753, 3510, 3510, 589, 3510, 3510, 3510, 764, 591, 764, 754, 3510, 3510, 590, 3510, 3510, 3510, 3510, 591, 765, 755, 3510, 3510, 756, 3510, 3510, 3510, 766, 261, 766, 758, 3510, 3510, 757, 3510, 3510, 3510, 3510, 261, 767, 759, 762, 764, 760, 3510, 766, 3510, 3510, 398, 768, 769, 763, 780, 770, 3510, 782, 3510, 784, 591, 769, 770, 753, 775, 3510, 3510, 777, 3510, 779, 591, 770, 3510, 589, 771, 3510, 3510, 772, 3510, 774, 591, 771, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 605, 606, 772, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 773, 500, 773, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 500, 774, 3510, 590, 605, 3510, 3510, 773, 3510, 3510, 591, 775, 771, 3510, 3510, 3510, 3510, 3510, 3510, 776, 606, 776, 605, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 606, 777, 772, 3510, 3510, 3510, 3510, 3510, 3510, 778, 500, 778, 773, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 500, 779, 774, 754, 776, 3510, 3510, 778, 3510, 3510, 591, 780, 775, 3510, 3510, 771, 3510, 3510, 3510, 781, 606, 781, 776, 3510, 3510, 605, 3510, 3510, 3510, 3510, 606, 782, 777, 3510, 3510, 772, 3510, 3510, 3510, 783, 500, 783, 778, 3510, 3510, 773, 3510, 3510, 3510, 3510, 500, 784, 779, 764, 781, 774, 3510, 783, 3510, 3510, 591, 785, 786, 765, 782, 787, 3510, 3510, 3510, 790, 261, 786, 787, 755, 777, 3510, 3510, 3510, 3510, 789, 261, 787, 3510, 756, 772, 3510, 3510, 3510, 3510, 788, 261, 788, 3510, 757, 773, 3510, 3510, 3510, 3510, 3510, 261, 789, 788, 758, 778, 3510, 3510, 3510, 3510, 3510, 261, 790, 789, 766, 783, 788, 3510, 3510, 3510, 3510, 261, 791, 792, 767, 784, 793, 762, 790, 3510, 3510, 398, 792, 793, 759, 779, 3510, 752, 789, 3510, 3510, 398, 793, 3510, 760, 774, 3510, 588, 788, 3510, 3510, 398, 794, 3510, 212, 747, 3510, 3510, 3510, 3510, 3510, 213, 795, 3510, 744, 794, 3510, 164, 3510, 3510, 3510, 165, 796, 743, 797, 799, 3510, 3510, 3510, 3510, 801, 165, 797, 163, 3510, 3510, 3510, 3510, 3510, 3510, 798, 165, 798, 164, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 165, 799, 211, 3510, 3510, 3510, 3510, 3510, 3510, 800, 213, 800, 212, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 213, 801, 744, 798, 800, 3510, 3510, 3510, 3510, 3510, 165, 802, 745, 799, 803, 3510, 3510, 3510, 3510, 805, 213, 803, 746, 3510, 3510, 3510, 3510, 3510, 3510, 804, 748, 804, 747, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 748, 805, 794, 800, 804, 3510, 3510, 3510, 3510, 3510, 213, 806, 795, 801, 805, 3510, 798, 3510, 3510, 3510, 165, 807, 3510, 736, 738, 3510, 3510, 740, 3510, 3510, 52, 808, 3510, 737, 809, 3510, 3510, 2191, 3510, 2205, 684, 809, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 810, 811, 810, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 811, 811, 812, 2174, 2182, 3510, 2175, 2188, 3510, 2190, 107, 812, 3510, 813, 2127, 3510, 814, 2171, 3510, 2173, 107, 813, 3510, 814, 816, 3510, 3510, 2124, 3510, 2126, 107, 814, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 815, 107, 815, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 107, 816, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 817, 818, 817, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 818, 818, 1879, 2123, 2120, 1523, 2119, 2116, 2115, 848, 819, 819, 847, 846, 843, 3510, 842, 837, 835, 820, 124, 820, 834, 833, 829, 3510, 828, 823, 821, 3510, 124, 821, 822, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 727, 822, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 727, 823, 827, 826, 824, 3510, 3510, 821, 3510, 3510, 329, 824, 825, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 733, 825, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 733, 826, 527, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 329, 827, 3510, 527, 825, 3510, 3510, 822, 3510, 3510, 329, 828, 510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 124, 829, 830, 831, 832, 3510, 3510, 824, 3510, 3510, 513, 830, 3510, 512, 531, 3510, 3510, 825, 3510, 3510, 513, 831, 512, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 513, 832, 531, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 532, 833, 528, 828, 831, 3510, 3510, 826, 3510, 3510, 124, 834, 3510, 528, 830, 3510, 510, 827, 822, 3510, 124, 835, 836, 3510, 3510, 3510, 3510, 3510, 3510, 821, 727, 836, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 822, 727, 837, 841, 840, 838, 3510, 3510, 835, 3510, 823, 329, 838, 839, 3510, 3510, 3510, 3510, 3510, 3510, 824, 733, 839, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 825, 733, 840, 526, 3510, 3510, 3510, 3510, 3510, 3510, 826, 329, 841, 3510, 526, 839, 3510, 3510, 836, 3510, 827, 329, 842, 509, 3510, 3510, 3510, 3510, 3510, 3510, 828, 124, 843, 529, 844, 845, 3510, 3510, 838, 3510, 829, 513, 844, 511, 3510, 3510, 3510, 3510, 3510, 3510, 831, 513, 845, 530, 3510, 3510, 3510, 3510, 3510, 3510, 832, 532, 846, 508, 842, 844, 3510, 3510, 840, 3510, 833, 124, 847, 3510, 508, 529, 3510, 509, 841, 836, 834, 124, 848, 1880, 2114, 2111, 1524, 2110, 871, 849, 3510, 819, 849, 870, 3510, 3510, 869, 3510, 3510, 3510, 3510, 850, 850, 868, 866, 860, 3510, 858, 3510, 3510, 851, 234, 851, 599, 856, 852, 3510, 598, 3510, 3510, 3510, 234, 852, 600, 854, 853, 3510, 3510, 3510, 3510, 3510, 384, 853, 601, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 602, 854, 855, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 384, 855, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 384, 856, 857, 598, 854, 3510, 3510, 3510, 3510, 3510, 234, 857, 3510, 597, 855, 3510, 3510, 3510, 3510, 3510, 234, 858, 859, 3510, 3510, 3510, 3510, 3510, 3510, 598, 234, 859, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 597, 234, 860, 865, 863, 861, 3510, 3510, 3510, 3510, 852, 384, 861, 862, 3510, 3510, 3510, 3510, 3510, 3510, 853, 602, 862, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 601, 602, 863, 864, 3510, 3510, 3510, 3510, 3510, 3510, 854, 384, 864, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 855, 384, 865, 3510, 864, 862, 3510, 3510, 3510, 3510, 600, 384, 866, 867, 858, 863, 3510, 3510, 3510, 3510, 856, 234, 867, 3510, 859, 864, 3510, 3510, 3510, 3510, 857, 234, 868, 3510, 867, 865, 3510, 859, 3510, 3510, 599, 234, 869, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 850, 870, 869, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 850, 871, 1881, 2109, 2108, 914, 3510, 849, 3510, 3510, 872, 872, 913, 911, 905, 3510, 903, 897, 3510, 873, 167, 873, 896, 894, 888, 3510, 886, 874, 3510, 3510, 167, 874, 885, 883, 875, 3510, 3510, 3510, 3510, 3510, 561, 875, 882, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 876, 876, 3510, 877, 879, 3510, 735, 3510, 3510, 881, 52, 877, 3510, 735, 737, 3510, 3510, 3510, 3510, 878, 52, 878, 3510, 736, 738, 3510, 3510, 3510, 3510, 3510, 52, 879, 3510, 737, 809, 3510, 3510, 3510, 3510, 880, 684, 880, 3510, 738, 810, 3510, 3510, 3510, 3510, 3510, 684, 881, 3510, 878, 880, 3510, 736, 3510, 3510, 3510, 52, 882, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 876, 883, 884, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 561, 884, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 561, 885, 3510, 884, 882, 3510, 3510, 3510, 3510, 3510, 561, 886, 887, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 167, 887, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 167, 888, 893, 891, 889, 3510, 3510, 875, 3510, 3510, 215, 889, 890, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 585, 890, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 585, 891, 892, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 215, 892, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 215, 893, 3510, 892, 890, 3510, 3510, 882, 3510, 3510, 215, 894, 895, 886, 891, 3510, 3510, 883, 3510, 3510, 167, 895, 3510, 887, 892, 3510, 3510, 884, 3510, 3510, 167, 896, 3510, 895, 893, 3510, 887, 885, 3510, 3510, 167, 897, 902, 900, 898, 3510, 3510, 3510, 3510, 874, 561, 898, 899, 3510, 3510, 3510, 3510, 3510, 3510, 875, 876, 899, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 882, 876, 900, 901, 3510, 3510, 3510, 3510, 3510, 3510, 883, 561, 901, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 884, 561, 902, 3510, 901, 899, 3510, 3510, 3510, 3510, 885, 561, 903, 904, 3510, 3510, 3510, 3510, 3510, 3510, 886, 167, 904, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 887, 167, 905, 910, 908, 906, 3510, 3510, 898, 3510, 888, 215, 906, 907, 3510, 3510, 3510, 3510, 3510, 3510, 889, 585, 907, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 890, 585, 908, 909, 3510, 3510, 3510, 3510, 3510, 3510, 891, 215, 909, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 892, 215, 910, 3510, 909, 907, 3510, 3510, 899, 3510, 893, 215, 911, 912, 903, 908, 3510, 3510, 900, 3510, 894, 167, 912, 3510, 904, 909, 3510, 3510, 901, 3510, 895, 167, 913, 3510, 912, 910, 3510, 904, 902, 3510, 896, 167, 914, 3510, 1740, 915, 3510, 3510, 869, 3510, 3510, 872, 915, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 916, 916, 1160, 1172, 1170, 3510, 1158, 1156, 3510, 917, 356, 917, 1135, 1147, 1145, 3510, 1133, 918, 3510, 3510, 356, 918, 1126, 1131, 925, 3510, 3510, 3510, 3510, 3510, 919, 919, 3510, 920, 922, 3510, 554, 3510, 3510, 924, 166, 920, 3510, 554, 556, 3510, 3510, 3510, 3510, 921, 166, 921, 3510, 555, 557, 3510, 3510, 3510, 3510, 3510, 166, 922, 3510, 556, 582, 3510, 3510, 3510, 3510, 923, 214, 923, 3510, 557, 583, 3510, 3510, 3510, 3510, 3510, 214, 924, 3510, 921, 923, 3510, 555, 3510, 3510, 3510, 166, 925, 1127, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 926, 926, 3510, 927, 2084, 3510, 928, 3510, 3510, 2090, 355, 927, 3510, 928, 930, 3510, 3510, 3510, 3510, 2082, 355, 928, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 929, 355, 929, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 355, 930, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 931, 932, 931, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 932, 932, 933, 1049, 1068, 3510, 1050, 2006, 3510, 2012, 692, 933, 3510, 934, 1069, 3510, 935, 2007, 3510, 2013, 692, 934, 3510, 935, 937, 3510, 3510, 1055, 3510, 1059, 692, 935, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 936, 692, 936, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 692, 937, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 938, 939, 938, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 939, 939, 1218, 1049, 1068, 3510, 1050, 2107, 2106, 940, 692, 940, 1219, 1058, 1999, 3510, 1051, 972, 941, 3510, 692, 941, 971, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 942, 942, 970, 968, 962, 3510, 960, 3510, 3510, 943, 225, 943, 239, 958, 944, 3510, 238, 3510, 3510, 3510, 225, 944, 240, 956, 945, 3510, 3510, 3510, 3510, 3510, 241, 945, 955, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 946, 946, 602, 953, 951, 3510, 751, 3510, 3510, 947, 398, 947, 603, 949, 948, 3510, 752, 3510, 3510, 3510, 398, 948, 604, 754, 776, 3510, 3510, 3510, 3510, 3510, 591, 949, 950, 752, 754, 3510, 3510, 3510, 3510, 3510, 398, 950, 3510, 588, 590, 3510, 3510, 3510, 3510, 3510, 398, 951, 952, 753, 775, 3510, 3510, 3510, 3510, 948, 591, 952, 3510, 589, 771, 3510, 3510, 3510, 3510, 604, 591, 953, 954, 751, 753, 3510, 3510, 3510, 3510, 949, 398, 954, 3510, 587, 589, 3510, 3510, 3510, 3510, 950, 398, 955, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 946, 956, 957, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 241, 957, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 241, 958, 959, 238, 956, 3510, 3510, 3510, 3510, 3510, 225, 959, 3510, 237, 957, 3510, 3510, 3510, 3510, 3510, 225, 960, 961, 3510, 3510, 3510, 3510, 3510, 3510, 238, 225, 961, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 237, 225, 962, 967, 965, 963, 3510, 3510, 3510, 3510, 944, 241, 963, 964, 3510, 3510, 3510, 3510, 3510, 3510, 945, 946, 964, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 955, 946, 965, 966, 3510, 3510, 3510, 3510, 3510, 3510, 956, 241, 966, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 957, 241, 967, 3510, 966, 964, 3510, 3510, 3510, 3510, 240, 241, 968, 969, 960, 965, 3510, 3510, 3510, 3510, 958, 225, 969, 3510, 961, 966, 3510, 3510, 3510, 3510, 959, 225, 970, 3510, 969, 967, 3510, 961, 3510, 3510, 239, 225, 971, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 942, 972, 1220, 1057, 973, 3510, 3510, 941, 3510, 3510, 551, 973, 974, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 975, 974, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 975, 975, 976, 2095, 2099, 3510, 2077, 2103, 3510, 2105, 355, 976, 3510, 977, 993, 3510, 928, 2092, 3510, 2094, 355, 977, 3510, 928, 930, 3510, 3510, 978, 3510, 992, 355, 978, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 979, 980, 979, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 980, 980, 919, 981, 987, 3510, 982, 3510, 3510, 991, 166, 981, 920, 982, 984, 3510, 3510, 3510, 3510, 986, 166, 982, 554, 3510, 3510, 3510, 3510, 3510, 3510, 983, 166, 983, 555, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 166, 984, 556, 3510, 3510, 3510, 3510, 3510, 3510, 985, 214, 985, 557, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 214, 986, 921, 983, 985, 3510, 3510, 3510, 3510, 3510, 166, 987, 922, 984, 988, 3510, 3510, 3510, 3510, 990, 214, 988, 582, 3510, 3510, 3510, 3510, 3510, 3510, 989, 584, 989, 583, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 584, 990, 923, 985, 989, 3510, 3510, 3510, 3510, 3510, 214, 991, 924, 986, 990, 3510, 983, 3510, 3510, 3510, 166, 992, 3510, 929, 931, 3510, 3510, 979, 3510, 3510, 355, 993, 3510, 930, 994, 3510, 3510, 2073, 3510, 2091, 932, 994, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 995, 996, 995, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 996, 996, 997, 1995, 1992, 3510, 1991, 2034, 3510, 2040, 1001, 997, 3510, 998, 1924, 3510, 999, 2035, 3510, 2041, 1001, 998, 3510, 999, 1925, 3510, 3510, 1923, 3510, 1919, 1001, 999, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1000, 1001, 1000, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1001, 1001, 1288, 2072, 2069, 3510, 2068, 2065, 2064, 1002, 108, 1002, 1289, 2063, 2060, 3510, 2059, 1016, 1003, 3510, 108, 1003, 1015, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1004, 1004, 428, 1014, 1011, 3510, 1010, 3510, 3510, 1005, 78, 1005, 406, 1009, 1006, 3510, 405, 3510, 3510, 3510, 78, 1006, 407, 1008, 1007, 3510, 3510, 3510, 3510, 3510, 408, 1007, 412, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 413, 1008, 433, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 408, 1009, 435, 405, 1008, 3510, 3510, 3510, 3510, 3510, 78, 1010, 429, 3510, 3510, 3510, 3510, 3510, 3510, 405, 78, 1011, 430, 1013, 1012, 3510, 3510, 3510, 3510, 1006, 408, 1012, 431, 3510, 3510, 3510, 3510, 3510, 3510, 1007, 413, 1013, 432, 3510, 3510, 3510, 3510, 3510, 3510, 1008, 408, 1014, 434, 1010, 1013, 3510, 3510, 3510, 3510, 1009, 78, 1015, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1004, 1016, 1290, 2058, 1038, 3510, 3510, 1003, 3510, 3510, 1017, 1017, 439, 1036, 1034, 3510, 652, 1028, 3510, 1018, 27, 1018, 440, 1026, 1024, 3510, 653, 1019, 3510, 3510, 27, 1019, 441, 1022, 1020, 3510, 3510, 3510, 3510, 3510, 442, 1020, 1021, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 679, 1021, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 679, 1022, 1023, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 442, 1023, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 442, 1024, 1025, 655, 659, 3510, 3510, 1020, 3510, 3510, 336, 1025, 3510, 644, 648, 3510, 3510, 1021, 3510, 3510, 336, 1026, 1027, 653, 655, 3510, 3510, 1022, 3510, 3510, 27, 1027, 3510, 642, 644, 3510, 3510, 1023, 3510, 3510, 27, 1028, 1033, 1031, 1029, 3510, 3510, 3510, 3510, 1019, 442, 1029, 1030, 3510, 3510, 3510, 3510, 3510, 3510, 1020, 679, 1030, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1021, 679, 1031, 1032, 3510, 3510, 3510, 3510, 3510, 3510, 1022, 442, 1032, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1023, 442, 1033, 3510, 1032, 1030, 3510, 3510, 3510, 3510, 441, 442, 1034, 1035, 654, 658, 3510, 3510, 1029, 3510, 1024, 336, 1035, 3510, 643, 647, 3510, 3510, 1030, 3510, 1025, 336, 1036, 1037, 652, 654, 3510, 3510, 1031, 3510, 1026, 27, 1037, 3510, 641, 643, 3510, 3510, 1032, 3510, 1027, 27, 1038, 1291, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1039, 1039, 1548, 2057, 2054, 3510, 2053, 2050, 3510, 1040, 53, 1040, 1549, 2049, 2046, 3510, 2045, 1041, 3510, 3510, 53, 1041, 1550, 2044, 1042, 3510, 3510, 3510, 3510, 3510, 742, 1042, 1551, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1043, 1043, 3510, 1044, 2015, 3510, 352, 3510, 3510, 2043, 354, 1044, 3510, 352, 1045, 3510, 3510, 3510, 3510, 2014, 354, 1045, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1046, 1047, 1046, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1047, 1047, 932, 1048, 1067, 933, 1060, 2005, 3510, 2011, 692, 1048, 1049, 1060, 1062, 934, 3510, 1064, 3510, 1066, 692, 1049, 934, 1050, 1052, 3510, 3510, 1054, 3510, 1058, 692, 1050, 935, 3510, 3510, 3510, 3510, 3510, 3510, 1051, 692, 1051, 936, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 692, 1052, 937, 3510, 3510, 3510, 3510, 3510, 3510, 1053, 939, 1053, 938, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 939, 1054, 1055, 3510, 3510, 3510, 3510, 3510, 3510, 1057, 551, 1055, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1056, 551, 1056, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 551, 1057, 1056, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 551, 1058, 1059, 1051, 1053, 3510, 3510, 1057, 3510, 3510, 692, 1059, 3510, 936, 938, 3510, 3510, 1056, 3510, 3510, 692, 1060, 1050, 3510, 3510, 935, 3510, 3510, 3510, 1061, 692, 1061, 1051, 3510, 3510, 936, 3510, 3510, 3510, 3510, 692, 1062, 1052, 3510, 3510, 937, 3510, 3510, 3510, 1063, 939, 1063, 1053, 3510, 3510, 938, 3510, 3510, 3510, 3510, 939, 1064, 1054, 3510, 3510, 1055, 3510, 3510, 3510, 1065, 551, 1065, 1057, 3510, 3510, 1056, 3510, 3510, 3510, 3510, 551, 1066, 1058, 1061, 1063, 1059, 3510, 1065, 3510, 3510, 692, 1067, 1068, 1062, 2000, 1069, 3510, 2002, 3510, 2004, 939, 1068, 1069, 1052, 1996, 3510, 3510, 1998, 3510, 1999, 939, 1069, 3510, 937, 1070, 3510, 3510, 1224, 3510, 1221, 939, 1070, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1071, 1072, 1071, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1072, 1072, 1226, 1995, 1992, 3510, 1991, 1988, 1987, 1073, 1001, 1073, 1227, 1986, 1983, 3510, 1982, 1979, 1074, 3510, 1001, 1074, 1228, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1075, 1075, 1507, 1978, 1975, 3510, 1974, 3510, 3510, 1076, 251, 1076, 1508, 1973, 1079, 3510, 1077, 3510, 3510, 3510, 251, 1077, 1078, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 251, 1078, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 251, 1079, 1509, 1972, 1095, 3510, 3510, 3510, 3510, 3510, 1080, 1080, 620, 1093, 1089, 3510, 1088, 3510, 3510, 1081, 323, 1081, 544, 1086, 1082, 3510, 543, 3510, 3510, 3510, 323, 1082, 545, 1084, 1083, 3510, 3510, 3510, 3510, 3510, 546, 1083, 623, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 624, 1084, 1085, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 546, 1085, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 546, 1086, 1087, 543, 1084, 3510, 3510, 3510, 3510, 3510, 323, 1087, 3510, 322, 1085, 3510, 3510, 3510, 3510, 3510, 323, 1088, 321, 3510, 3510, 3510, 3510, 3510, 3510, 543, 323, 1089, 621, 1091, 1090, 3510, 3510, 3510, 3510, 1082, 546, 1090, 622, 3510, 3510, 3510, 3510, 3510, 3510, 1083, 624, 1091, 1092, 3510, 3510, 3510, 3510, 3510, 3510, 1084, 546, 1092, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1085, 546, 1093, 1094, 1088, 1091, 3510, 3510, 3510, 3510, 1086, 323, 1094, 3510, 321, 1092, 3510, 3510, 3510, 3510, 1087, 323, 1095, 1510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1096, 1096, 1616, 1811, 1809, 3510, 1803, 3510, 3510, 1097, 671, 1097, 1344, 1801, 1099, 3510, 1098, 3510, 3510, 3510, 671, 1098, 670, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 671, 1099, 1345, 1799, 1797, 3510, 3510, 3510, 3510, 3510, 1100, 1100, 3510, 1971, 1968, 3510, 1967, 1964, 1963, 1101, 123, 1101, 3510, 1962, 1175, 3510, 1174, 1103, 1102, 3510, 123, 1102, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 594, 1103, 3510, 1173, 1122, 3510, 3510, 1102, 3510, 3510, 1104, 1104, 872, 1121, 1118, 913, 1117, 1114, 3510, 1105, 167, 1105, 873, 1113, 1110, 896, 1109, 1106, 3510, 3510, 167, 1106, 874, 1108, 1107, 885, 3510, 3510, 3510, 3510, 561, 1107, 875, 3510, 3510, 882, 3510, 3510, 3510, 3510, 876, 1108, 883, 3510, 3510, 884, 3510, 3510, 3510, 3510, 561, 1109, 886, 3510, 3510, 887, 3510, 3510, 3510, 3510, 167, 1110, 888, 1112, 1111, 893, 3510, 1107, 3510, 3510, 215, 1111, 889, 3510, 3510, 890, 3510, 3510, 3510, 3510, 585, 1112, 891, 3510, 3510, 892, 3510, 3510, 3510, 3510, 215, 1113, 894, 1109, 1112, 895, 3510, 1108, 3510, 3510, 167, 1114, 897, 1116, 1115, 902, 3510, 3510, 3510, 1106, 561, 1115, 898, 3510, 3510, 899, 3510, 3510, 3510, 1107, 876, 1116, 900, 3510, 3510, 901, 3510, 3510, 3510, 1108, 561, 1117, 903, 3510, 3510, 904, 3510, 3510, 3510, 1109, 167, 1118, 905, 1120, 1119, 910, 3510, 1115, 3510, 1110, 215, 1119, 906, 3510, 3510, 907, 3510, 3510, 3510, 1111, 585, 1120, 908, 3510, 3510, 909, 3510, 3510, 3510, 1112, 215, 1121, 911, 1117, 1120, 912, 3510, 1116, 3510, 1113, 167, 1122, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1123, 1123, 916, 1171, 1165, 1160, 1157, 1148, 3510, 1124, 356, 1124, 917, 1146, 1140, 1135, 1132, 1125, 3510, 3510, 356, 1125, 918, 1130, 1129, 1126, 3510, 3510, 3510, 3510, 919, 1126, 3510, 1128, 1127, 3510, 3510, 3510, 3510, 3510, 919, 1127, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 926, 1128, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 919, 1129, 925, 3510, 3510, 1127, 3510, 3510, 3510, 3510, 926, 1130, 1131, 3510, 3510, 1128, 3510, 3510, 3510, 3510, 919, 1131, 1128, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 919, 1132, 1133, 3510, 3510, 1134, 3510, 3510, 3510, 3510, 356, 1133, 1134, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 356, 1134, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 356, 1135, 3510, 1139, 1136, 3510, 1134, 1126, 3510, 3510, 356, 1136, 3510, 1138, 1137, 3510, 3510, 1127, 3510, 3510, 933, 1137, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 997, 1138, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 933, 1139, 3510, 1134, 1138, 3510, 3510, 1128, 3510, 3510, 356, 1140, 1145, 1143, 1141, 1136, 3510, 1129, 3510, 3510, 933, 1141, 1142, 3510, 3510, 1137, 3510, 3510, 3510, 3510, 997, 1142, 1137, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 997, 1143, 1144, 3510, 3510, 1138, 3510, 3510, 3510, 3510, 933, 1144, 1138, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 933, 1145, 1136, 1144, 1142, 3510, 3510, 925, 3510, 3510, 933, 1146, 1147, 1132, 1143, 1139, 3510, 1130, 3510, 3510, 356, 1147, 1139, 1133, 1144, 3510, 3510, 1131, 3510, 3510, 356, 1148, 1156, 1154, 1152, 1149, 3510, 3510, 3510, 1125, 919, 1149, 3510, 1151, 1150, 3510, 3510, 3510, 3510, 1126, 919, 1150, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1127, 926, 1151, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1128, 919, 1152, 1153, 3510, 3510, 1150, 3510, 3510, 3510, 1129, 926, 1153, 1150, 3510, 3510, 3510, 3510, 3510, 3510, 925, 926, 1154, 1155, 3510, 3510, 1151, 3510, 3510, 3510, 1130, 919, 1155, 1151, 3510, 3510, 3510, 3510, 3510, 3510, 1131, 919, 1156, 1149, 1155, 1153, 3510, 3510, 3510, 3510, 918, 919, 1157, 1158, 3510, 3510, 1159, 3510, 3510, 3510, 1132, 356, 1158, 1159, 3510, 3510, 3510, 3510, 3510, 3510, 1133, 356, 1159, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1134, 356, 1160, 3510, 1164, 1161, 3510, 1159, 1149, 3510, 1135, 356, 1161, 3510, 1163, 1162, 3510, 3510, 1150, 3510, 1136, 933, 1162, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1137, 997, 1163, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1138, 933, 1164, 3510, 1159, 1163, 3510, 3510, 1151, 3510, 1139, 356, 1165, 1170, 1168, 1166, 1161, 3510, 1152, 3510, 1140, 933, 1166, 1167, 3510, 3510, 1162, 3510, 3510, 3510, 1141, 997, 1167, 1162, 3510, 3510, 3510, 3510, 3510, 3510, 1142, 997, 1168, 1169, 3510, 3510, 1163, 3510, 3510, 3510, 1143, 933, 1169, 1163, 3510, 3510, 3510, 3510, 3510, 3510, 1144, 933, 1170, 1161, 1169, 1167, 3510, 3510, 1153, 3510, 1145, 933, 1171, 1172, 1157, 1168, 1164, 3510, 1154, 3510, 1146, 356, 1172, 1164, 1158, 1169, 3510, 3510, 1155, 3510, 1147, 356, 1173, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1104, 1174, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 123, 1175, 3510, 1961, 1940, 3510, 3510, 1122, 3510, 3510, 1176, 1176, 1527, 1939, 1936, 1500, 1935, 1932, 1931, 1199, 1177, 1177, 3510, 357, 1197, 3510, 358, 1194, 1193, 1178, 92, 1178, 3510, 1192, 1181, 3510, 359, 1179, 728, 3510, 92, 1179, 3510, 1180, 731, 3510, 3510, 728, 3510, 3510, 328, 1180, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 328, 1181, 3510, 361, 1182, 3510, 3510, 731, 3510, 3510, 362, 1182, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1183, 1183, 532, 750, 769, 3510, 751, 1190, 1188, 1184, 398, 1184, 533, 759, 779, 3510, 752, 1186, 1185, 3510, 398, 1185, 534, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 535, 1186, 1187, 758, 778, 3510, 3510, 1185, 3510, 3510, 261, 1187, 3510, 757, 773, 3510, 3510, 534, 3510, 3510, 261, 1188, 1189, 3510, 3510, 3510, 3510, 3510, 3510, 1185, 535, 1189, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 534, 535, 1190, 1191, 755, 777, 3510, 3510, 1188, 3510, 1186, 261, 1191, 3510, 756, 772, 3510, 3510, 1189, 3510, 1187, 261, 1192, 3510, 359, 361, 3510, 3510, 1180, 3510, 3510, 92, 1193, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 728, 695, 1194, 3510, 1196, 1195, 3510, 3510, 1193, 3510, 1179, 328, 1195, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 731, 732, 1196, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1180, 328, 1197, 3510, 360, 1198, 3510, 3510, 1195, 3510, 1181, 362, 1198, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1182, 1183, 1199, 1528, 1930, 1927, 1215, 1212, 1203, 1200, 3510, 1177, 1200, 1202, 3510, 3510, 1201, 3510, 3510, 3510, 3510, 970, 1201, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 970, 1202, 1201, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 970, 1203, 1211, 1209, 1207, 1204, 3510, 1200, 3510, 3510, 552, 1204, 3510, 1206, 1205, 3510, 3510, 1201, 3510, 3510, 552, 1205, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 976, 1206, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 552, 1207, 1208, 3510, 3510, 1205, 3510, 3510, 3510, 3510, 976, 1208, 1205, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 976, 1209, 1210, 3510, 3510, 1206, 3510, 3510, 3510, 3510, 552, 1210, 1206, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 552, 1211, 1204, 1210, 1208, 3510, 3510, 1202, 3510, 3510, 552, 1212, 1213, 3510, 3510, 1214, 3510, 3510, 3510, 3510, 1177, 1213, 1214, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1177, 1214, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1177, 1215, 3510, 1244, 1216, 3510, 1214, 1204, 1201, 3510, 1177, 1216, 3510, 1217, 1225, 3510, 3510, 1205, 3510, 3510, 1218, 1217, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1218, 1218, 3510, 934, 1069, 3510, 935, 1223, 1222, 1219, 692, 1219, 3510, 1059, 1221, 3510, 936, 1220, 971, 3510, 692, 1220, 3510, 1056, 974, 3510, 3510, 971, 3510, 3510, 551, 1221, 3510, 938, 1071, 3510, 3510, 974, 3510, 3510, 939, 1222, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 971, 942, 1223, 3510, 1055, 1224, 3510, 3510, 1222, 3510, 1220, 551, 1224, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 974, 975, 1225, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1226, 1226, 3510, 998, 1924, 3510, 999, 1921, 1920, 1227, 1001, 1227, 3510, 1919, 1877, 3510, 1000, 1229, 1228, 3510, 1001, 1228, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1075, 1229, 3510, 1876, 1230, 3510, 3510, 1228, 3510, 3510, 629, 1230, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1231, 1231, 1232, 1859, 1867, 3510, 1860, 1873, 3510, 1875, 506, 1232, 3510, 1233, 1280, 3510, 1234, 1856, 3510, 1858, 506, 1233, 3510, 1234, 1236, 3510, 3510, 1265, 3510, 1279, 506, 1234, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1235, 506, 1235, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 506, 1236, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1237, 1238, 1237, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1238, 1238, 1239, 1251, 1257, 3510, 1252, 1262, 3510, 1264, 1177, 1239, 3510, 1240, 1245, 3510, 1241, 1248, 3510, 1250, 1177, 1240, 3510, 1241, 1242, 3510, 3510, 1243, 3510, 1244, 1177, 1241, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1214, 1177, 1242, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1217, 1218, 1243, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1206, 552, 1244, 3510, 1214, 1217, 3510, 3510, 1206, 3510, 3510, 1177, 1245, 3510, 1242, 1246, 3510, 3510, 1247, 3510, 1216, 1218, 1246, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1225, 1226, 1247, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1205, 976, 1248, 3510, 1243, 1247, 3510, 3510, 3510, 3510, 1249, 552, 1249, 3510, 1206, 1205, 3510, 3510, 3510, 3510, 3510, 552, 1250, 3510, 1244, 1216, 3510, 1214, 1249, 3510, 3510, 1177, 1251, 1240, 1252, 1253, 3510, 3510, 1255, 3510, 1256, 1177, 1252, 1241, 3510, 3510, 3510, 3510, 3510, 3510, 1213, 1177, 1253, 1242, 3510, 3510, 3510, 3510, 3510, 3510, 1254, 1218, 1254, 1217, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1218, 1255, 1243, 3510, 3510, 3510, 3510, 3510, 3510, 1210, 552, 1256, 1244, 1213, 1254, 3510, 3510, 1210, 3510, 3510, 1177, 1257, 1245, 1253, 1258, 3510, 3510, 1260, 3510, 1261, 1218, 1258, 1246, 3510, 3510, 3510, 3510, 3510, 3510, 1259, 1226, 1259, 1225, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1226, 1260, 1247, 3510, 3510, 3510, 3510, 3510, 3510, 1208, 976, 1261, 1216, 1254, 1259, 3510, 3510, 1208, 3510, 3510, 1218, 1262, 1248, 1255, 1260, 3510, 3510, 3510, 3510, 1263, 552, 1263, 1249, 1210, 1208, 3510, 3510, 3510, 3510, 3510, 552, 1264, 1250, 1256, 1261, 3510, 1213, 1263, 3510, 3510, 1177, 1265, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1266, 1267, 1266, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1267, 1267, 1268, 1274, 1276, 3510, 903, 3510, 3510, 1278, 167, 1268, 3510, 1269, 1271, 3510, 904, 3510, 3510, 1273, 167, 1269, 3510, 904, 909, 3510, 3510, 3510, 3510, 1270, 167, 1270, 3510, 887, 892, 3510, 3510, 3510, 3510, 3510, 167, 1271, 3510, 909, 907, 3510, 3510, 3510, 3510, 1272, 215, 1272, 3510, 892, 890, 3510, 3510, 3510, 3510, 3510, 215, 1273, 3510, 1270, 1272, 3510, 887, 3510, 3510, 3510, 167, 1274, 1269, 903, 908, 3510, 3510, 3510, 3510, 1275, 167, 1275, 1270, 886, 891, 3510, 3510, 3510, 3510, 3510, 167, 1276, 1271, 908, 906, 3510, 3510, 3510, 3510, 1277, 215, 1277, 1272, 891, 889, 3510, 3510, 3510, 3510, 3510, 215, 1278, 1273, 1275, 1277, 3510, 886, 3510, 3510, 3510, 167, 1279, 3510, 1235, 1237, 3510, 3510, 1266, 3510, 3510, 506, 1280, 3510, 1236, 1281, 3510, 3510, 1847, 3510, 1855, 1238, 1281, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1282, 1283, 1282, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1283, 1283, 1284, 1737, 1731, 3510, 1730, 1844, 3510, 1846, 1288, 1284, 3510, 1285, 1732, 3510, 1286, 1841, 3510, 1843, 1288, 1285, 3510, 1286, 1733, 3510, 3510, 1728, 3510, 1721, 1288, 1286, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1287, 1288, 1287, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1288, 1288, 3510, 1840, 1837, 3510, 1836, 1833, 1832, 1289, 108, 1289, 3510, 1831, 1294, 3510, 1293, 1290, 1015, 3510, 108, 1290, 3510, 1292, 1291, 3510, 3510, 1015, 3510, 3510, 1017, 1291, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1039, 1292, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1017, 1293, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 108, 1294, 3510, 1830, 1333, 3510, 3510, 1291, 3510, 3510, 1295, 1295, 1332, 1331, 1329, 3510, 1088, 1323, 1321, 1296, 323, 1296, 1320, 1318, 1316, 3510, 543, 1310, 1297, 3510, 323, 1297, 1309, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1298, 1298, 3510, 1308, 1305, 3510, 1304, 3510, 3510, 1299, 137, 1299, 3510, 1303, 1300, 3510, 368, 3510, 3510, 3510, 137, 1300, 3510, 1302, 1301, 3510, 3510, 3510, 3510, 3510, 370, 1301, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 397, 1302, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 370, 1303, 3510, 368, 1302, 3510, 3510, 3510, 3510, 3510, 137, 1304, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 368, 137, 1305, 3510, 1307, 1306, 3510, 3510, 3510, 3510, 1300, 370, 1306, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1301, 397, 1307, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1302, 370, 1308, 3510, 1304, 1307, 3510, 3510, 3510, 3510, 1303, 137, 1309, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1298, 1310, 1315, 1313, 1311, 3510, 3510, 1297, 3510, 3510, 161, 1311, 1312, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 350, 1312, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 350, 1313, 1314, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 161, 1314, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 161, 1315, 3510, 1314, 1312, 3510, 3510, 1309, 3510, 3510, 161, 1316, 1317, 1084, 1083, 3510, 3510, 1311, 3510, 3510, 546, 1317, 3510, 1085, 623, 3510, 3510, 1312, 3510, 3510, 546, 1318, 1319, 543, 1084, 3510, 3510, 1313, 3510, 3510, 323, 1319, 3510, 322, 1085, 3510, 3510, 1314, 3510, 3510, 323, 1320, 3510, 1319, 1317, 3510, 322, 1315, 1309, 3510, 323, 1321, 1322, 3510, 3510, 3510, 3510, 3510, 3510, 1297, 1298, 1322, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1309, 1298, 1323, 1328, 1326, 1324, 3510, 3510, 1321, 3510, 1310, 161, 1324, 1325, 3510, 3510, 3510, 3510, 3510, 3510, 1311, 350, 1325, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1312, 350, 1326, 1327, 3510, 3510, 3510, 3510, 3510, 3510, 1313, 161, 1327, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1314, 161, 1328, 3510, 1327, 1325, 3510, 3510, 1322, 3510, 1315, 161, 1329, 1330, 1091, 1090, 3510, 3510, 1324, 3510, 1316, 546, 1330, 3510, 1092, 622, 3510, 3510, 1325, 3510, 1317, 546, 1331, 320, 1088, 1091, 3510, 3510, 1326, 3510, 1318, 323, 1332, 3510, 320, 1330, 3510, 321, 1328, 1322, 1320, 323, 1333, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1334, 1334, 1568, 1829, 1828, 3510, 1803, 1825, 1824, 1335, 671, 1335, 1569, 1823, 1822, 3510, 1098, 1819, 1336, 3510, 671, 1336, 1570, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1337, 1337, 3510, 1818, 1815, 3510, 1814, 3510, 3510, 1338, 148, 1338, 3510, 1813, 1339, 3510, 538, 3510, 3510, 3510, 148, 1339, 3510, 1812, 1340, 3510, 3510, 3510, 3510, 3510, 540, 1340, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1341, 1341, 1096, 1810, 1804, 1616, 1802, 3510, 3510, 1342, 671, 1342, 1097, 1800, 1795, 1344, 1343, 3510, 3510, 3510, 671, 1343, 1098, 3510, 3510, 670, 3510, 3510, 3510, 3510, 671, 1344, 3510, 1619, 1345, 3510, 670, 3510, 3510, 3510, 671, 1345, 3510, 1575, 1346, 3510, 3510, 3510, 3510, 3510, 1100, 1346, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1347, 1347, 3510, 1794, 1791, 3510, 1790, 1787, 1786, 1348, 419, 1348, 3510, 1785, 1480, 3510, 1479, 1350, 1349, 3510, 419, 1349, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 609, 1350, 3510, 1478, 1417, 3510, 3510, 1349, 3510, 3510, 1351, 1351, 1416, 1414, 1408, 1403, 1400, 1391, 3510, 1352, 268, 1352, 1390, 1388, 1382, 1377, 1374, 1353, 3510, 3510, 268, 1353, 1373, 1371, 1369, 1354, 3510, 3510, 3510, 3510, 639, 1354, 3510, 1368, 1355, 3510, 3510, 3510, 3510, 3510, 639, 1355, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1356, 1356, 3510, 1357, 1363, 3510, 1358, 3510, 3510, 1367, 53, 1357, 3510, 1358, 1360, 3510, 3510, 3510, 3510, 1362, 53, 1358, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1359, 53, 1359, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 53, 1360, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1361, 685, 1361, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 685, 1362, 3510, 1359, 1361, 3510, 3510, 3510, 3510, 3510, 53, 1363, 3510, 1360, 1364, 3510, 3510, 3510, 3510, 1366, 685, 1364, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1365, 812, 1365, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 812, 1366, 3510, 1361, 1365, 3510, 3510, 3510, 3510, 3510, 685, 1367, 3510, 1362, 1366, 3510, 1359, 3510, 3510, 3510, 53, 1368, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 639, 1369, 1370, 3510, 3510, 1355, 3510, 3510, 3510, 3510, 1356, 1370, 1355, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1356, 1371, 1372, 3510, 3510, 1368, 3510, 3510, 3510, 3510, 639, 1372, 1368, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 639, 1373, 1354, 1372, 1370, 3510, 3510, 3510, 3510, 3510, 639, 1374, 1376, 3510, 3510, 1375, 3510, 3510, 3510, 3510, 268, 1375, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 268, 1376, 1375, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 268, 1377, 3510, 1381, 1378, 3510, 1375, 1354, 3510, 3510, 268, 1378, 3510, 1380, 1379, 3510, 3510, 1355, 3510, 3510, 319, 1379, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 667, 1380, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 319, 1381, 3510, 1375, 1380, 3510, 3510, 1368, 3510, 3510, 268, 1382, 1387, 1385, 1383, 1378, 3510, 1369, 3510, 3510, 319, 1383, 1384, 3510, 3510, 1379, 3510, 3510, 3510, 3510, 667, 1384, 1379, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 667, 1385, 1386, 3510, 3510, 1380, 3510, 3510, 3510, 3510, 319, 1386, 1380, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 319, 1387, 1378, 1386, 1384, 3510, 3510, 1370, 3510, 3510, 319, 1388, 1389, 1374, 1385, 1381, 3510, 1371, 3510, 3510, 268, 1389, 1381, 1376, 1386, 3510, 3510, 1372, 3510, 3510, 268, 1390, 1377, 1389, 1387, 3510, 1376, 1373, 3510, 3510, 268, 1391, 1399, 1397, 1395, 1392, 3510, 3510, 3510, 1353, 639, 1392, 3510, 1394, 1393, 3510, 3510, 3510, 3510, 1354, 639, 1393, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1355, 1356, 1394, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1368, 639, 1395, 1396, 3510, 3510, 1393, 3510, 3510, 3510, 1369, 1356, 1396, 1393, 3510, 3510, 3510, 3510, 3510, 3510, 1370, 1356, 1397, 1398, 3510, 3510, 1394, 3510, 3510, 3510, 1371, 639, 1398, 1394, 3510, 3510, 3510, 3510, 3510, 3510, 1372, 639, 1399, 1392, 1398, 1396, 3510, 3510, 3510, 3510, 1373, 639, 1400, 1402, 3510, 3510, 1401, 3510, 3510, 3510, 1374, 268, 1401, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1375, 268, 1402, 1401, 3510, 3510, 3510, 3510, 3510, 3510, 1376, 268, 1403, 3510, 1407, 1404, 3510, 1401, 1392, 3510, 1377, 268, 1404, 3510, 1406, 1405, 3510, 3510, 1393, 3510, 1378, 319, 1405, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1379, 667, 1406, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1380, 319, 1407, 3510, 1401, 1406, 3510, 3510, 1394, 3510, 1381, 268, 1408, 1413, 1411, 1409, 1404, 3510, 1395, 3510, 1382, 319, 1409, 1410, 3510, 3510, 1405, 3510, 3510, 3510, 1383, 667, 1410, 1405, 3510, 3510, 3510, 3510, 3510, 3510, 1384, 667, 1411, 1412, 3510, 3510, 1406, 3510, 3510, 3510, 1385, 319, 1412, 1406, 3510, 3510, 3510, 3510, 3510, 3510, 1386, 319, 1413, 1404, 1412, 1410, 3510, 3510, 1396, 3510, 1387, 319, 1414, 1415, 1400, 1411, 1407, 3510, 1397, 3510, 1388, 268, 1415, 1407, 1402, 1412, 3510, 3510, 1398, 3510, 1389, 268, 1416, 1403, 1415, 1413, 3510, 1402, 1399, 3510, 1390, 268, 1417, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1418, 1418, 1477, 1475, 1469, 1464, 1461, 1452, 3510, 1419, 507, 1419, 1451, 1449, 1443, 1438, 1435, 1420, 3510, 3510, 507, 1420, 1434, 1432, 1430, 1421, 3510, 3510, 3510, 3510, 1268, 1421, 3510, 1429, 1422, 3510, 3510, 3510, 3510, 3510, 1268, 1422, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1423, 1423, 3510, 1424, 1426, 3510, 1159, 3510, 3510, 1428, 356, 1424, 3510, 1159, 1163, 3510, 3510, 3510, 3510, 1425, 356, 1425, 3510, 1134, 1138, 3510, 3510, 3510, 3510, 3510, 356, 1426, 3510, 1163, 1162, 3510, 3510, 3510, 3510, 1427, 933, 1427, 3510, 1138, 1137, 3510, 3510, 3510, 3510, 3510, 933, 1428, 3510, 1425, 1427, 3510, 1134, 3510, 3510, 3510, 356, 1429, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1268, 1430, 1431, 3510, 3510, 1422, 3510, 3510, 3510, 3510, 1423, 1431, 1422, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1423, 1432, 1433, 3510, 3510, 1429, 3510, 3510, 3510, 3510, 1268, 1433, 1429, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1268, 1434, 1421, 1433, 1431, 3510, 3510, 3510, 3510, 3510, 1268, 1435, 1437, 3510, 3510, 1436, 3510, 3510, 3510, 3510, 507, 1436, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 507, 1437, 1436, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 507, 1438, 3510, 1442, 1439, 3510, 1436, 1421, 3510, 3510, 507, 1439, 3510, 1441, 1440, 3510, 3510, 1422, 3510, 3510, 1239, 1440, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1284, 1441, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1239, 1442, 3510, 1436, 1441, 3510, 3510, 1429, 3510, 3510, 507, 1443, 1448, 1446, 1444, 1439, 3510, 1430, 3510, 3510, 1239, 1444, 1445, 3510, 3510, 1440, 3510, 3510, 3510, 3510, 1284, 1445, 1440, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1284, 1446, 1447, 3510, 3510, 1441, 3510, 3510, 3510, 3510, 1239, 1447, 1441, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1239, 1448, 1439, 1447, 1445, 3510, 3510, 1431, 3510, 3510, 1239, 1449, 1450, 1435, 1446, 1442, 3510, 1432, 3510, 3510, 507, 1450, 1442, 1437, 1447, 3510, 3510, 1433, 3510, 3510, 507, 1451, 1438, 1450, 1448, 3510, 1437, 1434, 3510, 3510, 507, 1452, 1460, 1458, 1456, 1453, 3510, 3510, 3510, 1420, 1268, 1453, 3510, 1455, 1454, 3510, 3510, 3510, 3510, 1421, 1268, 1454, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1422, 1423, 1455, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1429, 1268, 1456, 1457, 3510, 3510, 1454, 3510, 3510, 3510, 1430, 1423, 1457, 1454, 3510, 3510, 3510, 3510, 3510, 3510, 1431, 1423, 1458, 1459, 3510, 3510, 1455, 3510, 3510, 3510, 1432, 1268, 1459, 1455, 3510, 3510, 3510, 3510, 3510, 3510, 1433, 1268, 1460, 1453, 1459, 1457, 3510, 3510, 3510, 3510, 1434, 1268, 1461, 1463, 3510, 3510, 1462, 3510, 3510, 3510, 1435, 507, 1462, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1436, 507, 1463, 1462, 3510, 3510, 3510, 3510, 3510, 3510, 1437, 507, 1464, 3510, 1468, 1465, 3510, 1462, 1453, 3510, 1438, 507, 1465, 3510, 1467, 1466, 3510, 3510, 1454, 3510, 1439, 1239, 1466, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1440, 1284, 1467, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1441, 1239, 1468, 3510, 1462, 1467, 3510, 3510, 1455, 3510, 1442, 507, 1469, 1474, 1472, 1470, 1465, 3510, 1456, 3510, 1443, 1239, 1470, 1471, 3510, 3510, 1466, 3510, 3510, 3510, 1444, 1284, 1471, 1466, 3510, 3510, 3510, 3510, 3510, 3510, 1445, 1284, 1472, 1473, 3510, 3510, 1467, 3510, 3510, 3510, 1446, 1239, 1473, 1467, 3510, 3510, 3510, 3510, 3510, 3510, 1447, 1239, 1474, 1465, 1473, 1471, 3510, 3510, 1457, 3510, 1448, 1239, 1475, 1476, 1461, 1472, 1468, 3510, 1458, 3510, 1449, 507, 1476, 1468, 1463, 1473, 3510, 3510, 1459, 3510, 1450, 507, 1477, 1464, 1476, 1474, 3510, 1463, 1460, 3510, 1451, 507, 1478, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1351, 1479, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 419, 1480, 3510, 1784, 1763, 3510, 3510, 1417, 3510, 3510, 1481, 1481, 1641, 1762, 1759, 1667, 1758, 1755, 1754, 1482, 847, 1482, 1642, 1753, 1750, 1498, 1495, 1486, 1483, 3510, 847, 1483, 1485, 3510, 3510, 1484, 3510, 3510, 3510, 3510, 868, 1484, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 868, 1485, 1484, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 868, 1486, 1494, 1492, 1490, 1487, 3510, 1483, 3510, 3510, 913, 1487, 3510, 1489, 1488, 3510, 3510, 1484, 3510, 3510, 913, 1488, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1160, 1489, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 913, 1490, 1491, 3510, 3510, 1488, 3510, 3510, 3510, 3510, 1160, 1491, 1488, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1160, 1492, 1493, 3510, 3510, 1489, 3510, 3510, 3510, 3510, 913, 1493, 1489, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 913, 1494, 1487, 1493, 1491, 3510, 3510, 1485, 3510, 3510, 913, 1495, 1497, 3510, 3510, 1496, 3510, 3510, 3510, 3510, 847, 1496, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 847, 1497, 1496, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 847, 1498, 3510, 1648, 1499, 3510, 1496, 1487, 1484, 3510, 847, 1499, 3510, 1646, 1503, 3510, 3510, 1488, 3510, 3510, 1500, 1500, 3510, 1240, 1245, 3510, 1241, 1502, 1501, 1215, 1177, 1501, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1201, 970, 1502, 3510, 1243, 1247, 3510, 3510, 1501, 3510, 1204, 552, 1503, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1504, 1504, 3510, 1285, 1732, 3510, 1286, 1729, 1723, 1505, 1288, 1505, 3510, 1721, 1521, 3510, 1287, 1518, 1506, 3510, 1288, 1506, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1507, 1507, 3510, 1517, 1514, 3510, 1513, 3510, 3510, 1508, 251, 1508, 3510, 1512, 1509, 3510, 1078, 3510, 3510, 3510, 251, 1509, 3510, 1511, 1510, 3510, 3510, 3510, 3510, 3510, 1080, 1510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1096, 1511, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1080, 1512, 3510, 1078, 1511, 3510, 3510, 3510, 3510, 3510, 251, 1513, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1078, 251, 1514, 3510, 1516, 1515, 3510, 3510, 3510, 3510, 1509, 1080, 1515, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1510, 1096, 1516, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1511, 1080, 1517, 3510, 1513, 1516, 3510, 3510, 3510, 3510, 1512, 251, 1518, 3510, 1520, 1519, 3510, 3510, 1506, 3510, 3510, 630, 1519, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1232, 1520, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 630, 1521, 3510, 1522, 1542, 3510, 3510, 1519, 3510, 3510, 1523, 1522, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1523, 1523, 3510, 1749, 1746, 3510, 1745, 1742, 1741, 1524, 819, 1524, 3510, 1739, 1526, 3510, 1525, 914, 869, 3510, 819, 1525, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 819, 1526, 3510, 1738, 1531, 3510, 3510, 915, 3510, 3510, 1527, 1527, 1500, 1251, 1257, 3510, 1252, 1530, 1529, 1528, 1177, 1528, 1215, 1256, 1261, 3510, 1213, 1211, 1202, 3510, 1177, 1529, 1501, 3510, 3510, 3510, 3510, 3510, 3510, 1202, 970, 1530, 1502, 1255, 1260, 3510, 3510, 1529, 3510, 1211, 552, 1531, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1532, 1532, 1504, 1737, 1731, 3510, 1730, 1724, 1722, 1533, 1288, 1533, 1505, 1720, 1539, 3510, 1538, 1535, 1534, 3510, 1288, 1534, 1506, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1507, 1535, 1518, 1537, 1536, 3510, 3510, 1534, 3510, 3510, 630, 1536, 1519, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1232, 1537, 1520, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 630, 1538, 1287, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1288, 1539, 1521, 1540, 1541, 3510, 3510, 1536, 3510, 3510, 1523, 1540, 1522, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1523, 1541, 1542, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1543, 1542, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1543, 1543, 3510, 1719, 1716, 3510, 1715, 1712, 1711, 1610, 1544, 1544, 1609, 1607, 1601, 3510, 1599, 1593, 1591, 1545, 420, 1545, 1590, 1588, 1566, 3510, 1564, 1546, 437, 3510, 420, 1546, 1563, 1561, 1547, 3510, 3510, 437, 3510, 3510, 439, 1547, 1560, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1548, 1548, 3510, 1559, 1558, 3510, 1358, 1555, 3510, 1549, 53, 1549, 3510, 1554, 1553, 3510, 1359, 1550, 3510, 3510, 53, 1550, 3510, 1552, 1551, 3510, 3510, 3510, 3510, 3510, 742, 1551, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1043, 1552, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 742, 1553, 3510, 1361, 1365, 3510, 3510, 1551, 3510, 3510, 685, 1554, 3510, 1359, 1361, 3510, 3510, 1552, 3510, 3510, 53, 1555, 3510, 1557, 1556, 3510, 3510, 3510, 3510, 1550, 742, 1556, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1551, 1043, 1557, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1552, 742, 1558, 3510, 1360, 1364, 3510, 3510, 1556, 3510, 1553, 685, 1559, 3510, 1358, 1360, 3510, 3510, 1557, 3510, 1554, 53, 1560, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1548, 1561, 1562, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 439, 1562, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 439, 1563, 3510, 1562, 1560, 3510, 3510, 436, 3510, 3510, 439, 1564, 1565, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 420, 1565, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 420, 1566, 1587, 1585, 1567, 3510, 3510, 1547, 3510, 3510, 1332, 1567, 1584, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1568, 1568, 3510, 668, 1581, 3510, 669, 1578, 1577, 1569, 671, 1569, 3510, 1576, 1574, 3510, 670, 1571, 1570, 3510, 671, 1570, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1337, 1571, 3510, 1573, 1572, 3510, 3510, 1570, 3510, 3510, 262, 1572, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 501, 1573, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 262, 1574, 3510, 1575, 1346, 3510, 3510, 1572, 3510, 3510, 1100, 1575, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1100, 1576, 3510, 670, 1575, 3510, 3510, 1573, 3510, 3510, 671, 1577, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1570, 1337, 1578, 3510, 1580, 1579, 3510, 3510, 1577, 3510, 1571, 262, 1579, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1572, 501, 1580, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1573, 262, 1581, 3510, 1582, 1583, 3510, 3510, 1579, 3510, 1574, 1100, 1582, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1575, 1100, 1583, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1346, 1347, 1584, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1568, 1585, 1586, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1332, 1586, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1332, 1587, 3510, 1586, 1584, 3510, 3510, 1560, 3510, 3510, 1332, 1588, 1589, 1564, 1585, 3510, 3510, 1561, 3510, 3510, 420, 1589, 3510, 1565, 1586, 3510, 3510, 1562, 3510, 3510, 420, 1590, 3510, 1589, 1587, 3510, 1565, 1563, 436, 3510, 420, 1591, 1592, 3510, 3510, 3510, 3510, 3510, 3510, 437, 428, 1592, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 436, 428, 1593, 1598, 1596, 1594, 3510, 3510, 1591, 3510, 1546, 439, 1594, 1595, 3510, 3510, 3510, 3510, 3510, 3510, 1547, 1548, 1595, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1560, 1548, 1596, 1597, 3510, 3510, 3510, 3510, 3510, 3510, 1561, 439, 1597, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1562, 439, 1598, 3510, 1597, 1595, 3510, 3510, 1592, 3510, 1563, 439, 1599, 1600, 3510, 3510, 3510, 3510, 3510, 3510, 1564, 420, 1600, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1565, 420, 1601, 1606, 1604, 1602, 3510, 3510, 1594, 3510, 1566, 1332, 1602, 1603, 3510, 3510, 3510, 3510, 3510, 3510, 1567, 1568, 1603, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1584, 1568, 1604, 1605, 3510, 3510, 3510, 3510, 3510, 3510, 1585, 1332, 1605, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1586, 1332, 1606, 3510, 1605, 1603, 3510, 3510, 1595, 3510, 1587, 1332, 1607, 1608, 1599, 1604, 3510, 3510, 1596, 3510, 1588, 420, 1608, 3510, 1600, 1605, 3510, 3510, 1597, 3510, 1589, 420, 1609, 3510, 1608, 1606, 3510, 1600, 1598, 1592, 1590, 420, 1610, 3510, 1710, 1640, 3510, 1639, 1636, 1611, 3510, 1544, 1611, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1612, 1612, 1635, 1633, 1627, 3510, 1625, 3510, 3510, 1613, 610, 1613, 618, 1623, 1614, 3510, 617, 3510, 3510, 3510, 610, 1614, 619, 1621, 1615, 3510, 3510, 3510, 3510, 3510, 620, 1615, 1620, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1616, 1616, 3510, 1618, 1617, 3510, 669, 3510, 3510, 1344, 671, 1617, 3510, 1582, 1583, 3510, 3510, 3510, 3510, 1345, 1100, 1618, 3510, 669, 1582, 3510, 3510, 3510, 3510, 1619, 671, 1619, 3510, 670, 1575, 3510, 3510, 3510, 3510, 3510, 671, 1620, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1616, 1621, 1622, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 620, 1622, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 620, 1623, 1624, 617, 1621, 3510, 3510, 3510, 3510, 3510, 610, 1624, 3510, 616, 1622, 3510, 3510, 3510, 3510, 3510, 610, 1625, 1626, 3510, 3510, 3510, 3510, 3510, 3510, 617, 610, 1626, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 616, 610, 1627, 1632, 1630, 1628, 3510, 3510, 3510, 3510, 1614, 620, 1628, 1629, 3510, 3510, 3510, 3510, 3510, 3510, 1615, 1616, 1629, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1620, 1616, 1630, 1631, 3510, 3510, 3510, 3510, 3510, 3510, 1621, 620, 1631, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1622, 620, 1632, 3510, 1631, 1629, 3510, 3510, 3510, 3510, 619, 620, 1633, 1634, 1625, 1630, 3510, 3510, 3510, 3510, 1623, 610, 1634, 3510, 1626, 1631, 3510, 3510, 3510, 3510, 1624, 610, 1635, 3510, 1634, 1632, 3510, 1626, 3510, 3510, 618, 610, 1636, 3510, 1638, 1637, 3510, 3510, 1611, 3510, 3510, 1416, 1637, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1477, 1638, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1416, 1639, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1544, 1640, 3510, 1709, 1668, 3510, 3510, 1637, 3510, 3510, 1641, 1641, 1667, 1665, 1659, 3510, 1657, 1651, 1649, 1642, 847, 1642, 1498, 1647, 1643, 3510, 1497, 1494, 1485, 3510, 847, 1643, 1499, 1645, 1644, 3510, 3510, 1491, 3510, 3510, 1500, 1644, 1503, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1504, 1645, 1646, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1500, 1646, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1500, 1647, 1648, 1497, 1645, 3510, 3510, 1493, 3510, 3510, 847, 1648, 3510, 1496, 1646, 3510, 3510, 1489, 3510, 3510, 847, 1649, 1650, 3510, 3510, 3510, 3510, 3510, 3510, 1485, 868, 1650, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1484, 868, 1651, 1656, 1654, 1652, 3510, 3510, 1649, 3510, 1494, 913, 1652, 1653, 3510, 3510, 3510, 3510, 3510, 3510, 1491, 1160, 1653, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1488, 1160, 1654, 1655, 3510, 3510, 3510, 3510, 3510, 3510, 1493, 913, 1655, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1489, 913, 1656, 3510, 1655, 1653, 3510, 3510, 1650, 3510, 1487, 913, 1657, 1658, 3510, 3510, 3510, 3510, 3510, 3510, 1497, 847, 1658, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1496, 847, 1659, 1664, 1662, 1660, 3510, 3510, 1652, 3510, 1643, 1500, 1660, 1661, 3510, 3510, 3510, 3510, 3510, 3510, 1644, 1504, 1661, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1503, 1504, 1662, 1663, 3510, 3510, 3510, 3510, 3510, 3510, 1645, 1500, 1663, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1646, 1500, 1664, 3510, 1663, 1661, 3510, 3510, 1653, 3510, 1499, 1500, 1665, 1666, 1657, 1662, 3510, 3510, 1654, 3510, 1647, 847, 1666, 3510, 1658, 1663, 3510, 3510, 1655, 3510, 1648, 847, 1667, 3510, 1666, 1664, 3510, 1658, 1656, 1650, 1498, 847, 1668, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1669, 1669, 1683, 1708, 1705, 3510, 1704, 1701, 1700, 1670, 1609, 1670, 1684, 1699, 1681, 3510, 1679, 1673, 1671, 3510, 1609, 1671, 1672, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1635, 1672, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1635, 1673, 1678, 1676, 1674, 3510, 3510, 1671, 3510, 3510, 1403, 1674, 1675, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1464, 1675, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1464, 1676, 1677, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1403, 1677, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1403, 1678, 3510, 1677, 1675, 3510, 3510, 1672, 3510, 3510, 1403, 1679, 1680, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1609, 1680, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1609, 1681, 1685, 1698, 1682, 3510, 3510, 1674, 3510, 3510, 1667, 1682, 1686, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1683, 1683, 3510, 1697, 1694, 3510, 1693, 1690, 1689, 1684, 1609, 1684, 3510, 1688, 1685, 3510, 1680, 1678, 1672, 3510, 1609, 1685, 3510, 1687, 1686, 3510, 3510, 1675, 3510, 3510, 1667, 1686, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1683, 1687, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1667, 1688, 3510, 1680, 1687, 3510, 3510, 1677, 3510, 3510, 1609, 1689, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1672, 1635, 1690, 3510, 1692, 1691, 3510, 3510, 1689, 3510, 1678, 1403, 1691, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1675, 1464, 1692, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1677, 1403, 1693, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1680, 1609, 1694, 3510, 1696, 1695, 3510, 3510, 1691, 3510, 1685, 1667, 1695, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1686, 1683, 1696, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1687, 1667, 1697, 3510, 1693, 1696, 3510, 3510, 1692, 3510, 1688, 1609, 1698, 1687, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1667, 1699, 1688, 1679, 1698, 3510, 3510, 1676, 3510, 3510, 1609, 1700, 1689, 3510, 3510, 3510, 3510, 3510, 3510, 1671, 1635, 1701, 1690, 1703, 1702, 3510, 3510, 1700, 3510, 1673, 1403, 1702, 1691, 3510, 3510, 3510, 3510, 3510, 3510, 1674, 1464, 1703, 1692, 3510, 3510, 3510, 3510, 3510, 3510, 1676, 1403, 1704, 1693, 3510, 3510, 3510, 3510, 3510, 3510, 1679, 1609, 1705, 1694, 1707, 1706, 3510, 3510, 1702, 3510, 1681, 1667, 1706, 1695, 3510, 3510, 3510, 3510, 3510, 3510, 1682, 1683, 1707, 1696, 3510, 3510, 3510, 3510, 3510, 3510, 1698, 1667, 1708, 1697, 1704, 1707, 3510, 3510, 1703, 3510, 1699, 1609, 1709, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1641, 1710, 3510, 1639, 1709, 3510, 3510, 1638, 3510, 3510, 1544, 1711, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1611, 1612, 1712, 3510, 1714, 1713, 3510, 3510, 1711, 3510, 1636, 1416, 1713, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1637, 1477, 1714, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1638, 1416, 1715, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1639, 1544, 1716, 3510, 1718, 1717, 3510, 3510, 1713, 3510, 1640, 1641, 1717, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1668, 1669, 1718, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1709, 1641, 1719, 3510, 1715, 1718, 3510, 3510, 1714, 3510, 1710, 1544, 1720, 1721, 1538, 1540, 3510, 3510, 1537, 3510, 3510, 1288, 1721, 3510, 1287, 1522, 3510, 3510, 1520, 3510, 3510, 1288, 1722, 1723, 3510, 3510, 3510, 3510, 3510, 3510, 1534, 1507, 1723, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1506, 1507, 1724, 1729, 1727, 1725, 3510, 3510, 1722, 3510, 1535, 630, 1725, 1726, 3510, 3510, 3510, 3510, 3510, 3510, 1536, 1232, 1726, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1519, 1232, 1727, 1728, 3510, 3510, 3510, 3510, 3510, 3510, 1537, 630, 1728, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1520, 630, 1729, 3510, 1728, 1726, 3510, 3510, 1723, 3510, 1518, 630, 1730, 1286, 3510, 3510, 3510, 3510, 3510, 3510, 1538, 1288, 1731, 1732, 1735, 1736, 3510, 3510, 1725, 3510, 1539, 1523, 1732, 3510, 1733, 1734, 3510, 3510, 1726, 3510, 1521, 1523, 1733, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1522, 1523, 1734, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1542, 1543, 1735, 1733, 3510, 3510, 3510, 3510, 3510, 3510, 1540, 1523, 1736, 1734, 3510, 3510, 3510, 3510, 3510, 3510, 1541, 1543, 1737, 1285, 1730, 1735, 3510, 3510, 1727, 3510, 1720, 1288, 1738, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1527, 1739, 3510, 1525, 1738, 3510, 3510, 1740, 3510, 3510, 819, 1740, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 872, 1741, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 869, 850, 1742, 3510, 1744, 1743, 3510, 3510, 1741, 3510, 914, 872, 1743, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 915, 916, 1744, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1740, 872, 1745, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1525, 819, 1746, 3510, 1748, 1747, 3510, 3510, 1743, 3510, 1526, 1527, 1747, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1531, 1532, 1748, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1738, 1527, 1749, 3510, 1745, 1748, 3510, 3510, 1744, 3510, 1739, 819, 1750, 1643, 1752, 1751, 1499, 3510, 1490, 3510, 3510, 1500, 1751, 1644, 3510, 3510, 1503, 3510, 3510, 3510, 3510, 1504, 1752, 1645, 3510, 3510, 1646, 3510, 3510, 3510, 3510, 1500, 1753, 1647, 1495, 1752, 1648, 3510, 1492, 3510, 3510, 847, 1754, 1649, 3510, 3510, 1650, 3510, 3510, 3510, 1483, 868, 1755, 1651, 1757, 1756, 1656, 3510, 1754, 3510, 1486, 913, 1756, 1652, 3510, 3510, 1653, 3510, 3510, 3510, 1490, 1160, 1757, 1654, 3510, 3510, 1655, 3510, 3510, 3510, 1492, 913, 1758, 1657, 3510, 3510, 1658, 3510, 3510, 3510, 1495, 847, 1759, 1659, 1761, 1760, 1664, 3510, 1756, 3510, 1750, 1500, 1760, 1660, 3510, 3510, 1661, 3510, 3510, 3510, 1751, 1504, 1761, 1662, 3510, 3510, 1663, 3510, 3510, 3510, 1752, 1500, 1762, 1665, 1758, 1761, 1666, 3510, 1757, 3510, 1753, 847, 1763, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1764, 1764, 1669, 1783, 1780, 1683, 1779, 1776, 1775, 1765, 1609, 1765, 1670, 1774, 1771, 1684, 1770, 1767, 1766, 3510, 1609, 1766, 1671, 3510, 3510, 1672, 3510, 3510, 3510, 3510, 1635, 1767, 1673, 1769, 1768, 1678, 3510, 1766, 3510, 3510, 1403, 1768, 1674, 3510, 3510, 1675, 3510, 3510, 3510, 3510, 1464, 1769, 1676, 3510, 3510, 1677, 3510, 3510, 3510, 3510, 1403, 1770, 1679, 3510, 3510, 1680, 3510, 3510, 3510, 3510, 1609, 1771, 1681, 1773, 1772, 1685, 3510, 1768, 3510, 3510, 1667, 1772, 1682, 3510, 3510, 1686, 3510, 3510, 3510, 3510, 1683, 1773, 1698, 3510, 3510, 1687, 3510, 3510, 3510, 3510, 1667, 1774, 1699, 1770, 1773, 1688, 3510, 1769, 3510, 3510, 1609, 1775, 1700, 3510, 3510, 1689, 3510, 3510, 3510, 1766, 1635, 1776, 1701, 1778, 1777, 1690, 3510, 1775, 3510, 1767, 1403, 1777, 1702, 3510, 3510, 1691, 3510, 3510, 3510, 1768, 1464, 1778, 1703, 3510, 3510, 1692, 3510, 3510, 3510, 1769, 1403, 1779, 1704, 3510, 3510, 1693, 3510, 3510, 3510, 1770, 1609, 1780, 1705, 1782, 1781, 1694, 3510, 1777, 3510, 1771, 1667, 1781, 1706, 3510, 3510, 1695, 3510, 3510, 3510, 1772, 1683, 1782, 1707, 3510, 3510, 1696, 3510, 3510, 3510, 1773, 1667, 1783, 1708, 1779, 1782, 1697, 3510, 1778, 3510, 1774, 1609, 1784, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1481, 1785, 3510, 1479, 1784, 3510, 3510, 1478, 3510, 3510, 419, 1786, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1349, 609, 1787, 3510, 1789, 1788, 3510, 3510, 1786, 3510, 1350, 1351, 1788, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1417, 1418, 1789, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1478, 1351, 1790, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1479, 419, 1791, 3510, 1793, 1792, 3510, 3510, 1788, 3510, 1480, 1481, 1792, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1763, 1764, 1793, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1784, 1481, 1794, 3510, 1790, 1793, 3510, 3510, 1789, 3510, 1785, 419, 1795, 1099, 1798, 1796, 1345, 3510, 3510, 3510, 3510, 1100, 1796, 1797, 3510, 3510, 1346, 3510, 3510, 3510, 3510, 1347, 1797, 1346, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1347, 1798, 1799, 3510, 3510, 1575, 3510, 3510, 3510, 3510, 1100, 1799, 1575, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1100, 1800, 1801, 1343, 1798, 1619, 3510, 3510, 3510, 3510, 671, 1801, 1619, 1098, 1799, 3510, 3510, 3510, 3510, 3510, 671, 1802, 1803, 3510, 3510, 669, 3510, 3510, 3510, 1343, 671, 1803, 669, 3510, 3510, 3510, 3510, 3510, 3510, 1098, 671, 1804, 1809, 1807, 1805, 1617, 3510, 3510, 3510, 1795, 1100, 1805, 1806, 3510, 3510, 1583, 3510, 3510, 3510, 1796, 1347, 1806, 1583, 3510, 3510, 3510, 3510, 3510, 3510, 1797, 1347, 1807, 1808, 3510, 3510, 1582, 3510, 3510, 3510, 1798, 1100, 1808, 1582, 3510, 3510, 3510, 3510, 3510, 3510, 1799, 1100, 1809, 1617, 1808, 1806, 3510, 3510, 3510, 3510, 1099, 1100, 1810, 1811, 1802, 1807, 1618, 3510, 3510, 3510, 1800, 671, 1811, 1618, 1803, 1808, 3510, 3510, 3510, 3510, 1801, 671, 1812, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 540, 1813, 3510, 538, 1812, 3510, 3510, 3510, 3510, 3510, 148, 1814, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 538, 148, 1815, 3510, 1817, 1816, 3510, 3510, 3510, 3510, 1339, 540, 1816, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1340, 1341, 1817, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1812, 540, 1818, 3510, 1814, 1817, 3510, 3510, 3510, 3510, 1813, 148, 1819, 1571, 1821, 1820, 3510, 3510, 1336, 3510, 3510, 262, 1820, 1572, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 501, 1821, 1573, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 262, 1822, 1574, 1799, 1797, 3510, 3510, 1820, 3510, 3510, 1100, 1823, 1576, 1098, 1799, 3510, 3510, 1821, 3510, 3510, 671, 1824, 1577, 3510, 3510, 3510, 3510, 3510, 3510, 1336, 1337, 1825, 1578, 1827, 1826, 3510, 3510, 1824, 3510, 1819, 262, 1826, 1579, 3510, 3510, 3510, 3510, 3510, 3510, 1820, 501, 1827, 1580, 3510, 3510, 3510, 3510, 3510, 3510, 1821, 262, 1828, 1581, 1808, 1806, 3510, 3510, 1826, 3510, 1822, 1100, 1829, 668, 1803, 1808, 3510, 3510, 1827, 3510, 1823, 671, 1830, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1295, 1831, 3510, 1293, 1830, 3510, 3510, 1292, 3510, 3510, 108, 1832, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1015, 1004, 1833, 3510, 1835, 1834, 3510, 3510, 1832, 3510, 1290, 1017, 1834, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1291, 1039, 1835, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1292, 1017, 1836, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1293, 108, 1837, 3510, 1839, 1838, 3510, 3510, 1834, 3510, 1294, 1295, 1838, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1333, 1334, 1839, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1830, 1295, 1840, 3510, 1836, 1839, 3510, 3510, 1835, 3510, 1831, 108, 1841, 3510, 1728, 1726, 3510, 3510, 3510, 3510, 1842, 630, 1842, 3510, 1520, 1519, 3510, 3510, 3510, 3510, 3510, 630, 1843, 3510, 1721, 1521, 3510, 1287, 1842, 3510, 3510, 1288, 1844, 1841, 1727, 1725, 3510, 3510, 3510, 3510, 1845, 630, 1845, 1842, 1537, 1536, 3510, 3510, 3510, 3510, 3510, 630, 1846, 1843, 1720, 1539, 3510, 1538, 1845, 3510, 3510, 1288, 1847, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1848, 1849, 1848, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1849, 1849, 1423, 1850, 1852, 3510, 1158, 3510, 3510, 1854, 356, 1850, 1424, 1158, 1169, 3510, 3510, 3510, 3510, 1851, 356, 1851, 1425, 1133, 1144, 3510, 3510, 3510, 3510, 3510, 356, 1852, 1426, 1169, 1167, 3510, 3510, 3510, 3510, 1853, 933, 1853, 1427, 1144, 1142, 3510, 3510, 3510, 3510, 3510, 933, 1854, 1428, 1851, 1853, 3510, 1133, 3510, 3510, 3510, 356, 1855, 3510, 1237, 1282, 3510, 3510, 1848, 3510, 3510, 1238, 1856, 3510, 1265, 1847, 3510, 3510, 3510, 3510, 1857, 1267, 1857, 3510, 1266, 1848, 3510, 3510, 3510, 3510, 3510, 1267, 1858, 3510, 1279, 1855, 3510, 1235, 1857, 3510, 3510, 506, 1859, 1233, 1860, 1862, 3510, 3510, 1864, 3510, 1866, 506, 1860, 1234, 3510, 3510, 3510, 3510, 3510, 3510, 1861, 506, 1861, 1235, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 506, 1862, 1236, 3510, 3510, 3510, 3510, 3510, 3510, 1863, 1238, 1863, 1237, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1238, 1864, 1265, 3510, 3510, 3510, 3510, 3510, 3510, 1865, 1267, 1865, 1266, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1267, 1866, 1279, 1861, 1863, 3510, 3510, 1865, 3510, 3510, 506, 1867, 1280, 1862, 1868, 3510, 3510, 1870, 3510, 1872, 1238, 1868, 1281, 3510, 3510, 3510, 3510, 3510, 3510, 1869, 1283, 1869, 1282, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1283, 1870, 1847, 3510, 3510, 3510, 3510, 3510, 3510, 1871, 1849, 1871, 1848, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1849, 1872, 1855, 1863, 1869, 3510, 3510, 1871, 3510, 3510, 1238, 1873, 1856, 1864, 1870, 3510, 3510, 3510, 3510, 1874, 1267, 1874, 1857, 1865, 1871, 3510, 3510, 3510, 3510, 3510, 1267, 1875, 1858, 1866, 1872, 3510, 1861, 1874, 3510, 3510, 506, 1876, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 629, 1877, 3510, 1878, 1898, 3510, 3510, 1230, 3510, 3510, 1879, 1878, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1879, 1879, 1523, 1897, 1894, 3510, 1893, 1890, 1889, 1880, 819, 1880, 1524, 1888, 1885, 3510, 1884, 1881, 870, 3510, 819, 1881, 914, 1883, 1882, 3510, 3510, 870, 3510, 3510, 872, 1882, 915, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 916, 1883, 1740, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 872, 1884, 1525, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 819, 1885, 1526, 1887, 1886, 3510, 3510, 1882, 3510, 3510, 1527, 1886, 1531, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1532, 1887, 1738, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1527, 1888, 1739, 1884, 1887, 3510, 3510, 1883, 3510, 3510, 819, 1889, 1741, 3510, 3510, 3510, 3510, 3510, 3510, 870, 850, 1890, 1742, 1892, 1891, 3510, 3510, 1889, 3510, 1881, 872, 1891, 1743, 3510, 3510, 3510, 3510, 3510, 3510, 1882, 916, 1892, 1744, 3510, 3510, 3510, 3510, 3510, 3510, 1883, 872, 1893, 1745, 3510, 3510, 3510, 3510, 3510, 3510, 1884, 819, 1894, 1746, 1896, 1895, 3510, 3510, 1891, 3510, 1885, 1527, 1895, 1747, 3510, 3510, 3510, 3510, 3510, 3510, 1886, 1532, 1896, 1748, 3510, 3510, 3510, 3510, 3510, 3510, 1887, 1527, 1897, 1749, 1893, 1896, 3510, 3510, 1892, 3510, 1888, 819, 1898, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1899, 1899, 1543, 1918, 1915, 3510, 1914, 1911, 1910, 1900, 1544, 1900, 1610, 1909, 1906, 3510, 1905, 1902, 1901, 3510, 1544, 1901, 1611, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1612, 1902, 1636, 1904, 1903, 3510, 3510, 1901, 3510, 3510, 1416, 1903, 1637, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1477, 1904, 1638, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1416, 1905, 1639, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1544, 1906, 1640, 1908, 1907, 3510, 3510, 1903, 3510, 3510, 1641, 1907, 1668, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1669, 1908, 1709, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1641, 1909, 1710, 1905, 1908, 3510, 3510, 1904, 3510, 3510, 1544, 1910, 1711, 3510, 3510, 3510, 3510, 3510, 3510, 1901, 1612, 1911, 1712, 1913, 1912, 3510, 3510, 1910, 3510, 1902, 1416, 1912, 1713, 3510, 3510, 3510, 3510, 3510, 3510, 1903, 1477, 1913, 1714, 3510, 3510, 3510, 3510, 3510, 3510, 1904, 1416, 1914, 1715, 3510, 3510, 3510, 3510, 3510, 3510, 1905, 1544, 1915, 1716, 1917, 1916, 3510, 3510, 1912, 3510, 1906, 1641, 1916, 1717, 3510, 3510, 3510, 3510, 3510, 3510, 1907, 1669, 1917, 1718, 3510, 3510, 3510, 3510, 3510, 3510, 1908, 1641, 1918, 1719, 1914, 1917, 3510, 3510, 1913, 3510, 1909, 1544, 1919, 3510, 1000, 1878, 3510, 3510, 1876, 3510, 3510, 1001, 1920, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1228, 1075, 1921, 3510, 1923, 1922, 3510, 3510, 1920, 3510, 1229, 629, 1922, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1230, 1231, 1923, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1876, 629, 1924, 3510, 1925, 1926, 3510, 3510, 1922, 3510, 1877, 1879, 1925, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1878, 1879, 1926, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1898, 1899, 1927, 1261, 1928, 1929, 1216, 3510, 1207, 3510, 3510, 1218, 1928, 1254, 3510, 3510, 1217, 3510, 3510, 3510, 3510, 1218, 1929, 1259, 3510, 3510, 1225, 3510, 3510, 3510, 3510, 1226, 1930, 1256, 1212, 1928, 1244, 3510, 1209, 3510, 3510, 1177, 1931, 1529, 3510, 3510, 1501, 3510, 3510, 3510, 1200, 970, 1932, 1530, 1934, 1933, 1502, 3510, 1931, 3510, 1203, 552, 1933, 1260, 3510, 3510, 1247, 3510, 3510, 3510, 1207, 976, 1934, 1255, 3510, 3510, 1243, 3510, 3510, 3510, 1209, 552, 1935, 1252, 3510, 3510, 1241, 3510, 3510, 3510, 1212, 1177, 1936, 1257, 1937, 1938, 1245, 3510, 1933, 3510, 1927, 1218, 1937, 1253, 3510, 3510, 1242, 3510, 3510, 3510, 1928, 1218, 1938, 1258, 3510, 3510, 1246, 3510, 3510, 3510, 1929, 1226, 1939, 1251, 1935, 1937, 1240, 3510, 1934, 3510, 1930, 1177, 1940, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1941, 1941, 1532, 1960, 1957, 1504, 1956, 1953, 1952, 1942, 1288, 1942, 1533, 1951, 1948, 1505, 1947, 1944, 1943, 3510, 1288, 1943, 1534, 3510, 3510, 1506, 3510, 3510, 3510, 3510, 1507, 1944, 1535, 1946, 1945, 1518, 3510, 1943, 3510, 3510, 630, 1945, 1536, 3510, 3510, 1519, 3510, 3510, 3510, 3510, 1232, 1946, 1537, 3510, 3510, 1520, 3510, 3510, 3510, 3510, 630, 1947, 1538, 3510, 3510, 1287, 3510, 3510, 3510, 3510, 1288, 1948, 1539, 1949, 1950, 1521, 3510, 1945, 3510, 3510, 1523, 1949, 1540, 3510, 3510, 1522, 3510, 3510, 3510, 3510, 1523, 1950, 1541, 3510, 3510, 1542, 3510, 3510, 3510, 3510, 1543, 1951, 1720, 1947, 1949, 1721, 3510, 1946, 3510, 3510, 1288, 1952, 1722, 3510, 3510, 1723, 3510, 3510, 3510, 1943, 1507, 1953, 1724, 1955, 1954, 1729, 3510, 1952, 3510, 1944, 630, 1954, 1725, 3510, 3510, 1726, 3510, 3510, 3510, 1945, 1232, 1955, 1727, 3510, 3510, 1728, 3510, 3510, 3510, 1946, 630, 1956, 1730, 3510, 3510, 1286, 3510, 3510, 3510, 1947, 1288, 1957, 1731, 1958, 1959, 1732, 3510, 1954, 3510, 1948, 1523, 1958, 1735, 3510, 3510, 1733, 3510, 3510, 3510, 1949, 1523, 1959, 1736, 3510, 3510, 1734, 3510, 3510, 3510, 1950, 1543, 1960, 1737, 1956, 1958, 1285, 3510, 1955, 3510, 1951, 1288, 1961, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1176, 1962, 3510, 1174, 1961, 3510, 3510, 1173, 3510, 3510, 123, 1963, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1102, 594, 1964, 3510, 1966, 1965, 3510, 3510, 1963, 3510, 1103, 1104, 1965, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1122, 1123, 1966, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1173, 1104, 1967, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1174, 123, 1968, 3510, 1970, 1969, 3510, 3510, 1965, 3510, 1175, 1176, 1969, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1940, 1941, 1970, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1961, 1176, 1971, 3510, 1967, 1970, 3510, 3510, 1966, 3510, 1962, 123, 1972, 1511, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1080, 1973, 1512, 1077, 1972, 3510, 3510, 3510, 3510, 3510, 251, 1974, 1513, 3510, 3510, 3510, 3510, 3510, 3510, 1077, 251, 1975, 1514, 1977, 1976, 3510, 3510, 3510, 3510, 1079, 1080, 1976, 1515, 3510, 3510, 3510, 3510, 3510, 3510, 1095, 1096, 1977, 1516, 3510, 3510, 3510, 3510, 3510, 3510, 1972, 1080, 1978, 1517, 1974, 1977, 3510, 3510, 3510, 3510, 1973, 251, 1979, 1229, 1981, 1980, 3510, 3510, 1074, 3510, 3510, 629, 1980, 1230, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1231, 1981, 1876, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 629, 1982, 1000, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1001, 1983, 1877, 1984, 1985, 3510, 3510, 1980, 3510, 3510, 1879, 1984, 1878, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1879, 1985, 1898, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1899, 1986, 1919, 1982, 1984, 3510, 3510, 1981, 3510, 3510, 1001, 1987, 1920, 3510, 3510, 3510, 3510, 3510, 3510, 1074, 1075, 1988, 1921, 1990, 1989, 3510, 3510, 1987, 3510, 1979, 629, 1989, 1922, 3510, 3510, 3510, 3510, 3510, 3510, 1980, 1231, 1990, 1923, 3510, 3510, 3510, 3510, 3510, 3510, 1981, 629, 1991, 999, 3510, 3510, 3510, 3510, 3510, 3510, 1982, 1001, 1992, 1924, 1993, 1994, 3510, 3510, 1989, 3510, 1983, 1879, 1993, 1925, 3510, 3510, 3510, 3510, 3510, 3510, 1984, 1879, 1994, 1926, 3510, 3510, 3510, 3510, 3510, 3510, 1985, 1899, 1995, 998, 1991, 1993, 3510, 3510, 1990, 3510, 1986, 1001, 1996, 1070, 3510, 3510, 3510, 3510, 3510, 3510, 1997, 1072, 1997, 1071, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1072, 1998, 1224, 3510, 3510, 3510, 3510, 3510, 3510, 973, 975, 1999, 1221, 1053, 1997, 3510, 3510, 973, 3510, 3510, 939, 2000, 1996, 3510, 3510, 1070, 3510, 3510, 3510, 2001, 1072, 2001, 1997, 3510, 3510, 1071, 3510, 3510, 3510, 3510, 1072, 2002, 1998, 3510, 3510, 1224, 3510, 3510, 3510, 2003, 975, 2003, 973, 3510, 3510, 974, 3510, 3510, 3510, 3510, 975, 2004, 1999, 1063, 2001, 1221, 3510, 2003, 3510, 3510, 939, 2005, 2006, 1064, 2002, 2007, 3510, 3510, 3510, 2010, 551, 2006, 2007, 1054, 1998, 3510, 3510, 3510, 3510, 2009, 551, 2007, 3510, 1055, 1224, 3510, 3510, 3510, 3510, 2008, 551, 2008, 3510, 1056, 974, 3510, 3510, 3510, 3510, 3510, 551, 2009, 2008, 1057, 973, 3510, 3510, 3510, 3510, 3510, 551, 2010, 2009, 1065, 2003, 2008, 3510, 3510, 3510, 3510, 551, 2011, 2012, 1066, 2004, 2013, 1061, 2010, 3510, 3510, 692, 2012, 2013, 1058, 1999, 3510, 1051, 2009, 3510, 3510, 692, 2013, 3510, 1059, 1221, 3510, 936, 2008, 3510, 3510, 692, 2014, 3510, 353, 1046, 3510, 3510, 3510, 3510, 3510, 354, 2015, 3510, 1045, 2016, 3510, 3510, 3510, 3510, 2042, 1047, 2016, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2017, 2018, 2017, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2018, 2018, 996, 2019, 2027, 997, 2020, 2033, 3510, 2039, 1001, 2019, 1995, 2020, 2022, 998, 3510, 2024, 3510, 2026, 1001, 2020, 1991, 3510, 3510, 999, 3510, 3510, 3510, 2021, 1001, 2021, 1982, 3510, 3510, 1000, 3510, 3510, 3510, 3510, 1001, 2022, 1993, 3510, 3510, 1925, 3510, 3510, 3510, 2023, 1879, 2023, 1984, 3510, 3510, 1878, 3510, 3510, 3510, 3510, 1879, 2024, 1990, 3510, 3510, 1923, 3510, 3510, 3510, 2025, 629, 2025, 1981, 3510, 3510, 1876, 3510, 3510, 3510, 3510, 629, 2026, 1986, 2021, 2023, 1919, 3510, 2025, 3510, 3510, 1001, 2027, 1992, 2022, 2028, 1924, 3510, 2030, 3510, 2032, 1879, 2028, 1994, 3510, 3510, 1926, 3510, 3510, 3510, 2029, 1899, 2029, 1985, 3510, 3510, 1898, 3510, 3510, 3510, 3510, 1899, 2030, 1989, 3510, 3510, 1922, 3510, 3510, 3510, 2031, 1231, 2031, 1980, 3510, 3510, 1230, 3510, 3510, 3510, 3510, 1231, 2032, 1983, 2023, 2029, 1877, 3510, 2031, 3510, 3510, 1879, 2033, 2034, 2024, 2030, 2035, 3510, 3510, 3510, 2038, 629, 2034, 2035, 1990, 1989, 3510, 3510, 3510, 3510, 2037, 629, 2035, 3510, 1923, 1922, 3510, 3510, 3510, 3510, 2036, 629, 2036, 3510, 1876, 1230, 3510, 3510, 3510, 3510, 3510, 629, 2037, 2036, 1981, 1980, 3510, 3510, 3510, 3510, 3510, 629, 2038, 2037, 2025, 2031, 2036, 3510, 3510, 3510, 3510, 629, 2039, 2040, 2026, 2032, 2041, 2021, 2038, 3510, 3510, 1001, 2040, 2041, 1986, 1983, 3510, 1982, 2037, 3510, 3510, 1001, 2041, 3510, 1919, 1877, 3510, 1000, 2036, 3510, 3510, 1001, 2042, 3510, 1046, 2017, 3510, 3510, 3510, 3510, 3510, 1047, 2043, 3510, 2014, 2042, 3510, 353, 3510, 3510, 3510, 354, 2044, 1552, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 742, 2045, 1359, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 53, 2046, 1553, 2048, 2047, 3510, 3510, 1042, 3510, 3510, 685, 2047, 1365, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 812, 2048, 1361, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 685, 2049, 1554, 2045, 2048, 3510, 3510, 2044, 3510, 3510, 53, 2050, 1555, 2052, 2051, 3510, 3510, 3510, 3510, 1041, 742, 2051, 1556, 3510, 3510, 3510, 3510, 3510, 3510, 1042, 1043, 2052, 1557, 3510, 3510, 3510, 3510, 3510, 3510, 2044, 742, 2053, 1358, 3510, 3510, 3510, 3510, 3510, 3510, 2045, 53, 2054, 1558, 2056, 2055, 3510, 3510, 2051, 3510, 2046, 685, 2055, 1364, 3510, 3510, 3510, 3510, 3510, 3510, 2047, 812, 2056, 1360, 3510, 3510, 3510, 3510, 3510, 3510, 2048, 685, 2057, 1559, 2053, 2056, 3510, 3510, 2052, 3510, 2049, 53, 2058, 1292, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1017, 2059, 1293, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 108, 2060, 1294, 2062, 2061, 3510, 3510, 1038, 3510, 3510, 1295, 2061, 1333, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1334, 2062, 1830, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1295, 2063, 1831, 2059, 2062, 3510, 3510, 2058, 3510, 3510, 108, 2064, 1832, 3510, 3510, 3510, 3510, 3510, 3510, 1003, 1004, 2065, 1833, 2067, 2066, 3510, 3510, 2064, 3510, 1016, 1017, 2066, 1834, 3510, 3510, 3510, 3510, 3510, 3510, 1038, 1039, 2067, 1835, 3510, 3510, 3510, 3510, 3510, 3510, 2058, 1017, 2068, 1836, 3510, 3510, 3510, 3510, 3510, 3510, 2059, 108, 2069, 1837, 2071, 2070, 3510, 3510, 2066, 3510, 2060, 1295, 2070, 1838, 3510, 3510, 3510, 3510, 3510, 3510, 2061, 1334, 2071, 1839, 3510, 3510, 3510, 3510, 3510, 3510, 2062, 1295, 2072, 1840, 2068, 2071, 3510, 3510, 2067, 3510, 2063, 108, 2073, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2074, 2075, 2074, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2075, 2075, 926, 2076, 2083, 3510, 2077, 3510, 3510, 2089, 355, 2076, 927, 2077, 2079, 3510, 3510, 3510, 3510, 2081, 355, 2077, 928, 3510, 3510, 3510, 3510, 3510, 3510, 2078, 355, 2078, 929, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 355, 2079, 930, 3510, 3510, 3510, 3510, 3510, 3510, 2080, 932, 2080, 931, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 932, 2081, 2082, 2078, 2080, 3510, 3510, 3510, 3510, 3510, 355, 2082, 3510, 929, 931, 3510, 3510, 3510, 3510, 3510, 355, 2083, 2084, 2079, 2086, 3510, 3510, 3510, 3510, 2088, 932, 2084, 3510, 930, 994, 3510, 3510, 3510, 3510, 2085, 932, 2085, 3510, 931, 995, 3510, 3510, 3510, 3510, 3510, 932, 2086, 994, 3510, 3510, 3510, 3510, 3510, 3510, 2087, 996, 2087, 995, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 996, 2088, 2085, 2080, 2087, 3510, 3510, 3510, 3510, 3510, 932, 2089, 2090, 2081, 2088, 3510, 2078, 3510, 3510, 3510, 355, 2090, 3510, 2082, 2085, 3510, 929, 3510, 3510, 3510, 355, 2091, 3510, 931, 995, 3510, 3510, 2074, 3510, 3510, 932, 2092, 3510, 978, 2073, 3510, 3510, 3510, 3510, 2093, 980, 2093, 3510, 979, 2074, 3510, 3510, 3510, 3510, 3510, 980, 2094, 3510, 992, 2091, 3510, 929, 2093, 3510, 3510, 355, 2095, 977, 2077, 2079, 3510, 3510, 2096, 3510, 2098, 355, 2096, 978, 3510, 3510, 3510, 3510, 3510, 3510, 2097, 980, 2097, 979, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 980, 2098, 992, 2078, 2080, 3510, 3510, 2097, 3510, 3510, 355, 2099, 993, 2079, 2086, 3510, 3510, 2100, 3510, 2102, 932, 2100, 2073, 3510, 3510, 3510, 3510, 3510, 3510, 2101, 2075, 2101, 2074, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2075, 2102, 2091, 2080, 2087, 3510, 3510, 2101, 3510, 3510, 932, 2103, 2092, 2096, 2100, 3510, 3510, 3510, 3510, 2104, 980, 2104, 2093, 2097, 2101, 3510, 3510, 3510, 3510, 3510, 980, 2105, 2094, 2098, 2102, 3510, 2078, 2104, 3510, 3510, 355, 2106, 1222, 3510, 3510, 3510, 3510, 3510, 3510, 941, 942, 2107, 1223, 1054, 1998, 3510, 3510, 2106, 3510, 972, 551, 2108, 1882, 3510, 3510, 915, 3510, 3510, 3510, 3510, 916, 2109, 1883, 3510, 3510, 1740, 3510, 3510, 3510, 3510, 872, 2110, 1884, 3510, 3510, 1525, 3510, 3510, 3510, 3510, 819, 2111, 1885, 2113, 2112, 1526, 3510, 2108, 3510, 3510, 1527, 2112, 1886, 3510, 3510, 1531, 3510, 3510, 3510, 3510, 1532, 2113, 1887, 3510, 3510, 1738, 3510, 3510, 3510, 3510, 1527, 2114, 1888, 2110, 2113, 1739, 3510, 2109, 3510, 3510, 819, 2115, 1889, 3510, 3510, 1741, 3510, 3510, 3510, 849, 850, 2116, 1890, 2118, 2117, 1742, 3510, 2115, 3510, 871, 872, 2117, 1891, 3510, 3510, 1743, 3510, 3510, 3510, 2108, 916, 2118, 1892, 3510, 3510, 1744, 3510, 3510, 3510, 2109, 872, 2119, 1893, 3510, 3510, 1745, 3510, 3510, 3510, 2110, 819, 2120, 1894, 2122, 2121, 1746, 3510, 2117, 3510, 2111, 1527, 2121, 1895, 3510, 3510, 1747, 3510, 3510, 3510, 2112, 1532, 2122, 1896, 3510, 3510, 1748, 3510, 3510, 3510, 2113, 1527, 2123, 1897, 2119, 2122, 1749, 3510, 2118, 3510, 2114, 819, 2124, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2125, 628, 2125, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 628, 2126, 3510, 815, 817, 3510, 3510, 2125, 3510, 3510, 107, 2127, 3510, 816, 2128, 3510, 3510, 2150, 3510, 2170, 818, 2128, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2129, 2130, 2129, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2130, 2130, 1899, 2149, 2146, 1543, 2145, 2142, 2141, 2131, 1544, 2131, 1900, 2140, 2137, 1610, 2136, 2133, 2132, 3510, 1544, 2132, 1901, 3510, 3510, 1611, 3510, 3510, 3510, 3510, 1612, 2133, 1902, 2135, 2134, 1636, 3510, 2132, 3510, 3510, 1416, 2134, 1903, 3510, 3510, 1637, 3510, 3510, 3510, 3510, 1477, 2135, 1904, 3510, 3510, 1638, 3510, 3510, 3510, 3510, 1416, 2136, 1905, 3510, 3510, 1639, 3510, 3510, 3510, 3510, 1544, 2137, 1906, 2139, 2138, 1640, 3510, 2134, 3510, 3510, 1641, 2138, 1907, 3510, 3510, 1668, 3510, 3510, 3510, 3510, 1669, 2139, 1908, 3510, 3510, 1709, 3510, 3510, 3510, 3510, 1641, 2140, 1909, 2136, 2139, 1710, 3510, 2135, 3510, 3510, 1544, 2141, 1910, 3510, 3510, 1711, 3510, 3510, 3510, 2132, 1612, 2142, 1911, 2144, 2143, 1712, 3510, 2141, 3510, 2133, 1416, 2143, 1912, 3510, 3510, 1713, 3510, 3510, 3510, 2134, 1477, 2144, 1913, 3510, 3510, 1714, 3510, 3510, 3510, 2135, 1416, 2145, 1914, 3510, 3510, 1715, 3510, 3510, 3510, 2136, 1544, 2146, 1915, 2148, 2147, 1716, 3510, 2143, 3510, 2137, 1641, 2147, 1916, 3510, 3510, 1717, 3510, 3510, 3510, 2138, 1669, 2148, 1917, 3510, 3510, 1718, 3510, 3510, 3510, 2139, 1641, 2149, 1918, 2145, 2148, 1719, 3510, 2144, 3510, 2140, 1544, 2150, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2151, 2152, 2151, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2152, 2152, 1231, 2153, 2161, 1232, 2154, 2167, 3510, 2169, 506, 2153, 1859, 2154, 2156, 1233, 3510, 2158, 3510, 2160, 506, 2154, 1860, 3510, 3510, 1234, 3510, 3510, 3510, 2155, 506, 2155, 1861, 3510, 3510, 1235, 3510, 3510, 3510, 3510, 506, 2156, 1862, 3510, 3510, 1236, 3510, 3510, 3510, 2157, 1238, 2157, 1863, 3510, 3510, 1237, 3510, 3510, 3510, 3510, 1238, 2158, 1864, 3510, 3510, 1265, 3510, 3510, 3510, 2159, 1267, 2159, 1865, 3510, 3510, 1266, 3510, 3510, 3510, 3510, 1267, 2160, 1866, 2155, 2157, 1279, 3510, 2159, 3510, 3510, 506, 2161, 1867, 2156, 2162, 1280, 3510, 2164, 3510, 2166, 1238, 2162, 1868, 3510, 3510, 1281, 3510, 3510, 3510, 2163, 1283, 2163, 1869, 3510, 3510, 1282, 3510, 3510, 3510, 3510, 1283, 2164, 1870, 3510, 3510, 1847, 3510, 3510, 3510, 2165, 1849, 2165, 1871, 3510, 3510, 1848, 3510, 3510, 3510, 3510, 1849, 2166, 1872, 2157, 2163, 1855, 3510, 2165, 3510, 3510, 1238, 2167, 1873, 2158, 2164, 1856, 3510, 3510, 3510, 2168, 1267, 2168, 1874, 2159, 2165, 1857, 3510, 3510, 3510, 3510, 1267, 2169, 1875, 2160, 2166, 1858, 2155, 2168, 3510, 3510, 506, 2170, 3510, 817, 2129, 3510, 3510, 2151, 3510, 3510, 818, 2171, 3510, 2124, 2150, 3510, 3510, 3510, 3510, 2172, 628, 2172, 3510, 2125, 2151, 3510, 3510, 3510, 3510, 3510, 628, 2173, 3510, 2126, 2170, 3510, 815, 2172, 3510, 3510, 107, 2174, 813, 2175, 2177, 3510, 3510, 2179, 3510, 2181, 107, 2175, 814, 3510, 3510, 3510, 3510, 3510, 3510, 2176, 107, 2176, 815, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 107, 2177, 816, 3510, 3510, 3510, 3510, 3510, 3510, 2178, 818, 2178, 817, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 818, 2179, 2124, 3510, 3510, 3510, 3510, 3510, 3510, 2180, 628, 2180, 2125, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 628, 2181, 2126, 2176, 2178, 3510, 3510, 2180, 3510, 3510, 107, 2182, 2127, 2177, 2183, 3510, 3510, 2185, 3510, 2187, 818, 2183, 2128, 3510, 3510, 3510, 3510, 3510, 3510, 2184, 2130, 2184, 2129, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2130, 2185, 2150, 3510, 3510, 3510, 3510, 3510, 3510, 2186, 2152, 2186, 2151, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2152, 2187, 2170, 2178, 2184, 3510, 3510, 2186, 3510, 3510, 818, 2188, 2171, 2179, 2185, 3510, 3510, 3510, 3510, 2189, 628, 2189, 2172, 2180, 2186, 3510, 3510, 3510, 3510, 3510, 628, 2190, 2173, 2181, 2187, 3510, 2176, 2189, 3510, 3510, 107, 2191, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2192, 2193, 2192, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2193, 2193, 1043, 2194, 2200, 3510, 2195, 3510, 3510, 2204, 354, 2194, 1044, 2195, 2197, 3510, 3510, 3510, 3510, 2199, 354, 2195, 352, 3510, 3510, 3510, 3510, 3510, 3510, 2196, 354, 2196, 353, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 354, 2197, 1045, 3510, 3510, 3510, 3510, 3510, 3510, 2198, 1047, 2198, 1046, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1047, 2199, 2014, 2196, 2198, 3510, 3510, 3510, 3510, 3510, 354, 2200, 2015, 2197, 2201, 3510, 3510, 3510, 3510, 2203, 1047, 2201, 2016, 3510, 3510, 3510, 3510, 3510, 3510, 2202, 2018, 2202, 2017, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2018, 2203, 2042, 2198, 2202, 3510, 3510, 3510, 3510, 3510, 1047, 2204, 2043, 2199, 2203, 3510, 2196, 3510, 3510, 3510, 354, 2205, 3510, 738, 810, 3510, 3510, 2192, 3510, 3510, 684, 2206, 3510, 739, 2191, 3510, 3510, 3510, 3510, 2207, 741, 2207, 3510, 740, 2192, 3510, 3510, 3510, 3510, 3510, 741, 2208, 3510, 807, 2205, 3510, 736, 2207, 3510, 3510, 52, 2209, 734, 2210, 2212, 3510, 3510, 2214, 3510, 2216, 52, 2210, 735, 3510, 3510, 3510, 3510, 3510, 3510, 2211, 52, 2211, 736, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 52, 2212, 737, 3510, 3510, 3510, 3510, 3510, 3510, 2213, 684, 2213, 738, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 684, 2214, 739, 3510, 3510, 3510, 3510, 3510, 3510, 2215, 741, 2215, 740, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 741, 2216, 807, 2211, 2213, 3510, 3510, 2215, 3510, 3510, 52, 2217, 808, 2212, 2218, 3510, 3510, 2220, 3510, 2222, 684, 2218, 809, 3510, 3510, 3510, 3510, 3510, 3510, 2219, 811, 2219, 810, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 811, 2220, 2191, 3510, 3510, 3510, 3510, 3510, 3510, 2221, 2193, 2221, 2192, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2193, 2222, 2205, 2213, 2219, 3510, 3510, 2221, 3510, 3510, 684, 2223, 2206, 2214, 2220, 3510, 3510, 3510, 3510, 2224, 741, 2224, 2207, 2215, 2221, 3510, 3510, 3510, 3510, 3510, 741, 2225, 2208, 2216, 2222, 3510, 2211, 2224, 3510, 3510, 52, 2226, 1180, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 328, 2227, 359, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 92, 2228, 1181, 2229, 2230, 3510, 3510, 730, 3510, 3510, 362, 2229, 361, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 362, 2230, 1182, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1183, 2231, 1192, 2227, 2229, 3510, 3510, 2226, 3510, 3510, 92, 2232, 1193, 3510, 3510, 3510, 3510, 3510, 3510, 694, 695, 2233, 1194, 2235, 2234, 3510, 3510, 2232, 3510, 729, 328, 2234, 1195, 3510, 3510, 3510, 3510, 3510, 3510, 730, 732, 2235, 1196, 3510, 3510, 3510, 3510, 3510, 3510, 2226, 328, 2236, 358, 3510, 3510, 3510, 3510, 3510, 3510, 2227, 92, 2237, 1197, 2238, 2239, 3510, 3510, 2234, 3510, 2228, 362, 2238, 360, 3510, 3510, 3510, 3510, 3510, 3510, 2229, 362, 2239, 1198, 3510, 3510, 3510, 3510, 3510, 3510, 2230, 1183, 2240, 357, 2236, 2238, 3510, 3510, 2235, 3510, 2231, 92, 2241, 940, 1066, 2004, 1219, 1061, 2243, 2242, 3510, 692, 2242, 941, 3510, 3510, 971, 3510, 3510, 3510, 3510, 942, 2243, 972, 1065, 2003, 1220, 3510, 2242, 3510, 3510, 551, 2244, 2106, 3510, 3510, 1222, 3510, 3510, 3510, 2242, 942, 2245, 2107, 1064, 2002, 1223, 3510, 2244, 3510, 2243, 551, 2246, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2247, 550, 2247, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 550, 2248, 3510, 688, 690, 3510, 3510, 2247, 3510, 3510, 91, 2249, 3510, 689, 2250, 3510, 3510, 2258, 3510, 2278, 691, 2250, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2251, 2252, 2251, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2252, 2252, 1072, 2019, 2027, 1226, 2020, 2257, 2256, 2253, 1001, 2253, 1073, 2026, 2032, 1227, 2021, 2255, 2254, 3510, 1001, 2254, 1074, 3510, 3510, 1228, 3510, 3510, 3510, 3510, 1075, 2255, 1979, 2025, 2031, 1229, 3510, 2254, 3510, 3510, 629, 2256, 1987, 3510, 3510, 1920, 3510, 3510, 3510, 2254, 1075, 2257, 1988, 2024, 2030, 1921, 3510, 2256, 3510, 2255, 629, 2258, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2259, 2260, 2259, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2260, 2260, 975, 2261, 2269, 976, 2262, 2275, 3510, 2277, 355, 2261, 2095, 2262, 2264, 977, 3510, 2266, 3510, 2268, 355, 2262, 2077, 3510, 3510, 928, 3510, 3510, 3510, 2263, 355, 2263, 2078, 3510, 3510, 929, 3510, 3510, 3510, 3510, 355, 2264, 2079, 3510, 3510, 930, 3510, 3510, 3510, 2265, 932, 2265, 2080, 3510, 3510, 931, 3510, 3510, 3510, 3510, 932, 2266, 2096, 3510, 3510, 978, 3510, 3510, 3510, 2267, 980, 2267, 2097, 3510, 3510, 979, 3510, 3510, 3510, 3510, 980, 2268, 2098, 2263, 2265, 992, 3510, 2267, 3510, 3510, 355, 2269, 2099, 2264, 2270, 993, 3510, 2272, 3510, 2274, 932, 2270, 2086, 3510, 3510, 994, 3510, 3510, 3510, 2271, 996, 2271, 2087, 3510, 3510, 995, 3510, 3510, 3510, 3510, 996, 2272, 2100, 3510, 3510, 2073, 3510, 3510, 3510, 2273, 2075, 2273, 2101, 3510, 3510, 2074, 3510, 3510, 3510, 3510, 2075, 2274, 2102, 2265, 2271, 2091, 3510, 2273, 3510, 3510, 932, 2275, 2103, 2266, 2272, 2092, 3510, 3510, 3510, 2276, 980, 2276, 2104, 2267, 2273, 2093, 3510, 3510, 3510, 3510, 980, 2277, 2105, 2268, 2274, 2094, 2263, 2276, 3510, 3510, 355, 2278, 3510, 690, 2251, 3510, 3510, 2259, 3510, 3510, 691, 2279, 3510, 2246, 2258, 3510, 3510, 3510, 3510, 2280, 550, 2280, 3510, 2247, 2259, 3510, 3510, 3510, 3510, 3510, 550, 2281, 3510, 2248, 2278, 3510, 688, 2280, 3510, 3510, 91, 2282, 686, 2283, 2285, 3510, 3510, 2287, 3510, 2289, 91, 2283, 687, 3510, 3510, 3510, 3510, 3510, 3510, 2284, 91, 2284, 688, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 91, 2285, 689, 3510, 3510, 3510, 3510, 3510, 3510, 2286, 691, 2286, 690, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 691, 2287, 2246, 3510, 3510, 3510, 3510, 3510, 3510, 2288, 550, 2288, 2247, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 550, 2289, 2248, 2284, 2286, 3510, 3510, 2288, 3510, 3510, 91, 2290, 2249, 2285, 2291, 3510, 3510, 2293, 3510, 2295, 691, 2291, 2250, 3510, 3510, 3510, 3510, 3510, 3510, 2292, 2252, 2292, 2251, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2252, 2293, 2258, 3510, 3510, 3510, 3510, 3510, 3510, 2294, 2260, 2294, 2259, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2260, 2295, 2278, 2286, 2292, 3510, 3510, 2294, 3510, 3510, 691, 2296, 2279, 2287, 2293, 3510, 3510, 3510, 3510, 2297, 550, 2297, 2280, 2288, 2294, 3510, 3510, 3510, 3510, 3510, 550, 2298, 2281, 2289, 2295, 3510, 2284, 2297, 3510, 3510, 91, 2299, 2282, 2300, 2302, 686, 3510, 2304, 3510, 2306, 91, 2300, 2283, 3510, 3510, 687, 3510, 3510, 3510, 2301, 91, 2301, 2284, 3510, 3510, 688, 3510, 3510, 3510, 3510, 91, 2302, 2285, 3510, 3510, 689, 3510, 3510, 3510, 2303, 691, 2303, 2286, 3510, 3510, 690, 3510, 3510, 3510, 3510, 691, 2304, 2287, 3510, 3510, 2246, 3510, 3510, 3510, 2305, 550, 2305, 2288, 3510, 3510, 2247, 3510, 3510, 3510, 3510, 550, 2306, 2289, 2301, 2303, 2248, 3510, 2305, 3510, 3510, 91, 2307, 2290, 2302, 2308, 2249, 3510, 2310, 3510, 2312, 691, 2308, 2291, 3510, 3510, 2250, 3510, 3510, 3510, 2309, 2252, 2309, 2292, 3510, 3510, 2251, 3510, 3510, 3510, 3510, 2252, 2310, 2293, 3510, 3510, 2258, 3510, 3510, 3510, 2311, 2260, 2311, 2294, 3510, 3510, 2259, 3510, 3510, 3510, 3510, 2260, 2312, 2295, 2303, 2309, 2278, 3510, 2311, 3510, 3510, 691, 2313, 2296, 2304, 2310, 2279, 3510, 3510, 3510, 2314, 550, 2314, 2297, 2305, 2311, 2280, 3510, 3510, 3510, 3510, 550, 2315, 2298, 2306, 2312, 2281, 2301, 2314, 3510, 3510, 91, 2316, 3510, 50, 682, 3510, 3510, 3510, 3510, 3510, 51, 2317, 3510, 681, 2318, 3510, 3510, 3510, 3510, 2338, 683, 2318, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2319, 2320, 2319, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2320, 2320, 811, 2321, 2329, 812, 2322, 2335, 3510, 2337, 107, 2321, 2174, 2322, 2324, 813, 3510, 2326, 3510, 2328, 107, 2322, 2175, 3510, 3510, 814, 3510, 3510, 3510, 2323, 107, 2323, 2176, 3510, 3510, 815, 3510, 3510, 3510, 3510, 107, 2324, 2177, 3510, 3510, 816, 3510, 3510, 3510, 2325, 818, 2325, 2178, 3510, 3510, 817, 3510, 3510, 3510, 3510, 818, 2326, 2179, 3510, 3510, 2124, 3510, 3510, 3510, 2327, 628, 2327, 2180, 3510, 3510, 2125, 3510, 3510, 3510, 3510, 628, 2328, 2181, 2323, 2325, 2126, 3510, 2327, 3510, 3510, 107, 2329, 2182, 2324, 2330, 2127, 3510, 2332, 3510, 2334, 818, 2330, 2183, 3510, 3510, 2128, 3510, 3510, 3510, 2331, 2130, 2331, 2184, 3510, 3510, 2129, 3510, 3510, 3510, 3510, 2130, 2332, 2185, 3510, 3510, 2150, 3510, 3510, 3510, 2333, 2152, 2333, 2186, 3510, 3510, 2151, 3510, 3510, 3510, 3510, 2152, 2334, 2187, 2325, 2331, 2170, 3510, 2333, 3510, 3510, 818, 2335, 2188, 2326, 2332, 2171, 3510, 3510, 3510, 2336, 628, 2336, 2189, 2327, 2333, 2172, 3510, 3510, 3510, 3510, 628, 2337, 2190, 2328, 2334, 2173, 2323, 2336, 3510, 3510, 107, 2338, 3510, 682, 2319, 3510, 3510, 3510, 3510, 3510, 683, 2339, 3510, 2316, 2338, 3510, 50, 3510, 3510, 3510, 51, 2340, 1022, 3510, 3510, 1023, 3510, 3510, 3510, 3510, 442, 2341, 653, 3510, 3510, 642, 3510, 3510, 3510, 3510, 27, 2342, 1024, 2344, 2343, 1025, 3510, 678, 3510, 3510, 336, 2343, 659, 3510, 3510, 648, 3510, 3510, 3510, 3510, 489, 2344, 655, 3510, 3510, 644, 3510, 3510, 3510, 3510, 336, 2345, 1026, 2341, 2344, 1027, 3510, 2340, 3510, 3510, 27, 2346, 1028, 2348, 2347, 1033, 3510, 3510, 3510, 677, 442, 2347, 1029, 3510, 3510, 1030, 3510, 3510, 3510, 678, 679, 2348, 1031, 3510, 3510, 1032, 3510, 3510, 3510, 2340, 442, 2349, 652, 3510, 3510, 641, 3510, 3510, 3510, 2341, 27, 2350, 1034, 2352, 2351, 1035, 3510, 2347, 3510, 2342, 336, 2351, 658, 3510, 3510, 647, 3510, 3510, 3510, 2343, 489, 2352, 654, 3510, 3510, 643, 3510, 3510, 3510, 2344, 336, 2353, 1036, 2349, 2352, 1037, 3510, 2348, 3510, 2345, 27, 2354, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2355, 2355, 1039, 2372, 2369, 1548, 2368, 2365, 3510, 2356, 53, 2356, 1040, 2364, 2361, 1549, 2360, 2357, 3510, 3510, 53, 2357, 1041, 2359, 2358, 1550, 3510, 3510, 3510, 3510, 742, 2358, 1042, 3510, 3510, 1551, 3510, 3510, 3510, 3510, 1043, 2359, 2044, 3510, 3510, 1552, 3510, 3510, 3510, 3510, 742, 2360, 2045, 3510, 3510, 1359, 3510, 3510, 3510, 3510, 53, 2361, 2046, 2363, 2362, 1553, 3510, 2358, 3510, 3510, 685, 2362, 2047, 3510, 3510, 1365, 3510, 3510, 3510, 3510, 812, 2363, 2048, 3510, 3510, 1361, 3510, 3510, 3510, 3510, 685, 2364, 2049, 2360, 2363, 1554, 3510, 2359, 3510, 3510, 53, 2365, 2050, 2367, 2366, 1555, 3510, 3510, 3510, 2357, 742, 2366, 2051, 3510, 3510, 1556, 3510, 3510, 3510, 2358, 1043, 2367, 2052, 3510, 3510, 1557, 3510, 3510, 3510, 2359, 742, 2368, 2053, 3510, 3510, 1358, 3510, 3510, 3510, 2360, 53, 2369, 2054, 2371, 2370, 1558, 3510, 2366, 3510, 2361, 685, 2370, 2055, 3510, 3510, 1364, 3510, 3510, 3510, 2362, 812, 2371, 2056, 3510, 3510, 1360, 3510, 3510, 3510, 2363, 685, 2372, 2057, 2368, 2371, 1559, 3510, 2367, 3510, 2364, 53, 2373, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 675, 2374, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 40, 2375, 3510, 2410, 2395, 3510, 3510, 2354, 3510, 3510, 2376, 2376, 1295, 2394, 2391, 1332, 2390, 2387, 2386, 2377, 323, 2377, 1296, 2385, 2382, 1320, 542, 2379, 2378, 3510, 323, 2378, 1297, 3510, 3510, 1309, 3510, 3510, 3510, 3510, 1298, 2379, 1310, 2381, 2380, 1315, 3510, 2378, 3510, 3510, 161, 2380, 1311, 3510, 3510, 1312, 3510, 3510, 3510, 3510, 350, 2381, 1313, 3510, 3510, 1314, 3510, 3510, 3510, 3510, 161, 2382, 1316, 2383, 2384, 1317, 3510, 2380, 3510, 3510, 546, 2383, 1084, 3510, 3510, 1085, 3510, 3510, 3510, 3510, 546, 2384, 1083, 3510, 3510, 623, 3510, 3510, 3510, 3510, 624, 2385, 1318, 542, 2383, 1319, 3510, 2381, 3510, 3510, 323, 2386, 1321, 3510, 3510, 1322, 3510, 3510, 3510, 2378, 1298, 2387, 1323, 2389, 2388, 1328, 3510, 2386, 3510, 2379, 161, 2388, 1324, 3510, 3510, 1325, 3510, 3510, 3510, 2380, 350, 2389, 1326, 3510, 3510, 1327, 3510, 3510, 3510, 2381, 161, 2390, 1088, 3510, 3510, 321, 3510, 3510, 3510, 542, 323, 2391, 1329, 2392, 2393, 1330, 3510, 2388, 3510, 2382, 546, 2392, 1091, 3510, 3510, 1092, 3510, 3510, 3510, 2383, 546, 2393, 1090, 3510, 3510, 622, 3510, 3510, 3510, 2384, 624, 2394, 1331, 2390, 2392, 320, 3510, 2389, 3510, 2385, 323, 2395, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2396, 2396, 1334, 2409, 2408, 1568, 1802, 2405, 2404, 2397, 671, 2397, 1335, 2403, 2402, 1569, 1343, 2399, 2398, 3510, 671, 2398, 1336, 3510, 3510, 1570, 3510, 3510, 3510, 3510, 1337, 2399, 1819, 2401, 2400, 1571, 3510, 2398, 3510, 3510, 262, 2400, 1820, 3510, 3510, 1572, 3510, 3510, 3510, 3510, 501, 2401, 1821, 3510, 3510, 1573, 3510, 3510, 3510, 3510, 262, 2402, 1822, 1798, 1796, 1574, 3510, 2400, 3510, 3510, 1100, 2403, 1823, 1343, 1798, 1576, 3510, 2401, 3510, 3510, 671, 2404, 1824, 3510, 3510, 1577, 3510, 3510, 3510, 2398, 1337, 2405, 1825, 2407, 2406, 1578, 3510, 2404, 3510, 2399, 262, 2406, 1826, 3510, 3510, 1579, 3510, 3510, 3510, 2400, 501, 2407, 1827, 3510, 3510, 1580, 3510, 3510, 3510, 2401, 262, 2408, 1828, 1807, 1805, 1581, 3510, 2406, 3510, 2402, 1100, 2409, 1829, 1802, 1807, 668, 3510, 2407, 3510, 2403, 671, 2410, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2376, 2411, 3510, 2374, 2410, 3510, 3510, 2373, 3510, 3510, 40, 2412, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 673, 401, 2413, 3510, 2415, 2414, 3510, 3510, 2412, 3510, 674, 675, 2414, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2354, 2355, 2415, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2373, 675, 2416, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2374, 40, 2417, 3510, 2419, 2418, 3510, 3510, 2414, 3510, 2375, 2376, 2418, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2395, 2396, 2419, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2410, 2376, 2420, 3510, 2416, 2419, 3510, 3510, 2415, 3510, 2411, 40, 2421, 3510, 1580, 1579, 3510, 3510, 3510, 3510, 2422, 262, 2422, 3510, 1573, 1572, 3510, 3510, 3510, 3510, 3510, 262, 2423, 3510, 1576, 1574, 3510, 670, 2422, 3510, 3510, 671, 2424, 2421, 1827, 1826, 3510, 3510, 3510, 3510, 2425, 262, 2425, 2422, 1821, 1820, 3510, 3510, 3510, 3510, 3510, 262, 2426, 2423, 1823, 1822, 3510, 1098, 2425, 3510, 3510, 671, 2427, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2428, 2429, 2428, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2429, 2429, 1356, 2430, 2432, 3510, 2053, 3510, 3510, 2434, 53, 2430, 1357, 2053, 2056, 3510, 3510, 3510, 3510, 2431, 53, 2431, 1362, 2045, 2048, 3510, 3510, 3510, 3510, 3510, 53, 2432, 1363, 2056, 2055, 3510, 3510, 3510, 3510, 2433, 685, 2433, 1366, 2048, 2047, 3510, 3510, 3510, 3510, 3510, 685, 2434, 1367, 2431, 2433, 3510, 2045, 3510, 3510, 3510, 53, 2435, 3510, 635, 665, 3510, 3510, 2428, 3510, 3510, 318, 2436, 3510, 636, 2427, 3510, 3510, 3510, 3510, 2437, 638, 2437, 3510, 637, 2428, 3510, 3510, 3510, 3510, 3510, 638, 2438, 3510, 662, 2435, 3510, 633, 2437, 3510, 3510, 267, 2439, 631, 2440, 2442, 3510, 3510, 2444, 3510, 2446, 267, 2440, 632, 3510, 3510, 3510, 3510, 3510, 3510, 2441, 267, 2441, 633, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 267, 2442, 634, 3510, 3510, 3510, 3510, 3510, 3510, 2443, 318, 2443, 635, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 318, 2444, 636, 3510, 3510, 3510, 3510, 3510, 3510, 2445, 638, 2445, 637, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 638, 2446, 662, 2441, 2443, 3510, 3510, 2445, 3510, 3510, 267, 2447, 663, 2442, 2448, 3510, 3510, 2450, 3510, 2452, 318, 2448, 664, 3510, 3510, 3510, 3510, 3510, 3510, 2449, 666, 2449, 665, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 666, 2450, 2427, 3510, 3510, 3510, 3510, 3510, 3510, 2451, 2429, 2451, 2428, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2429, 2452, 2435, 2443, 2449, 3510, 3510, 2451, 3510, 3510, 318, 2453, 2436, 2444, 2450, 3510, 3510, 3510, 3510, 2454, 638, 2454, 2437, 2445, 2451, 3510, 3510, 3510, 3510, 3510, 638, 2455, 2438, 2446, 2452, 3510, 2441, 2454, 3510, 3510, 267, 2456, 2439, 2457, 2459, 631, 3510, 2461, 3510, 2463, 267, 2457, 2440, 3510, 3510, 632, 3510, 3510, 3510, 2458, 267, 2458, 2441, 3510, 3510, 633, 3510, 3510, 3510, 3510, 267, 2459, 2442, 3510, 3510, 634, 3510, 3510, 3510, 2460, 318, 2460, 2443, 3510, 3510, 635, 3510, 3510, 3510, 3510, 318, 2461, 2444, 3510, 3510, 636, 3510, 3510, 3510, 2462, 638, 2462, 2445, 3510, 3510, 637, 3510, 3510, 3510, 3510, 638, 2463, 2446, 2458, 2460, 662, 3510, 2462, 3510, 3510, 267, 2464, 2447, 2459, 2465, 663, 3510, 2467, 3510, 2469, 318, 2465, 2448, 3510, 3510, 664, 3510, 3510, 3510, 2466, 666, 2466, 2449, 3510, 3510, 665, 3510, 3510, 3510, 3510, 666, 2467, 2450, 3510, 3510, 2427, 3510, 3510, 3510, 2468, 2429, 2468, 2451, 3510, 3510, 2428, 3510, 3510, 3510, 3510, 2429, 2469, 2452, 2460, 2466, 2435, 3510, 2468, 3510, 3510, 318, 2470, 2453, 2461, 2467, 2436, 3510, 3510, 3510, 2471, 638, 2471, 2454, 2462, 2468, 2437, 3510, 3510, 3510, 3510, 638, 2472, 2455, 2463, 2469, 2438, 2458, 2471, 3510, 3510, 267, 2473, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 626, 250, 2474, 3510, 2124, 2150, 3510, 3510, 2473, 3510, 627, 628, 2475, 1614, 2477, 2476, 619, 3510, 3510, 3510, 3510, 620, 2476, 1615, 3510, 3510, 1620, 3510, 3510, 3510, 3510, 1616, 2477, 1621, 3510, 3510, 1622, 3510, 3510, 3510, 3510, 620, 2478, 1623, 615, 2477, 1624, 3510, 3510, 3510, 3510, 610, 2479, 1625, 3510, 3510, 1626, 3510, 3510, 3510, 615, 610, 2480, 1627, 2482, 2481, 1632, 3510, 3510, 3510, 2475, 620, 2481, 1628, 3510, 3510, 1629, 3510, 3510, 3510, 2476, 1616, 2482, 1630, 3510, 3510, 1631, 3510, 3510, 3510, 2477, 620, 2483, 1633, 2479, 2482, 1634, 3510, 3510, 3510, 2478, 610, 2484, 1350, 2486, 2485, 3510, 3510, 608, 3510, 3510, 1351, 2485, 1417, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1418, 2486, 1478, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1351, 2487, 1479, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 419, 2488, 1480, 2490, 2489, 3510, 3510, 2485, 3510, 3510, 1481, 2489, 1763, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1764, 2490, 1784, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1481, 2491, 1785, 2487, 2490, 3510, 3510, 2486, 3510, 3510, 419, 2492, 1786, 3510, 3510, 3510, 3510, 3510, 3510, 608, 609, 2493, 1787, 2495, 2494, 3510, 3510, 2492, 3510, 2484, 1351, 2494, 1788, 3510, 3510, 3510, 3510, 3510, 3510, 2485, 1418, 2495, 1789, 3510, 3510, 3510, 3510, 3510, 3510, 2486, 1351, 2496, 1790, 3510, 3510, 3510, 3510, 3510, 3510, 2487, 419, 2497, 1791, 2499, 2498, 3510, 3510, 2494, 3510, 2488, 1481, 2498, 1792, 3510, 3510, 3510, 3510, 3510, 3510, 2489, 1764, 2499, 1793, 3510, 3510, 3510, 3510, 3510, 3510, 2490, 1481, 2500, 1794, 2496, 2499, 3510, 3510, 2495, 3510, 2491, 419, 2501, 852, 2503, 2502, 600, 3510, 3510, 3510, 3510, 384, 2502, 853, 3510, 3510, 601, 3510, 3510, 3510, 3510, 602, 2503, 854, 3510, 3510, 855, 3510, 3510, 3510, 3510, 384, 2504, 856, 596, 2503, 857, 3510, 3510, 3510, 3510, 234, 2505, 858, 3510, 3510, 859, 3510, 3510, 3510, 596, 234, 2506, 860, 2508, 2507, 865, 3510, 3510, 3510, 2501, 384, 2507, 861, 3510, 3510, 862, 3510, 3510, 3510, 2502, 602, 2508, 863, 3510, 3510, 864, 3510, 3510, 3510, 2503, 384, 2509, 866, 2505, 2508, 867, 3510, 3510, 3510, 2504, 234, 2510, 1103, 2512, 2511, 3510, 3510, 593, 3510, 3510, 1104, 2511, 1122, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1123, 2512, 1173, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1104, 2513, 1174, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 123, 2514, 1175, 2516, 2515, 3510, 3510, 2511, 3510, 3510, 1176, 2515, 1940, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1941, 2516, 1961, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1176, 2517, 1962, 2513, 2516, 3510, 3510, 2512, 3510, 3510, 123, 2518, 1963, 3510, 3510, 3510, 3510, 3510, 3510, 593, 594, 2519, 1964, 2521, 2520, 3510, 3510, 2518, 3510, 2510, 1104, 2520, 1965, 3510, 3510, 3510, 3510, 3510, 3510, 2511, 1123, 2521, 1966, 3510, 3510, 3510, 3510, 3510, 3510, 2512, 1104, 2522, 1967, 3510, 3510, 3510, 3510, 3510, 3510, 2513, 123, 2523, 1968, 2525, 2524, 3510, 3510, 2520, 3510, 2514, 1176, 2524, 1969, 3510, 3510, 3510, 3510, 3510, 3510, 2515, 1941, 2525, 1970, 3510, 3510, 3510, 3510, 3510, 3510, 2516, 1176, 2526, 1971, 2522, 2525, 3510, 3510, 2521, 3510, 2517, 123, 2527, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2528, 2529, 2528, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2529, 2529, 876, 2530, 2532, 3510, 2210, 3510, 3510, 2534, 52, 2530, 877, 2210, 2212, 3510, 3510, 3510, 3510, 2531, 52, 2531, 878, 2211, 2213, 3510, 3510, 3510, 3510, 3510, 52, 2532, 879, 2212, 2218, 3510, 3510, 3510, 3510, 2533, 684, 2533, 880, 2213, 2219, 3510, 3510, 3510, 3510, 3510, 684, 2534, 881, 2531, 2533, 3510, 2211, 3510, 3510, 3510, 52, 2535, 3510, 557, 583, 3510, 3510, 2528, 3510, 3510, 214, 2536, 3510, 558, 2527, 3510, 3510, 3510, 3510, 2537, 560, 2537, 3510, 559, 2528, 3510, 3510, 3510, 3510, 3510, 560, 2538, 3510, 580, 2535, 3510, 555, 2537, 3510, 3510, 166, 2539, 553, 982, 984, 3510, 3510, 2540, 3510, 2542, 166, 2540, 558, 3510, 3510, 3510, 3510, 3510, 3510, 2541, 560, 2541, 559, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 560, 2542, 580, 983, 985, 3510, 3510, 2541, 3510, 3510, 166, 2543, 581, 984, 988, 3510, 3510, 2544, 3510, 2546, 214, 2544, 2527, 3510, 3510, 3510, 3510, 3510, 3510, 2545, 2529, 2545, 2528, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2529, 2546, 2535, 985, 989, 3510, 3510, 2545, 3510, 3510, 214, 2547, 2536, 2540, 2544, 3510, 3510, 3510, 3510, 2548, 560, 2548, 2537, 2541, 2545, 3510, 3510, 3510, 3510, 3510, 560, 2549, 2538, 2542, 2546, 3510, 983, 2548, 3510, 3510, 166, 2550, 2539, 2551, 2553, 553, 3510, 2555, 3510, 2557, 166, 2551, 982, 3510, 3510, 554, 3510, 3510, 3510, 2552, 166, 2552, 983, 3510, 3510, 555, 3510, 3510, 3510, 3510, 166, 2553, 984, 3510, 3510, 556, 3510, 3510, 3510, 2554, 214, 2554, 985, 3510, 3510, 557, 3510, 3510, 3510, 3510, 214, 2555, 2540, 3510, 3510, 558, 3510, 3510, 3510, 2556, 560, 2556, 2541, 3510, 3510, 559, 3510, 3510, 3510, 3510, 560, 2557, 2542, 2552, 2554, 580, 3510, 2556, 3510, 3510, 166, 2558, 2543, 2553, 2559, 581, 3510, 2561, 3510, 2563, 214, 2559, 988, 3510, 3510, 582, 3510, 3510, 3510, 2560, 584, 2560, 989, 3510, 3510, 583, 3510, 3510, 3510, 3510, 584, 2561, 2544, 3510, 3510, 2527, 3510, 3510, 3510, 2562, 2529, 2562, 2545, 3510, 3510, 2528, 3510, 3510, 3510, 3510, 2529, 2563, 2546, 2554, 2560, 2535, 3510, 2562, 3510, 3510, 214, 2564, 2547, 2555, 2561, 2536, 3510, 3510, 3510, 2565, 560, 2565, 2548, 2556, 2562, 2537, 3510, 3510, 3510, 3510, 560, 2566, 2549, 2557, 2563, 2538, 2552, 2565, 3510, 3510, 166, 2567, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 548, 224, 2568, 3510, 2246, 2258, 3510, 3510, 2567, 3510, 549, 550, 2569, 1082, 2383, 2384, 545, 3510, 3510, 3510, 3510, 546, 2570, 1086, 542, 2383, 1087, 3510, 3510, 3510, 3510, 323, 2571, 1089, 2392, 2393, 621, 3510, 3510, 3510, 2569, 546, 2572, 1093, 2390, 2392, 1094, 3510, 3510, 3510, 2570, 323, 2573, 1340, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 1341, 2574, 1812, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 540, 2575, 1813, 537, 2574, 3510, 3510, 3510, 3510, 3510, 148, 2576, 1814, 3510, 3510, 3510, 3510, 3510, 3510, 537, 148, 2577, 1815, 2579, 2578, 3510, 3510, 3510, 3510, 539, 540, 2578, 1816, 3510, 3510, 3510, 3510, 3510, 3510, 2573, 1341, 2579, 1817, 3510, 3510, 3510, 3510, 3510, 3510, 2574, 540, 2580, 1818, 2576, 2579, 3510, 3510, 3510, 3510, 2575, 148, 2581, 3510, 526, 839, 3510, 3510, 3510, 3510, 2582, 329, 2582, 3510, 527, 825, 3510, 3510, 3510, 3510, 3510, 329, 2583, 3510, 528, 830, 3510, 510, 2582, 3510, 3510, 124, 2584, 2581, 840, 838, 3510, 3510, 3510, 3510, 2585, 329, 2585, 2582, 826, 824, 3510, 3510, 3510, 3510, 3510, 329, 2586, 2583, 833, 829, 3510, 828, 2585, 3510, 3510, 124, 2587, 846, 2588, 2590, 508, 3510, 2592, 3510, 2594, 124, 2588, 842, 3510, 3510, 509, 3510, 3510, 3510, 2589, 124, 2589, 828, 3510, 3510, 510, 3510, 3510, 3510, 3510, 124, 2590, 844, 3510, 3510, 511, 3510, 3510, 3510, 2591, 513, 2591, 831, 3510, 3510, 512, 3510, 3510, 3510, 3510, 513, 2592, 840, 3510, 3510, 526, 3510, 3510, 3510, 2593, 329, 2593, 826, 3510, 3510, 527, 3510, 3510, 3510, 3510, 329, 2594, 833, 2589, 2591, 528, 3510, 2593, 3510, 3510, 124, 2595, 843, 2590, 2596, 529, 3510, 2598, 3510, 2600, 513, 2596, 845, 3510, 3510, 530, 3510, 3510, 3510, 2597, 532, 2597, 832, 3510, 3510, 531, 3510, 3510, 3510, 3510, 532, 2598, 838, 3510, 3510, 839, 3510, 3510, 3510, 2599, 733, 2599, 824, 3510, 3510, 825, 3510, 3510, 3510, 3510, 733, 2600, 829, 2591, 2597, 830, 3510, 2599, 3510, 3510, 513, 2601, 2584, 2592, 2598, 2581, 3510, 3510, 3510, 2602, 329, 2602, 2585, 2593, 2599, 2582, 3510, 3510, 3510, 3510, 329, 2603, 2586, 2594, 2600, 2583, 2589, 2602, 3510, 3510, 124, 2604, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2605, 2606, 2605, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2606, 2606, 1238, 1939, 1936, 1239, 1935, 2607, 3510, 2609, 1177, 2607, 1262, 1934, 1933, 1248, 3510, 3510, 3510, 2608, 552, 2608, 1263, 1209, 1207, 1249, 3510, 3510, 3510, 3510, 552, 2609, 1264, 1930, 1927, 1250, 1212, 2608, 3510, 3510, 1177, 2610, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2611, 2612, 2611, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2612, 2612, 1267, 2613, 2615, 1268, 1117, 3510, 3510, 2617, 167, 2613, 1274, 1117, 1120, 1269, 3510, 3510, 3510, 2614, 167, 2614, 1275, 1109, 1112, 1270, 3510, 3510, 3510, 3510, 167, 2615, 1276, 1120, 1119, 1271, 3510, 3510, 3510, 2616, 215, 2616, 1277, 1112, 1111, 1272, 3510, 3510, 3510, 3510, 215, 2617, 1278, 2614, 2616, 1273, 1109, 3510, 3510, 3510, 167, 2618, 3510, 504, 2605, 3510, 3510, 2611, 3510, 3510, 505, 2619, 3510, 2604, 2620, 3510, 3510, 2626, 3510, 2634, 2606, 2620, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2621, 2622, 2621, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2622, 2622, 1283, 1960, 1957, 1284, 1956, 2623, 3510, 2625, 1288, 2623, 1844, 1955, 1954, 1841, 3510, 3510, 3510, 2624, 630, 2624, 1845, 1946, 1945, 1842, 3510, 3510, 3510, 3510, 630, 2625, 1846, 1951, 1948, 1843, 1947, 2624, 3510, 3510, 1288, 2626, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2627, 2628, 2627, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2628, 2628, 1849, 2629, 2631, 1423, 1157, 3510, 3510, 2633, 356, 2629, 1850, 1157, 1168, 1424, 3510, 3510, 3510, 2630, 356, 2630, 1851, 1132, 1143, 1425, 3510, 3510, 3510, 3510, 356, 2631, 1852, 1168, 1166, 1426, 3510, 3510, 3510, 2632, 933, 2632, 1853, 1143, 1141, 1427, 3510, 3510, 3510, 3510, 933, 2633, 1854, 2630, 2632, 1428, 1132, 3510, 3510, 3510, 356, 2634, 3510, 2605, 2621, 3510, 3510, 2627, 3510, 3510, 2606, 2635, 3510, 2610, 2626, 3510, 3510, 3510, 3510, 2636, 2612, 2636, 3510, 2611, 2627, 3510, 3510, 3510, 3510, 3510, 2612, 2637, 3510, 2618, 2634, 3510, 504, 2636, 3510, 3510, 505, 2638, 502, 2639, 2641, 3510, 3510, 2643, 3510, 2645, 505, 2639, 503, 3510, 3510, 3510, 3510, 3510, 3510, 2640, 505, 2640, 504, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 505, 2641, 2604, 3510, 3510, 3510, 3510, 3510, 3510, 2642, 2606, 2642, 2605, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2606, 2643, 2610, 3510, 3510, 3510, 3510, 3510, 3510, 2644, 2612, 2644, 2611, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2612, 2645, 2618, 2640, 2642, 3510, 3510, 2644, 3510, 3510, 505, 2646, 2619, 2641, 2647, 3510, 3510, 2649, 3510, 2651, 2606, 2647, 2620, 3510, 3510, 3510, 3510, 3510, 3510, 2648, 2622, 2648, 2621, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2622, 2649, 2626, 3510, 3510, 3510, 3510, 3510, 3510, 2650, 2628, 2650, 2627, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2628, 2651, 2634, 2642, 2648, 3510, 3510, 2650, 3510, 3510, 2606, 2652, 2635, 2643, 2649, 3510, 3510, 3510, 3510, 2653, 2612, 2653, 2636, 2644, 2650, 3510, 3510, 3510, 3510, 3510, 2612, 2654, 2637, 2645, 2651, 3510, 2640, 2653, 3510, 3510, 505, 2655, 2638, 2656, 2658, 502, 3510, 2660, 3510, 2662, 505, 2656, 2639, 3510, 3510, 503, 3510, 3510, 3510, 2657, 505, 2657, 2640, 3510, 3510, 504, 3510, 3510, 3510, 3510, 505, 2658, 2641, 3510, 3510, 2604, 3510, 3510, 3510, 2659, 2606, 2659, 2642, 3510, 3510, 2605, 3510, 3510, 3510, 3510, 2606, 2660, 2643, 3510, 3510, 2610, 3510, 3510, 3510, 2661, 2612, 2661, 2644, 3510, 3510, 2611, 3510, 3510, 3510, 3510, 2612, 2662, 2645, 2657, 2659, 2618, 3510, 2661, 3510, 3510, 505, 2663, 2646, 2658, 2664, 2619, 3510, 2666, 3510, 2668, 2606, 2664, 2647, 3510, 3510, 2620, 3510, 3510, 3510, 2665, 2622, 2665, 2648, 3510, 3510, 2621, 3510, 3510, 3510, 3510, 2622, 2666, 2649, 3510, 3510, 2626, 3510, 3510, 3510, 2667, 2628, 2667, 2650, 3510, 3510, 2627, 3510, 3510, 3510, 3510, 2628, 2668, 2651, 2659, 2665, 2634, 3510, 2667, 3510, 3510, 2606, 2669, 2652, 2660, 2666, 2635, 3510, 3510, 3510, 2670, 2612, 2670, 2653, 2661, 2667, 2636, 3510, 3510, 3510, 3510, 2612, 2671, 2654, 2662, 2668, 2637, 2657, 2670, 3510, 3510, 505, 2672, 3510, 492, 417, 3510, 3510, 498, 3510, 3510, 122, 2673, 3510, 493, 497, 3510, 3510, 3510, 3510, 2674, 260, 2674, 3510, 494, 498, 3510, 3510, 3510, 3510, 3510, 260, 2675, 3510, 495, 2672, 3510, 119, 2674, 3510, 3510, 39, 2676, 490, 706, 709, 3510, 3510, 2677, 3510, 2679, 39, 2677, 493, 3510, 3510, 3510, 3510, 3510, 3510, 2678, 260, 2678, 494, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 260, 2679, 495, 118, 703, 3510, 3510, 2678, 3510, 3510, 39, 2680, 496, 709, 708, 3510, 3510, 2681, 3510, 2683, 122, 2681, 497, 3510, 3510, 3510, 3510, 3510, 3510, 2682, 499, 2682, 498, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 499, 2683, 2672, 703, 702, 3510, 3510, 2682, 3510, 3510, 122, 2684, 2673, 2677, 2681, 3510, 3510, 3510, 3510, 2685, 260, 2685, 2674, 2678, 2682, 3510, 3510, 3510, 3510, 3510, 260, 2686, 2675, 2679, 2683, 3510, 118, 2685, 3510, 3510, 39, 2687, 2676, 2688, 2689, 490, 3510, 2691, 3510, 2693, 39, 2688, 706, 3510, 3510, 414, 3510, 3510, 3510, 117, 39, 2689, 709, 3510, 3510, 491, 3510, 3510, 3510, 2690, 122, 2690, 703, 3510, 3510, 492, 3510, 3510, 3510, 3510, 122, 2691, 2677, 3510, 3510, 493, 3510, 3510, 3510, 2692, 260, 2692, 2678, 3510, 3510, 494, 3510, 3510, 3510, 3510, 260, 2693, 2679, 117, 2690, 495, 3510, 2692, 3510, 3510, 39, 2694, 2680, 2689, 2695, 496, 3510, 2697, 3510, 2699, 122, 2695, 708, 3510, 3510, 416, 3510, 3510, 3510, 2696, 418, 2696, 702, 3510, 3510, 417, 3510, 3510, 3510, 3510, 418, 2697, 2681, 3510, 3510, 497, 3510, 3510, 3510, 2698, 499, 2698, 2682, 3510, 3510, 498, 3510, 3510, 3510, 3510, 499, 2699, 2683, 2690, 2696, 2672, 3510, 2698, 3510, 3510, 122, 2700, 2684, 2691, 2697, 2673, 3510, 3510, 3510, 2701, 260, 2701, 2685, 2692, 2698, 2674, 3510, 3510, 3510, 3510, 260, 2702, 2686, 2693, 2699, 2675, 117, 2701, 3510, 3510, 39, 2703, 3510, 445, 486, 3510, 3510, 3510, 3510, 3510, 446, 2704, 3510, 483, 2703, 3510, 24, 3510, 3510, 3510, 25, 2705, 1547, 3510, 3510, 1560, 3510, 3510, 3510, 3510, 1548, 2706, 1561, 3510, 3510, 1562, 3510, 3510, 3510, 3510, 439, 2707, 1564, 3510, 3510, 1565, 3510, 3510, 3510, 3510, 420, 2708, 1566, 2710, 2709, 1587, 3510, 2705, 3510, 3510, 1332, 2709, 1567, 3510, 3510, 1584, 3510, 3510, 3510, 3510, 1568, 2710, 1585, 3510, 3510, 1586, 3510, 3510, 3510, 3510, 1332, 2711, 1588, 2707, 2710, 1589, 3510, 2706, 3510, 3510, 420, 2712, 1591, 3510, 3510, 1592, 3510, 3510, 3510, 427, 428, 2713, 1593, 2715, 2714, 1598, 3510, 2712, 3510, 438, 439, 2714, 1594, 3510, 3510, 1595, 3510, 3510, 3510, 2705, 1548, 2715, 1596, 3510, 3510, 1597, 3510, 3510, 3510, 2706, 439, 2716, 1599, 3510, 3510, 1600, 3510, 3510, 3510, 2707, 420, 2717, 1601, 2719, 2718, 1606, 3510, 2714, 3510, 2708, 1332, 2718, 1602, 3510, 3510, 1603, 3510, 3510, 3510, 2709, 1568, 2719, 1604, 3510, 3510, 1605, 3510, 3510, 3510, 2710, 1332, 2720, 1607, 2716, 2719, 1608, 3510, 2715, 3510, 2711, 420, 2721, 607, 2730, 2727, 1348, 2726, 2723, 2722, 3510, 419, 2722, 608, 3510, 3510, 1349, 3510, 3510, 3510, 3510, 609, 2723, 2484, 2725, 2724, 1350, 3510, 2722, 3510, 3510, 1351, 2724, 2485, 3510, 3510, 1417, 3510, 3510, 3510, 3510, 1418, 2725, 2486, 3510, 3510, 1478, 3510, 3510, 3510, 3510, 1351, 2726, 2487, 3510, 3510, 1479, 3510, 3510, 3510, 3510, 419, 2727, 2488, 2729, 2728, 1480, 3510, 2724, 3510, 3510, 1481, 2728, 2489, 3510, 3510, 1763, 3510, 3510, 3510, 3510, 1764, 2729, 2490, 3510, 3510, 1784, 3510, 3510, 3510, 3510, 1481, 2730, 2491, 2726, 2729, 1785, 3510, 2725, 3510, 3510, 419, 2731, 2492, 3510, 3510, 1786, 3510, 3510, 3510, 2722, 609, 2732, 2493, 2734, 2733, 1787, 3510, 2731, 3510, 2723, 1351, 2733, 2494, 3510, 3510, 1788, 3510, 3510, 3510, 2724, 1418, 2734, 2495, 3510, 3510, 1789, 3510, 3510, 3510, 2725, 1351, 2735, 2496, 3510, 3510, 1790, 3510, 3510, 3510, 2726, 419, 2736, 2497, 2738, 2737, 1791, 3510, 2733, 3510, 2727, 1481, 2737, 2498, 3510, 3510, 1792, 3510, 3510, 3510, 2728, 1764, 2738, 2499, 3510, 3510, 1793, 3510, 3510, 3510, 2729, 1481, 2739, 2500, 2735, 2738, 1794, 3510, 2734, 3510, 2730, 419, 2740, 1006, 2742, 2741, 407, 3510, 3510, 3510, 3510, 408, 2741, 1007, 3510, 3510, 412, 3510, 3510, 3510, 3510, 413, 2742, 1008, 3510, 3510, 433, 3510, 3510, 3510, 3510, 408, 2743, 1009, 403, 2742, 435, 3510, 3510, 3510, 3510, 78, 2744, 1010, 3510, 3510, 429, 3510, 3510, 3510, 403, 78, 2745, 1011, 2747, 2746, 430, 3510, 3510, 3510, 2740, 408, 2746, 1012, 3510, 3510, 431, 3510, 3510, 3510, 2741, 413, 2747, 1013, 3510, 3510, 432, 3510, 3510, 3510, 2742, 408, 2748, 1014, 2744, 2747, 434, 3510, 3510, 3510, 2743, 78, 2749, 674, 2751, 2750, 3510, 3510, 400, 3510, 3510, 675, 2750, 2354, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2355, 2751, 2373, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 675, 2752, 2374, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 40, 2753, 2375, 2755, 2754, 3510, 3510, 2750, 3510, 3510, 2376, 2754, 2395, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2396, 2755, 2410, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2376, 2756, 2411, 2752, 2755, 3510, 3510, 2751, 3510, 3510, 40, 2757, 2412, 3510, 3510, 3510, 3510, 3510, 3510, 400, 401, 2758, 2413, 2760, 2759, 3510, 3510, 2757, 3510, 2749, 675, 2759, 2414, 3510, 3510, 3510, 3510, 3510, 3510, 2750, 2355, 2760, 2415, 3510, 3510, 3510, 3510, 3510, 3510, 2751, 675, 2761, 2416, 3510, 3510, 3510, 3510, 3510, 3510, 2752, 40, 2762, 2417, 2764, 2763, 3510, 3510, 2759, 3510, 2753, 2376, 2763, 2418, 3510, 3510, 3510, 3510, 3510, 3510, 2754, 2396, 2764, 2419, 3510, 3510, 3510, 3510, 3510, 3510, 2755, 2376, 2765, 2420, 2761, 2764, 3510, 3510, 2760, 3510, 2756, 40, 2766, 947, 2768, 2767, 603, 762, 3510, 3510, 3510, 398, 2767, 948, 764, 781, 604, 3510, 3510, 3510, 3510, 591, 2768, 949, 762, 764, 950, 3510, 3510, 3510, 3510, 398, 2769, 951, 763, 780, 952, 3510, 3510, 3510, 2767, 591, 2770, 953, 761, 763, 954, 3510, 3510, 3510, 2768, 398, 2771, 1302, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 370, 2772, 1303, 367, 2771, 3510, 3510, 3510, 3510, 3510, 137, 2773, 1304, 3510, 3510, 3510, 3510, 3510, 3510, 367, 137, 2774, 1305, 2776, 2775, 3510, 3510, 3510, 3510, 369, 370, 2775, 1306, 3510, 3510, 3510, 3510, 3510, 3510, 396, 397, 2776, 1307, 3510, 3510, 3510, 3510, 3510, 3510, 2771, 370, 2777, 1308, 2773, 2776, 3510, 3510, 3510, 3510, 2772, 137, 2778, 516, 2780, 2779, 3510, 3510, 364, 3510, 3510, 160, 2779, 517, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 349, 2780, 518, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 160, 2781, 519, 379, 245, 3510, 3510, 2779, 3510, 3510, 221, 2782, 520, 243, 379, 3510, 3510, 2780, 3510, 3510, 60, 2783, 521, 3510, 3510, 3510, 3510, 3510, 3510, 364, 365, 2784, 522, 2786, 2785, 3510, 3510, 2783, 3510, 2778, 160, 2785, 523, 3510, 3510, 3510, 3510, 3510, 3510, 2779, 349, 2786, 524, 3510, 3510, 3510, 3510, 3510, 3510, 2780, 160, 2787, 525, 392, 390, 3510, 3510, 2785, 3510, 2781, 221, 2788, 216, 383, 392, 3510, 3510, 2786, 3510, 2782, 60, 2789, 3510, 1196, 1195, 3510, 3510, 3510, 3510, 2790, 328, 2790, 3510, 1180, 731, 3510, 3510, 3510, 3510, 3510, 328, 2791, 3510, 1192, 1181, 3510, 359, 2790, 3510, 3510, 92, 2792, 2789, 2235, 2234, 3510, 3510, 3510, 3510, 2793, 328, 2793, 2790, 2226, 730, 3510, 3510, 3510, 3510, 3510, 328, 2794, 2791, 2231, 2228, 3510, 2227, 2793, 3510, 3510, 92, 2795, 2240, 2796, 2798, 357, 3510, 2800, 3510, 2802, 92, 2796, 2236, 3510, 3510, 358, 3510, 3510, 3510, 2797, 92, 2797, 2227, 3510, 3510, 359, 3510, 3510, 3510, 3510, 92, 2798, 2238, 3510, 3510, 360, 3510, 3510, 3510, 2799, 362, 2799, 2229, 3510, 3510, 361, 3510, 3510, 3510, 3510, 362, 2800, 2235, 3510, 3510, 1196, 3510, 3510, 3510, 2801, 328, 2801, 2226, 3510, 3510, 1180, 3510, 3510, 3510, 3510, 328, 2802, 2231, 2797, 2799, 1192, 3510, 2801, 3510, 3510, 92, 2803, 2237, 2798, 2804, 1197, 3510, 2806, 3510, 2808, 362, 2804, 2239, 3510, 3510, 1198, 3510, 3510, 3510, 2805, 1183, 2805, 2230, 3510, 3510, 1182, 3510, 3510, 3510, 3510, 1183, 2806, 2234, 3510, 3510, 1195, 3510, 3510, 3510, 2807, 732, 2807, 730, 3510, 3510, 731, 3510, 3510, 3510, 3510, 732, 2808, 2228, 2799, 2805, 1181, 3510, 2807, 3510, 3510, 362, 2809, 2792, 2800, 2806, 2789, 3510, 3510, 3510, 2810, 328, 2810, 2793, 2801, 2807, 2790, 3510, 3510, 3510, 3510, 328, 2811, 2794, 2802, 2808, 2791, 2797, 2810, 3510, 3510, 92, 2812, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2813, 2814, 2813, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2814, 2814, 980, 2815, 2817, 919, 2551, 3510, 3510, 2819, 166, 2815, 981, 2551, 2553, 920, 3510, 3510, 3510, 2816, 166, 2816, 986, 2552, 2554, 921, 3510, 3510, 3510, 3510, 166, 2817, 987, 2553, 2559, 922, 3510, 3510, 3510, 2818, 214, 2818, 990, 2554, 2560, 923, 3510, 3510, 3510, 3510, 214, 2819, 991, 2816, 2818, 924, 2552, 3510, 3510, 3510, 166, 2820, 3510, 353, 1046, 3510, 3510, 2813, 3510, 3510, 354, 2821, 3510, 1045, 2016, 3510, 3510, 2822, 3510, 2830, 1047, 2822, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2823, 2824, 2823, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2824, 2824, 2075, 2825, 2827, 926, 2262, 3510, 3510, 2829, 355, 2825, 2076, 2262, 2264, 927, 3510, 3510, 3510, 2826, 355, 2826, 2081, 2263, 2265, 2082, 3510, 3510, 3510, 3510, 355, 2827, 2083, 2264, 2270, 2084, 3510, 3510, 3510, 2828, 932, 2828, 2088, 2265, 2271, 2085, 3510, 3510, 3510, 3510, 932, 2829, 2089, 2826, 2828, 2090, 2263, 3510, 3510, 3510, 355, 2830, 3510, 1046, 2017, 3510, 3510, 2823, 3510, 3510, 1047, 2831, 3510, 2812, 2822, 3510, 3510, 3510, 3510, 2832, 2814, 2832, 3510, 2813, 2823, 3510, 3510, 3510, 3510, 3510, 2814, 2833, 3510, 2820, 2830, 3510, 353, 2832, 3510, 3510, 354, 2834, 351, 2195, 2197, 3510, 3510, 2835, 3510, 2837, 354, 2835, 2812, 3510, 3510, 3510, 3510, 3510, 3510, 2836, 2814, 2836, 2813, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2814, 2837, 2820, 2196, 2198, 3510, 3510, 2836, 3510, 3510, 354, 2838, 2821, 2197, 2201, 3510, 3510, 2839, 3510, 2841, 1047, 2839, 2822, 3510, 3510, 3510, 3510, 3510, 3510, 2840, 2824, 2840, 2823, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2824, 2841, 2830, 2198, 2202, 3510, 3510, 2840, 3510, 3510, 1047, 2842, 2831, 2835, 2839, 3510, 3510, 3510, 3510, 2843, 2814, 2843, 2832, 2836, 2840, 3510, 3510, 3510, 3510, 3510, 2814, 2844, 2833, 2837, 2841, 3510, 2196, 2843, 3510, 3510, 354, 2845, 2834, 2846, 2848, 351, 3510, 2850, 3510, 2852, 354, 2846, 2195, 3510, 3510, 352, 3510, 3510, 3510, 2847, 354, 2847, 2196, 3510, 3510, 353, 3510, 3510, 3510, 3510, 354, 2848, 2197, 3510, 3510, 1045, 3510, 3510, 3510, 2849, 1047, 2849, 2198, 3510, 3510, 1046, 3510, 3510, 3510, 3510, 1047, 2850, 2835, 3510, 3510, 2812, 3510, 3510, 3510, 2851, 2814, 2851, 2836, 3510, 3510, 2813, 3510, 3510, 3510, 3510, 2814, 2852, 2837, 2847, 2849, 2820, 3510, 2851, 3510, 3510, 354, 2853, 2838, 2848, 2854, 2821, 3510, 2856, 3510, 2858, 1047, 2854, 2201, 3510, 3510, 2016, 3510, 3510, 3510, 2855, 2018, 2855, 2202, 3510, 3510, 2017, 3510, 3510, 3510, 3510, 2018, 2856, 2839, 3510, 3510, 2822, 3510, 3510, 3510, 2857, 2824, 2857, 2840, 3510, 3510, 2823, 3510, 3510, 3510, 3510, 2824, 2858, 2841, 2849, 2855, 2830, 3510, 2857, 3510, 3510, 1047, 2859, 2842, 2850, 2856, 2831, 3510, 3510, 3510, 2860, 2814, 2860, 2843, 2851, 2857, 2832, 3510, 3510, 3510, 3510, 2814, 2861, 2844, 2852, 2858, 2833, 2847, 2860, 3510, 3510, 354, 2862, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2863, 2864, 2863, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2864, 2864, 442, 2865, 2871, 3510, 2866, 3510, 3510, 2875, 25, 2865, 443, 2866, 2868, 3510, 3510, 3510, 3510, 2870, 25, 2866, 23, 3510, 3510, 3510, 3510, 3510, 3510, 2867, 25, 2867, 24, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 25, 2868, 444, 3510, 3510, 3510, 3510, 3510, 3510, 2869, 446, 2869, 445, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 446, 2870, 483, 2867, 2869, 3510, 3510, 3510, 3510, 3510, 25, 2871, 484, 2868, 2872, 3510, 3510, 3510, 3510, 2874, 446, 2872, 485, 3510, 3510, 3510, 3510, 3510, 3510, 2873, 487, 2873, 486, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 487, 2874, 2703, 2869, 2873, 3510, 3510, 3510, 3510, 3510, 446, 2875, 2704, 2870, 2874, 3510, 2867, 3510, 3510, 3510, 25, 2876, 3510, 332, 334, 3510, 3510, 2863, 3510, 3510, 26, 2877, 3510, 333, 565, 3510, 3510, 2878, 3510, 2892, 335, 2878, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2879, 2880, 2879, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2880, 2880, 679, 2881, 2887, 3510, 2882, 3510, 3510, 2891, 51, 2881, 680, 2882, 2884, 3510, 3510, 3510, 3510, 2886, 51, 2882, 49, 3510, 3510, 3510, 3510, 3510, 3510, 2883, 51, 2883, 50, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 51, 2884, 681, 3510, 3510, 3510, 3510, 3510, 3510, 2885, 683, 2885, 682, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 683, 2886, 2316, 2883, 2885, 3510, 3510, 3510, 3510, 3510, 51, 2887, 2317, 2884, 2888, 3510, 3510, 3510, 3510, 2890, 683, 2888, 2318, 3510, 3510, 3510, 3510, 3510, 3510, 2889, 2320, 2889, 2319, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2320, 2890, 2338, 2885, 2889, 3510, 3510, 3510, 3510, 3510, 683, 2891, 2339, 2886, 2890, 3510, 2883, 3510, 3510, 3510, 51, 2892, 3510, 334, 566, 3510, 3510, 2879, 3510, 3510, 335, 2893, 3510, 2862, 2878, 3510, 3510, 3510, 3510, 2894, 2864, 2894, 3510, 2863, 2879, 3510, 3510, 3510, 3510, 3510, 2864, 2895, 3510, 2876, 2892, 3510, 332, 2894, 3510, 3510, 26, 2896, 330, 570, 572, 3510, 3510, 2897, 3510, 2899, 26, 2897, 2862, 3510, 3510, 3510, 3510, 3510, 3510, 2898, 2864, 2898, 2863, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2864, 2899, 2876, 571, 573, 3510, 3510, 2898, 3510, 3510, 26, 2900, 2877, 572, 576, 3510, 3510, 2901, 3510, 2903, 335, 2901, 2878, 3510, 3510, 3510, 3510, 3510, 3510, 2902, 2880, 2902, 2879, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2880, 2903, 2892, 573, 577, 3510, 3510, 2902, 3510, 3510, 335, 2904, 2893, 2897, 2901, 3510, 3510, 3510, 3510, 2905, 2864, 2905, 2894, 2898, 2902, 3510, 3510, 3510, 3510, 3510, 2864, 2906, 2895, 2899, 2903, 3510, 571, 2905, 3510, 3510, 26, 2907, 2896, 2908, 2910, 330, 3510, 2912, 3510, 2914, 26, 2908, 570, 3510, 3510, 331, 3510, 3510, 3510, 2909, 26, 2909, 571, 3510, 3510, 332, 3510, 3510, 3510, 3510, 26, 2910, 572, 3510, 3510, 333, 3510, 3510, 3510, 2911, 335, 2911, 573, 3510, 3510, 334, 3510, 3510, 3510, 3510, 335, 2912, 2897, 3510, 3510, 2862, 3510, 3510, 3510, 2913, 2864, 2913, 2898, 3510, 3510, 2863, 3510, 3510, 3510, 3510, 2864, 2914, 2899, 2909, 2911, 2876, 3510, 2913, 3510, 3510, 26, 2915, 2900, 2910, 2916, 2877, 3510, 2918, 3510, 2920, 335, 2916, 576, 3510, 3510, 565, 3510, 3510, 3510, 2917, 488, 2917, 577, 3510, 3510, 566, 3510, 3510, 3510, 3510, 488, 2918, 2901, 3510, 3510, 2878, 3510, 3510, 3510, 2919, 2880, 2919, 2902, 3510, 3510, 2879, 3510, 3510, 3510, 3510, 2880, 2920, 2903, 2911, 2917, 2892, 3510, 2919, 3510, 3510, 335, 2921, 2904, 2912, 2918, 2893, 3510, 3510, 3510, 2922, 2864, 2922, 2905, 2913, 2919, 2894, 3510, 3510, 3510, 3510, 2864, 2923, 2906, 2914, 2920, 2895, 2909, 2922, 3510, 3510, 26, 2924, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2925, 2925, 732, 2926, 2934, 733, 2927, 2940, 3510, 2942, 52, 2926, 2209, 2927, 2929, 734, 3510, 2931, 3510, 2933, 52, 2927, 2210, 3510, 3510, 735, 3510, 3510, 3510, 2928, 52, 2928, 2211, 3510, 3510, 736, 3510, 3510, 3510, 3510, 52, 2929, 2212, 3510, 3510, 737, 3510, 3510, 3510, 2930, 684, 2930, 2213, 3510, 3510, 738, 3510, 3510, 3510, 3510, 684, 2931, 2214, 3510, 3510, 739, 3510, 3510, 3510, 2932, 741, 2932, 2215, 3510, 3510, 740, 3510, 3510, 3510, 3510, 741, 2933, 2216, 2928, 2930, 807, 3510, 2932, 3510, 3510, 52, 2934, 2217, 2929, 2935, 808, 3510, 2937, 3510, 2939, 684, 2935, 2218, 3510, 3510, 809, 3510, 3510, 3510, 2936, 811, 2936, 2219, 3510, 3510, 810, 3510, 3510, 3510, 3510, 811, 2937, 2220, 3510, 3510, 2191, 3510, 3510, 3510, 2938, 2193, 2938, 2221, 3510, 3510, 2192, 3510, 3510, 3510, 3510, 2193, 2939, 2222, 2930, 2936, 2205, 3510, 2938, 3510, 3510, 684, 2940, 2223, 2931, 2937, 2206, 3510, 3510, 3510, 2941, 741, 2941, 2224, 2932, 2938, 2207, 3510, 3510, 3510, 3510, 741, 2942, 2225, 2933, 2939, 2208, 2928, 2941, 3510, 3510, 52, 2943, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 327, 2944, 3510, 58, 2945, 3510, 3510, 2924, 3510, 3510, 59, 2945, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2946, 2946, 1183, 749, 768, 532, 761, 2951, 2950, 2947, 398, 2947, 1184, 767, 784, 533, 762, 2949, 2948, 3510, 398, 2948, 1185, 3510, 3510, 534, 3510, 3510, 3510, 3510, 535, 2949, 1186, 766, 783, 1187, 3510, 2948, 3510, 3510, 261, 2950, 1188, 3510, 3510, 1189, 3510, 3510, 3510, 2948, 535, 2951, 1190, 765, 782, 1191, 3510, 2950, 3510, 2949, 261, 2952, 3510, 56, 58, 3510, 3510, 2943, 3510, 3510, 13, 2953, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 325, 63, 2954, 3510, 2956, 2955, 3510, 3510, 2953, 3510, 326, 327, 2955, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2924, 2925, 2956, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2943, 327, 2957, 3510, 57, 2958, 3510, 3510, 2955, 3510, 2944, 59, 2958, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2945, 2946, 2959, 3510, 1327, 1325, 3510, 3510, 3510, 3510, 2960, 161, 2960, 3510, 1314, 1312, 3510, 3510, 3510, 3510, 3510, 161, 2961, 3510, 1319, 1317, 3510, 322, 2960, 3510, 3510, 323, 2962, 2959, 1326, 1324, 3510, 3510, 3510, 3510, 2963, 161, 2963, 2960, 1313, 1311, 3510, 3510, 3510, 3510, 3510, 161, 2964, 2961, 1318, 1316, 3510, 543, 2963, 3510, 3510, 323, 2965, 2962, 2389, 2388, 2959, 3510, 3510, 3510, 2966, 161, 2966, 2963, 2381, 2380, 2960, 3510, 3510, 3510, 3510, 161, 2967, 2964, 2385, 2382, 2961, 542, 2966, 3510, 3510, 323, 2968, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2969, 2970, 2969, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2970, 2970, 638, 2971, 2973, 639, 2349, 3510, 3510, 2975, 27, 2971, 651, 2349, 2352, 640, 3510, 3510, 3510, 2972, 27, 2972, 656, 2341, 2344, 645, 3510, 3510, 3510, 3510, 27, 2973, 657, 2352, 2351, 646, 3510, 3510, 3510, 2974, 336, 2974, 660, 2344, 2343, 649, 3510, 3510, 3510, 3510, 336, 2975, 661, 2972, 2974, 650, 2341, 3510, 3510, 3510, 27, 2976, 3510, 265, 316, 3510, 3510, 2969, 3510, 3510, 266, 2977, 3510, 315, 2978, 3510, 3510, 2984, 3510, 2992, 317, 2978, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2979, 2980, 2979, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2980, 2980, 666, 2409, 2408, 667, 1802, 2981, 3510, 2983, 671, 2981, 2424, 2407, 2406, 2421, 3510, 3510, 3510, 2982, 262, 2982, 2425, 2401, 2400, 2422, 3510, 3510, 3510, 3510, 262, 2983, 2426, 2403, 2402, 2423, 1343, 2982, 3510, 3510, 671, 2984, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2985, 2986, 2985, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2986, 2986, 2429, 2987, 2989, 1356, 2368, 3510, 3510, 2991, 53, 2987, 2430, 2368, 2371, 1357, 3510, 3510, 3510, 2988, 53, 2988, 2431, 2360, 2363, 1362, 3510, 3510, 3510, 3510, 53, 2989, 2432, 2371, 2370, 1363, 3510, 3510, 3510, 2990, 685, 2990, 2433, 2363, 2362, 1366, 3510, 3510, 3510, 3510, 685, 2991, 2434, 2988, 2990, 1367, 2360, 3510, 3510, 3510, 53, 2992, 3510, 316, 2979, 3510, 3510, 2985, 3510, 3510, 317, 2993, 3510, 2968, 2984, 3510, 3510, 3510, 3510, 2994, 2970, 2994, 3510, 2969, 2985, 3510, 3510, 3510, 3510, 3510, 2970, 2995, 3510, 2976, 2992, 3510, 265, 2994, 3510, 3510, 266, 2996, 263, 2997, 2999, 3510, 3510, 3001, 3510, 3003, 266, 2997, 264, 3510, 3510, 3510, 3510, 3510, 3510, 2998, 266, 2998, 265, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 266, 2999, 315, 3510, 3510, 3510, 3510, 3510, 3510, 3000, 317, 3000, 316, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 317, 3001, 2968, 3510, 3510, 3510, 3510, 3510, 3510, 3002, 2970, 3002, 2969, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2970, 3003, 2976, 2998, 3000, 3510, 3510, 3002, 3510, 3510, 266, 3004, 2977, 2999, 3005, 3510, 3510, 3007, 3510, 3009, 317, 3005, 2978, 3510, 3510, 3510, 3510, 3510, 3510, 3006, 2980, 3006, 2979, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2980, 3007, 2984, 3510, 3510, 3510, 3510, 3510, 3510, 3008, 2986, 3008, 2985, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2986, 3009, 2992, 3000, 3006, 3510, 3510, 3008, 3510, 3510, 317, 3010, 2993, 3001, 3007, 3510, 3510, 3510, 3510, 3011, 2970, 3011, 2994, 3002, 3008, 3510, 3510, 3510, 3510, 3510, 2970, 3012, 2995, 3003, 3009, 3510, 2998, 3011, 3510, 3510, 266, 3013, 2996, 3014, 3016, 263, 3510, 3018, 3510, 3020, 266, 3014, 2997, 3510, 3510, 264, 3510, 3510, 3510, 3015, 266, 3015, 2998, 3510, 3510, 265, 3510, 3510, 3510, 3510, 266, 3016, 2999, 3510, 3510, 315, 3510, 3510, 3510, 3017, 317, 3017, 3000, 3510, 3510, 316, 3510, 3510, 3510, 3510, 317, 3018, 3001, 3510, 3510, 2968, 3510, 3510, 3510, 3019, 2970, 3019, 3002, 3510, 3510, 2969, 3510, 3510, 3510, 3510, 2970, 3020, 3003, 3015, 3017, 2976, 3510, 3019, 3510, 3510, 266, 3021, 3004, 3016, 3022, 2977, 3510, 3024, 3510, 3026, 317, 3022, 3005, 3510, 3510, 2978, 3510, 3510, 3510, 3023, 2980, 3023, 3006, 3510, 3510, 2979, 3510, 3510, 3510, 3510, 2980, 3024, 3007, 3510, 3510, 2984, 3510, 3510, 3510, 3025, 2986, 3025, 3008, 3510, 3510, 2985, 3510, 3510, 3510, 3510, 2986, 3026, 3009, 3017, 3023, 2992, 3510, 3025, 3510, 3510, 317, 3027, 3010, 3018, 3024, 2993, 3510, 3510, 3510, 3028, 2970, 3028, 3011, 3019, 3025, 2994, 3510, 3510, 3510, 3510, 2970, 3029, 3012, 3020, 3026, 2995, 3015, 3028, 3510, 3510, 266, 3030, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 258, 147, 3031, 3510, 493, 497, 3510, 3510, 3030, 3510, 259, 260, 3032, 613, 151, 287, 3510, 3510, 3510, 3510, 3510, 41, 3033, 611, 286, 292, 3510, 3510, 3510, 3510, 253, 155, 3034, 612, 285, 286, 3510, 3510, 3510, 3510, 3032, 41, 3035, 1076, 3040, 3037, 1508, 3036, 3510, 3510, 3510, 251, 3036, 1077, 3510, 3510, 1078, 3510, 3510, 3510, 3510, 251, 3037, 1079, 3039, 3038, 1509, 3510, 3510, 3510, 3510, 1080, 3038, 1095, 3510, 3510, 1510, 3510, 3510, 3510, 3510, 1096, 3039, 1972, 3510, 3510, 1511, 3510, 3510, 3510, 3510, 1080, 3040, 1973, 3036, 3039, 1512, 3510, 3510, 3510, 3510, 251, 3041, 1974, 3510, 3510, 1513, 3510, 3510, 3510, 3036, 251, 3042, 1975, 3044, 3043, 1514, 3510, 3510, 3510, 3037, 1080, 3043, 1976, 3510, 3510, 1515, 3510, 3510, 3510, 3038, 1096, 3044, 1977, 3510, 3510, 1516, 3510, 3510, 3510, 3039, 1080, 3045, 1978, 3041, 3044, 1517, 3510, 3510, 3510, 3040, 251, 3046, 627, 2180, 2186, 3510, 3510, 249, 3510, 3510, 628, 3047, 2473, 3510, 3510, 3510, 3510, 3510, 3510, 249, 250, 3048, 2474, 2179, 2185, 3510, 3510, 3047, 3510, 3046, 628, 3049, 944, 3051, 3050, 240, 3510, 3510, 3510, 3510, 241, 3050, 945, 3510, 3510, 955, 3510, 3510, 3510, 3510, 946, 3051, 956, 3510, 3510, 957, 3510, 3510, 3510, 3510, 241, 3052, 958, 236, 3051, 959, 3510, 3510, 3510, 3510, 225, 3053, 960, 3510, 3510, 961, 3510, 3510, 3510, 236, 225, 3054, 962, 3056, 3055, 967, 3510, 3510, 3510, 3049, 241, 3055, 963, 3510, 3510, 964, 3510, 3510, 3510, 3050, 946, 3056, 965, 3510, 3510, 966, 3510, 3510, 3510, 3051, 241, 3057, 968, 3053, 3056, 969, 3510, 3510, 3510, 3052, 225, 3058, 549, 2288, 2294, 3510, 3510, 223, 3510, 3510, 550, 3059, 2567, 3510, 3510, 3510, 3510, 3510, 3510, 223, 224, 3060, 2568, 2287, 2293, 3510, 3510, 3059, 3510, 3058, 550, 3061, 3510, 524, 523, 3510, 3510, 3510, 3510, 3062, 160, 3062, 3510, 518, 517, 3510, 3510, 3510, 3510, 3510, 160, 3063, 3510, 520, 519, 3510, 218, 3062, 3510, 3510, 60, 3064, 3061, 2786, 2785, 3510, 3510, 3510, 3510, 3065, 160, 3065, 3062, 2780, 2779, 3510, 3510, 3510, 3510, 3510, 160, 3066, 3063, 2782, 2781, 3510, 243, 3065, 3510, 3510, 60, 3067, 2788, 382, 391, 216, 3510, 3068, 3510, 3070, 60, 3068, 2786, 3510, 3510, 524, 3510, 3510, 3510, 3069, 160, 3069, 2780, 3510, 3510, 518, 3510, 3510, 3510, 3510, 160, 3070, 2782, 372, 378, 520, 3510, 3069, 3510, 3510, 60, 3071, 2787, 391, 389, 525, 3510, 3072, 3510, 3074, 221, 3072, 2785, 3510, 3510, 523, 3510, 3510, 3510, 3073, 349, 3073, 2779, 3510, 3510, 517, 3510, 3510, 3510, 3510, 349, 3074, 2781, 378, 377, 519, 3510, 3073, 3510, 3510, 221, 3075, 3064, 3068, 3072, 3061, 3510, 3510, 3510, 3076, 160, 3076, 3065, 3069, 3073, 3062, 3510, 3510, 3510, 3510, 160, 3077, 3066, 3070, 3074, 3063, 372, 3076, 3510, 3510, 60, 3078, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3079, 3080, 3079, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3080, 3080, 560, 3081, 3083, 561, 2908, 3510, 3510, 3085, 26, 3081, 569, 2908, 2910, 562, 3510, 3510, 3510, 3082, 26, 3082, 574, 2909, 2911, 563, 3510, 3510, 3510, 3510, 26, 3083, 575, 2910, 2916, 564, 3510, 3510, 3510, 3084, 335, 3084, 578, 2911, 2917, 567, 3510, 3510, 3510, 3510, 335, 3085, 579, 3082, 3084, 568, 2909, 3510, 3510, 3510, 26, 3086, 3510, 164, 212, 3510, 3510, 3079, 3510, 3510, 165, 3087, 3510, 211, 746, 3510, 3510, 3088, 3510, 3096, 213, 3088, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3089, 3090, 3089, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3090, 3090, 2529, 3091, 3093, 876, 2927, 3510, 3510, 3095, 52, 3091, 2530, 2927, 2929, 877, 3510, 3510, 3510, 3092, 52, 3092, 2531, 2928, 2930, 878, 3510, 3510, 3510, 3510, 52, 3093, 2532, 2929, 2935, 879, 3510, 3510, 3510, 3094, 684, 3094, 2533, 2930, 2936, 880, 3510, 3510, 3510, 3510, 684, 3095, 2534, 3092, 3094, 881, 2928, 3510, 3510, 3510, 52, 3096, 3510, 212, 747, 3510, 3510, 3089, 3510, 3510, 213, 3097, 3510, 3078, 3088, 3510, 3510, 3510, 3510, 3098, 3080, 3098, 3510, 3079, 3089, 3510, 3510, 3510, 3510, 3510, 3080, 3099, 3510, 3086, 3096, 3510, 164, 3098, 3510, 3510, 165, 3100, 162, 797, 799, 3510, 3510, 3101, 3510, 3103, 165, 3101, 3078, 3510, 3510, 3510, 3510, 3510, 3510, 3102, 3080, 3102, 3079, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3080, 3103, 3086, 798, 800, 3510, 3510, 3102, 3510, 3510, 165, 3104, 3087, 799, 803, 3510, 3510, 3105, 3510, 3107, 213, 3105, 3088, 3510, 3510, 3510, 3510, 3510, 3510, 3106, 3090, 3106, 3089, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3090, 3107, 3096, 800, 804, 3510, 3510, 3106, 3510, 3510, 213, 3108, 3097, 3101, 3105, 3510, 3510, 3510, 3510, 3109, 3080, 3109, 3098, 3102, 3106, 3510, 3510, 3510, 3510, 3510, 3080, 3110, 3099, 3103, 3107, 3510, 798, 3109, 3510, 3510, 165, 3111, 3100, 3112, 3114, 162, 3510, 3116, 3510, 3118, 165, 3112, 797, 3510, 3510, 163, 3510, 3510, 3510, 3113, 165, 3113, 798, 3510, 3510, 164, 3510, 3510, 3510, 3510, 165, 3114, 799, 3510, 3510, 211, 3510, 3510, 3510, 3115, 213, 3115, 800, 3510, 3510, 212, 3510, 3510, 3510, 3510, 213, 3116, 3101, 3510, 3510, 3078, 3510, 3510, 3510, 3117, 3080, 3117, 3102, 3510, 3510, 3079, 3510, 3510, 3510, 3510, 3080, 3118, 3103, 3113, 3115, 3086, 3510, 3117, 3510, 3510, 165, 3119, 3104, 3114, 3120, 3087, 3510, 3122, 3510, 3124, 213, 3120, 803, 3510, 3510, 746, 3510, 3510, 3510, 3121, 748, 3121, 804, 3510, 3510, 747, 3510, 3510, 3510, 3510, 748, 3122, 3105, 3510, 3510, 3088, 3510, 3510, 3510, 3123, 3090, 3123, 3106, 3510, 3510, 3089, 3510, 3510, 3510, 3510, 3090, 3124, 3107, 3115, 3121, 3096, 3510, 3123, 3510, 3510, 213, 3125, 3108, 3116, 3122, 3097, 3510, 3510, 3510, 3126, 3080, 3126, 3109, 3117, 3123, 3098, 3510, 3510, 3510, 3510, 3080, 3127, 3110, 3118, 3124, 3099, 3113, 3126, 3510, 3510, 165, 3128, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 157, 136, 3129, 3510, 341, 346, 3510, 3510, 3128, 3510, 158, 159, 3130, 253, 302, 308, 154, 3510, 3510, 3510, 3510, 155, 3131, 3032, 150, 302, 613, 3510, 3510, 3510, 3510, 41, 3132, 3033, 301, 307, 611, 3510, 3510, 3510, 3130, 155, 3133, 3034, 300, 301, 612, 3510, 3510, 3510, 3131, 41, 3134, 536, 3139, 3136, 1338, 3135, 3510, 3510, 3510, 148, 3135, 537, 3510, 3510, 538, 3510, 3510, 3510, 3510, 148, 3136, 539, 3138, 3137, 1339, 3510, 3510, 3510, 3510, 540, 3137, 2573, 3510, 3510, 1340, 3510, 3510, 3510, 3510, 1341, 3138, 2574, 3510, 3510, 1812, 3510, 3510, 3510, 3510, 540, 3139, 2575, 3135, 3138, 1813, 3510, 3510, 3510, 3510, 148, 3140, 2576, 3510, 3510, 1814, 3510, 3510, 3510, 3135, 148, 3141, 2577, 3143, 3142, 1815, 3510, 3510, 3510, 3136, 540, 3142, 2578, 3510, 3510, 1816, 3510, 3510, 3510, 3137, 1341, 3143, 2579, 3510, 3510, 1817, 3510, 3510, 3510, 3138, 540, 3144, 2580, 3140, 3143, 1818, 3510, 3510, 3510, 3139, 148, 3145, 259, 2678, 2682, 3510, 3510, 146, 3510, 3510, 260, 3146, 3030, 3510, 3510, 3510, 3510, 3510, 3510, 146, 147, 3147, 3031, 2677, 2681, 3510, 3510, 3146, 3510, 3145, 260, 3148, 227, 198, 204, 142, 3510, 3510, 3510, 3510, 133, 3149, 228, 139, 198, 229, 3510, 3510, 3510, 3510, 14, 3150, 230, 197, 203, 231, 3510, 3510, 3510, 3148, 133, 3151, 232, 196, 197, 233, 3510, 3510, 3510, 3149, 14, 3152, 366, 3157, 3154, 1299, 3153, 3510, 3510, 3510, 137, 3153, 367, 3510, 3510, 368, 3510, 3510, 3510, 3510, 137, 3154, 369, 3156, 3155, 1300, 3510, 3510, 3510, 3510, 370, 3155, 396, 3510, 3510, 1301, 3510, 3510, 3510, 3510, 397, 3156, 2771, 3510, 3510, 1302, 3510, 3510, 3510, 3510, 370, 3157, 2772, 3153, 3156, 1303, 3510, 3510, 3510, 3510, 137, 3158, 2773, 3510, 3510, 1304, 3510, 3510, 3510, 3153, 137, 3159, 2774, 3161, 3160, 1305, 3510, 3510, 3510, 3154, 370, 3160, 2775, 3510, 3510, 1306, 3510, 3510, 3510, 3155, 397, 3161, 2776, 3510, 3510, 1307, 3510, 3510, 3510, 3156, 370, 3162, 2777, 3158, 3161, 1308, 3510, 3510, 3510, 3157, 137, 3163, 158, 453, 466, 3510, 3510, 135, 3510, 3510, 159, 3164, 3128, 3510, 3510, 3510, 3510, 3510, 3510, 135, 136, 3165, 3129, 452, 465, 3510, 3510, 3164, 3510, 3163, 159, 3166, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 126, 95, 3167, 3510, 171, 175, 3510, 3510, 3166, 3510, 127, 20, 3168, 820, 2594, 2600, 834, 2589, 3170, 3169, 3510, 124, 3169, 821, 3510, 3510, 822, 3510, 3510, 3510, 3510, 727, 3170, 823, 2593, 2599, 827, 3510, 3169, 3510, 3510, 329, 3171, 835, 3510, 3510, 836, 3510, 3510, 3510, 3169, 727, 3172, 837, 2592, 2598, 841, 3510, 3171, 3510, 3170, 329, 3173, 592, 3182, 3179, 1101, 3178, 3175, 3174, 3510, 123, 3174, 593, 3510, 3510, 1102, 3510, 3510, 3510, 3510, 594, 3175, 2510, 3177, 3176, 1103, 3510, 3174, 3510, 3510, 1104, 3176, 2511, 3510, 3510, 1122, 3510, 3510, 3510, 3510, 1123, 3177, 2512, 3510, 3510, 1173, 3510, 3510, 3510, 3510, 1104, 3178, 2513, 3510, 3510, 1174, 3510, 3510, 3510, 3510, 123, 3179, 2514, 3181, 3180, 1175, 3510, 3176, 3510, 3510, 1176, 3180, 2515, 3510, 3510, 1940, 3510, 3510, 3510, 3510, 1941, 3181, 2516, 3510, 3510, 1961, 3510, 3510, 3510, 3510, 1176, 3182, 2517, 3178, 3181, 1962, 3510, 3177, 3510, 3510, 123, 3183, 2518, 3510, 3510, 1963, 3510, 3510, 3510, 3174, 594, 3184, 2519, 3186, 3185, 1964, 3510, 3183, 3510, 3175, 1104, 3185, 2520, 3510, 3510, 1965, 3510, 3510, 3510, 3176, 1123, 3186, 2521, 3510, 3510, 1966, 3510, 3510, 3510, 3177, 1104, 3187, 2522, 3510, 3510, 1967, 3510, 3510, 3510, 3178, 123, 3188, 2523, 3190, 3189, 1968, 3510, 3185, 3510, 3179, 1176, 3189, 2524, 3510, 3510, 1969, 3510, 3510, 3510, 3180, 1941, 3190, 2525, 3510, 3510, 1970, 3510, 3510, 3510, 3181, 1176, 3191, 2526, 3187, 3190, 1971, 3510, 3186, 3510, 3182, 123, 3192, 701, 2690, 2696, 121, 3510, 3510, 3510, 3510, 122, 3193, 704, 117, 2690, 705, 3510, 3510, 3510, 3510, 39, 3194, 707, 2689, 2695, 415, 3510, 3510, 3510, 3192, 122, 3195, 710, 2688, 2689, 711, 3510, 3510, 3510, 3193, 39, 3196, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 100, 3197, 3510, 98, 3196, 3510, 3510, 3510, 3510, 3510, 4, 3198, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 98, 4, 3199, 3510, 3201, 3200, 3510, 3510, 3510, 3510, 113, 100, 3200, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 114, 115, 3201, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3196, 100, 3202, 3510, 3198, 3201, 3510, 3510, 3510, 3510, 3197, 4, 3203, 423, 289, 294, 3510, 3510, 110, 3510, 3510, 21, 3204, 424, 3510, 3510, 3510, 3510, 3510, 3510, 110, 111, 3205, 425, 288, 293, 3510, 3510, 3204, 3510, 3203, 21, 3206, 1002, 3215, 3212, 1289, 3211, 3208, 3207, 3510, 108, 3207, 1003, 3510, 3510, 1015, 3510, 3510, 3510, 3510, 1004, 3208, 1016, 3210, 3209, 1290, 3510, 3207, 3510, 3510, 1017, 3209, 1038, 3510, 3510, 1291, 3510, 3510, 3510, 3510, 1039, 3210, 2058, 3510, 3510, 1292, 3510, 3510, 3510, 3510, 1017, 3211, 2059, 3510, 3510, 1293, 3510, 3510, 3510, 3510, 108, 3212, 2060, 3214, 3213, 1294, 3510, 3209, 3510, 3510, 1295, 3213, 2061, 3510, 3510, 1333, 3510, 3510, 3510, 3510, 1334, 3214, 2062, 3510, 3510, 1830, 3510, 3510, 3510, 3510, 1295, 3215, 2063, 3211, 3214, 1831, 3510, 3210, 3510, 3510, 108, 3216, 2064, 3510, 3510, 1832, 3510, 3510, 3510, 3207, 1004, 3217, 2065, 3219, 3218, 1833, 3510, 3216, 3510, 3208, 1017, 3218, 2066, 3510, 3510, 1834, 3510, 3510, 3510, 3209, 1039, 3219, 2067, 3510, 3510, 1835, 3510, 3510, 3510, 3210, 1017, 3220, 2068, 3510, 3510, 1836, 3510, 3510, 3510, 3211, 108, 3221, 2069, 3223, 3222, 1837, 3510, 3218, 3510, 3212, 1295, 3222, 2070, 3510, 3510, 1838, 3510, 3510, 3510, 3213, 1334, 3223, 2071, 3510, 3510, 1839, 3510, 3510, 3510, 3214, 1295, 3224, 2072, 3220, 3223, 1840, 3510, 3219, 3510, 3215, 108, 3225, 248, 2328, 2334, 625, 2323, 3227, 3226, 3510, 107, 3226, 249, 3510, 3510, 626, 3510, 3510, 3510, 3510, 250, 3227, 3046, 2327, 2333, 627, 3510, 3226, 3510, 3510, 628, 3228, 3047, 3510, 3510, 2473, 3510, 3510, 3510, 3226, 250, 3229, 3048, 2326, 2332, 2474, 3510, 3228, 3510, 3227, 628, 3230, 89, 457, 470, 104, 3510, 3510, 3510, 3510, 90, 3231, 3232, 102, 457, 411, 3510, 3510, 3510, 3510, 12, 3232, 411, 87, 451, 3510, 3510, 3510, 3510, 3510, 12, 3233, 3234, 456, 469, 409, 3510, 3510, 3510, 3230, 90, 3234, 409, 450, 463, 3510, 3510, 3510, 3510, 89, 90, 3235, 3236, 455, 456, 410, 3510, 3510, 3510, 3231, 12, 3236, 410, 449, 450, 3510, 3510, 3510, 3510, 3232, 12, 3237, 114, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 115, 3238, 3196, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 100, 3239, 3197, 97, 3238, 3510, 3510, 3510, 3510, 3510, 4, 3240, 3198, 3510, 3510, 3510, 3510, 3510, 3510, 97, 4, 3241, 3199, 3243, 3242, 3510, 3510, 3510, 3510, 99, 100, 3242, 3200, 3510, 3510, 3510, 3510, 3510, 3510, 3237, 115, 3243, 3201, 3510, 3510, 3510, 3510, 3510, 3510, 3238, 100, 3244, 3202, 3240, 3243, 3510, 3510, 3510, 3510, 3239, 4, 3245, 127, 184, 190, 3510, 3510, 94, 3510, 3510, 20, 3246, 3166, 3510, 3510, 3510, 3510, 3510, 3510, 94, 95, 3247, 3167, 183, 189, 3510, 3510, 3246, 3510, 3245, 20, 3248, 693, 2802, 2808, 1178, 2797, 3250, 3249, 3510, 92, 3249, 694, 3510, 3510, 728, 3510, 3510, 3510, 3510, 695, 3250, 729, 2801, 2807, 1179, 3510, 3249, 3510, 3510, 328, 3251, 2232, 3510, 3510, 1193, 3510, 3510, 3510, 3249, 695, 3252, 2233, 2800, 2806, 1194, 3510, 3251, 3510, 3250, 328, 3253, 222, 2306, 2312, 547, 2301, 3255, 3254, 3510, 91, 3254, 223, 3510, 3510, 548, 3510, 3510, 3510, 3510, 224, 3255, 3058, 2305, 2311, 549, 3510, 3254, 3510, 3510, 550, 3256, 3059, 3510, 3510, 2567, 3510, 3510, 3510, 3254, 224, 3257, 3060, 2304, 2310, 2568, 3510, 3256, 3510, 3255, 550, 3258, 697, 3260, 3259, 84, 3510, 3510, 3510, 3510, 85, 3259, 698, 3510, 3510, 712, 3510, 3510, 3510, 3510, 699, 3260, 713, 3510, 3510, 714, 3510, 3510, 3510, 3510, 85, 3261, 715, 80, 3260, 716, 3510, 3510, 3510, 3510, 64, 3262, 717, 3510, 3510, 718, 3510, 3510, 3510, 80, 64, 3263, 719, 3265, 3264, 724, 3510, 3510, 3510, 3258, 85, 3264, 720, 3510, 3510, 721, 3510, 3510, 3510, 3259, 699, 3265, 722, 3510, 3510, 723, 3510, 3510, 3510, 3260, 85, 3266, 725, 3262, 3265, 726, 3510, 3510, 3510, 3261, 64, 3267, 326, 3269, 3268, 3510, 3510, 62, 3510, 3510, 327, 3268, 2924, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2925, 3269, 2943, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 327, 3270, 56, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 13, 3271, 2944, 3272, 3273, 3510, 3510, 3268, 3510, 3510, 59, 3272, 58, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 59, 3273, 2945, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 2946, 3274, 2952, 3270, 3272, 3510, 3510, 3269, 3510, 3510, 13, 3275, 2953, 3510, 3510, 3510, 3510, 3510, 3510, 62, 63, 3276, 2954, 3278, 3277, 3510, 3510, 3275, 3510, 3267, 327, 3277, 2955, 3510, 3510, 3510, 3510, 3510, 3510, 3268, 2925, 3278, 2956, 3510, 3510, 3510, 3510, 3510, 3510, 3269, 327, 3279, 55, 3510, 3510, 3510, 3510, 3510, 3510, 3270, 13, 3280, 2957, 3281, 3282, 3510, 3510, 3277, 3510, 3271, 59, 3281, 57, 3510, 3510, 3510, 3510, 3510, 3510, 3272, 59, 3282, 2958, 3510, 3510, 3510, 3510, 3510, 3510, 3273, 2946, 3283, 54, 3279, 3281, 3510, 3510, 3278, 3510, 3274, 13, 3284, 363, 3070, 3074, 514, 372, 3286, 3285, 3510, 60, 3285, 364, 3510, 3510, 515, 3510, 3510, 3510, 3510, 365, 3286, 2778, 3069, 3073, 516, 3510, 3285, 3510, 3510, 160, 3287, 2783, 3510, 3510, 521, 3510, 3510, 3510, 3285, 365, 3288, 2784, 3068, 3072, 522, 3510, 3287, 3510, 3286, 160, 3289, 3510, 2956, 2955, 3510, 3510, 3510, 3510, 3290, 327, 3290, 3510, 2943, 2924, 3510, 3510, 3510, 3510, 3510, 327, 3291, 3510, 2952, 2944, 3510, 56, 3290, 3510, 3510, 13, 3292, 3289, 3278, 3277, 3510, 3510, 3510, 3510, 3293, 327, 3293, 3290, 3269, 3268, 3510, 3510, 3510, 3510, 3510, 327, 3294, 3291, 3274, 3271, 3510, 3270, 3293, 3510, 3510, 13, 3295, 3283, 3296, 3298, 54, 3510, 3300, 3510, 3302, 13, 3296, 3279, 3510, 3510, 55, 3510, 3510, 3510, 3297, 13, 3297, 3270, 3510, 3510, 56, 3510, 3510, 3510, 3510, 13, 3298, 3281, 3510, 3510, 57, 3510, 3510, 3510, 3299, 59, 3299, 3272, 3510, 3510, 58, 3510, 3510, 3510, 3510, 59, 3300, 3278, 3510, 3510, 2956, 3510, 3510, 3510, 3301, 327, 3301, 3269, 3510, 3510, 2943, 3510, 3510, 3510, 3510, 327, 3302, 3274, 3297, 3299, 2952, 3510, 3301, 3510, 3510, 13, 3303, 3280, 3298, 3304, 2957, 3510, 3306, 3510, 3308, 59, 3304, 3282, 3510, 3510, 2958, 3510, 3510, 3510, 3305, 2946, 3305, 3273, 3510, 3510, 2945, 3510, 3510, 3510, 3510, 2946, 3306, 3277, 3510, 3510, 2955, 3510, 3510, 3510, 3307, 2925, 3307, 3268, 3510, 3510, 2924, 3510, 3510, 3510, 3510, 2925, 3308, 3271, 3299, 3305, 2944, 3510, 3307, 3510, 3510, 59, 3309, 3292, 3300, 3306, 3289, 3510, 3510, 3510, 3310, 327, 3310, 3293, 3301, 3307, 3290, 3510, 3510, 3510, 3510, 327, 3311, 3294, 3302, 3308, 3291, 3297, 3310, 3510, 3510, 13, 3312, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3313, 3314, 3313, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3314, 3314, 741, 3315, 3317, 742, 3112, 3510, 3510, 3319, 165, 3315, 796, 3112, 3114, 743, 3510, 3510, 3510, 3316, 165, 3316, 801, 3113, 3115, 744, 3510, 3510, 3510, 3510, 165, 3317, 802, 3114, 3120, 745, 3510, 3510, 3510, 3318, 213, 3318, 805, 3115, 3121, 794, 3510, 3510, 3510, 3510, 213, 3319, 806, 3316, 3318, 795, 3113, 3510, 3510, 3510, 165, 3320, 3510, 50, 682, 3510, 3510, 3313, 3510, 3510, 51, 3321, 3510, 681, 2318, 3510, 3510, 3322, 3510, 3330, 683, 3322, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3323, 3324, 3323, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3324, 3324, 2193, 3325, 3327, 1043, 2846, 3510, 3510, 3329, 354, 3325, 2194, 2846, 2848, 1044, 3510, 3510, 3510, 3326, 354, 3326, 2199, 2847, 2849, 2014, 3510, 3510, 3510, 3510, 354, 3327, 2200, 2848, 2854, 2015, 3510, 3510, 3510, 3328, 1047, 3328, 2203, 2849, 2855, 2042, 3510, 3510, 3510, 3510, 1047, 3329, 2204, 3326, 3328, 2043, 2847, 3510, 3510, 3510, 354, 3330, 3510, 682, 2319, 3510, 3510, 3323, 3510, 3510, 683, 3331, 3510, 3312, 3322, 3510, 3510, 3510, 3510, 3332, 3314, 3332, 3510, 3313, 3323, 3510, 3510, 3510, 3510, 3510, 3314, 3333, 3510, 3320, 3330, 3510, 50, 3332, 3510, 3510, 51, 3334, 48, 2882, 2884, 3510, 3510, 3335, 3510, 3337, 51, 3335, 3312, 3510, 3510, 3510, 3510, 3510, 3510, 3336, 3314, 3336, 3313, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3314, 3337, 3320, 2883, 2885, 3510, 3510, 3336, 3510, 3510, 51, 3338, 3321, 2884, 2888, 3510, 3510, 3339, 3510, 3341, 683, 3339, 3322, 3510, 3510, 3510, 3510, 3510, 3510, 3340, 3324, 3340, 3323, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3324, 3341, 3330, 2885, 2889, 3510, 3510, 3340, 3510, 3510, 683, 3342, 3331, 3335, 3339, 3510, 3510, 3510, 3510, 3343, 3314, 3343, 3332, 3336, 3340, 3510, 3510, 3510, 3510, 3510, 3314, 3344, 3333, 3337, 3341, 3510, 2883, 3343, 3510, 3510, 51, 3345, 3334, 3346, 3348, 48, 3510, 3350, 3510, 3352, 51, 3346, 2882, 3510, 3510, 49, 3510, 3510, 3510, 3347, 51, 3347, 2883, 3510, 3510, 50, 3510, 3510, 3510, 3510, 51, 3348, 2884, 3510, 3510, 681, 3510, 3510, 3510, 3349, 683, 3349, 2885, 3510, 3510, 682, 3510, 3510, 3510, 3510, 683, 3350, 3335, 3510, 3510, 3312, 3510, 3510, 3510, 3351, 3314, 3351, 3336, 3510, 3510, 3313, 3510, 3510, 3510, 3510, 3314, 3352, 3337, 3347, 3349, 3320, 3510, 3351, 3510, 3510, 51, 3353, 3338, 3348, 3354, 3321, 3510, 3356, 3510, 3358, 683, 3354, 2888, 3510, 3510, 2318, 3510, 3510, 3510, 3355, 2320, 3355, 2889, 3510, 3510, 2319, 3510, 3510, 3510, 3510, 2320, 3356, 3339, 3510, 3510, 3322, 3510, 3510, 3510, 3357, 3324, 3357, 3340, 3510, 3510, 3323, 3510, 3510, 3510, 3510, 3324, 3358, 3341, 3349, 3355, 3330, 3510, 3357, 3510, 3510, 683, 3359, 3342, 3350, 3356, 3331, 3510, 3510, 3510, 3360, 3314, 3360, 3343, 3351, 3357, 3332, 3510, 3510, 3510, 3510, 3314, 3361, 3344, 3352, 3358, 3333, 3347, 3360, 3510, 3510, 51, 3362, 3510, 31, 37, 3510, 3510, 44, 3510, 3510, 11, 3363, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 17, 3, 3364, 3510, 32, 3365, 3510, 3510, 3363, 3510, 43, 19, 3365, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 44, 45, 3366, 109, 305, 311, 421, 150, 3368, 3367, 3510, 41, 3367, 110, 3510, 3510, 422, 3510, 3510, 3510, 3510, 111, 3368, 3203, 304, 310, 423, 3510, 3367, 3510, 3510, 21, 3369, 3204, 3510, 3510, 424, 3510, 3510, 3510, 3367, 111, 3370, 3205, 303, 309, 425, 3510, 3369, 3510, 3368, 21, 3371, 399, 3380, 3377, 672, 3376, 3373, 3372, 3510, 40, 3372, 400, 3510, 3510, 673, 3510, 3510, 3510, 3510, 401, 3373, 2749, 3375, 3374, 674, 3510, 3372, 3510, 3510, 675, 3374, 2750, 3510, 3510, 2354, 3510, 3510, 3510, 3510, 2355, 3375, 2751, 3510, 3510, 2373, 3510, 3510, 3510, 3510, 675, 3376, 2752, 3510, 3510, 2374, 3510, 3510, 3510, 3510, 40, 3377, 2753, 3379, 3378, 2375, 3510, 3374, 3510, 3510, 2376, 3378, 2754, 3510, 3510, 2395, 3510, 3510, 3510, 3510, 2396, 3379, 2755, 3510, 3510, 2410, 3510, 3510, 3510, 3510, 2376, 3380, 2756, 3376, 3379, 2411, 3510, 3375, 3510, 3510, 40, 3381, 2757, 3510, 3510, 2412, 3510, 3510, 3510, 3372, 401, 3382, 2758, 3384, 3383, 2413, 3510, 3381, 3510, 3373, 675, 3383, 2759, 3510, 3510, 2414, 3510, 3510, 3510, 3374, 2355, 3384, 2760, 3510, 3510, 2415, 3510, 3510, 3510, 3375, 675, 3385, 2761, 3510, 3510, 2416, 3510, 3510, 3510, 3376, 40, 3386, 2762, 3388, 3387, 2417, 3510, 3383, 3510, 3377, 2376, 3387, 2763, 3510, 3510, 2418, 3510, 3510, 3510, 3378, 2396, 3388, 2764, 3510, 3510, 2419, 3510, 3510, 3510, 3379, 2376, 3389, 2765, 3385, 3388, 2420, 3510, 3384, 3510, 3380, 40, 3390, 145, 2693, 2699, 257, 117, 3392, 3391, 3510, 39, 3391, 146, 3510, 3510, 258, 3510, 3510, 3510, 3510, 147, 3392, 3145, 2692, 2698, 259, 3510, 3391, 3510, 3510, 260, 3393, 3146, 3510, 3510, 3030, 3510, 3510, 3510, 3391, 147, 3394, 3147, 2691, 2697, 3031, 3510, 3393, 3510, 3392, 260, 3395, 3510, 32, 3365, 3510, 3510, 3510, 3510, 3396, 19, 3396, 3510, 33, 44, 3510, 3510, 3510, 3510, 3510, 19, 3397, 3510, 34, 3362, 3510, 8, 3396, 3510, 3510, 0, 3398, 28, 71, 74, 3510, 3510, 3399, 3510, 3401, 0, 3399, 32, 3510, 3510, 3510, 3510, 3510, 3510, 3400, 19, 3400, 33, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 19, 3401, 34, 7, 68, 3510, 3510, 3400, 3510, 3510, 0, 3402, 35, 74, 73, 3510, 3510, 3403, 3510, 3405, 11, 3403, 3365, 3510, 3510, 3510, 3510, 3510, 3510, 3404, 45, 3404, 44, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 45, 3405, 3362, 68, 67, 3510, 3510, 3404, 3510, 3510, 11, 3406, 3395, 3399, 3403, 3510, 3510, 3510, 3510, 3407, 19, 3407, 3396, 3400, 3404, 3510, 3510, 3510, 3510, 3510, 19, 3408, 3397, 3401, 3405, 3510, 7, 3407, 3510, 3510, 0, 3409, 3398, 3410, 3411, 28, 3510, 3413, 3510, 3415, 0, 3410, 71, 3510, 3510, 29, 3510, 3510, 3510, 6, 0, 3411, 74, 3510, 3510, 30, 3510, 3510, 3510, 3412, 11, 3412, 68, 3510, 3510, 31, 3510, 3510, 3510, 3510, 11, 3413, 3399, 3510, 3510, 32, 3510, 3510, 3510, 3414, 19, 3414, 3400, 3510, 3510, 33, 3510, 3510, 3510, 3510, 19, 3415, 3401, 6, 3412, 34, 3510, 3414, 3510, 3510, 0, 3416, 3402, 3411, 3417, 35, 3510, 3419, 3510, 3421, 11, 3417, 73, 3510, 3510, 36, 3510, 3510, 3510, 3418, 38, 3418, 67, 3510, 3510, 37, 3510, 3510, 3510, 3510, 38, 3419, 3403, 3510, 3510, 3365, 3510, 3510, 3510, 3420, 45, 3420, 3404, 3510, 3510, 44, 3510, 3510, 3510, 3510, 45, 3421, 3405, 3412, 3418, 3362, 3510, 3420, 3510, 3510, 11, 3422, 3406, 3413, 3419, 3395, 3510, 3510, 3510, 3423, 19, 3423, 3407, 3414, 3420, 3396, 3510, 3510, 3510, 3510, 19, 3424, 3408, 3415, 3421, 3397, 6, 3423, 3510, 3510, 0, 3425, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3426, 3427, 3426, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3427, 3427, 2864, 3428, 3434, 442, 3429, 3510, 3510, 3438, 25, 3428, 2865, 3429, 3431, 443, 3510, 3510, 3510, 3433, 25, 3429, 2866, 3510, 3510, 23, 3510, 3510, 3510, 3430, 25, 3430, 2867, 3510, 3510, 24, 3510, 3510, 3510, 3510, 25, 3431, 2868, 3510, 3510, 444, 3510, 3510, 3510, 3432, 446, 3432, 2869, 3510, 3510, 445, 3510, 3510, 3510, 3510, 446, 3433, 2870, 3430, 3432, 483, 3510, 3510, 3510, 3510, 25, 3434, 2871, 3431, 3435, 484, 3510, 3510, 3510, 3437, 446, 3435, 2872, 3510, 3510, 485, 3510, 3510, 3510, 3436, 487, 3436, 2873, 3510, 3510, 486, 3510, 3510, 3510, 3510, 487, 3437, 2874, 3432, 3436, 2703, 3510, 3510, 3510, 3510, 446, 3438, 2875, 3433, 3437, 2704, 3430, 3510, 3510, 3510, 25, 3439, 3510, 24, 445, 3510, 3510, 3426, 3510, 3510, 25, 3440, 3510, 444, 485, 3510, 3510, 3441, 3510, 3449, 446, 3441, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3442, 3443, 3442, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3443, 3443, 2880, 3444, 3446, 679, 3346, 3510, 3510, 3448, 51, 3444, 2881, 3346, 3348, 680, 3510, 3510, 3510, 3445, 51, 3445, 2886, 3347, 3349, 2316, 3510, 3510, 3510, 3510, 51, 3446, 2887, 3348, 3354, 2317, 3510, 3510, 3510, 3447, 683, 3447, 2890, 3349, 3355, 2338, 3510, 3510, 3510, 3510, 683, 3448, 2891, 3445, 3447, 2339, 3347, 3510, 3510, 3510, 51, 3449, 3510, 445, 486, 3510, 3510, 3442, 3510, 3510, 446, 3450, 3510, 3425, 3441, 3510, 3510, 3510, 3510, 3451, 3427, 3451, 3510, 3426, 3442, 3510, 3510, 3510, 3510, 3510, 3427, 3452, 3510, 3439, 3449, 3510, 24, 3451, 3510, 3510, 25, 3453, 22, 2866, 2868, 3510, 3510, 3454, 3510, 3456, 25, 3454, 3425, 3510, 3510, 3510, 3510, 3510, 3510, 3455, 3427, 3455, 3426, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3427, 3456, 3439, 2867, 2869, 3510, 3510, 3455, 3510, 3510, 25, 3457, 3440, 2868, 2872, 3510, 3510, 3458, 3510, 3460, 446, 3458, 3441, 3510, 3510, 3510, 3510, 3510, 3510, 3459, 3443, 3459, 3442, 3510, 3510, 3510, 3510, 3510, 3510, 3510, 3443, 3460, 3449, 2869, 2873, 3510, 3510, 3459, 3510, 3510, 446, 3461, 3450, 3454, 3458, 3510, 3510, 3510, 3510, 3462, 3427, 3462, 3451, 3455, 3459, 3510, 3510, 3510, 3510, 3510, 3427, 3463, 3452, 3456, 3460, 3510, 2867, 3462, 3510, 3510, 25, 3464, 3453, 3429, 3431, 22, 3510, 3465, 3510, 3467, 25, 3465, 3454, 3510, 3510, 3425, 3510, 3510, 3510, 3466, 3427, 3466, 3455, 3510, 3510, 3426, 3510, 3510, 3510, 3510, 3427, 3467, 3456, 3430, 3432, 3439, 3510, 3466, 3510, 3510, 25, 3468, 3457, 3431, 3435, 3440, 3510, 3469, 3510, 3471, 446, 3469, 3458, 3510, 3510, 3441, 3510, 3510, 3510, 3470, 3443, 3470, 3459, 3510, 3510, 3442, 3510, 3510, 3510, 3510, 3443, 3471, 3460, 3432, 3436, 3449, 3510, 3470, 3510, 3510, 446, 3472, 3461, 3465, 3469, 3450, 3510, 3510, 3510, 3473, 3427, 3473, 3462, 3466, 3470, 3451, 3510, 3510, 3510, 3510, 3427, 3474, 3463, 3467, 3471, 3452, 3430, 3473, 3510, 3510, 25, 3475, 3363, 3510, 3510, 3510, 3510, 3510, 3510, 16, 3, 3476, 3364, 3399, 3403, 3510, 3510, 3475, 3510, 18, 19, 3477, 93, 201, 207, 125, 139, 3479, 3478, 3510, 14, 3478, 94, 3510, 3510, 126, 3510, 3510, 3510, 3510, 95, 3479, 3245, 200, 206, 127, 3510, 3478, 3510, 3510, 20, 3480, 3246, 3510, 3510, 3166, 3510, 3510, 3510, 3478, 95, 3481, 3247, 199, 205, 3167, 3510, 3480, 3510, 3479, 20, 3482, 61, 3302, 3308, 324, 3297, 3484, 3483, 3510, 13, 3483, 62, 3510, 3510, 325, 3510, 3510, 3510, 3510, 63, 3484, 3267, 3301, 3307, 326, 3510, 3483, 3510, 3510, 327, 3485, 3275, 3510, 3510, 2953, 3510, 3510, 3510, 3483, 63, 3486, 3276, 3300, 3306, 2954, 3510, 3485, 3510, 3484, 327, 3487, 134, 460, 473, 156, 102, 3489, 3488, 3510, 12, 3488, 135, 3510, 3510, 157, 3510, 3510, 3510, 3510, 136, 3489, 3163, 459, 472, 158, 3510, 3488, 3510, 3510, 159, 3490, 3164, 3510, 3510, 3128, 3510, 3510, 3510, 3488, 136, 3491, 3165, 458, 471, 3129, 3510, 3490, 3510, 3489, 159, 3492, 66, 3412, 3418, 10, 3510, 3510, 3510, 3510, 11, 3493, 69, 6, 3412, 70, 3510, 3510, 3510, 3510, 0, 3494, 72, 3411, 3417, 75, 3510, 3510, 3510, 3492, 11, 3495, 76, 3410, 3411, 77, 3510, 3510, 3510, 3493, 0, 3496, 96, 3501, 3498, 112, 3497, 3510, 3510, 3510, 4, 3497, 97, 3510, 3510, 98, 3510, 3510, 3510, 3510, 4, 3498, 99, 3500, 3499, 113, 3510, 3510, 3510, 3510, 100, 3499, 3237, 3510, 3510, 114, 3510, 3510, 3510, 3510, 115, 3500, 3238, 3510, 3510, 3196, 3510, 3510, 3510, 3510, 100, 3501, 3239, 3497, 3500, 3197, 3510, 3510, 3510, 3510, 4, 3502, 3240, 3510, 3510, 3198, 3510, 3510, 3510, 3497, 4, 3503, 3241, 3505, 3504, 3199, 3510, 3510, 3510, 3498, 100, 3504, 3242, 3510, 3510, 3200, 3510, 3510, 3510, 3499, 115, 3505, 3243, 3510, 3510, 3201, 3510, 3510, 3510, 3500, 100, 3506, 3244, 3502, 3505, 3202, 3510, 3510, 3510, 3501, 4, 3507, 18, 3414, 3420, 43, 3510, 2, 3510, 3510, 19, 3508, 3475, 3510, 3510, 3363, 3510, 3510, 3510, 2, 3, 3509, 3476, 3413, 3419, 3364, 3510, 3508, 3510, 3507, 19, }; /* Vector of min issue delay of insns. */ static const unsigned char cortex_a53_advsimd_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 0, 34, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 0, 17, 17, 17, 16, 1, 17, 17, 17, 16, 1, 0, 16, 17, 16, 1, 0, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 1, 17, 17, 51, 16, 0, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 16, 2, 0, 1, 0, 16, 2, 0, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 16, 1, 0, 1, 0, 16, 1, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 1, 0, 17, 1, 16, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 0, 17, 3, 16, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 16, 2, 0, 1, 0, 16, 2, 0, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 16, 1, 0, 1, 0, 16, 1, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 0, 0, 16, 17, 0, 0, 0, 16, 17, 16, 0, 0, 17, 17, 16, 0, 17, 17, 17, 16, 0, 17, 17, 17, 16, 0, 0, 17, 17, 16, 1, 0, 17, 17, 16, 0, 17, 17, 17, 0, 0, 0, 17, 17, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 0, 1, 0, 17, 17, 0, 0, 0, 17, 17, 0, 1, 0, 17, 17, 0, 1, 0, 16, 17, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 1, 17, 33, 34, 16, 0, 17, 33, 34, 16, 1, 0, 32, 34, 16, 1, 0, 33, 34, 16, 0, 0, 16, 17, 0, 0, 0, 16, 17, 16, 0, 17, 17, 17, 16, 1, 17, 17, 17, 16, 0, 0, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 32, 0, 16, 0, 17, 33, 51, 16, 0, 0, 16, 34, 0, 0, 0, 16, 34, 16, 0, 17, 17, 34, 16, 1, 17, 17, 34, 16, 0, 0, 17, 34, 16, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 1, 0, 16, 17, 16, 1, 0, 17, 17, 16, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 32, 0, 16, 0, 17, 33, 51, 16, 1, 0, 16, 34, 0, 1, 0, 16, 34, 16, 1, 0, 17, 34, 16, 1, 17, 17, 34, 16, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 0, 17, 17, 17, 16, 1, 17, 17, 17, 16, 1, 0, 16, 17, 16, 1, 0, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 32, 0, 0, 1, 0, 32, 0, 16, 1, 17, 33, 51, 16, 1, 0, 33, 3, 16, 1, 17, 33, 19, 16, 1, 17, 33, 19, 16, 1, 17, 33, 17, 16, 1, 0, 33, 1, 16, 1, 17, 33, 17, 16, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 0, 17, 33, 17, 16, 1, 0, 32, 17, 16, 1, 0, 33, 17, 16, 1, 17, 33, 17, 16, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 0, 17, 33, 17, 16, 2, 17, 33, 17, 16, 2, 0, 32, 17, 16, 2, 0, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 16, 2, 0, 1, 0, 16, 2, 0, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 32, 1, 0, 1, 0, 32, 1, 0, 1, 0, 33, 1, 0, 1, 17, 33, 17, 0, 1, 17, 33, 17, 0, 1, 17, 33, 19, 0, 1, 0, 33, 1, 16, 1, 0, 33, 1, 0, 1, 17, 33, 17, 0, 1, 17, 33, 19, 0, 1, 0, 33, 19, 0, 1, 0, 33, 19, 16, 1, 0, 32, 1, 16, 0, 0, 33, 1, 0, 0, 17, 33, 17, 0, 0, 17, 33, 17, 0, 0, 17, 33, 17, 16, 0, 17, 33, 19, 0, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 0, 0, 33, 1, 0, 0, 17, 33, 17, 0, 0, 17, 33, 17, 16, 0, 17, 33, 19, 0, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 0, 0, 33, 19, 0, 0, 0, 33, 19, 16, 0, 0, 32, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 32, 1, 0, 1, 0, 32, 1, 0, 1, 0, 33, 1, 0, 1, 17, 33, 17, 0, 1, 17, 33, 17, 16, 1, 17, 33, 17, 0, 1, 17, 33, 17, 16, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 0, 0, 32, 17, 0, 0, 0, 32, 17, 16, 0, 0, 33, 17, 16, 0, 0, 33, 17, 16, 1, 0, 33, 17, 16, 0, 0, 33, 17, 0, 1, 0, 33, 17, 0, 0, 0, 33, 17, 0, 1, 0, 33, 17, 0, 1, 0, 32, 17, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 1, 17, 49, 34, 16, 0, 17, 49, 34, 16, 1, 0, 48, 34, 16, 1, 0, 49, 34, 16, 0, 0, 32, 17, 0, 0, 0, 32, 17, 16, 0, 17, 33, 17, 16, 0, 0, 33, 17, 16, 0, 17, 33, 17, 16, 1, 17, 33, 17, 16, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 0, 0, 32, 17, 0, 0, 0, 32, 17, 16, 0, 0, 33, 17, 16, 0, 17, 33, 17, 16, 2, 17, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 16, 2, 0, 1, 0, 16, 2, 0, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 32, 1, 0, 2, 0, 32, 1, 0, 2, 0, 33, 1, 0, 2, 17, 33, 17, 0, 2, 17, 33, 17, 0, 2, 17, 33, 17, 16, 2, 17, 33, 19, 0, 2, 17, 33, 19, 16, 2, 0, 33, 1, 16, 2, 0, 33, 1, 0, 2, 17, 33, 17, 0, 2, 17, 33, 19, 0, 2, 17, 33, 19, 16, 2, 0, 33, 1, 16, 2, 0, 33, 19, 0, 2, 0, 33, 19, 16, 2, 0, 32, 1, 16, 0, 0, 33, 1, 0, 0, 17, 33, 17, 0, 0, 17, 33, 17, 0, 0, 17, 33, 17, 16, 0, 17, 33, 19, 0, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 0, 0, 33, 1, 0, 0, 17, 33, 17, 0, 0, 17, 33, 19, 0, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 0, 0, 33, 19, 0, 0, 0, 33, 19, 16, 0, 0, 32, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 32, 1, 0, 2, 0, 32, 1, 0, 2, 0, 33, 1, 0, 2, 17, 33, 17, 0, 2, 17, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 32, 2, 0, 1, 0, 32, 2, 0, 1, 0, 33, 2, 0, 1, 17, 33, 18, 0, 1, 17, 33, 18, 16, 1, 17, 33, 18, 0, 1, 17, 33, 18, 16, 0, 0, 16, 1, 0, 1, 0, 16, 1, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 1, 0, 17, 1, 16, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 16, 2, 0, 1, 0, 16, 2, 0, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 48, 1, 0, 1, 0, 48, 1, 0, 1, 0, 49, 1, 0, 1, 17, 49, 17, 0, 1, 17, 49, 17, 16, 1, 17, 49, 17, 0, 1, 17, 49, 17, 16, 0, 0, 32, 0, 0, 0, 0, 32, 0, 16, 0, 17, 33, 51, 16, 0, 0, 16, 34, 0, 0, 0, 16, 34, 16, 0, 17, 17, 34, 16, 1, 17, 17, 34, 16, 0, 0, 17, 34, 16, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 1, 0, 32, 17, 16, 1, 0, 33, 17, 16, 1, 0, 33, 17, 16, 0, 0, 1, 17, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 17, 33, 17, 16, 0, 0, 1, 17, 16, 0, 0, 33, 17, 16, 0, 17, 1, 17, 0, 0, 17, 33, 17, 0, 1, 0, 32, 17, 0, 1, 0, 33, 17, 0, 1, 17, 33, 17, 0, 1, 0, 33, 17, 0, 0, 0, 1, 17, 0, 0, 17, 1, 17, 0, 0, 17, 33, 17, 0, 0, 17, 1, 17, 0, 0, 17, 33, 17, 0, 0, 0, 33, 17, 0, 0, 0, 1, 17, 0, 0, 0, 33, 17, 0, 0, 17, 17, 34, 16, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 2, 17, 33, 34, 16, 0, 17, 33, 34, 16, 2, 0, 32, 34, 16, 2, 0, 33, 34, 16, 1, 0, 16, 17, 0, 1, 0, 17, 17, 0, 1, 0, 17, 17, 0, 1, 0, 17, 17, 16, 2, 17, 33, 34, 16, 1, 0, 16, 17, 0, 1, 17, 17, 17, 0, 1, 0, 17, 17, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 32, 0, 0, 2, 0, 32, 0, 16, 2, 17, 33, 51, 16, 2, 0, 33, 3, 16, 2, 17, 33, 51, 0, 2, 0, 33, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 2, 0, 32, 34, 0, 2, 17, 33, 34, 0, 2, 0, 33, 34, 0, 2, 17, 33, 34, 0, 2, 17, 33, 34, 0, 2, 17, 33, 34, 16, 2, 0, 33, 34, 0, 2, 0, 33, 34, 16, 3, 17, 49, 51, 16, 0, 17, 49, 51, 16, 0, 0, 1, 3, 16, 2, 0, 32, 2, 0, 2, 0, 32, 2, 16, 2, 0, 33, 35, 16, 1, 0, 16, 18, 0, 1, 0, 17, 18, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 1, 0, 17, 1, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 17, 19, 0, 1, 0, 17, 19, 0, 1, 0, 17, 19, 16, 0, 0, 17, 19, 16, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 0, 0, 16, 1, 16, 1, 0, 16, 1, 16, 1, 0, 17, 18, 16, 1, 0, 17, 18, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 16, 1, 0, 1, 0, 16, 1, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 1, 0, 17, 1, 16, 1, 0, 17, 1, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 16, 2, 0, 1, 0, 16, 2, 0, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 48, 1, 0, 2, 0, 48, 1, 0, 2, 0, 49, 1, 0, 2, 17, 49, 17, 0, 2, 17, 49, 17, 16, 2, 17, 49, 17, 0, 2, 17, 49, 17, 16, 1, 0, 32, 0, 0, 1, 0, 32, 0, 16, 1, 17, 33, 51, 16, 1, 0, 33, 3, 16, 1, 17, 33, 19, 16, 1, 17, 33, 19, 16, 1, 0, 33, 1, 16, 1, 0, 33, 1, 16, 1, 17, 33, 51, 0, 1, 0, 33, 3, 0, 1, 17, 33, 19, 0, 1, 17, 33, 19, 0, 1, 0, 33, 1, 0, 2, 17, 49, 19, 0, 2, 17, 49, 19, 16, 2, 0, 49, 1, 16, 2, 0, 49, 1, 0, 2, 17, 49, 17, 0, 2, 17, 49, 17, 16, 1, 0, 32, 0, 0, 1, 0, 32, 0, 16, 1, 17, 33, 51, 16, 0, 0, 16, 34, 0, 0, 0, 16, 34, 16, 0, 17, 17, 34, 16, 1, 17, 17, 34, 16, 0, 0, 17, 34, 16, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 0, 17, 33, 17, 16, 2, 0, 32, 17, 16, 2, 0, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 48, 2, 0, 1, 0, 48, 2, 0, 1, 0, 49, 2, 0, 1, 17, 49, 18, 0, 1, 17, 49, 18, 16, 1, 17, 49, 18, 0, 1, 17, 49, 18, 16, 1, 17, 49, 35, 0, 1, 17, 49, 35, 16, 0, 0, 32, 18, 0, 1, 0, 32, 18, 0, 1, 0, 33, 18, 0, 1, 0, 33, 18, 16, 1, 0, 33, 18, 0, 1, 17, 33, 18, 0, 1, 17, 33, 18, 16, 1, 0, 33, 18, 16, 1, 0, 32, 18, 16, 0, 0, 33, 18, 0, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 0, 33, 18, 16, 0, 0, 33, 18, 0, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 0, 33, 18, 16, 0, 0, 32, 18, 16, 1, 0, 49, 2, 16, 1, 0, 49, 2, 0, 1, 17, 49, 18, 0, 1, 17, 49, 18, 16, 0, 0, 32, 1, 0, 1, 0, 32, 1, 0, 1, 0, 33, 1, 0, 1, 17, 33, 17, 0, 1, 17, 33, 17, 16, 1, 17, 33, 17, 0, 1, 17, 33, 17, 16, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 2, 17, 49, 34, 16, 0, 17, 49, 34, 16, 2, 0, 48, 34, 16, 2, 0, 49, 34, 16, 2, 17, 49, 34, 16, 1, 0, 32, 17, 0, 1, 0, 32, 17, 16, 1, 0, 33, 17, 16, 1, 17, 33, 17, 16, 0, 0, 16, 0, 0, 0, 0, 16, 0, 16, 0, 17, 17, 51, 16, 0, 0, 0, 34, 0, 2, 0, 32, 17, 0, 2, 0, 33, 17, 0, 2, 0, 33, 17, 0, 2, 0, 33, 17, 16, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 3, 17, 49, 34, 16, 0, 17, 49, 34, 16, 3, 0, 48, 34, 16, 3, 0, 49, 34, 16, 2, 0, 32, 17, 0, 2, 0, 33, 17, 0, 2, 17, 33, 17, 0, 2, 17, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 48, 2, 0, 1, 0, 48, 2, 0, 1, 0, 49, 2, 0, 1, 17, 49, 18, 0, 1, 17, 49, 18, 16, 1, 17, 49, 18, 0, 1, 17, 49, 18, 16, 1, 17, 49, 35, 0, 1, 17, 49, 35, 16, 0, 0, 32, 18, 0, 2, 0, 32, 18, 0, 2, 0, 33, 18, 0, 2, 17, 33, 18, 0, 2, 17, 33, 18, 16, 2, 17, 33, 18, 0, 2, 17, 33, 18, 16, 2, 0, 33, 18, 16, 2, 0, 33, 18, 0, 2, 17, 33, 18, 0, 2, 17, 33, 18, 16, 2, 0, 33, 18, 16, 2, 0, 32, 18, 16, 0, 0, 33, 18, 0, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 0, 33, 18, 16, 0, 0, 33, 18, 0, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 0, 33, 18, 16, 0, 0, 32, 18, 16, 1, 0, 49, 2, 16, 1, 0, 49, 2, 0, 1, 17, 49, 18, 0, 1, 17, 49, 18, 16, 0, 0, 32, 1, 0, 2, 0, 32, 1, 0, 2, 0, 33, 1, 0, 2, 17, 33, 17, 0, 2, 17, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 0, 2, 16, 0, 0, 1, 35, 16, 0, 17, 1, 35, 16, 1, 0, 16, 18, 0, 1, 0, 17, 18, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 16, 1, 0, 1, 0, 16, 1, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 48, 0, 16, 0, 17, 49, 51, 16, 0, 0, 32, 34, 0, 0, 0, 32, 34, 16, 0, 0, 33, 34, 16, 0, 17, 33, 34, 16, 0, 0, 16, 17, 0, 0, 0, 16, 17, 16, 0, 0, 17, 17, 16, 0, 17, 17, 17, 16, 0, 17, 17, 17, 16, 0, 0, 17, 17, 16, 1, 0, 17, 17, 16, 0, 17, 17, 17, 0, 0, 0, 17, 17, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 0, 17, 17, 0, 1, 0, 17, 17, 0, 1, 17, 33, 34, 16, 0, 17, 33, 34, 16, 1, 17, 33, 34, 16, 0, 0, 33, 34, 16, 1, 0, 33, 34, 16, 0, 17, 33, 34, 0, 1, 17, 33, 34, 0, 0, 0, 33, 34, 0, 0, 17, 33, 34, 0, 1, 17, 33, 34, 0, 0, 17, 33, 34, 0, 1, 17, 33, 34, 0, 1, 0, 33, 34, 0, 0, 0, 33, 34, 0, 1, 0, 33, 34, 0, 1, 0, 32, 34, 0, 1, 17, 49, 51, 16, 0, 0, 49, 3, 16, 0, 17, 49, 19, 16, 1, 17, 49, 19, 16, 0, 0, 32, 2, 0, 1, 0, 32, 2, 0, 1, 0, 33, 2, 0, 1, 17, 33, 18, 0, 1, 17, 33, 18, 16, 1, 17, 33, 18, 0, 1, 17, 33, 18, 16, 1, 17, 33, 35, 0, 1, 17, 33, 35, 16, 0, 0, 16, 18, 0, 1, 0, 16, 18, 0, 1, 0, 17, 18, 0, 1, 0, 17, 18, 16, 1, 0, 17, 18, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 33, 1, 0, 0, 17, 33, 17, 0, 0, 17, 33, 17, 16, 0, 17, 33, 17, 0, 0, 17, 33, 17, 16, 0, 17, 33, 19, 0, 1, 17, 33, 19, 0, 1, 17, 33, 19, 16, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 1, 0, 33, 1, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 0, 33, 1, 0, 1, 0, 33, 1, 0, 1, 17, 33, 17, 0, 1, 17, 33, 19, 0, 1, 17, 33, 19, 16, 1, 0, 33, 1, 16, 0, 17, 33, 17, 0, 0, 17, 33, 17, 16, 0, 17, 33, 19, 0, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 33, 19, 0, 1, 0, 33, 19, 0, 1, 0, 33, 19, 16, 0, 0, 33, 19, 16, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 0, 0, 32, 1, 16, 1, 0, 32, 1, 16, 1, 0, 17, 18, 16, 1, 0, 16, 18, 16, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 16, 18, 16, 1, 0, 33, 2, 16, 1, 0, 33, 2, 0, 1, 17, 33, 18, 0, 1, 17, 33, 18, 16, 0, 0, 16, 1, 0, 1, 0, 16, 1, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 48, 0, 16, 0, 17, 49, 51, 16, 2, 17, 49, 51, 16, 0, 0, 49, 3, 16, 0, 17, 49, 19, 16, 2, 17, 49, 19, 16, 0, 17, 49, 19, 16, 2, 0, 49, 3, 16, 0, 17, 49, 17, 16, 0, 0, 49, 1, 16, 2, 0, 49, 1, 16, 0, 17, 49, 17, 16, 0, 17, 49, 17, 16, 0, 0, 49, 1, 16, 2, 0, 48, 0, 16, 0, 17, 49, 51, 0, 2, 17, 49, 51, 0, 0, 0, 49, 3, 0, 0, 17, 49, 19, 0, 2, 17, 49, 19, 0, 0, 17, 49, 19, 0, 2, 0, 49, 3, 0, 0, 17, 49, 17, 0, 0, 0, 49, 1, 0, 0, 17, 49, 17, 0, 0, 17, 49, 17, 0, 0, 0, 49, 1, 0, 2, 0, 48, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 48, 34, 0, 0, 0, 48, 34, 16, 0, 0, 49, 34, 16, 0, 17, 49, 34, 16, 0, 17, 49, 34, 16, 2, 17, 49, 34, 16, 0, 0, 49, 34, 16, 2, 0, 49, 34, 16, 0, 17, 49, 34, 0, 2, 17, 49, 34, 0, 0, 0, 49, 34, 0, 0, 17, 49, 34, 0, 2, 17, 49, 34, 0, 0, 17, 49, 34, 0, 2, 17, 49, 34, 0, 2, 0, 49, 34, 0, 0, 0, 49, 34, 0, 2, 0, 49, 34, 0, 2, 0, 48, 34, 0, 1, 17, 65, 51, 16, 0, 17, 65, 51, 16, 0, 0, 1, 3, 16, 0, 0, 48, 2, 0, 0, 0, 48, 2, 16, 0, 0, 49, 35, 16, 0, 17, 49, 35, 16, 1, 0, 32, 18, 0, 1, 0, 33, 18, 0, 1, 0, 33, 18, 16, 1, 0, 33, 18, 0, 1, 0, 33, 18, 16, 1, 0, 32, 18, 16, 2, 17, 49, 35, 16, 0, 17, 49, 35, 16, 2, 17, 49, 35, 16, 2, 0, 49, 35, 16, 0, 17, 49, 18, 16, 2, 17, 49, 18, 16, 0, 0, 49, 2, 16, 0, 17, 49, 18, 16, 2, 17, 49, 18, 16, 0, 17, 49, 18, 16, 2, 17, 49, 18, 16, 2, 0, 49, 2, 16, 0, 0, 49, 2, 16, 2, 0, 49, 2, 16, 2, 0, 48, 2, 16, 0, 0, 49, 35, 0, 0, 17, 49, 35, 0, 2, 17, 49, 35, 0, 0, 17, 49, 35, 0, 2, 17, 49, 35, 0, 2, 0, 49, 35, 0, 0, 17, 49, 18, 0, 2, 17, 49, 18, 0, 0, 0, 49, 2, 0, 0, 17, 49, 18, 0, 2, 17, 49, 18, 0, 0, 17, 49, 18, 0, 2, 17, 49, 18, 0, 2, 0, 49, 2, 0, 0, 0, 49, 2, 0, 2, 0, 49, 2, 0, 2, 0, 48, 2, 0, 1, 0, 65, 3, 16, 1, 17, 81, 19, 16, 0, 0, 64, 2, 0, 0, 0, 64, 2, 16, 0, 0, 65, 35, 16, 1, 0, 48, 18, 0, 1, 0, 49, 18, 0, 1, 0, 49, 18, 16, 1, 0, 49, 18, 0, 1, 0, 49, 18, 16, 1, 0, 48, 18, 16, 0, 17, 81, 35, 16, 1, 0, 64, 18, 0, 1, 0, 65, 18, 0, 1, 17, 65, 18, 0, 1, 17, 65, 18, 16, 1, 17, 81, 18, 0, 1, 17, 81, 18, 16, 0, 0, 64, 1, 0, 1, 0, 64, 1, 0, 1, 0, 65, 1, 0, 1, 17, 65, 17, 0, 1, 17, 65, 17, 16, 1, 17, 81, 17, 0, 1, 17, 81, 17, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 17, 65, 51, 16, 0, 0, 48, 34, 0, 0, 0, 48, 34, 16, 0, 0, 49, 34, 16, 0, 17, 49, 34, 16, 0, 0, 32, 17, 0, 0, 0, 32, 17, 16, 0, 0, 33, 17, 16, 0, 0, 33, 17, 16, 1, 0, 33, 17, 16, 0, 0, 33, 17, 0, 1, 0, 33, 17, 0, 0, 0, 33, 17, 0, 1, 0, 33, 17, 0, 1, 17, 49, 34, 16, 0, 17, 49, 34, 16, 1, 17, 49, 34, 16, 0, 0, 49, 34, 16, 1, 0, 49, 34, 16, 0, 17, 49, 34, 0, 1, 17, 49, 34, 0, 0, 0, 49, 34, 0, 0, 17, 49, 34, 0, 1, 17, 49, 34, 0, 0, 17, 49, 34, 0, 1, 17, 49, 34, 0, 1, 0, 49, 34, 0, 0, 0, 49, 34, 0, 1, 0, 49, 34, 0, 1, 0, 48, 34, 0, 1, 17, 65, 51, 16, 0, 0, 65, 3, 16, 0, 17, 81, 19, 16, 1, 17, 81, 19, 16, 0, 0, 64, 2, 0, 1, 0, 64, 2, 0, 1, 0, 65, 2, 0, 1, 17, 65, 35, 0, 1, 17, 65, 35, 16, 0, 0, 48, 18, 0, 0, 0, 49, 18, 0, 0, 17, 49, 18, 0, 0, 17, 49, 18, 16, 0, 17, 49, 18, 0, 0, 17, 49, 18, 16, 0, 0, 49, 18, 16, 0, 0, 49, 18, 0, 0, 17, 49, 18, 0, 0, 17, 49, 18, 16, 0, 0, 49, 18, 16, 0, 0, 48, 18, 16, 1, 0, 65, 2, 16, 1, 0, 81, 2, 0, 1, 17, 81, 18, 0, 1, 17, 81, 18, 16, 0, 0, 64, 1, 0, 1, 0, 64, 1, 0, 1, 0, 65, 1, 0, 1, 17, 65, 17, 0, 1, 17, 65, 17, 16, 0, 0, 48, 0, 0, 0, 0, 48, 0, 16, 0, 17, 49, 51, 16, 0, 0, 32, 34, 0, 0, 0, 32, 34, 16, 0, 0, 33, 34, 16, 0, 17, 33, 34, 16, 0, 17, 33, 34, 16, 0, 0, 33, 34, 16, 0, 17, 33, 34, 0, 0, 0, 33, 34, 0, 0, 17, 33, 34, 0, 0, 17, 33, 34, 0, 0, 0, 33, 34, 0, 1, 17, 49, 51, 16, 0, 0, 49, 3, 16, 0, 0, 32, 2, 0, 0, 0, 32, 2, 16, 0, 0, 33, 35, 16, 0, 17, 33, 35, 16, 2, 17, 33, 35, 16, 0, 17, 33, 35, 16, 2, 17, 33, 35, 16, 0, 0, 33, 2, 16, 2, 0, 33, 2, 16, 0, 0, 33, 2, 16, 2, 0, 33, 2, 16, 0, 0, 33, 35, 0, 0, 17, 33, 35, 0, 2, 17, 33, 35, 0, 0, 17, 33, 35, 0, 2, 17, 33, 35, 0, 2, 0, 33, 35, 0, 0, 0, 33, 2, 0, 2, 0, 33, 2, 0, 0, 0, 33, 2, 0, 2, 0, 33, 2, 0, 0, 17, 49, 19, 16, 0, 0, 32, 2, 0, 0, 0, 32, 2, 16, 0, 0, 33, 35, 16, 0, 17, 33, 35, 16, 1, 0, 16, 18, 0, 1, 0, 17, 18, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 65, 1, 0, 0, 17, 65, 17, 0, 0, 17, 65, 17, 16, 0, 17, 81, 17, 0, 0, 17, 81, 17, 16, 0, 17, 65, 19, 0, 1, 17, 65, 19, 0, 1, 17, 65, 19, 16, 0, 17, 65, 19, 16, 0, 0, 65, 1, 16, 1, 0, 65, 1, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 0, 81, 1, 0, 1, 0, 81, 1, 0, 1, 17, 81, 17, 0, 1, 17, 81, 17, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 17, 65, 51, 16, 0, 0, 48, 34, 0, 0, 0, 48, 34, 16, 0, 17, 49, 34, 16, 1, 17, 49, 34, 16, 0, 0, 49, 34, 16, 0, 0, 32, 17, 0, 0, 0, 32, 17, 16, 0, 0, 33, 17, 16, 0, 17, 33, 17, 16, 0, 17, 33, 17, 16, 2, 17, 33, 17, 16, 0, 0, 33, 17, 16, 2, 0, 33, 17, 16, 0, 17, 33, 17, 0, 0, 0, 33, 17, 0, 0, 17, 33, 17, 0, 0, 17, 33, 17, 0, 2, 17, 33, 17, 0, 0, 0, 33, 17, 0, 2, 0, 33, 17, 0, 0, 17, 49, 34, 16, 0, 0, 32, 17, 0, 0, 0, 32, 17, 16, 0, 17, 33, 17, 16, 0, 0, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 0, 2, 16, 0, 0, 1, 35, 16, 0, 17, 1, 35, 16, 0, 17, 1, 35, 16, 0, 17, 1, 18, 16, 0, 0, 1, 2, 16, 0, 17, 1, 18, 16, 0, 17, 1, 18, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 17, 1, 35, 0, 0, 17, 1, 35, 0, 0, 17, 1, 18, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 0, 0, 0, 1, 2, 0, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 0, 2, 16, 0, 0, 1, 35, 16, 2, 0, 65, 35, 16, 2, 17, 81, 35, 16, 2, 17, 65, 35, 16, 0, 17, 1, 35, 16, 0, 17, 1, 35, 16, 0, 17, 65, 35, 16, 0, 17, 1, 18, 16, 0, 17, 65, 18, 16, 2, 17, 65, 18, 16, 2, 0, 64, 2, 16, 2, 0, 81, 2, 16, 2, 17, 81, 18, 16, 2, 17, 81, 18, 16, 2, 0, 65, 2, 16, 0, 0, 1, 2, 16, 0, 17, 1, 18, 16, 0, 17, 81, 18, 16, 0, 17, 1, 18, 16, 0, 17, 81, 18, 16, 0, 0, 81, 2, 16, 0, 0, 1, 2, 16, 0, 0, 65, 2, 16, 0, 0, 1, 35, 0, 2, 0, 65, 35, 0, 2, 17, 81, 35, 0, 2, 17, 65, 35, 0, 0, 17, 1, 35, 0, 0, 17, 81, 35, 0, 0, 17, 1, 35, 0, 0, 17, 65, 35, 0, 0, 0, 65, 35, 0, 0, 17, 1, 18, 0, 0, 17, 65, 18, 0, 2, 17, 65, 18, 0, 2, 0, 64, 2, 0, 2, 0, 81, 2, 0, 2, 17, 81, 18, 0, 2, 17, 81, 18, 0, 2, 0, 65, 2, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 81, 18, 0, 0, 17, 1, 18, 0, 0, 17, 81, 18, 0, 0, 0, 81, 2, 0, 0, 0, 1, 2, 0, 0, 0, 65, 2, 0, 1, 17, 17, 19, 16, 1, 17, 17, 17, 16, 1, 0, 17, 1, 16, 0, 0, 0, 0, 0, 1, 0, 48, 0, 0, 1, 0, 48, 0, 16, 1, 0, 49, 3, 16, 1, 17, 49, 19, 16, 1, 0, 49, 1, 16, 1, 17, 49, 17, 16, 0, 0, 32, 0, 0, 0, 0, 32, 0, 16, 0, 17, 33, 51, 16, 0, 0, 33, 3, 16, 1, 0, 33, 3, 16, 0, 17, 33, 51, 0, 1, 17, 33, 51, 0, 0, 0, 33, 3, 0, 1, 0, 33, 3, 0, 1, 0, 49, 1, 16, 1, 17, 49, 51, 0, 1, 0, 49, 3, 0, 1, 17, 49, 19, 0, 1, 17, 49, 19, 0, 1, 0, 49, 1, 0, 1, 17, 49, 17, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 2, 17, 65, 51, 16, 0, 17, 65, 51, 16, 0, 0, 1, 3, 16, 2, 0, 65, 3, 16, 2, 17, 81, 19, 16, 2, 17, 65, 19, 16, 0, 17, 1, 19, 16, 0, 17, 81, 19, 16, 0, 17, 1, 19, 16, 0, 17, 65, 19, 16, 0, 0, 65, 3, 16, 0, 17, 1, 17, 16, 0, 17, 65, 17, 16, 2, 17, 65, 17, 16, 2, 0, 64, 0, 16, 2, 0, 81, 1, 16, 2, 17, 81, 17, 16, 1, 0, 64, 0, 0, 1, 0, 64, 0, 16, 1, 0, 65, 3, 16, 1, 0, 81, 1, 16, 1, 17, 65, 51, 0, 1, 0, 65, 3, 0, 1, 17, 81, 19, 0, 2, 17, 81, 17, 16, 1, 0, 64, 0, 0, 1, 0, 64, 0, 16, 1, 17, 65, 51, 16, 1, 0, 65, 3, 16, 1, 17, 81, 19, 16, 0, 0, 64, 2, 0, 1, 0, 64, 2, 0, 1, 0, 65, 2, 0, 1, 17, 65, 18, 0, 1, 17, 65, 18, 16, 1, 17, 81, 18, 0, 1, 17, 81, 18, 16, 0, 0, 64, 1, 0, 2, 0, 64, 1, 0, 2, 0, 65, 1, 0, 2, 17, 65, 17, 0, 2, 17, 81, 17, 0, 2, 17, 65, 19, 0, 2, 0, 65, 1, 16, 2, 0, 81, 1, 0, 2, 17, 81, 17, 0, 2, 17, 81, 19, 0, 2, 0, 65, 19, 0, 2, 0, 65, 19, 16, 2, 0, 64, 1, 16, 0, 0, 65, 1, 0, 0, 17, 65, 17, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 16, 0, 17, 65, 19, 0, 0, 0, 65, 1, 16, 0, 0, 81, 1, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 16, 0, 17, 81, 19, 0, 0, 0, 81, 1, 16, 0, 0, 65, 19, 0, 0, 0, 65, 19, 16, 0, 0, 64, 1, 16, 1, 17, 65, 35, 0, 1, 17, 65, 35, 16, 0, 0, 48, 18, 0, 2, 0, 48, 18, 0, 2, 0, 49, 18, 0, 2, 0, 49, 18, 16, 2, 0, 49, 18, 0, 2, 0, 49, 18, 16, 2, 0, 48, 18, 16, 0, 0, 49, 18, 0, 0, 0, 49, 18, 16, 0, 0, 49, 18, 0, 0, 0, 49, 18, 16, 0, 0, 48, 18, 16, 1, 0, 65, 2, 16, 1, 0, 81, 2, 0, 1, 17, 81, 18, 0, 1, 17, 81, 18, 16, 0, 0, 64, 1, 0, 2, 0, 64, 1, 0, 2, 0, 65, 1, 0, 2, 17, 65, 17, 0, 2, 17, 65, 17, 16, 1, 0, 48, 0, 0, 1, 0, 48, 0, 16, 1, 0, 49, 3, 16, 1, 17, 49, 19, 16, 1, 17, 49, 19, 16, 1, 17, 49, 17, 16, 1, 0, 49, 1, 16, 0, 0, 32, 0, 0, 0, 0, 32, 0, 16, 0, 17, 33, 51, 16, 1, 0, 16, 34, 0, 1, 0, 16, 34, 16, 1, 0, 17, 34, 16, 1, 17, 17, 34, 16, 1, 17, 17, 34, 16, 1, 0, 17, 34, 16, 1, 17, 17, 34, 0, 1, 0, 17, 34, 0, 1, 17, 17, 34, 0, 1, 17, 17, 34, 0, 1, 0, 17, 34, 0, 2, 17, 33, 51, 16, 0, 0, 33, 3, 16, 0, 17, 33, 19, 16, 2, 17, 33, 19, 16, 0, 17, 33, 19, 16, 2, 17, 33, 19, 16, 2, 0, 33, 3, 16, 0, 0, 33, 1, 16, 2, 0, 33, 1, 16, 0, 0, 33, 1, 16, 2, 0, 33, 1, 16, 2, 0, 32, 0, 16, 0, 17, 33, 51, 0, 2, 17, 33, 51, 0, 0, 0, 33, 3, 0, 0, 17, 33, 19, 0, 2, 17, 33, 19, 0, 0, 17, 33, 19, 0, 2, 17, 33, 19, 0, 2, 0, 33, 3, 0, 0, 0, 33, 1, 0, 2, 0, 33, 1, 0, 0, 0, 33, 1, 0, 2, 0, 32, 0, 0, 1, 17, 49, 17, 16, 0, 0, 32, 0, 0, 0, 0, 32, 0, 16, 0, 17, 33, 51, 16, 1, 0, 16, 34, 0, 1, 0, 16, 34, 16, 1, 0, 17, 34, 16, 1, 17, 17, 34, 16, 0, 0, 0, 17, 0, 0, 0, 0, 17, 16, 0, 17, 1, 17, 16, 2, 0, 32, 17, 16, 2, 0, 33, 17, 16, 2, 17, 33, 17, 16, 1, 0, 16, 0, 0, 1, 0, 16, 0, 16, 1, 17, 17, 51, 16, 1, 0, 17, 3, 16, 0, 0, 0, 2, 0, 0, 0, 0, 2, 16, 0, 0, 1, 35, 16, 3, 0, 49, 35, 16, 3, 17, 49, 35, 16, 2, 0, 32, 18, 0, 2, 0, 33, 18, 0, 2, 17, 33, 18, 0, 2, 17, 33, 18, 16, 2, 17, 33, 18, 0, 2, 17, 33, 18, 16, 2, 0, 33, 18, 16, 2, 0, 33, 18, 0, 2, 17, 33, 18, 0, 2, 17, 33, 18, 16, 2, 0, 33, 18, 16, 2, 0, 32, 18, 16, 3, 17, 49, 35, 16, 0, 17, 1, 35, 16, 0, 17, 49, 35, 16, 0, 17, 1, 35, 16, 0, 17, 49, 35, 16, 0, 0, 49, 35, 16, 0, 17, 1, 18, 16, 3, 17, 49, 18, 16, 0, 17, 49, 18, 16, 3, 0, 48, 2, 16, 3, 0, 49, 2, 16, 3, 17, 49, 18, 16, 3, 17, 49, 18, 16, 3, 0, 49, 2, 16, 0, 0, 1, 2, 16, 0, 17, 1, 18, 16, 0, 17, 49, 18, 16, 0, 17, 1, 18, 16, 0, 17, 49, 18, 16, 0, 0, 49, 2, 16, 0, 0, 1, 2, 16, 0, 0, 49, 2, 16, 0, 0, 48, 2, 16, 0, 0, 1, 35, 0, 3, 0, 49, 35, 0, 3, 17, 49, 35, 0, 3, 17, 49, 35, 0, 0, 17, 1, 35, 0, 0, 17, 49, 35, 0, 0, 17, 1, 35, 0, 0, 17, 49, 35, 0, 0, 0, 49, 35, 0, 0, 17, 1, 18, 0, 3, 17, 49, 18, 0, 0, 17, 49, 18, 0, 3, 0, 48, 2, 0, 3, 0, 49, 2, 0, 3, 17, 49, 18, 0, 3, 17, 49, 18, 0, 3, 0, 49, 2, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 49, 18, 0, 0, 17, 1, 18, 0, 0, 17, 49, 18, 0, 0, 0, 49, 2, 0, 0, 0, 1, 2, 0, 0, 0, 49, 2, 0, 0, 0, 48, 2, 0, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 0, 2, 16, 0, 0, 1, 35, 16, 3, 0, 65, 35, 16, 3, 17, 81, 35, 16, 2, 0, 64, 18, 0, 2, 0, 65, 18, 0, 2, 0, 65, 18, 16, 2, 0, 81, 18, 0, 2, 0, 81, 18, 16, 2, 0, 64, 18, 16, 3, 17, 65, 35, 16, 0, 17, 1, 35, 16, 0, 17, 81, 35, 16, 0, 17, 1, 35, 16, 0, 17, 65, 35, 16, 0, 0, 65, 35, 16, 0, 17, 1, 18, 16, 3, 17, 65, 18, 16, 0, 17, 65, 18, 16, 3, 0, 64, 2, 16, 3, 0, 81, 2, 16, 3, 17, 81, 18, 16, 3, 17, 81, 18, 16, 3, 0, 65, 2, 16, 0, 0, 1, 2, 16, 0, 17, 1, 18, 16, 0, 17, 81, 18, 16, 0, 17, 1, 18, 16, 0, 17, 81, 18, 16, 0, 0, 81, 2, 16, 0, 0, 1, 2, 16, 0, 0, 65, 2, 16, 0, 0, 64, 2, 16, 0, 0, 1, 35, 0, 3, 0, 65, 35, 0, 3, 17, 81, 35, 0, 3, 17, 65, 35, 0, 0, 17, 1, 35, 0, 0, 17, 81, 35, 0, 0, 17, 1, 35, 0, 0, 17, 65, 35, 0, 0, 0, 65, 35, 0, 0, 17, 1, 18, 0, 3, 17, 65, 18, 0, 0, 17, 65, 18, 0, 3, 0, 64, 2, 0, 3, 0, 81, 2, 0, 3, 17, 81, 18, 0, 3, 17, 81, 18, 0, 3, 0, 65, 2, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 81, 18, 0, 0, 17, 1, 18, 0, 0, 17, 81, 18, 0, 0, 0, 81, 2, 0, 0, 0, 1, 2, 0, 0, 0, 65, 2, 0, 0, 0, 64, 2, 0, 1, 17, 17, 19, 16, 1, 17, 17, 17, 16, 1, 0, 17, 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 3, 17, 65, 51, 16, 0, 17, 65, 51, 16, 0, 0, 1, 3, 16, 3, 0, 65, 3, 16, 3, 17, 81, 19, 16, 3, 17, 65, 19, 16, 0, 17, 1, 19, 16, 0, 17, 81, 19, 16, 0, 17, 1, 19, 16, 0, 17, 65, 19, 16, 0, 0, 65, 3, 16, 0, 17, 1, 17, 16, 3, 17, 65, 17, 16, 0, 17, 65, 17, 16, 3, 0, 64, 0, 16, 3, 0, 81, 1, 16, 2, 0, 64, 0, 0, 2, 17, 65, 51, 0, 2, 0, 65, 3, 0, 3, 17, 81, 17, 16, 2, 0, 64, 0, 0, 2, 0, 64, 0, 16, 2, 17, 65, 51, 16, 1, 0, 48, 34, 0, 1, 0, 48, 34, 16, 1, 0, 49, 34, 16, 1, 17, 49, 34, 16, 1, 17, 49, 34, 16, 1, 0, 49, 34, 16, 1, 17, 49, 34, 0, 1, 0, 49, 34, 0, 1, 17, 49, 34, 0, 1, 17, 49, 34, 0, 1, 0, 49, 34, 0, 2, 0, 65, 3, 16, 2, 17, 81, 19, 16, 2, 17, 65, 19, 16, 2, 0, 81, 1, 16, 2, 17, 81, 17, 16, 1, 0, 64, 0, 0, 1, 0, 64, 0, 16, 1, 17, 65, 17, 16, 1, 0, 81, 1, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 17, 65, 51, 0, 0, 0, 65, 3, 0, 1, 17, 81, 17, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 17, 65, 51, 16, 0, 0, 65, 3, 16, 0, 17, 81, 19, 16, 0, 17, 65, 19, 16, 0, 17, 65, 17, 16, 0, 0, 81, 1, 16, 0, 17, 81, 17, 16, 0, 17, 81, 17, 16, 2, 17, 81, 17, 16, 1, 0, 64, 0, 0, 0, 0, 48, 0, 0, 0, 0, 48, 0, 16, 0, 0, 49, 3, 16, 0, 17, 49, 19, 16, 2, 0, 32, 2, 0, 2, 0, 32, 2, 16, 2, 0, 33, 35, 16, 2, 17, 33, 35, 16, 2, 17, 33, 35, 16, 2, 0, 33, 2, 16, 2, 0, 33, 2, 16, 2, 0, 33, 35, 0, 2, 17, 33, 35, 0, 2, 17, 33, 35, 0, 2, 0, 33, 2, 0, 2, 0, 33, 2, 0, 3, 17, 49, 19, 16, 0, 17, 49, 19, 16, 3, 17, 49, 19, 16, 3, 0, 49, 3, 16, 0, 17, 49, 17, 16, 3, 17, 49, 17, 16, 0, 0, 49, 1, 16, 0, 17, 49, 17, 16, 2, 0, 32, 0, 0, 2, 0, 32, 0, 16, 2, 17, 33, 51, 16, 2, 0, 33, 3, 16, 2, 17, 33, 19, 16, 2, 17, 33, 19, 16, 2, 0, 33, 1, 16, 2, 17, 33, 17, 16, 2, 0, 33, 1, 16, 2, 17, 33, 51, 0, 2, 0, 33, 3, 0, 2, 17, 33, 19, 0, 2, 17, 33, 19, 0, 2, 0, 33, 1, 0, 2, 17, 33, 17, 0, 2, 17, 33, 17, 0, 3, 17, 49, 17, 16, 0, 17, 49, 17, 16, 3, 17, 49, 17, 16, 3, 0, 49, 1, 16, 0, 0, 49, 1, 16, 3, 0, 49, 1, 16, 3, 0, 48, 0, 16, 0, 17, 49, 51, 0, 3, 17, 49, 51, 0, 0, 0, 49, 3, 0, 0, 17, 49, 19, 0, 3, 17, 49, 19, 0, 0, 17, 49, 19, 0, 3, 17, 49, 19, 0, 3, 0, 49, 3, 0, 0, 17, 49, 17, 0, 3, 17, 49, 17, 0, 0, 0, 49, 1, 0, 0, 17, 49, 17, 0, 3, 17, 49, 17, 0, 0, 17, 49, 17, 0, 3, 17, 49, 17, 0, 3, 0, 49, 1, 0, 0, 0, 49, 1, 0, 3, 0, 49, 1, 0, 3, 0, 48, 0, 0, 1, 0, 64, 0, 16, 1, 17, 65, 51, 16, 0, 0, 48, 34, 0, 0, 0, 48, 34, 16, 0, 0, 49, 34, 16, 0, 17, 49, 34, 16, 2, 0, 32, 17, 0, 2, 0, 33, 17, 0, 2, 0, 33, 17, 0, 2, 0, 33, 17, 16, 3, 17, 49, 34, 16, 0, 17, 49, 34, 16, 3, 17, 49, 34, 16, 0, 0, 49, 34, 16, 3, 0, 49, 34, 16, 0, 17, 49, 34, 0, 3, 17, 49, 34, 0, 0, 0, 49, 34, 0, 0, 17, 49, 34, 0, 3, 17, 49, 34, 0, 0, 17, 49, 34, 0, 3, 17, 49, 34, 0, 3, 0, 49, 34, 0, 0, 0, 49, 34, 0, 3, 0, 49, 34, 0, 3, 0, 48, 34, 0, 1, 0, 65, 3, 16, 1, 17, 81, 19, 16, 1, 17, 65, 19, 16, 1, 17, 65, 17, 16, 1, 0, 81, 1, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 0, 81, 1, 16, 0, 17, 81, 17, 16, 0, 17, 81, 17, 16, 3, 17, 81, 17, 16, 0, 0, 65, 1, 16, 3, 0, 65, 1, 16, 0, 17, 65, 51, 0, 3, 17, 65, 51, 0, 0, 0, 65, 3, 0, 0, 17, 81, 19, 0, 3, 17, 81, 19, 0, 0, 17, 65, 19, 0, 3, 17, 65, 19, 0, 3, 0, 65, 3, 0, 0, 17, 65, 17, 0, 3, 17, 65, 17, 0, 0, 0, 81, 1, 0, 0, 17, 81, 17, 0, 3, 17, 81, 17, 0, 0, 17, 81, 17, 0, 3, 17, 81, 17, 0, 3, 0, 81, 1, 0, 0, 0, 65, 1, 0, 3, 0, 65, 1, 0, 3, 0, 64, 0, 0, 1, 17, 81, 17, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 17, 65, 51, 16, 4, 17, 65, 51, 16, 0, 0, 65, 3, 16, 0, 17, 81, 19, 16, 4, 17, 81, 19, 16, 0, 17, 65, 19, 16, 4, 17, 65, 19, 16, 4, 0, 65, 3, 16, 0, 17, 65, 17, 16, 4, 17, 65, 17, 16, 0, 0, 81, 1, 16, 0, 17, 81, 17, 16, 4, 0, 64, 0, 0, 4, 0, 64, 0, 16, 4, 0, 81, 1, 16, 5, 17, 81, 17, 16, 4, 17, 81, 17, 16, 4, 0, 65, 1, 16, 4, 17, 65, 51, 0, 4, 0, 65, 3, 0, 4, 17, 81, 19, 0, 4, 17, 65, 19, 0, 4, 17, 65, 17, 0, 4, 0, 81, 1, 0, 5, 17, 81, 17, 0, 4, 17, 81, 17, 0, 4, 0, 65, 1, 0, 0, 17, 81, 17, 16, 0, 0, 65, 1, 16, 0, 17, 65, 51, 0, 0, 0, 65, 3, 0, 0, 17, 81, 19, 0, 0, 17, 65, 19, 0, 0, 17, 65, 17, 0, 0, 0, 81, 1, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 0, 0, 0, 65, 1, 0, 1, 17, 81, 17, 16, 1, 0, 65, 1, 16, 1, 17, 65, 51, 0, 1, 0, 65, 3, 0, 1, 17, 81, 19, 0, 1, 17, 65, 19, 0, 1, 17, 65, 17, 0, 1, 0, 81, 1, 0, 1, 17, 81, 17, 0, 1, 17, 81, 17, 0, 1, 0, 65, 1, 0, 0, 0, 65, 1, 16, 2, 0, 65, 1, 16, 0, 17, 65, 51, 0, 2, 17, 65, 51, 0, 0, 0, 65, 3, 0, 0, 17, 81, 19, 0, 2, 17, 81, 19, 0, 0, 17, 65, 19, 0, 2, 17, 65, 19, 0, 2, 0, 65, 3, 0, 0, 17, 65, 17, 0, 0, 0, 81, 1, 0, 2, 0, 81, 1, 0, 2, 17, 81, 17, 0, 2, 17, 81, 17, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 0, 0, 0, 65, 1, 0, 1, 17, 81, 17, 16, 1, 0, 65, 1, 16, 1, 17, 65, 19, 16, 1, 17, 65, 51, 0, 1, 0, 65, 3, 0, 1, 17, 81, 19, 0, 1, 17, 65, 19, 0, 1, 17, 65, 17, 0, 1, 0, 81, 1, 0, 1, 17, 81, 17, 0, 1, 17, 81, 17, 0, 1, 0, 65, 1, 0, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 1, 17, 17, 17, 16, 1, 0, 17, 1, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 0, 1, 17, 17, 17, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 0, 1, 0, 17, 1, 0, 0, 0, 1, 17, 16, 0, 17, 1, 17, 16, 0, 17, 33, 17, 16, 0, 17, 1, 17, 16, 0, 17, 33, 17, 16, 0, 0, 1, 17, 16, 0, 0, 33, 17, 16, 0, 17, 1, 17, 0, 0, 17, 33, 17, 0, 0, 0, 1, 17, 0, 0, 17, 1, 17, 0, 0, 17, 33, 17, 0, 0, 17, 1, 17, 0, 0, 17, 33, 17, 0, 0, 0, 33, 17, 0, 0, 0, 1, 17, 0, 0, 0, 33, 17, 0, 1, 17, 17, 34, 16, 1, 0, 17, 34, 16, 1, 17, 17, 34, 0, 1, 0, 17, 34, 0, 1, 17, 17, 34, 0, 1, 17, 17, 34, 0, 1, 0, 17, 34, 0, 0, 0, 33, 3, 16, 0, 17, 33, 19, 16, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 0, 0, 33, 1, 16, 0, 17, 33, 51, 0, 0, 0, 33, 3, 0, 0, 17, 33, 19, 0, 0, 17, 33, 19, 0, 0, 0, 33, 1, 0, 0, 0, 33, 1, 0, 1, 17, 49, 17, 16, 1, 0, 49, 1, 16, 1, 17, 49, 51, 0, 1, 0, 49, 3, 0, 1, 17, 49, 19, 0, 1, 17, 49, 19, 0, 1, 17, 49, 17, 0, 1, 0, 49, 1, 0, 1, 17, 49, 17, 0, 1, 17, 49, 17, 0, 1, 0, 49, 1, 0, 2, 0, 65, 19, 0, 2, 0, 65, 19, 16, 2, 0, 64, 1, 16, 0, 0, 65, 19, 0, 0, 0, 65, 19, 16, 0, 0, 64, 1, 16, 1, 17, 81, 35, 0, 1, 17, 81, 35, 16, 0, 0, 64, 18, 0, 0, 0, 65, 18, 0, 0, 0, 65, 18, 16, 0, 0, 81, 18, 0, 0, 0, 81, 18, 16, 0, 0, 64, 18, 16, 1, 0, 81, 2, 16, 1, 0, 65, 35, 0, 1, 0, 65, 35, 16, 1, 0, 64, 2, 16, 0, 0, 65, 2, 0, 0, 17, 65, 18, 0, 0, 17, 65, 18, 16, 0, 17, 81, 18, 0, 0, 17, 81, 18, 16, 0, 17, 65, 35, 0, 0, 17, 65, 35, 16, 0, 0, 65, 2, 16, 0, 0, 81, 2, 0, 0, 17, 81, 18, 0, 0, 17, 81, 18, 16, 0, 17, 81, 35, 0, 0, 17, 81, 35, 16, 0, 0, 81, 2, 16, 0, 0, 65, 35, 0, 0, 0, 65, 35, 16, 0, 0, 64, 2, 16, 1, 17, 65, 19, 16, 1, 0, 81, 1, 16, 1, 17, 81, 17, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 0, 65, 3, 16, 0, 17, 81, 19, 16, 0, 17, 65, 19, 16, 0, 17, 65, 17, 16, 0, 0, 81, 1, 16, 0, 17, 81, 17, 16, 0, 17, 81, 17, 16, 0, 0, 65, 1, 16, 0, 17, 65, 51, 0, 0, 0, 65, 3, 0, 0, 17, 81, 19, 0, 0, 17, 65, 19, 0, 0, 17, 65, 17, 0, 0, 0, 81, 1, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 0, 0, 0, 65, 1, 0, 1, 17, 81, 17, 16, 0, 0, 64, 0, 0, 0, 0, 64, 0, 16, 0, 17, 65, 51, 16, 0, 0, 65, 3, 16, 0, 17, 81, 19, 16, 0, 17, 65, 19, 16, 0, 17, 65, 17, 16, 0, 0, 81, 1, 16, 0, 17, 81, 17, 16, 0, 17, 81, 17, 16, 0, 0, 65, 1, 16, 0, 17, 65, 51, 0, 0, 0, 65, 3, 0, 0, 17, 81, 19, 0, 0, 17, 65, 19, 0, 0, 17, 65, 17, 0, 0, 0, 81, 1, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 0, 0, 0, 65, 1, 0, 1, 0, 65, 1, 16, 1, 17, 65, 51, 0, 1, 0, 65, 3, 0, 1, 17, 81, 19, 0, 1, 17, 65, 19, 0, 1, 0, 81, 1, 0, 1, 17, 81, 17, 0, 1, 17, 81, 17, 0, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 1, 17, 17, 17, 16, 1, 0, 17, 1, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 0, 1, 17, 17, 17, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 0, 1, 0, 17, 1, 0, 0, 17, 49, 34, 16, 0, 0, 49, 34, 16, 0, 17, 49, 34, 0, 0, 0, 49, 34, 0, 0, 17, 49, 34, 0, 0, 17, 49, 34, 0, 0, 0, 49, 34, 0, 0, 0, 65, 3, 16, 0, 17, 81, 19, 16, 0, 17, 65, 19, 16, 0, 17, 65, 17, 16, 0, 0, 81, 1, 16, 0, 17, 81, 17, 16, 0, 17, 81, 17, 16, 0, 0, 65, 1, 16, 0, 17, 65, 51, 0, 0, 0, 65, 3, 0, 0, 17, 81, 19, 0, 0, 17, 65, 19, 0, 0, 17, 65, 17, 0, 0, 0, 81, 1, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 0, 0, 0, 65, 1, 0, 0, 17, 81, 17, 0, 0, 17, 81, 17, 16, 0, 17, 81, 19, 0, 0, 0, 81, 1, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 65, 19, 0, 1, 0, 65, 19, 0, 1, 0, 65, 19, 16, 0, 0, 65, 19, 16, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 0, 0, 64, 1, 16, 1, 0, 64, 1, 16, 1, 0, 17, 18, 16, 1, 0, 17, 18, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 65, 19, 0, 1, 0, 65, 19, 0, 1, 0, 65, 19, 16, 0, 0, 65, 19, 16, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 0, 0, 64, 1, 16, 1, 0, 64, 1, 16, 1, 0, 17, 18, 16, 1, 0, 16, 18, 16, 0, 17, 33, 35, 16, 0, 17, 33, 18, 16, 0, 0, 33, 2, 16, 0, 17, 33, 18, 16, 0, 17, 33, 18, 16, 0, 0, 33, 2, 16, 0, 0, 33, 35, 0, 0, 17, 33, 35, 0, 0, 17, 33, 35, 0, 0, 17, 33, 18, 0, 0, 0, 33, 2, 0, 0, 17, 33, 18, 0, 0, 17, 33, 18, 0, 0, 0, 33, 2, 0, 0, 17, 49, 19, 16, 0, 17, 49, 17, 16, 0, 0, 49, 1, 16, 0, 17, 49, 17, 16, 0, 17, 49, 17, 16, 0, 0, 49, 1, 16, 0, 17, 49, 51, 0, 0, 0, 49, 3, 0, 0, 17, 49, 19, 0, 0, 17, 49, 19, 0, 0, 17, 49, 17, 0, 0, 0, 49, 1, 0, 0, 17, 49, 17, 0, 0, 17, 49, 17, 0, 0, 0, 49, 1, 0, 1, 17, 81, 35, 0, 1, 17, 81, 35, 16, 0, 0, 64, 18, 0, 0, 0, 65, 18, 0, 0, 17, 65, 18, 0, 0, 17, 65, 18, 16, 0, 17, 81, 18, 0, 0, 17, 81, 18, 16, 0, 0, 65, 18, 16, 1, 0, 65, 18, 16, 0, 0, 81, 18, 0, 1, 0, 81, 18, 0, 1, 0, 81, 18, 16, 0, 17, 81, 18, 0, 0, 17, 81, 18, 16, 0, 0, 81, 18, 16, 0, 0, 64, 18, 16, 1, 0, 64, 18, 16, 1, 0, 81, 2, 16, 1, 0, 65, 35, 0, 1, 0, 65, 35, 16, 1, 0, 64, 2, 16, 0, 0, 65, 2, 0, 0, 17, 65, 35, 0, 0, 17, 65, 35, 16, 0, 0, 65, 2, 16, 0, 0, 81, 2, 0, 0, 17, 81, 35, 0, 0, 17, 81, 35, 16, 0, 0, 81, 2, 16, 0, 0, 65, 35, 0, 0, 0, 65, 35, 16, 0, 0, 64, 2, 16, 0, 17, 65, 51, 0, 0, 0, 65, 3, 0, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 1, 0, 17, 1, 16, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 0, 17, 1, 16, 1, 0, 17, 19, 0, 1, 0, 17, 19, 16, 1, 0, 16, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 19, 0, 0, 0, 17, 19, 16, 0, 0, 16, 1, 16, 1, 17, 33, 35, 0, 1, 17, 33, 35, 16, 0, 0, 16, 18, 0, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 16, 18, 16, 1, 0, 33, 2, 16, 1, 0, 33, 35, 0, 1, 0, 33, 35, 16, 1, 0, 32, 2, 16, 0, 0, 33, 2, 0, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 17, 33, 35, 0, 0, 17, 33, 35, 16, 0, 0, 33, 2, 16, 0, 0, 33, 2, 0, 0, 17, 33, 18, 0, 0, 17, 33, 18, 16, 0, 17, 33, 35, 0, 0, 17, 33, 35, 16, 0, 0, 33, 2, 16, 0, 0, 33, 35, 0, 0, 0, 33, 35, 16, 0, 0, 32, 2, 16, 0, 17, 49, 19, 16, 0, 17, 49, 17, 16, 0, 0, 49, 1, 16, 0, 17, 49, 17, 16, 0, 17, 49, 17, 16, 0, 0, 49, 1, 16, 0, 17, 49, 51, 0, 0, 0, 49, 3, 0, 0, 17, 49, 19, 0, 0, 17, 49, 19, 0, 0, 17, 49, 17, 0, 0, 0, 49, 1, 0, 0, 17, 49, 17, 0, 0, 17, 49, 17, 0, 0, 0, 49, 1, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 1, 0, 17, 1, 16, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 0, 17, 1, 16, 1, 0, 17, 19, 0, 1, 0, 17, 19, 16, 1, 0, 16, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 16, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 19, 0, 0, 0, 17, 19, 16, 0, 0, 16, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 0, 17, 18, 16, 1, 0, 17, 18, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 0, 17, 18, 16, 1, 0, 16, 18, 16, 0, 17, 1, 35, 16, 0, 17, 1, 18, 16, 0, 0, 1, 2, 16, 0, 17, 1, 18, 16, 0, 17, 1, 18, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 17, 1, 35, 0, 0, 17, 1, 35, 0, 0, 17, 1, 18, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 0, 0, 0, 1, 2, 0, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 0, 2, 16, 0, 0, 1, 35, 16, 0, 17, 1, 35, 16, 0, 17, 1, 35, 16, 0, 17, 1, 18, 16, 0, 0, 1, 2, 16, 0, 17, 1, 18, 16, 0, 17, 1, 18, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 17, 1, 35, 0, 0, 17, 1, 35, 0, 0, 17, 1, 18, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 0, 0, 0, 1, 2, 0, 1, 17, 17, 19, 16, 1, 17, 17, 17, 16, 1, 0, 17, 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 17, 17, 17, 16, 1, 0, 17, 1, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 0, 1, 17, 17, 17, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 1, 17, 17, 17, 0, 1, 0, 17, 1, 0, 2, 0, 33, 19, 0, 2, 0, 33, 19, 16, 2, 0, 32, 1, 16, 0, 0, 33, 19, 0, 0, 0, 33, 19, 16, 0, 0, 32, 1, 16, 1, 17, 49, 35, 0, 1, 17, 49, 35, 16, 0, 0, 32, 18, 0, 0, 0, 33, 18, 0, 0, 0, 33, 18, 16, 0, 0, 33, 18, 0, 0, 0, 33, 18, 16, 0, 0, 32, 18, 16, 1, 0, 49, 2, 16, 1, 0, 49, 35, 0, 1, 0, 49, 35, 16, 1, 0, 48, 2, 16, 0, 0, 49, 2, 0, 0, 17, 49, 18, 0, 0, 17, 49, 18, 16, 0, 17, 49, 18, 0, 0, 17, 49, 18, 16, 0, 17, 49, 35, 0, 0, 17, 49, 35, 16, 0, 0, 49, 2, 16, 0, 0, 49, 2, 0, 0, 17, 49, 18, 0, 0, 17, 49, 18, 16, 0, 17, 49, 35, 0, 0, 17, 49, 35, 16, 0, 0, 49, 2, 16, 0, 0, 49, 35, 0, 0, 0, 49, 35, 16, 0, 0, 48, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 19, 16, 0, 17, 17, 19, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 17, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 19, 16, 0, 17, 17, 19, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 17, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 1, 17, 49, 35, 0, 1, 17, 49, 35, 16, 0, 0, 32, 18, 0, 0, 0, 33, 18, 0, 0, 0, 33, 18, 16, 0, 0, 33, 18, 0, 0, 0, 33, 18, 16, 0, 0, 32, 18, 16, 1, 0, 49, 2, 16, 1, 0, 49, 35, 0, 1, 0, 49, 35, 16, 1, 0, 48, 2, 16, 0, 0, 49, 2, 0, 0, 17, 49, 35, 0, 0, 17, 49, 35, 16, 0, 0, 49, 2, 16, 0, 0, 49, 2, 0, 0, 17, 49, 35, 0, 0, 17, 49, 35, 16, 0, 0, 49, 2, 16, 0, 0, 49, 35, 0, 0, 0, 49, 35, 16, 0, 0, 48, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 0, 0, 1, 17, 16, 0, 0, 1, 17, 16, 0, 0, 1, 17, 0, 0, 0, 1, 17, 0, 0, 17, 17, 34, 16, 0, 17, 17, 34, 16, 0, 0, 17, 34, 16, 0, 17, 17, 34, 0, 0, 0, 17, 34, 0, 0, 17, 17, 34, 0, 0, 17, 17, 34, 0, 0, 0, 17, 34, 0, 2, 0, 49, 19, 0, 2, 0, 49, 19, 16, 2, 0, 48, 1, 16, 0, 0, 49, 19, 0, 0, 0, 49, 19, 16, 0, 0, 48, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 35, 0, 1, 0, 17, 35, 16, 1, 0, 16, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 35, 0, 0, 0, 17, 35, 16, 0, 0, 16, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 0, 17, 1, 16, 1, 0, 17, 19, 0, 1, 0, 17, 19, 16, 1, 0, 16, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 19, 0, 0, 0, 17, 19, 16, 0, 0, 16, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 0, 17, 18, 16, 1, 0, 16, 18, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 19, 16, 0, 17, 17, 19, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 17, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 0, 0, 0, 17, 16, 0, 0, 1, 17, 16, 0, 0, 1, 17, 16, 0, 0, 1, 17, 0, 0, 0, 1, 17, 0, 0, 17, 17, 34, 16, 0, 0, 17, 34, 16, 0, 17, 17, 34, 0, 0, 0, 17, 34, 0, 0, 17, 17, 34, 0, 0, 17, 17, 34, 0, 0, 0, 17, 34, 0, 0, 0, 33, 3, 16, 0, 17, 33, 19, 16, 0, 17, 33, 19, 16, 0, 0, 33, 1, 16, 0, 0, 33, 1, 16, 0, 17, 33, 51, 0, 0, 0, 33, 3, 0, 0, 17, 33, 19, 0, 0, 17, 33, 19, 0, 0, 0, 33, 1, 0, 0, 0, 33, 1, 0, 1, 0, 49, 19, 0, 1, 0, 49, 19, 16, 1, 0, 48, 1, 16, 0, 0, 49, 19, 0, 0, 0, 49, 19, 16, 0, 0, 48, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 2, 0, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 35, 0, 1, 0, 17, 35, 16, 1, 0, 16, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 35, 0, 0, 0, 17, 35, 16, 0, 0, 16, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 17, 33, 35, 0, 1, 17, 33, 35, 16, 0, 0, 16, 18, 0, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 16, 18, 16, 1, 0, 33, 2, 16, 1, 0, 33, 2, 0, 1, 17, 33, 35, 0, 1, 17, 33, 35, 16, 0, 0, 16, 18, 0, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 17, 18, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 0, 17, 18, 16, 0, 0, 16, 18, 16, 1, 0, 33, 2, 16, 1, 0, 33, 35, 0, 1, 0, 33, 35, 16, 1, 0, 32, 2, 16, 0, 0, 33, 2, 0, 0, 17, 33, 35, 0, 0, 17, 33, 35, 16, 0, 0, 33, 2, 16, 0, 0, 33, 2, 0, 0, 17, 33, 35, 0, 0, 17, 33, 35, 16, 0, 0, 33, 2, 16, 0, 0, 33, 35, 0, 0, 0, 33, 35, 16, 0, 0, 32, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 17, 17, 19, 16, 0, 0, 0, 2, 0, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 17, 17, 19, 16, 1, 0, 17, 1, 16, 1, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 1, 0, 17, 1, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 1, 17, 17, 19, 0, 1, 17, 17, 19, 0, 1, 0, 17, 1, 0, 1, 17, 17, 17, 0, 2, 0, 33, 19, 0, 2, 0, 33, 19, 16, 2, 0, 32, 1, 16, 0, 0, 33, 19, 0, 0, 0, 33, 19, 16, 0, 0, 32, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 2, 0, 1, 17, 17, 18, 0, 1, 17, 17, 18, 16, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 35, 0, 1, 0, 17, 35, 16, 1, 0, 16, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 18, 0, 0, 17, 17, 18, 16, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 35, 0, 0, 0, 17, 35, 16, 0, 0, 16, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 0, 0, 33, 17, 16, 0, 0, 33, 17, 0, 0, 0, 33, 17, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 1, 0, 33, 19, 0, 1, 0, 33, 19, 16, 1, 0, 32, 1, 16, 0, 0, 33, 19, 0, 0, 0, 33, 19, 16, 0, 0, 32, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 2, 0, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 35, 0, 1, 0, 17, 35, 16, 1, 0, 16, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 35, 0, 0, 0, 17, 35, 16, 0, 0, 16, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 0, 0, 1, 17, 16, 0, 0, 1, 17, 16, 0, 0, 1, 17, 0, 0, 0, 1, 17, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 0, 0, 1, 17, 16, 0, 0, 1, 17, 16, 0, 0, 1, 17, 0, 0, 0, 1, 17, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 1, 17, 33, 51, 0, 1, 0, 33, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 0, 1, 17, 16, 0, 0, 1, 17, 16, 0, 0, 1, 17, 0, 0, 0, 1, 17, 0, 1, 17, 17, 34, 16, 1, 0, 17, 34, 16, 1, 17, 17, 34, 0, 1, 0, 17, 34, 0, 1, 17, 17, 34, 0, 1, 17, 17, 34, 0, 1, 0, 17, 34, 0, 0, 0, 33, 3, 16, 0, 17, 33, 51, 0, 0, 0, 33, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 1, 17, 16, 0, 0, 1, 17, 16, 0, 0, 17, 17, 16, 0, 0, 1, 17, 0, 0, 0, 17, 17, 0, 0, 0, 1, 17, 0, 0, 0, 17, 17, 0, 0, 17, 17, 34, 16, 0, 17, 17, 34, 16, 0, 0, 17, 34, 16, 0, 17, 17, 34, 0, 0, 0, 17, 34, 0, 0, 17, 17, 34, 0, 0, 17, 17, 34, 0, 0, 0, 17, 34, 0, 0, 0, 33, 3, 16, 0, 17, 33, 51, 0, 0, 0, 33, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 17, 3, 16, 0, 17, 17, 19, 16, 0, 17, 17, 19, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 17, 16, 0, 17, 17, 17, 16, 0, 0, 17, 1, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 0, 17, 17, 17, 0, 0, 17, 17, 17, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 1, 0, 17, 19, 0, 1, 0, 17, 19, 16, 1, 0, 16, 1, 16, 0, 0, 17, 19, 0, 0, 0, 17, 19, 16, 0, 0, 16, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 2, 0, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 35, 0, 1, 0, 17, 35, 16, 1, 0, 16, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 35, 0, 0, 0, 17, 35, 16, 0, 0, 16, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 1, 0, 17, 1, 16, 1, 17, 17, 51, 0, 1, 0, 17, 3, 0, 1, 17, 17, 19, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 19, 16, 0, 17, 1, 19, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 17, 16, 0, 17, 1, 17, 16, 0, 0, 1, 1, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 17, 1, 19, 0, 0, 17, 1, 19, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 1, 0, 17, 19, 0, 1, 0, 17, 19, 16, 1, 0, 16, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 1, 0, 0, 17, 17, 19, 0, 0, 17, 17, 19, 16, 0, 0, 17, 1, 16, 0, 0, 17, 19, 0, 0, 0, 17, 19, 16, 0, 0, 16, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 1, 0, 0, 17, 1, 17, 0, 0, 17, 1, 17, 16, 0, 17, 1, 19, 0, 0, 17, 1, 19, 16, 0, 0, 1, 1, 16, 0, 0, 1, 19, 0, 0, 0, 1, 19, 16, 0, 0, 0, 1, 16, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 17, 1, 18, 0, 0, 17, 1, 18, 16, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 2, 0, 1, 17, 17, 35, 0, 1, 17, 17, 35, 16, 0, 0, 0, 18, 0, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 1, 18, 0, 0, 0, 1, 18, 16, 0, 0, 0, 18, 16, 1, 0, 17, 2, 16, 1, 0, 17, 35, 0, 1, 0, 17, 35, 16, 1, 0, 16, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 2, 0, 0, 17, 17, 35, 0, 0, 17, 17, 35, 16, 0, 0, 17, 2, 16, 0, 0, 17, 35, 0, 0, 0, 17, 35, 16, 0, 0, 16, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 2, 0, 0, 17, 1, 35, 0, 0, 17, 1, 35, 16, 0, 0, 1, 2, 16, 0, 0, 1, 35, 0, 0, 0, 1, 35, 16, 0, 0, 0, 2, 16, 0, 17, 17, 51, 0, 0, 0, 17, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 16, 0, 17, 1, 51, 16, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, 0, 0, 1, 17, 16, 0, 0, 1, 17, 16, 0, 0, 1, 17, 0, 0, 0, 1, 17, 0, 0, 0, 0, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 16, 0, 17, 1, 34, 16, 0, 0, 1, 34, 16, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 17, 1, 34, 0, 0, 17, 1, 34, 0, 0, 0, 1, 34, 0, 0, 0, 1, 3, 16, 0, 17, 1, 51, 0, 0, 0, 1, 3, 0, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char cortex_a57_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, 1, 2, 2, 2, 3, 4, 5, 6, 7, 8, 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, 8, 8, 0, 0, 10, 6, 11, 6, 12, 6, 12, 8, 8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 short cortex_a57_transitions[] ATTRIBUTE_UNUSED = { 0, 77, 19, 311, 7, 309, 3, 291, 61, 287, 283, 101, 9, 5, 1, 0, 4, 304, 73, 301, 7, 295, 5, 291, 61, 287, 283, 6, 9, 5, 1, 0, 309, 200, 270, 310, 1, 7, 306, 294, 247, 290, 286, 111, 280, 6, 2, 0, 77, 78, 56, 127, 312, 200, 25, 211, 62, 213, 215, 102, 10, 3, 6, 0, 200, 120, 201, 128, 312, 312, 204, 205, 206, 207, 208, 106, 210, 7, 312, 0, 295, 299, 225, 296, 1, 23, 2, 294, 247, 290, 286, 312, 280, 6, 312, 0, 19, 56, 38, 39, 3, 270, 36, 223, 146, 221, 74, 107, 20, 30, 168, 0, 312, 4, 264, 72, 262, 86, 260, 53, 51, 31, 56, 57, 19, 312, 312, 201, 40, 212, 147, 214, 75, 103, 21, 66, 139, 0, 37, 38, 243, 17, 241, 237, 239, 235, 114, 67, 312, 78, 30, 57, 125, 4, 120, 26, 98, 63, 82, 312, 79, 11, 127, 125, 0, 312, 312, 128, 193, 194, 195, 196, 197, 104, 199, 139, 140, 66, 312, 312, 158, 135, 187, 188, 189, 190, 115, 68, 168, 169, 30, 312, 312, 181, 164, 184, 87, 185, 54, 46, 32, 312, 312, 19, 304, 305, 229, 302, 312, 299, 312, 211, 62, 213, 215, 312, 10, 311, 127, 0, 312, 312, 310, 308, 292, 245, 288, 284, 109, 276, 91, 90, 66, 9, 10, 20, 276, 8, 280, 17, 135, 101, 49, 282, 244, 19, 312, 2, 3, 120, 312, 124, 123, 312, 18, 27, 119, 122, 97, 312, 81, 121, 128, 123, 0, 44, 35, 312, 129, 130, 131, 132, 133, 105, 192, 158, 157, 66, 49, 44, 36, 138, 159, 160, 161, 162, 117, 186, 181, 180, 30, 50, 45, 36, 167, 182, 90, 183, 55, 44, 43, 201, 124, 19, 93, 94, 40, 38, 202, 148, 203, 76, 23, 22, 243, 158, 0, 92, 93, 86, 244, 242, 238, 240, 236, 118, 232, 264, 181, 30, 312, 312, 86, 231, 263, 91, 261, 259, 49, 48, 270, 201, 19, 312, 312, 13, 37, 224, 149, 222, 218, 108, 226, 2, 312, 0, 299, 300, 227, 297, 3, 312, 312, 205, 206, 207, 208, 312, 210, 310, 128, 0, 312, 90, 89, 307, 293, 246, 289, 285, 110, 277, 18, 274, 66, 44, 312, 271, 19, 262, 86, 260, 53, 12, 31, 29, 268, 19, 13, 312, 265, 8, 241, 237, 239, 235, 57, 67, 3, 312, 30, 124, 41, 99, 7, 58, 312, 8, 12, 73, 229, 0, 312, 312, 225, 15, 223, 146, 221, 74, 125, 20, 312, 16, 0, 123, 126, 112, 64, 83, 17, 80, 14, 140, 27, 66, 39, 28, 157, 136, 155, 141, 143, 312, 116, 69, 169, 312, 30, 4, 1, 180, 165, 178, 88, 170, 312, 42, 33, 229, 230, 19, 2, 55, 227, 0, 212, 147, 214, 75, 312, 21, 268, 269, 0, 45, 65, 266, 56, 187, 188, 189, 190, 312, 68, 274, 275, 30, 16, 76, 272, 66, 184, 87, 185, 54, 312, 32, 301, 302, 19, 24, 312, 296, 77, 292, 245, 288, 284, 305, 276, 230, 303, 66, 300, 312, 98, 63, 82, 312, 14, 11, 302, 303, 0, 15, 312, 297, 80, 194, 195, 196, 197, 312, 199, 17, 34, 66, 10, 11, 21, 199, 312, 210, 35, 312, 102, 8, 216, 124, 312, 36, 2, 3, 312, 39, 100, 1, 59, 123, 2, 13, 3, 312, 0, 28, 113, 65, 84, 157, 16, 15, 312, 312, 66, 137, 156, 142, 144, 180, 71, 70, 312, 312, 30, 166, 179, 89, 171, 312, 35, 34, 225, 227, 19, 106, 81, 23, 105, 224, 149, 222, 218, 312, 226, 227, 228, 0, 312, 312, 3, 312, 202, 148, 203, 76, 312, 22, 266, 267, 0, 111, 106, 108, 110, 159, 160, 161, 162, 312, 186, 265, 266, 30, 312, 312, 3, 312, 242, 238, 240, 236, 312, 232, 272, 273, 30, 121, 312, 13, 15, 182, 90, 183, 55, 81, 43, 271, 272, 19, 312, 312, 3, 33, 263, 91, 261, 259, 34, 48, 312, 42, 19, 280, 210, 226, 277, 2, 36, 312, 312, 111, 312, 281, 296, 297, 105, 16, 3, 312, 312, 293, 246, 289, 285, 300, 277, 228, 298, 66, 312, 17, 119, 122, 97, 297, 298, 121, 312, 312, 0, 312, 130, 131, 132, 133, 81, 192, 2, 16, 66, 61, 62, 146, 245, 312, 247, 62, 63, 147, 195, 3, 206, 101, 312, 26, 0, 41, 126, 102, 27, 312, 0, 210, 121, 22, 192, 230, 16, 70, 4, 106, 228, 209, 99, 7, 58, 71, 3, 12, 269, 312, 0, 17, 72, 267, 24, 155, 141, 143, 89, 275, 69, 312, 312, 30, 273, 312, 178, 88, 170, 25, 35, 33, 312, 19, 19, 283, 215, 74, 284, 97, 286, 59, 84, 63, 303, 7, 64, 282, 122, 298, 77, 112, 64, 83, 60, 79, 14, 312, 0, 66, 3, 25, 36, 308, 11, 306, 12, 14, 312, 121, 312, 42, 79, 20, 21, 4, 35, 312, 226, 3, 312, 107, 312, 220, 21, 12, 36, 312, 3, 22, 108, 23, 103, 312, 217, 25, 26, 40, 193, 3, 204, 31, 32, 312, 312, 3, 48, 32, 33, 51, 4, 52, 43, 110, 105, 46, 36, 47, 60, 257, 172, 254, 36, 248, 67, 68, 312, 312, 17, 232, 68, 69, 114, 61, 234, 186, 117, 71, 115, 72, 191, 101, 102, 107, 109, 72, 111, 102, 79, 103, 104, 72, 106, 199, 14, 312, 3, 312, 192, 312, 312, 104, 3, 198, 206, 122, 148, 131, 17, 213, 82, 214, 196, 312, 207, 122, 106, 1, 65, 0, 211, 98, 212, 194, 60, 205, 215, 81, 75, 197, 0, 208, 276, 199, 7, 101, 228, 277, 216, 1, 109, 77, 279, 100, 1, 59, 8, 17, 13, 0, 312, 0, 247, 206, 149, 246, 257, 258, 176, 255, 312, 252, 312, 312, 111, 267, 208, 0, 76, 133, 28, 61, 156, 142, 144, 273, 312, 70, 209, 312, 30, 77, 179, 89, 171, 29, 119, 34, 100, 113, 19, 282, 216, 220, 279, 312, 281, 286, 208, 218, 285, 101, 287, 213, 221, 288, 25, 290, 209, 281, 24, 134, 77, 291, 211, 223, 292, 60, 294, 312, 312, 35, 298, 25, 312, 22, 13, 312, 101, 113, 65, 84, 39, 23, 15, 24, 36, 66, 43, 34, 3, 48, 43, 118, 117, 312, 44, 4, 45, 49, 312, 50, 54, 36, 53, 54, 36, 55, 72, 259, 74, 75, 312, 312, 47, 218, 52, 56, 79, 56, 8, 80, 220, 81, 82, 77, 58, 83, 133, 97, 86, 87, 312, 3, 312, 91, 87, 88, 312, 60, 134, 90, 51, 139, 98, 19, 99, 112, 46, 119, 312, 19, 146, 147, 312, 312, 312, 149, 64, 101, 147, 7, 45, 65, 107, 148, 69, 0, 186, 70, 80, 70, 103, 66, 116, 0, 117, 40, 163, 188, 141, 72, 59, 72, 160, 192, 15, 195, 64, 312, 312, 115, 131, 105, 30, 134, 312, 60, 312, 104, 17, 71, 66, 205, 119, 202, 130, 204, 27, 38, 129, 207, 97, 203, 132, 312, 72, 253, 101, 175, 251, 312, 4, 226, 22, 216, 60, 217, 198, 312, 209, 108, 61, 219, 232, 186, 235, 190, 3, 312, 25, 236, 118, 312, 233, 237, 188, 312, 234, 72, 238, 168, 84, 245, 195, 312, 312, 114, 246, 94, 30, 248, 252, 173, 249, 109, 312, 85, 66, 252, 253, 174, 250, 312, 86, 258, 61, 177, 256, 100, 253, 277, 192, 142, 61, 281, 209, 219, 278, 110, 61, 278, 284, 197, 101, 71, 17, 285, 30, 312, 25, 312, 312, 312, 279, 312, 312, 139, 290, 207, 222, 289, 294, 205, 224, 293, 306, 204, 37, 307, 36, 40, 312, 60, 312, 37, 312, 101, 40, 41, 312, 4, 312, 38, 113, 4, 46, 42, 312, 51, 46, 44, 312, 4, 49, 52, 47, 72, 164, 114, 50, 36, 231, 75, 36, 162, 85, 95, 76, 134, 40, 92, 73, 137, 88, 217, 312, 163, 77, 89, 168, 86, 95, 96, 135, 312, 42, 93, 18, 19, 103, 8, 144, 104, 80, 23, 312, 86, 105, 109, 104, 107, 103, 312, 110, 3, 108, 145, 17, 152, 115, 116, 114, 115, 17, 117, 3, 118, 131, 65, 312, 135, 136, 141, 146, 72, 138, 72, 142, 312, 105, 148, 1, 66, 312, 116, 18, 312, 30, 145, 153, 149, 148, 23, 150, 156, 0, 153, 154, 160, 142, 312, 151, 108, 146, 312, 0, 312, 164, 165, 51, 117, 146, 167, 30, 172, 176, 176, 177, 312, 173, 312, 174, 73, 184, 178, 185, 170, 312, 182, 61, 183, 61, 187, 155, 189, 143, 312, 159, 107, 161, 172, 194, 112, 190, 312, 312, 130, 51, 162, 145, 218, 76, 193, 126, 312, 191, 114, 129, 168, 196, 83, 197, 219, 312, 132, 77, 133, 29, 129, 28, 212, 99, 312, 198, 85, 202, 139, 214, 58, 220, 217, 312, 203, 29, 219, 101, 223, 212, 221, 214, 312, 224, 60, 222, 25, 234, 191, 236, 162, 312, 233, 101, 163, 60, 238, 160, 239, 189, 312, 233, 164, 240, 168, 241, 187, 41, 118, 164, 242, 30, 39, 145, 246, 131, 254, 255, 255, 256, 51, 249, 4, 250, 259, 55, 110, 260, 185, 66, 312, 237, 261, 237, 285, 133, 50, 312, 166, 56, 262, 184, 172, 279, 198, 263, 278, 312, 278, 139, 312, 288, 196, 73, 171, 107, 289, 175, 135, 292, 194, 312, 308, 193, 293, 47, 85, 307, 58, 172, 45, 80, 61, 59, 114, 312, 16, 29, 312, 83, 40, 312, 96, 60, 84, 99, 17, 94, 116, 312, 100, 112, 312, 71, 85, 312, 113, 86, 312, 126, 101, 130, 113, 72, 28, 312, 114, 132, 84, 138, 137, 312, 136, 143, 29, 312, 114, 137, 144, 150, 151, 155, 85, 312, 18, 312, 156, 18, 145, 151, 152, 312, 154, 312, 146, 312, 51, 152, 159, 156, 161, 144, 167, 166, 146, 165, 170, 146, 174, 175, 166, 171, 312, 51, 312, 145, 312, 73, 173, 174, 73, 172, 178, 61, 177, 182, 179, 179, 312, 175, 183, 171, 312, 61, 202, 100, 191, 107, 198, 61, 107, 163, 312, 134, 312, 172, 203, 59, 312, 101, 217, 164, 312, 135, 312, 24, 219, 24, 222, 203, 312, 60, 224, 202, 312, 25, 231, 167, 233, 163, 312, 25, 312, 60, 240, 161, 312, 101, 242, 159, 312, 73, 312, 164, 244, 138, 249, 250, 312, 145, 250, 251, 256, 51, 261, 183, 312, 251, 312, 18, 312, 237, 263, 182, 312, 237, 179, 237, 251, 172, 278, 134, 289, 132, 293, 130, 312, 107, 307, 129, 312, 107, 312, 237, 312, 135, 312, 85, 312, 114, 312, 312, 312, 29}; /* Check vector for state transitions. */ static const unsigned short cortex_a57_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 5, 4, 4, 4, 4, 309, 309, 309, 309, 309, 5, 309, 309, 309, 309, 309, 309, 309, 309, 2, 309, 77, 77, 77, 77, 312, 77, 77, 77, 77, 77, 77, 77, 77, 2, 6, 77, 200, 200, 200, 200, 312, 312, 200, 200, 200, 200, 200, 200, 200, 6, 312, 200, 295, 295, 295, 295, 295, 23, 23, 295, 295, 295, 295, 312, 295, 295, 312, 295, 19, 19, 38, 38, 23, 19, 19, 19, 19, 19, 19, 19, 19, 30, 30, 19, 312, 38, 30, 30, 30, 30, 30, 30, 30, 30, 56, 56, 30, 312, 312, 56, 56, 56, 56, 56, 56, 56, 56, 66, 66, 56, 37, 37, 66, 66, 66, 66, 66, 66, 66, 66, 312, 78, 66, 78, 78, 37, 78, 78, 78, 78, 78, 312, 78, 78, 127, 127, 78, 312, 312, 127, 127, 127, 127, 127, 127, 127, 127, 139, 139, 127, 312, 312, 139, 139, 139, 139, 139, 139, 139, 139, 168, 168, 139, 312, 312, 168, 168, 168, 168, 168, 168, 168, 168, 312, 312, 168, 304, 304, 304, 304, 312, 304, 312, 304, 304, 304, 304, 312, 304, 311, 311, 304, 312, 312, 311, 311, 311, 311, 311, 311, 311, 311, 91, 91, 311, 9, 9, 9, 9, 9, 9, 17, 17, 9, 91, 9, 17, 91, 312, 9, 9, 120, 312, 120, 120, 312, 17, 120, 120, 120, 120, 312, 120, 120, 128, 128, 120, 44, 44, 312, 128, 128, 128, 128, 128, 128, 128, 158, 158, 128, 49, 49, 44, 158, 158, 158, 158, 158, 158, 158, 181, 181, 158, 50, 50, 49, 181, 181, 181, 181, 181, 181, 181, 201, 201, 181, 93, 93, 50, 201, 201, 201, 201, 201, 201, 201, 243, 243, 201, 92, 92, 93, 243, 243, 243, 243, 243, 243, 243, 264, 264, 243, 312, 312, 92, 264, 264, 264, 264, 264, 264, 264, 270, 270, 264, 312, 312, 13, 270, 270, 270, 270, 270, 270, 270, 13, 312, 270, 299, 299, 299, 299, 13, 312, 312, 299, 299, 299, 299, 312, 299, 310, 310, 299, 312, 90, 90, 310, 310, 310, 310, 310, 310, 310, 18, 18, 310, 90, 312, 18, 90, 18, 18, 18, 18, 12, 18, 29, 29, 18, 12, 312, 29, 12, 29, 29, 29, 29, 57, 29, 12, 312, 29, 57, 57, 57, 57, 57, 312, 57, 57, 73, 73, 57, 312, 312, 73, 15, 73, 73, 73, 73, 125, 73, 312, 15, 73, 125, 125, 125, 125, 125, 15, 125, 125, 140, 27, 125, 27, 27, 140, 140, 140, 140, 140, 312, 140, 140, 169, 312, 140, 27, 1, 169, 169, 169, 169, 169, 312, 169, 169, 229, 229, 169, 1, 55, 229, 1, 229, 229, 229, 229, 312, 229, 268, 268, 229, 55, 65, 268, 55, 268, 268, 268, 268, 312, 268, 274, 274, 268, 65, 76, 274, 65, 274, 274, 274, 274, 312, 274, 301, 301, 274, 76, 312, 301, 76, 301, 301, 301, 301, 305, 301, 305, 305, 301, 305, 312, 305, 305, 305, 312, 14, 305, 302, 302, 305, 14, 312, 302, 14, 302, 302, 302, 302, 312, 302, 14, 34, 302, 10, 10, 10, 10, 312, 10, 34, 312, 10, 8, 10, 124, 312, 34, 8, 10, 312, 124, 124, 124, 124, 123, 124, 124, 8, 312, 124, 123, 123, 123, 123, 157, 123, 123, 312, 312, 123, 157, 157, 157, 157, 180, 157, 157, 312, 312, 157, 180, 180, 180, 180, 312, 180, 180, 225, 225, 180, 106, 106, 106, 106, 225, 225, 225, 225, 312, 225, 227, 227, 225, 312, 312, 106, 312, 227, 227, 227, 227, 312, 227, 266, 266, 227, 111, 111, 111, 111, 266, 266, 266, 266, 312, 266, 265, 265, 266, 312, 312, 111, 312, 265, 265, 265, 265, 312, 265, 272, 272, 265, 121, 312, 121, 121, 272, 272, 272, 272, 121, 272, 271, 271, 272, 312, 312, 121, 33, 271, 271, 271, 271, 33, 271, 312, 33, 271, 280, 280, 280, 280, 280, 33, 312, 312, 280, 312, 280, 296, 296, 105, 105, 280, 312, 312, 296, 296, 296, 296, 300, 296, 300, 300, 296, 312, 105, 300, 300, 300, 297, 297, 300, 312, 312, 300, 312, 297, 297, 297, 297, 81, 297, 81, 81, 297, 61, 61, 61, 61, 312, 61, 62, 62, 62, 62, 81, 62, 61, 312, 26, 61, 26, 26, 62, 26, 312, 62, 210, 210, 210, 210, 230, 16, 70, 26, 210, 230, 210, 230, 230, 230, 70, 210, 230, 269, 312, 230, 16, 70, 269, 24, 269, 269, 269, 89, 275, 269, 312, 312, 269, 275, 312, 275, 275, 275, 24, 89, 275, 312, 89, 275, 283, 283, 283, 283, 97, 283, 97, 97, 63, 303, 63, 63, 283, 63, 303, 283, 303, 303, 303, 97, 63, 303, 312, 63, 303, 3, 3, 3, 3, 11, 3, 11, 11, 312, 11, 312, 42, 11, 20, 20, 3, 42, 312, 20, 11, 312, 20, 312, 20, 21, 21, 42, 312, 20, 21, 108, 108, 21, 312, 21, 25, 25, 25, 25, 21, 25, 31, 31, 312, 312, 108, 31, 32, 32, 31, 25, 31, 32, 110, 110, 32, 31, 32, 60, 60, 60, 60, 32, 60, 67, 67, 312, 312, 110, 67, 68, 68, 67, 60, 67, 68, 117, 117, 68, 67, 68, 101, 101, 101, 101, 68, 101, 102, 102, 102, 102, 117, 102, 199, 199, 312, 101, 312, 199, 312, 312, 199, 102, 199, 206, 206, 206, 206, 199, 213, 213, 213, 213, 312, 213, 122, 206, 122, 122, 206, 211, 211, 211, 211, 213, 211, 215, 122, 215, 215, 122, 215, 276, 276, 7, 211, 228, 276, 215, 7, 276, 215, 276, 228, 228, 228, 7, 276, 228, 7, 312, 228, 247, 247, 247, 247, 257, 257, 257, 257, 312, 257, 312, 312, 247, 267, 208, 247, 208, 208, 28, 257, 267, 267, 267, 273, 312, 267, 208, 312, 267, 208, 273, 273, 273, 28, 119, 273, 119, 119, 273, 282, 282, 282, 282, 312, 282, 286, 286, 286, 286, 119, 287, 287, 287, 287, 282, 287, 209, 286, 209, 209, 286, 291, 291, 291, 291, 287, 291, 312, 312, 35, 298, 209, 312, 22, 22, 312, 291, 298, 298, 298, 39, 22, 298, 22, 35, 298, 43, 43, 22, 48, 48, 118, 118, 312, 43, 39, 43, 48, 312, 48, 54, 43, 53, 53, 48, 54, 118, 53, 74, 74, 312, 312, 54, 74, 53, 54, 79, 53, 79, 79, 74, 79, 82, 74, 82, 82, 133, 82, 86, 86, 312, 79, 312, 86, 87, 87, 312, 82, 133, 87, 86, 133, 98, 86, 98, 98, 87, 98, 312, 87, 146, 146, 312, 312, 312, 146, 64, 98, 147, 147, 45, 64, 146, 147, 69, 146, 186, 186, 64, 69, 147, 64, 69, 147, 186, 45, 186, 188, 188, 69, 59, 186, 188, 192, 192, 195, 195, 312, 312, 188, 195, 192, 188, 192, 312, 59, 312, 195, 192, 71, 195, 205, 205, 205, 205, 204, 204, 204, 204, 207, 207, 207, 207, 312, 71, 253, 205, 253, 253, 312, 204, 226, 226, 216, 207, 216, 216, 312, 216, 226, 253, 226, 232, 232, 235, 235, 226, 312, 216, 235, 232, 312, 232, 237, 237, 312, 235, 232, 237, 235, 84, 245, 245, 312, 312, 237, 245, 94, 237, 248, 248, 248, 248, 245, 312, 84, 245, 252, 252, 252, 252, 312, 94, 258, 248, 258, 258, 100, 258, 277, 277, 142, 252, 281, 281, 281, 281, 277, 258, 277, 284, 284, 100, 142, 277, 284, 142, 312, 281, 312, 312, 312, 284, 312, 312, 284, 290, 290, 290, 290, 294, 294, 294, 294, 306, 306, 306, 306, 36, 36, 312, 290, 312, 36, 312, 294, 40, 40, 312, 306, 312, 40, 113, 36, 46, 46, 312, 51, 51, 46, 312, 40, 51, 52, 52, 72, 72, 113, 52, 46, 72, 75, 51, 162, 85, 85, 75, 134, 52, 85, 72, 137, 88, 75, 312, 162, 75, 88, 162, 85, 95, 95, 134, 312, 88, 95, 137, 88, 103, 103, 144, 104, 104, 103, 312, 95, 104, 109, 109, 107, 107, 312, 109, 103, 107, 144, 104, 152, 115, 115, 114, 114, 109, 115, 107, 114, 131, 131, 312, 135, 135, 141, 152, 115, 135, 114, 141, 312, 131, 148, 148, 131, 312, 141, 135, 312, 141, 145, 145, 149, 149, 148, 145, 156, 148, 153, 153, 160, 160, 312, 153, 149, 145, 312, 149, 312, 164, 164, 156, 160, 153, 164, 160, 172, 172, 176, 176, 312, 172, 312, 176, 164, 184, 184, 185, 185, 312, 184, 172, 185, 176, 187, 187, 189, 189, 312, 187, 184, 189, 185, 194, 194, 190, 312, 312, 194, 187, 190, 189, 218, 218, 193, 193, 312, 190, 194, 193, 190, 196, 196, 197, 218, 312, 196, 218, 197, 193, 129, 129, 212, 212, 312, 197, 196, 212, 197, 214, 214, 220, 220, 312, 214, 129, 220, 212, 223, 223, 221, 221, 312, 223, 214, 221, 220, 234, 234, 236, 236, 312, 234, 223, 163, 221, 238, 238, 239, 239, 312, 236, 234, 239, 236, 241, 241, 41, 238, 163, 241, 238, 41, 239, 246, 246, 254, 254, 255, 255, 241, 254, 41, 255, 259, 259, 246, 260, 260, 246, 312, 254, 260, 255, 285, 285, 259, 312, 166, 259, 262, 262, 260, 279, 279, 262, 285, 312, 279, 285, 312, 288, 288, 166, 171, 262, 288, 175, 279, 292, 292, 312, 308, 308, 292, 47, 288, 308, 58, 171, 47, 80, 175, 58, 292, 312, 80, 308, 312, 83, 47, 312, 96, 58, 83, 99, 80, 96, 116, 312, 99, 112, 312, 116, 83, 312, 112, 96, 312, 126, 99, 130, 130, 116, 126, 312, 112, 132, 132, 138, 138, 312, 136, 143, 126, 312, 130, 136, 143, 150, 150, 155, 132, 312, 138, 312, 155, 136, 143, 151, 151, 312, 154, 312, 150, 312, 155, 154, 159, 159, 161, 161, 167, 167, 151, 165, 170, 154, 174, 174, 165, 170, 312, 159, 312, 161, 312, 167, 173, 173, 165, 170, 178, 174, 177, 182, 182, 178, 312, 177, 183, 183, 312, 173, 202, 202, 191, 178, 198, 177, 182, 191, 312, 198, 312, 183, 203, 203, 312, 202, 217, 191, 312, 198, 312, 217, 219, 219, 222, 222, 312, 203, 224, 224, 312, 217, 231, 231, 233, 233, 312, 219, 312, 222, 240, 240, 312, 224, 242, 242, 312, 231, 312, 233, 244, 244, 249, 249, 312, 240, 250, 250, 256, 242, 261, 261, 312, 256, 312, 244, 312, 249, 263, 263, 312, 250, 179, 256, 251, 261, 278, 278, 289, 289, 293, 293, 312, 263, 307, 307, 312, 179, 312, 251, 312, 278, 312, 289, 312, 293, 312, 312, 312, 307}; /* Base vector for state transitions. */ static const unsigned short cortex_a57_base[] = { 0, 460, 46, 822, 16, 22, 62, 956, 557, 233, 548, 826, 393, 345, 530, 425, 758, 239, 382, 96, 835, 846, 1047, 85, 776, 857, 745, 444, 992, 395, 109, 863, 869, 673, 546, 1043, 1292, 138, 98, 1054, 1300, 1528, 833, 1060, 265, 1134, 1308, 1586, 1063, 278, 291, 1311, 1317, 1076, 1074, 473, 122, 406, 1589, 1154, 880, 731, 737, 805, 1130, 486, 135, 886, 892, 1138, 759, 1173, 1319, 419, 1082, 1325, 499, 48, 149, 1090, 1592, 726, 1096, 1600, 1224, 1328, 1102, 1108, 1336, 780, 373, 230, 317, 304, 1231, 1344, 1603, 801, 1116, 1606, 1251, 903, 909, 1352, 1355, 696, 605, 1363, 852, 1361, 875, 631, 1612, 1306, 1374, 1372, 1609, 898, 1065, 1008, 249, 657, 937, 569, 559, 430, 1620, 162, 262, 1481, 1622, 1380, 1628, 1100, 1331, 1383, 1633, 1335, 1630, 175, 443, 1385, 1255, 1634, 1354, 1401, 1124, 1132, 1393, 1403, 1640, 1650, 1371, 1409, 1653, 1642, 1407, 579, 275, 1659, 1411, 1661, 1327, 1515, 1420, 1666, 1559, 1663, 188, 456, 1667, 1575, 1427, 1679, 1669, 1578, 1429, 1685, 1683, 1767, 589, 288, 1686, 1691, 1436, 1438, 1140, 1445, 1151, 1447, 1456, 1697, 1157, 1465, 1454, 1159, 1472, 1474, 1699, 915, 64, 301, 1695, 1707, 1179, 1175, 926, 1183, 988, 1030, 753, 942, 1483, 931, 1490, 948, 1197, 1711, 1463, 1717, 1492, 1501, 1719, 1499, 1723, 602, 1195, 615, 958, 469, 757, 1727, 1206, 1729, 1508, 1208, 1510, 1217, 1517, 1519, 1735, 1526, 1739, 314, 1745, 1225, 1535, 974, 1233, 1747, 1751, 1769, 1241, 1189, 1537, 1539, 1753, 978, 1247, 1545, 1548, 1755, 1561, 1763, 327, 641, 628, 987, 482, 770, 340, 667, 654, 997, 495, 781, 954, 1253, 1771, 1564, 683, 1257, 1013, 797, 1264, 1555, 1019, 1024, 1572, 1773, 1280, 1035, 1580, 1775, 1284, 80, 694, 715, 1044, 356, 705, 508, 532, 806, 204, 519, 1288, 1779, 1583, 32, 369, 217}; /* Vector of min issue delay of insns. */ static const unsigned char cortex_a57_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 17, 17, 17, 17, 1, 16, 1, 17, 33, 50, 34, 35, 34, 32, 0, 0, 16, 33, 17, 18, 17, 16, 0, 0, 0, 16, 0, 1, 0, 0, 2, 34, 32, 34, 34, 34, 18, 32, 2, 34, 33, 34, 34, 34, 18, 32, 1, 17, 16, 17, 17, 17, 1, 16, 1, 17, 32, 50, 34, 35, 34, 32, 0, 0, 0, 50, 2, 3, 34, 0, 0, 0, 32, 50, 2, 3, 34, 32, 1, 0, 32, 50, 2, 35, 34, 32, 1, 17, 32, 50, 2, 35, 34, 32, 1, 17, 33, 50, 2, 35, 34, 32, 1, 68, 64, 50, 2, 35, 36, 64, 1, 68, 65, 50, 2, 35, 36, 64, 1, 68, 65, 50, 34, 35, 36, 64, 0, 51, 48, 33, 17, 18, 19, 48, 0, 34, 32, 16, 0, 1, 2, 32, 0, 17, 16, 0, 0, 0, 1, 16, 0, 17, 32, 50, 2, 3, 34, 32, 0, 17, 32, 50, 2, 3, 34, 32, 0, 17, 33, 50, 2, 3, 34, 32, 0, 17, 33, 50, 34, 35, 34, 32, 1, 17, 33, 50, 34, 35, 34, 32, 0, 0, 16, 33, 17, 18, 17, 16, 1, 0, 16, 33, 17, 18, 17, 16, 1, 0, 17, 33, 17, 18, 17, 16, 1, 68, 65, 33, 17, 18, 20, 64, 0, 51, 48, 16, 0, 1, 3, 48, 0, 34, 32, 0, 0, 0, 2, 32, 0, 34, 32, 50, 2, 3, 34, 32, 0, 34, 32, 50, 2, 3, 34, 32, 1, 34, 32, 50, 2, 35, 34, 32, 1, 34, 33, 50, 2, 35, 34, 32, 1, 34, 33, 50, 34, 35, 34, 32, 0, 17, 16, 33, 17, 18, 17, 16, 0, 17, 17, 33, 17, 18, 17, 16, 0, 17, 17, 33, 17, 18, 17, 16, 1, 17, 17, 33, 17, 18, 17, 16, 0, 17, 16, 33, 17, 18, 17, 16, 1, 17, 16, 33, 17, 18, 17, 16, 1, 34, 32, 50, 34, 35, 34, 32, 0, 34, 33, 50, 2, 3, 34, 32, 0, 34, 33, 50, 34, 35, 34, 32, 1, 34, 33, 50, 34, 35, 34, 32, 0, 34, 32, 50, 34, 35, 34, 32, 1, 34, 32, 50, 34, 35, 34, 32, 0, 34, 33, 50, 2, 3, 34, 32, 0, 34, 33, 50, 34, 35, 34, 32, 0, 34, 33, 50, 34, 35, 34, 32, 0, 34, 32, 50, 34, 35, 34, 32, 0, 34, 32, 50, 34, 35, 34, 32, 0, 34, 32, 17, 17, 17, 2, 32, 1, 34, 32, 17, 17, 17, 2, 32, 1, 34, 33, 17, 17, 17, 2, 32, 0, 17, 16, 0, 0, 0, 1, 16, 1, 17, 16, 0, 0, 16, 1, 16, 1, 17, 48, 51, 51, 51, 35, 48, 1, 17, 49, 51, 51, 51, 35, 48, 0, 0, 32, 34, 34, 34, 18, 32, 0, 0, 16, 17, 17, 17, 1, 16, 0, 0, 16, 17, 17, 17, 1, 16, 1, 0, 16, 17, 17, 17, 1, 16, 1, 68, 64, 17, 17, 17, 4, 64, 1, 68, 65, 17, 17, 17, 4, 64, 0, 51, 48, 0, 0, 0, 3, 48, 0, 51, 48, 50, 2, 3, 35, 48, 0, 51, 48, 50, 2, 3, 35, 48, 1, 51, 48, 50, 2, 35, 35, 48, 1, 51, 49, 50, 2, 35, 35, 48, 1, 51, 49, 50, 34, 35, 35, 48, 0, 34, 32, 33, 17, 18, 18, 32, 0, 17, 16, 16, 0, 1, 1, 16, 0, 17, 32, 17, 17, 17, 2, 32, 1, 17, 32, 17, 17, 17, 2, 32, 1, 17, 33, 17, 17, 17, 2, 32, 0, 0, 16, 0, 0, 0, 1, 16, 1, 0, 16, 0, 0, 16, 1, 16, 1, 0, 32, 50, 34, 35, 34, 32, 1, 68, 64, 50, 34, 35, 36, 64, 1, 0, 33, 50, 34, 35, 34, 32, 1, 0, 48, 51, 51, 51, 35, 48, 1, 68, 64, 51, 51, 51, 36, 64, 1, 68, 65, 51, 51, 51, 36, 64, 0, 51, 48, 34, 34, 34, 19, 48, 0, 34, 32, 17, 17, 17, 2, 32, 0, 34, 32, 17, 17, 17, 2, 32, 1, 34, 32, 17, 17, 17, 2, 32, 1, 34, 33, 17, 17, 17, 2, 32, 0, 34, 33, 17, 17, 17, 2, 32, 0, 34, 33, 17, 17, 17, 2, 32, 0, 51, 49, 34, 34, 34, 19, 48, 0, 51, 49, 34, 34, 34, 19, 48, 1, 51, 49, 34, 34, 34, 19, 48, 0, 51, 48, 34, 34, 34, 19, 48, 1, 51, 48, 34, 34, 34, 19, 48, 1, 0, 49, 51, 51, 51, 35, 48, 1, 0, 48, 67, 51, 52, 51, 48, 1, 17, 48, 67, 51, 52, 51, 48, 1, 17, 49, 67, 51, 52, 51, 48, 0, 0, 32, 50, 34, 35, 34, 32, 0, 0, 32, 50, 34, 35, 34, 32, 0, 17, 32, 50, 34, 35, 34, 32, 0, 68, 64, 50, 34, 35, 36, 64, 0, 68, 65, 50, 34, 35, 36, 64, 0, 0, 33, 50, 34, 35, 34, 32, 0, 17, 32, 50, 34, 35, 34, 32, 0, 17, 33, 50, 34, 35, 34, 32, 0, 68, 64, 50, 34, 35, 36, 64, 0, 68, 65, 50, 34, 35, 36, 64, 0, 0, 33, 50, 34, 35, 34, 32, 1, 68, 64, 67, 51, 52, 52, 64, 1, 68, 65, 67, 51, 52, 52, 64, 0, 51, 48, 50, 34, 35, 35, 48, 0, 51, 48, 50, 34, 35, 35, 48, 1, 51, 48, 50, 34, 35, 35, 48, 0, 51, 49, 50, 34, 35, 35, 48, 0, 51, 49, 50, 34, 35, 35, 48, 1, 0, 49, 67, 51, 52, 51, 48, 1, 0, 17, 0, 0, 16, 1, 16, 1, 0, 33, 50, 2, 35, 34, 32, 1, 0, 17, 17, 17, 17, 1, 16, 1, 68, 65, 0, 0, 16, 4, 64, 1, 17, 17, 0, 0, 16, 1, 16, 1, 68, 64, 0, 0, 16, 4, 64, 1, 68, 64, 33, 17, 18, 20, 64, 0, 68, 64, 0, 0, 0, 4, 64, 0, 68, 65, 0, 0, 0, 4, 64, 0, 68, 65, 33, 17, 18, 20, 64, 0, 68, 65, 67, 51, 52, 52, 64, 0, 68, 65, 17, 17, 17, 4, 64, 0, 68, 65, 51, 51, 51, 36, 64, 1, 68, 65, 17, 17, 17, 4, 64, 1, 68, 65, 50, 34, 35, 36, 64, 0, 51, 48, 33, 17, 18, 19, 48, 1, 51, 48, 33, 17, 18, 19, 48, 1, 51, 49, 33, 17, 18, 19, 48, 0, 51, 49, 33, 17, 18, 19, 48, 0, 51, 48, 0, 0, 0, 3, 48, 1, 51, 48, 0, 0, 16, 3, 48, 1, 51, 48, 17, 17, 17, 3, 48, 1, 51, 49, 17, 17, 17, 3, 48, 1, 51, 48, 51, 51, 51, 35, 48, 1, 51, 49, 51, 51, 51, 35, 48, 0, 34, 32, 34, 34, 34, 18, 32, 0, 17, 16, 17, 17, 17, 1, 16, 0, 17, 16, 17, 17, 17, 1, 16, 0, 17, 17, 17, 17, 17, 1, 16, 0, 17, 17, 17, 17, 17, 1, 16, 0, 34, 33, 34, 34, 34, 18, 32, 0, 34, 33, 34, 34, 34, 18, 32, 1, 34, 33, 34, 34, 34, 18, 32, 0, 34, 32, 34, 34, 34, 18, 32, 1, 34, 32, 34, 34, 34, 18, 32, 1, 51, 48, 67, 51, 52, 51, 48, 1, 51, 49, 67, 51, 52, 51, 48, 1, 51, 49, 0, 0, 16, 3, 48, 0, 51, 49, 0, 0, 0, 3, 48, 0, 51, 49, 67, 51, 52, 51, 48, 0, 51, 49, 17, 17, 17, 3, 48, 0, 51, 49, 51, 51, 51, 35, 48, 1, 51, 49, 17, 17, 17, 3, 48, 1, 51, 49, 50, 34, 35, 35, 48, 0, 34, 32, 33, 17, 18, 18, 32, 1, 34, 32, 33, 17, 18, 18, 32, 1, 34, 33, 33, 17, 18, 18, 32, 0, 34, 33, 33, 17, 18, 18, 32, 0, 34, 32, 0, 0, 0, 2, 32, 1, 34, 32, 0, 0, 16, 2, 32, 1, 34, 48, 51, 51, 51, 35, 48, 1, 34, 49, 51, 51, 51, 35, 48, 0, 17, 32, 34, 34, 34, 18, 32, 0, 17, 33, 34, 34, 34, 18, 32, 0, 17, 33, 34, 34, 34, 18, 32, 1, 17, 33, 34, 34, 34, 18, 32, 0, 17, 32, 34, 34, 34, 18, 32, 1, 17, 32, 34, 34, 34, 18, 32, 1, 34, 48, 67, 51, 52, 51, 48, 1, 34, 49, 67, 51, 52, 51, 48, 1, 34, 33, 0, 0, 16, 2, 32, 0, 34, 33, 0, 0, 0, 2, 32, 0, 34, 49, 67, 51, 52, 51, 48, 0, 34, 49, 51, 51, 51, 35, 48, 0, 34, 48, 67, 51, 52, 51, 48, 0, 34, 48, 51, 51, 51, 35, 48, 0, 51, 49, 50, 2, 3, 35, 48, 0, 51, 48, 67, 51, 52, 51, 48, 0, 51, 48, 17, 17, 17, 3, 48, 0, 51, 48, 51, 51, 51, 35, 48, 1, 51, 48, 17, 17, 17, 3, 48, 1, 51, 48, 50, 34, 35, 35, 48, 0, 68, 65, 50, 2, 3, 36, 64, 0, 68, 64, 33, 17, 18, 20, 64, 0, 68, 64, 67, 51, 52, 52, 64, 0, 68, 64, 17, 17, 17, 4, 64, 0, 68, 64, 51, 51, 51, 36, 64, 1, 68, 64, 17, 17, 17, 4, 64, 1, 68, 64, 50, 34, 35, 36, 64, 0, 68, 64, 50, 2, 3, 36, 64, 0, 0, 17, 0, 0, 0, 1, 16, 0, 17, 17, 0, 0, 0, 1, 16, 0, 17, 49, 67, 51, 52, 51, 48, 0, 17, 49, 51, 51, 51, 35, 48, 0, 0, 17, 33, 17, 18, 17, 16, 0, 0, 49, 67, 51, 52, 51, 48, 0, 0, 17, 17, 17, 17, 1, 16, 0, 0, 49, 51, 51, 51, 35, 48, 1, 0, 33, 17, 17, 17, 2, 32, 1, 0, 33, 50, 34, 35, 34, 32, 0, 0, 33, 50, 2, 3, 34, 32, 0, 0, 48, 67, 51, 52, 51, 48, 0, 17, 48, 67, 51, 52, 51, 48, 0, 0, 48, 51, 51, 51, 35, 48, 0, 17, 48, 51, 51, 51, 35, 48, 1, 0, 32, 17, 17, 17, 2, 32, 1, 0, 32, 50, 34, 35, 34, 32, 1, 17, 32, 50, 34, 35, 34, 32, 0, 17, 33, 17, 17, 17, 2, 32, 0, 17, 33, 50, 34, 35, 34, 32, 0, 17, 32, 50, 34, 35, 34, 32, 0, 17, 48, 51, 51, 51, 35, 48, 0, 17, 49, 51, 51, 51, 35, 48, 0, 17, 48, 67, 51, 52, 51, 48, 0, 17, 49, 67, 51, 52, 51, 48, 0, 17, 17, 16, 0, 1, 1, 16, 0, 17, 33, 50, 2, 3, 34, 32, 0, 17, 17, 16, 0, 1, 1, 16, 1, 17, 17, 16, 0, 17, 1, 16, 0, 17, 16, 16, 0, 1, 1, 16, 1, 17, 16, 16, 0, 17, 1, 16, 0, 34, 33, 33, 17, 18, 18, 32, 0, 51, 49, 50, 2, 3, 35, 48, 0, 51, 49, 50, 34, 35, 35, 48, 0, 51, 48, 50, 34, 35, 35, 48, 0, 51, 48, 17, 17, 17, 3, 48, 0, 51, 49, 17, 17, 17, 3, 48, 0, 51, 48, 17, 17, 17, 3, 48, 0, 51, 49, 17, 17, 17, 3, 48, 0, 51, 48, 51, 51, 51, 35, 48, 0, 51, 49, 51, 51, 51, 35, 48, 0, 51, 48, 67, 51, 52, 51, 48, 0, 51, 49, 67, 51, 52, 51, 48, 0, 51, 49, 0, 0, 0, 3, 48, 0, 51, 49, 33, 17, 18, 19, 48, 0, 68, 64, 17, 17, 17, 4, 64, 0, 68, 65, 17, 17, 17, 4, 64, 0, 0, 17, 17, 17, 17, 1, 16, 0, 0, 33, 34, 34, 34, 18, 32, 0, 68, 65, 34, 34, 34, 20, 64, 0, 68, 65, 34, 34, 34, 20, 64, 1, 68, 65, 34, 34, 34, 20, 64, 0, 0, 33, 34, 34, 34, 18, 32, 1, 0, 33, 34, 34, 34, 18, 32, 0, 68, 64, 34, 34, 34, 20, 64, 0, 68, 64, 34, 34, 34, 20, 64, 1, 68, 64, 34, 34, 34, 20, 64, 0, 0, 32, 34, 34, 34, 18, 32, 1, 0, 32, 34, 34, 34, 18, 32, 0, 34, 33, 17, 17, 17, 2, 32, 0, 34, 48, 51, 51, 51, 35, 48, 0, 34, 49, 51, 51, 51, 35, 48, 0, 34, 48, 67, 51, 52, 51, 48, 0, 34, 49, 67, 51, 52, 51, 48, 0, 34, 33, 0, 0, 0, 2, 32, 0, 51, 49, 16, 0, 1, 3, 48, 0, 51, 49, 16, 0, 1, 3, 48, 1, 51, 49, 16, 0, 17, 3, 48, 0, 51, 48, 16, 0, 1, 3, 48, 1, 51, 48, 16, 0, 17, 3, 48, 0, 17, 17, 0, 0, 0, 1, 16, 0, 34, 33, 16, 0, 1, 2, 32, 0, 34, 33, 16, 0, 1, 2, 32, 1, 34, 33, 16, 0, 17, 2, 32, 0, 34, 32, 16, 0, 1, 2, 32, 1, 34, 32, 16, 0, 17, 2, 32, 0, 68, 64, 50, 2, 3, 36, 64, 0, 68, 65, 50, 2, 3, 36, 64, 0, 68, 65, 50, 34, 35, 36, 64, 0, 68, 64, 50, 34, 35, 36, 64, 0, 0, 1, 50, 2, 3, 34, 32, 0, 0, 33, 50, 34, 35, 34, 32, 0, 0, 32, 50, 34, 35, 34, 32, 0, 0, 32, 17, 17, 17, 2, 32, 0, 68, 64, 17, 17, 17, 4, 64, 0, 68, 65, 17, 17, 17, 4, 64, 0, 0, 33, 17, 17, 17, 2, 32, 0, 0, 48, 51, 51, 51, 35, 48, 0, 68, 64, 51, 51, 51, 36, 64, 0, 68, 65, 51, 51, 51, 36, 64, 0, 0, 49, 51, 51, 51, 35, 48, 0, 0, 48, 67, 51, 52, 51, 48, 0, 68, 64, 67, 51, 52, 52, 64, 0, 68, 65, 67, 51, 52, 52, 64, 0, 0, 49, 67, 51, 52, 51, 48, 0, 0, 1, 16, 0, 1, 0, 16, 0, 68, 65, 16, 0, 1, 4, 64, 0, 68, 65, 16, 0, 1, 4, 64, 1, 68, 65, 16, 0, 17, 4, 64, 0, 0, 17, 16, 0, 1, 1, 16, 1, 0, 17, 16, 0, 17, 1, 16, 0, 68, 64, 16, 0, 1, 4, 64, 0, 68, 64, 16, 0, 1, 4, 64, 1, 68, 64, 16, 0, 17, 4, 64, 0, 0, 16, 16, 0, 1, 1, 16, 1, 0, 16, 16, 0, 17, 1, 16, 0, 0, 17, 33, 17, 18, 17, 16, 0, 68, 65, 33, 17, 18, 20, 64, 0, 68, 64, 33, 17, 18, 20, 64, 0, 0, 1, 0, 0, 0, 0, 16, 0, 68, 65, 0, 0, 0, 4, 64, 0, 68, 64, 0, 0, 0, 4, 64}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char cortex_a57_cx_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, 1, 0, 0, 0, 0, 0, 2, 1, 3, 4, 2, 2, 5, 6, 5, 6, 5, 3, 3, 3, 3, 4, 3, 4, 2, 2, 1, 7, 2, 1, 7, 2, 1, 8, 9, 2, 1, 2, 1, 2, 1, 8, 10, 10, 10, 0, 0, 0, 2, 1, 2, 1, 0, 0, 10, 2, 2, 2, 11, 2, 3, 2, 2, 12, 13, 13, 5, 6, 8, 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, 14}; /* Comb vector for state transitions. */ static const unsigned char cortex_a57_cx_transitions[] ATTRIBUTE_UNUSED = { 0, 80, 10, 6, 5, 10, 49, 75, 49, 73, 83, 197, 191, 1, 0, 8, 82, 28, 46, 59, 28, 63, 76, 63, 107, 74, 179, 175, 17, 9, 9, 75, 49, 26, 79, 49, 204, 83, 79, 204, 7, 169, 164, 140, 10, 48, 76, 63, 61, 85, 63, 204, 74, 85, 8, 11, 101, 96, 93, 49, 155, 92, 55, 43, 4, 55, 68, 73, 68, 2, 72, 156, 204, 12, 44, 199, 113, 171, 109, 78, 171, 103, 107, 103, 204, 87, 200, 13, 16, 110, 44, 23, 41, 5, 204, 41, 104, 83, 104, 72, 204, 45, 17, 204, 6, 122, 25, 127, 59, 204, 127, 118, 74, 118, 87, 41, 123, 23, 23, 26, 40, 73, 68, 129, 22, 68, 42, 72, 22, 6, 19, 131, 204, 20, 41, 57, 71, 70, 4, 204, 70, 90, 72, 90, 4, 21, 58, 21, 204, 5, 158, 88, 133, 78, 204, 133, 163, 87, 163, 22, 45, 159, 120, 120, 79, 181, 107, 103, 125, 161, 103, 108, 87, 161, 46, 204, 182, 204, 10, 104, 80, 80, 23, 204, 23, 24, 23, 204, 25, 154, 12, 11, 0, 28, 204, 82, 82, 25, 6, 25, 27, 25, 26, 29, 39, 30, 29, 9, 49, 204, 75, 75, 83, 204, 28, 30, 83, 18, 32, 54, 52, 50, 10, 63, 204, 76, 76, 74, 204, 31, 33, 74, 15, 34, 67, 66, 64, 49, 101, 204, 62, 62, 86, 204, 34, 36, 86, 35, 37, 102, 97, 94, 63, 169, 204, 27, 27, 81, 204, 29, 38, 81, 11, 39, 170, 165, 141, 28, 179, 204, 47, 47, 60, 204, 32, 42, 60, 40, 47, 180, 176, 134, 48, 197, 204, 7, 7, 120, 18, 43, 65, 120, 48, 65, 198, 192, 186, 8, 1, 20, 11, 204, 19, 11, 50, 2, 50, 51, 204, 186, 51, 65, 2, 65, 204, 3, 184, 19, 204, 3, 19, 91, 4, 91, 71, 204, 77, 71, 72, 4, 72, 204, 5, 89, 23, 204, 5, 23, 83, 6, 83, 80, 204, 120, 80, 75, 6, 75, 204, 13, 7, 53, 204, 0, 53, 38, 14, 38, 32, 204, 148, 32, 99, 14, 99, 204, 15, 138, 100, 204, 15, 100, 37, 17, 37, 29, 204, 16, 29, 64, 1, 64, 204, 43, 134, 92, 50, 18, 92, 73, 46, 73, 82, 204, 121, 82, 76, 44, 76, 51, 51, 47, 204, 55, 9, 92, 92, 71, 52, 204, 59, 71, 25, 3, 56, 25, 74, 44, 74, 53, 204, 60, 53, 68, 26, 73, 73, 72, 54, 204, 78, 72, 88, 14, 69, 88, 87, 41, 87, 56, 204, 84, 55, 103, 79, 107, 107, 87, 60, 62, 109, 87, 113, 57, 106, 113, 107, 104, 107, 204, 204, 114, 61, 63, 110, 110, 83, 104, 79, 204, 104, 204, 115, 74, 118, 85, 111, 118, 204, 80, 204, 64, 204, 116, 204, 131, 75, 130, 130, 24, 204, 65, 139, 24, 147, 65, 132, 147, 146, 127, 146, 204, 149, 145, 34, 19, 140, 34, 153, 204, 153, 66, 204, 150, 204, 156, 35, 121, 121, 89, 67, 69, 204, 89, 71, 38, 157, 72, 171, 122, 113, 113, 88, 204, 68, 70, 88, 73, 5, 172, 204, 23, 110, 173, 72, 90, 22, 175, 90, 30, 204, 41, 30, 66, 174, 66, 74, 23, 176, 204, 182, 31, 126, 126, 162, 204, 75, 185, 162, 21, 75, 183, 21, 137, 118, 137, 204, 187, 160, 142, 10, 22, 142, 95, 191, 95, 12, 76, 188, 12, 52, 143, 52, 204, 193, 192, 166, 204, 13, 166, 98, 49, 98, 77, 204, 194, 80, 200, 167, 114, 114, 84, 204, 204, 204, 84, 204, 78, 201, 204, 0, 115, 202, 87, 163, 161, 22, 163, 72, 204, 26, 72, 75, 203, 204, 75, 83, 24, 204, 204, 23, 27, 204, 31, 10, 38, 204, 35, 38, 37, 204, 204, 37, 58, 33, 89, 89, 32, 36, 81, 61, 11, 76, 204, 77, 76, 70, 59, 71, 71, 79, 62, 83, 82, 49, 83, 90, 19, 72, 72, 5, 81, 204, 85, 80, 74, 204, 91, 74, 204, 23, 93, 204, 64, 86, 204, 64, 75, 96, 82, 66, 204, 94, 66, 104, 65, 83, 83, 111, 97, 81, 81, 38, 9, 116, 105, 86, 86, 80, 112, 83, 118, 82, 74, 74, 117, 204, 123, 76, 60, 60, 125, 119, 107, 80, 75, 107, 127, 124, 25, 25, 61, 126, 84, 129, 104, 73, 204, 128, 73, 133, 26, 88, 88, 135, 130, 95, 85, 41, 95, 86, 21, 204, 204, 79, 136, 204, 140, 91, 50, 87, 143, 50, 91, 76, 151, 91, 146, 141, 204, 146, 51, 144, 204, 83, 71, 152, 88, 159, 50, 84, 84, 161, 163, 87, 87, 87, 87, 89, 160, 204, 79, 85, 162, 137, 204, 83, 83, 164, 167, 52, 99, 59, 52, 99, 174, 204, 24, 24, 165, 168, 204, 53, 100, 204, 177, 144, 98, 91, 25, 98, 92, 189, 195, 137, 153, 178, 137, 153, 99, 94, 95, 71, 190, 196, 44, 72, 37, 203, 97, 162, 162, 99, 98, 95, 91, 100, 102, 105, 190, 106, 107, 74, 98, 108, 112, 100, 99, 113, 114, 1, 103, 92, 117, 90, 104, 119, 120, 109, 113, 121, 124, 110, 115, 126, 128, 130, 107, 132, 134, 73, 46, 137, 136, 122, 125, 138, 141, 118, 129, 127, 142, 133, 135, 144, 145, 72, 137, 146, 147, 139, 142, 148, 150, 152, 143, 153, 154, 88, 93, 157, 160, 50, 140, 162, 165, 149, 151, 64, 166, 37, 155, 168, 170, 158, 161, 172, 176, 74, 166, 178, 180, 183, 167, 184, 186, 147, 171, 188, 190, 173, 177, 192, 194, 153, 181, 163, 196, 185, 187, 198, 201, 189, 87, 204, 204, 193, 195, 204, 204, 204, 146, 204, 204, 199, 202}; /* Check vector for state transitions. */ static const unsigned char cortex_a57_cx_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 204, 9, 9, 204, 7, 9, 9, 9, 9, 48, 48, 48, 48, 48, 48, 204, 48, 48, 7, 11, 48, 48, 48, 48, 155, 155, 155, 155, 155, 155, 155, 155, 155, 11, 155, 155, 204, 12, 155, 199, 199, 199, 199, 199, 199, 199, 199, 199, 204, 199, 199, 12, 16, 199, 44, 44, 44, 44, 204, 44, 44, 44, 44, 44, 204, 44, 16, 204, 44, 122, 122, 122, 122, 204, 122, 122, 122, 122, 122, 41, 122, 41, 41, 122, 40, 40, 40, 40, 40, 40, 41, 40, 40, 41, 19, 40, 204, 20, 40, 57, 57, 57, 57, 204, 57, 57, 57, 57, 19, 21, 57, 20, 204, 57, 158, 158, 158, 158, 204, 158, 158, 158, 158, 21, 45, 158, 45, 45, 158, 181, 181, 181, 181, 181, 181, 45, 181, 181, 45, 204, 181, 204, 10, 181, 10, 10, 10, 204, 23, 24, 10, 204, 25, 10, 10, 10, 10, 28, 204, 28, 28, 28, 23, 24, 27, 28, 25, 29, 28, 28, 28, 28, 49, 204, 49, 49, 49, 204, 27, 30, 49, 29, 32, 49, 49, 49, 49, 63, 204, 63, 63, 63, 204, 30, 33, 63, 32, 34, 63, 63, 63, 63, 101, 204, 101, 101, 101, 204, 33, 36, 101, 34, 37, 101, 101, 101, 101, 169, 204, 169, 169, 169, 204, 36, 38, 169, 37, 39, 169, 169, 169, 169, 179, 204, 179, 179, 179, 204, 38, 42, 179, 39, 47, 179, 179, 179, 179, 197, 204, 197, 197, 197, 18, 42, 18, 197, 47, 18, 197, 197, 197, 197, 1, 18, 1, 204, 18, 1, 1, 2, 1, 2, 204, 1, 2, 2, 1, 2, 204, 3, 2, 3, 204, 2, 3, 3, 4, 3, 4, 204, 3, 4, 4, 3, 4, 204, 5, 4, 5, 204, 4, 5, 5, 6, 5, 6, 204, 5, 6, 6, 5, 6, 204, 13, 6, 13, 204, 6, 13, 13, 14, 13, 14, 204, 13, 14, 14, 13, 14, 204, 15, 14, 15, 204, 14, 15, 15, 17, 15, 17, 204, 15, 17, 17, 15, 17, 204, 43, 17, 43, 50, 17, 43, 43, 46, 43, 46, 204, 43, 46, 46, 43, 46, 51, 50, 46, 204, 55, 46, 55, 55, 55, 52, 204, 59, 55, 59, 51, 55, 59, 59, 55, 59, 53, 204, 59, 52, 68, 59, 68, 68, 68, 54, 204, 78, 68, 78, 53, 68, 78, 78, 68, 78, 56, 204, 78, 54, 103, 78, 103, 103, 103, 60, 62, 109, 103, 109, 56, 103, 109, 109, 103, 109, 204, 204, 109, 60, 62, 109, 110, 110, 110, 110, 204, 110, 204, 115, 115, 115, 115, 110, 115, 204, 110, 204, 64, 204, 115, 204, 131, 115, 131, 131, 131, 204, 65, 139, 131, 139, 64, 131, 139, 139, 131, 139, 204, 149, 139, 149, 65, 139, 149, 149, 204, 149, 66, 204, 149, 204, 156, 149, 156, 156, 156, 67, 69, 204, 156, 71, 66, 156, 72, 171, 156, 171, 171, 171, 204, 67, 69, 171, 73, 71, 171, 204, 72, 171, 173, 173, 173, 173, 175, 173, 175, 204, 73, 175, 175, 173, 175, 74, 173, 175, 204, 182, 175, 182, 182, 182, 204, 75, 185, 182, 185, 74, 182, 185, 185, 182, 185, 204, 187, 185, 187, 75, 185, 187, 187, 191, 187, 191, 76, 187, 191, 191, 187, 191, 204, 193, 191, 193, 204, 191, 193, 193, 76, 193, 77, 204, 193, 80, 200, 193, 200, 200, 200, 204, 204, 204, 200, 204, 77, 200, 204, 80, 200, 202, 202, 202, 202, 22, 202, 22, 204, 26, 22, 26, 202, 204, 26, 202, 22, 204, 204, 22, 26, 204, 31, 26, 31, 204, 35, 31, 35, 204, 204, 35, 58, 31, 58, 58, 31, 35, 81, 61, 35, 61, 204, 58, 61, 70, 58, 70, 70, 79, 61, 79, 81, 61, 79, 90, 70, 90, 90, 70, 79, 204, 85, 79, 85, 204, 90, 85, 204, 90, 93, 204, 93, 85, 204, 93, 85, 96, 82, 96, 204, 93, 96, 104, 93, 104, 104, 111, 96, 111, 111, 96, 82, 116, 104, 116, 116, 104, 111, 83, 118, 111, 118, 118, 116, 204, 123, 116, 123, 123, 125, 118, 125, 83, 118, 125, 127, 123, 127, 127, 123, 125, 84, 129, 125, 129, 204, 127, 129, 133, 127, 133, 133, 135, 129, 135, 84, 129, 135, 86, 133, 204, 204, 133, 135, 204, 140, 135, 140, 87, 143, 140, 143, 86, 151, 143, 151, 140, 204, 151, 140, 143, 204, 87, 143, 151, 88, 159, 151, 159, 159, 161, 163, 161, 163, 163, 161, 89, 159, 204, 88, 159, 161, 163, 204, 161, 163, 164, 167, 164, 167, 89, 164, 167, 174, 204, 174, 174, 164, 167, 204, 164, 167, 204, 177, 174, 177, 91, 174, 177, 92, 189, 195, 189, 195, 177, 189, 195, 177, 94, 95, 91, 189, 195, 92, 189, 195, 203, 97, 203, 203, 99, 98, 94, 95, 100, 102, 105, 203, 106, 107, 203, 97, 108, 112, 99, 98, 113, 114, 100, 102, 105, 117, 106, 107, 119, 120, 108, 112, 121, 124, 113, 114, 126, 128, 130, 117, 132, 134, 119, 120, 137, 136, 121, 124, 138, 141, 126, 128, 130, 142, 132, 134, 144, 145, 137, 136, 146, 147, 138, 141, 148, 150, 152, 142, 153, 154, 144, 145, 157, 160, 146, 147, 162, 165, 148, 150, 152, 166, 153, 154, 168, 170, 157, 160, 172, 176, 162, 165, 178, 180, 183, 166, 184, 186, 168, 170, 188, 190, 172, 176, 192, 194, 178, 180, 183, 196, 184, 186, 198, 201, 188, 190, 204, 204, 192, 194, 204, 204, 204, 196, 204, 204, 198, 201}; /* Base vector for state transitions. */ static const unsigned short cortex_a57_cx_base[] = { 0, 298, 305, 315, 322, 332, 339, 40, 15, 30, 178, 55, 73, 349, 356, 366, 88, 373, 288, 130, 133, 145, 626, 184, 185, 188, 630, 200, 193, 203, 215, 643, 218, 230, 233, 647, 245, 248, 260, 263, 120, 115, 275, 383, 90, 160, 390, 278, 45, 208, 386, 399, 408, 419, 428, 403, 439, 135, 653, 410, 448, 660, 449, 223, 481, 491, 511, 520, 423, 521, 666, 524, 527, 537, 556, 566, 587, 603, 430, 670, 606, 659, 699, 720, 743, 683, 760, 770, 787, 798, 676, 828, 831, 691, 840, 841, 698, 849, 853, 852, 856, 238, 857, 443, 704, 858, 860, 861, 864, 450, 465, 708, 865, 868, 869, 472, 714, 873, 721, 876, 877, 880, 105, 727, 881, 731, 884, 737, 885, 744, 886, 485, 888, 750, 889, 754, 893, 892, 896, 492, 767, 897, 901, 771, 904, 905, 908, 909, 912, 502, 913, 775, 914, 916, 917, 60, 515, 920, 150, 788, 921, 792, 924, 793, 808, 925, 929, 809, 932, 253, 933, 528, 936, 543, 815, 547, 937, 825, 940, 268, 941, 165, 560, 942, 944, 567, 945, 577, 948, 832, 949, 584, 952, 594, 953, 833, 957, 283, 960, 75, 607, 961, 622, 848}; /* Vector of min issue delay of insns. */ static const unsigned char cortex_a57_cx_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 96, 102, 0, 96, 102, 6, 96, 5, 5, 80, 5, 5, 80, 85, 0, 64, 68, 0, 64, 68, 4, 64, 3, 3, 48, 3, 3, 48, 51, 0, 32, 34, 0, 32, 34, 2, 32, 1, 1, 16, 1, 1, 16, 17, 0, 17, 17, 17, 17, 17, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 34, 0, 0, 1, 0, 1, 17, 1, 16, 0, 0, 97, 102, 17, 97, 102, 22, 96, 10, 26, 161, 26, 26, 161, 170, 0, 144, 153, 0, 144, 153, 9, 144, 8, 8, 128, 8, 8, 128, 136, 0, 112, 119, 0, 112, 119, 7, 112, 7, 23, 113, 23, 23, 113, 119, 0, 96, 102, 0, 96, 102, 6, 96, 5, 5, 80, 37, 37, 80, 85, 0, 65, 68, 17, 65, 68, 20, 64, 5, 37, 82, 69, 69, 82, 85, 0, 65, 68, 19, 67, 68, 20, 64, 3, 3, 48, 35, 35, 48, 51, 0, 33, 34, 17, 33, 34, 18, 32, 4, 35, 50, 68, 52, 66, 51, 0, 49, 34, 19, 50, 51, 18, 32, 2, 1, 16, 34, 18, 32, 17, 0, 33, 17, 36, 33, 68, 17, 16, 1, 0, 1, 49, 3, 48, 0, 0, 97, 102, 19, 99, 102, 22, 96, 10, 26, 161, 58, 58, 161, 170, 0, 144, 153, 2, 146, 153, 9, 144, 8, 24, 129, 24, 24, 129, 136, 0, 146, 153, 36, 148, 153, 41, 144, 8, 24, 129, 56, 56, 129, 136, 0, 112, 119, 2, 114, 119, 7, 112, 7, 39, 114, 71, 71, 114, 119, 0, 114, 119, 34, 114, 119, 39, 112, 9, 41, 146, 41, 41, 146, 153, 0, 17, 17, 19, 17, 68, 20, 64, 0, 0, 0, 32, 3, 48, 51, 0, 32, 2, 17, 33, 34, 2, 32, 2, 18, 65, 18, 18, 65, 68, 0, 16, 19, 0, 16, 19, 3, 48, 0, 0, 32, 0, 0, 32, 34, 0, 32, 2, 17, 33, 68, 2, 32, 1, 1, 16, 1, 3, 48, 17, 0, 17, 17, 20, 17, 68, 17, 16, 0, 0, 0, 48, 3, 48, 0, 0, 32, 0, 34, 32, 34, 0, 0, 6, 38, 98, 38, 38, 98, 102, 0, 81, 85, 17, 81, 85, 21, 80, 10, 42, 162, 42, 42, 162, 170, 0, 145, 153, 17, 145, 153, 25, 144, 2, 17, 18, 34, 18, 65, 68, 0, 16, 0, 17, 16, 19, 3, 48, 1, 17, 65, 17, 20, 65, 68, 0, 0, 3, 0, 0, 51, 3, 48, 4, 0, 49, 20, 20, 64, 51, 0, 48, 34, 0, 48, 51, 2, 32, 4, 18, 33, 68, 36, 65, 34, 0, 48, 17, 3, 49, 51, 1, 16, 4, 17, 20, 68, 20, 65, 17, 0, 48, 0, 51, 48, 51, 0, 0, 6, 54, 99, 54, 54, 99, 102, 0, 82, 85, 34, 82, 85, 37, 80, 10, 58, 163, 58, 58, 163, 170, 0, 65, 17, 51, 65, 68, 20, 64, 3, 0, 2, 35, 3, 48, 51, 0, 65, 20, 34, 66, 68, 20, 64, 3, 0, 49, 19, 19, 48, 51, 0, 49, 51, 17, 49, 51, 19, 48, 3, 35, 50, 35, 35, 50, 51, 0, 49, 19, 34, 50, 51, 19, 48, 3, 34, 35, 51, 35, 50, 34, 0, 33, 17, 34, 33, 34, 17, 16, 3, 17, 19, 51, 19, 49, 17, 0, 65, 68, 17, 65, 68, 20, 64, 3, 3, 48, 3, 3, 48, 51, 0, 32, 34, 2, 34, 34, 2, 32, 1, 17, 17, 17, 17, 17, 17, 0, 34, 34, 36, 34, 68, 34, 32, 1, 17, 17, 49, 19, 49, 17, 0, 34, 34, 34, 34, 34, 34, 32, 4, 19, 49, 68, 52, 65, 51, 0, 48, 34, 3, 50, 51, 2, 32, 4, 34, 36, 68, 36, 66, 34, 0, 51, 51, 51, 51, 51, 51, 48, 3, 19, 49, 51, 51, 49, 51, 0, 65, 51, 17, 65, 68, 19, 48, 3, 0, 50, 35, 35, 48, 51, 0, 66, 68, 34, 66, 68, 36, 64, 1, 17, 49, 17, 17, 49, 51, 0, 96, 102, 3, 99, 102, 6, 96, 6, 70, 100, 70, 70, 100, 102, 0, 83, 85, 51, 83, 85, 53, 80, 10, 10, 160, 58, 58, 160, 170, 0, 164, 170, 68, 164, 170, 74, 160, 9, 57, 147, 57, 57, 147, 153, 0, 130, 136, 34, 130, 136, 40, 128, 7, 23, 113, 23, 23, 113, 119, 0, 64, 0, 68, 64, 68, 0, 0, 4, 17, 20, 68, 20, 65, 68, 0, 48, 0, 51, 48, 51, 3, 48, 2, 0, 34, 34, 34, 32, 34, 0, 34, 36, 34, 34, 36, 36, 64, 4, 17, 67, 52, 52, 65, 68, 0, 49, 19, 51, 51, 51, 19, 48, 2, 18, 65, 20, 20, 65, 68, 0, 16, 19, 0, 48, 51, 3, 48, 0, 0, 32, 34, 34, 32, 34, 0, 32, 2, 36, 34, 68, 2, 32, 2, 34, 66, 68, 68, 66, 68, 0, 17, 19, 19, 51, 51, 19, 48, 1, 17, 49, 68, 52, 65, 51, 0, 0, 2, 3, 50, 51, 2, 32, 4, 0, 36, 68, 36, 64, 34, 0, 66, 36, 68, 68, 68, 36, 64, 3, 0, 35, 51, 35, 48, 34, 0, 66, 36, 51, 67, 68, 36, 64, 2, 18, 33, 18, 20, 65, 34, 0, 17, 19, 17, 17, 20, 19, 48, 0, 0, 32, 0, 0, 48, 34, 0, 64, 2, 20, 66, 68, 2, 32, 4, 18, 65, 68, 68, 65, 68, 0, 48, 19, 3, 51, 51, 3, 48, 4, 17, 52, 68, 52, 65, 51, 0, 48, 2, 19, 50, 51, 2, 32, 4, 18, 65, 52, 52, 65, 68, 0, 48, 19, 2, 50, 51, 3, 48, 4, 17, 50, 68, 52, 65, 51, 0, 64, 0, 36, 64, 68, 3, 48, 4, 17, 66, 68, 68, 65, 68, 0, 48, 3, 19, 51, 51, 3, 48, 6, 22, 97, 70, 70, 97, 102, 0, 80, 85, 3, 83, 85, 5, 80, 5, 69, 84, 69, 69, 84, 85, 0, 67, 68, 51, 67, 68, 52, 64, 8, 24, 129, 24, 24, 129, 136, 0, 112, 119, 0, 112, 119, 7, 112, 6, 6, 96, 38, 38, 96, 102, 0, 98, 102, 36, 100, 102, 38, 96, 5, 21, 81, 53, 53, 81, 85, 0, 64, 68, 2, 66, 68, 4, 64, 4, 36, 66, 68, 68, 66, 68, 0, 113, 119, 20, 116, 119, 23, 112, 7, 55, 115, 55, 55, 115, 119, 0, 113, 119, 19, 115, 119, 23, 112, 9, 25, 145, 25, 25, 145, 153, 0, 128, 136, 0, 128, 136, 8, 128, 8, 24, 129, 72, 72, 129, 136, 0, 112, 119, 3, 115, 119, 7, 112, 7, 71, 116, 71, 71, 116, 119, 0, 131, 136, 51, 131, 136, 56, 128, 1, 17, 17, 17, 18, 17, 68, 0, 0, 0, 0, 0, 16, 3, 48, 1, 0, 1, 17, 1, 64, 51, 0, 17, 20, 17, 17, 68, 20, 64, 0, 0, 48, 0, 3, 48, 51, 0, 64, 3, 20, 67, 68, 3, 48, 4, 20, 65, 68, 68, 65, 68, 0, 48, 51, 3, 51, 51, 3, 48, 4, 51, 52, 68, 52, 67, 51, 0, 48, 3, 51, 51, 51, 3, 48, 10, 10, 160, 42, 42, 160, 170, 0, 162, 170, 36, 164, 170, 42, 160, 9, 25, 145, 57, 57, 145, 153, 0, 128, 136, 2, 130, 136, 8, 128, 8, 40, 130, 72, 72, 130, 136, 0, 32, 0, 36, 32, 68, 0, 0, 2, 17, 18, 68, 20, 65, 68, 0, 16, 0, 19, 48, 51, 3, 48, 1, 17, 65, 52, 52, 65, 68, 0, 0, 3, 2, 50, 51, 3, 48, 4, 0, 50, 68, 52, 64, 51, 0, 160, 170, 0, 160, 170, 10, 160, 10, 26, 161, 74, 74, 161, 170, 0, 144, 153, 3, 147, 153, 9, 144, 9, 73, 148, 73, 73, 148, 153, 0, 16, 0, 20, 16, 68, 0, 0, 1, 17, 17, 65, 20, 65, 68, 0, 0, 0, 3, 0, 51, 3, 48, 4, 0, 4, 68, 4, 64, 51, 0, 65, 20, 68, 68, 68, 20, 64, 5, 21, 81, 21, 21, 81, 85, 0, 64, 68, 0, 64, 68, 4, 64, 6, 22, 97, 22, 22, 97, 102, 0, 80, 85, 0, 80, 85, 5, 80, 5, 21, 81, 69, 69, 81, 85, 0, 64, 68, 3, 67, 68, 4, 64, 4, 68, 68, 68, 68, 68, 68, 0, 160, 170, 0, 160, 170, 10, 160, 10, 26, 161, 26, 26, 161, 170, 0, 144, 153, 0, 144, 153, 9, 144, 9, 25, 145, 73, 73, 145, 153, 0, 128, 136, 3, 131, 136, 8, 128, 8, 72, 132, 72, 72, 132, 136, 0, 16, 0, 17, 16, 17, 0, 0, 1, 17, 17, 17, 20, 17, 68, 0, 0, 0, 0, 0, 48, 3, 48, 1, 0, 1, 68, 4, 64, 51, 0, 17, 20, 20, 68, 68, 20, 64, 0, 0, 48, 51, 51, 48, 51, 0, 64, 3, 68, 67, 68, 3, 48, }; /* Vector translating external insn codes to internal ones.*/ static const unsigned char exynos_m1_gp_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, 1, 2, 2, 3, 2, 4, 5, 3, 5, 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, 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, 6}; /* Vector for state transitions. */ static const unsigned char exynos_m1_gp_transitions[] ATTRIBUTE_UNUSED = { 0, 37, 9, 2, 33, 1, 0, 1, 32, 10, 3, 28, 38, 2, 2, 27, 5, 38, 25, 3, 0, 3, 24, 6, 38, 4, 38, 2, 4, 12, 38, 38, 38, 38, 5, 5, 23, 16, 38, 8, 6, 0, 6, 7, 38, 38, 38, 38, 2, 7, 38, 38, 38, 38, 38, 2, 8, 19, 38, 38, 38, 38, 9, 9, 22, 15, 5, 13, 10, 0, 10, 11, 6, 6, 4, 38, 2, 11, 38, 7, 7, 12, 38, 2, 12, 38, 38, 38, 38, 38, 5, 13, 21, 8, 8, 14, 4, 9, 14, 20, 38, 38, 38, 38, 15, 15, 18, 16, 16, 8, 6, 0, 16, 17, 38, 38, 38, 38, 0, 17, 38, 38, 38, 38, 38, 0, 18, 38, 17, 17, 19, 7, 0, 19, 38, 38, 38, 38, 38, 9, 20, 38, 38, 38, 38, 38, 15, 21, 38, 19, 19, 20, 12, 9, 22, 38, 18, 23, 21, 11, 0, 23, 38, 17, 38, 19, 7, 0, 24, 38, 7, 38, 12, 38, 2, 25, 26, 8, 38, 14, 4, 9, 26, 38, 19, 38, 20, 12, 9, 27, 38, 23, 38, 26, 24, 0, 28, 31, 4, 4, 29, 38, 5, 29, 30, 38, 38, 38, 38, 16, 30, 38, 38, 38, 38, 38, 16, 31, 38, 12, 12, 30, 38, 5, 32, 38, 11, 24, 31, 38, 2, 33, 36, 13, 25, 34, 28, 9, 34, 35, 14, 14, 29, 29, 15, 35, 38, 20, 20, 30, 30, 15, 36, 38, 21, 26, 35, 31, 9, 37, 38, 22, 27, 36, 32, 0}; /* Vector of min issue delay of insns. */ static const unsigned char exynos_m1_gp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 64, 16, 0, 132, 6, 80, 4, 0, 101, 5, 148, 5, 80, 0, 0, 1, 4, 4, 22, 80, 0, 0, 85, 0, 0, 5, 80, 85, 65, 0, 5, 84, 21, 80, 64, 1, 0, 4, 64, 18, 16, 4, 1, 16, 4, 64, 0, 16, 42, 129, 170, 4, 4, 16, 16, 0, 0, 0, 4, 0, 16, 0, 64, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char exynos_m1_ls_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, 2, 3, 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, 1, 1, 5, 1, 5, 2, 6, 5, 7, 5, 5, 8, 6, 2, 9, 6, 6, 3, 10, 3, 10, 4, 11, 3, 3, 4, 11, 0, 0, 0, 0, 0, 12, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 char exynos_m1_ls_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 14, 7, 38, 3, 13, 12, 11, 44, 6, 42, 1, 0, 6, 17, 20, 45, 4, 18, 24, 28, 32, 36, 45, 9, 35, 7, 7, 19, 22, 5, 10, 9, 26, 30, 34, 10, 2, 15, 8, 0, 38, 5, 21, 11, 45, 16, 25, 29, 33, 40, 16, 16, 39, 6, 42, 37, 15, 8, 9, 4, 23, 27, 31, 43, 17, 45, 41, 38, 1, 3, 2, 8, 39, 2, 45, 45, 19, 5, 35, 41, 45, 2, 45, 17, 37, 3, 0, 3, 35, 18, 9, 16, 11, 39, 16, 34, 33, 18, 4, 45, 2, 19, 32, 31, 12, 12, 17, 30, 29, 13, 41, 4, 26, 25, 28, 27, 45, 13, 45, 24, 23, 14, 14, 5, 22, 21, 44, 45, 5, 10, 40, 20, 15, 17, 3, 19, 36, 43, 37, 11, 16, 6, 18, 20, 21, 18, 7, 9, 0, 22, 4, 38, 23, 24, 25, 19, 9, 18, 26, 27, 28, 29, 3, 30, 31, 21, 22, 20, 32, 33, 34, 14, 25, 26, 24, 36, 13, 29, 40, 43, 45, 30, 28, 12, 45, 45, 45, 45, 34, 45, 45, 32, 33}; /* Check vector for state transitions. */ static const unsigned char exynos_m1_ls_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 45, 4, 6, 6, 6, 6, 6, 45, 9, 6, 6, 7, 7, 7, 4, 10, 7, 7, 7, 7, 7, 9, 15, 7, 7, 38, 38, 38, 10, 45, 38, 38, 38, 38, 38, 15, 16, 38, 38, 42, 42, 42, 8, 8, 42, 42, 42, 42, 42, 16, 45, 42, 42, 1, 1, 8, 1, 1, 2, 45, 45, 2, 2, 1, 1, 45, 1, 45, 2, 2, 2, 2, 3, 35, 35, 3, 3, 11, 39, 39, 11, 11, 3, 3, 45, 3, 35, 11, 11, 12, 11, 39, 12, 12, 13, 41, 41, 13, 13, 12, 12, 45, 12, 45, 13, 13, 14, 13, 41, 14, 14, 44, 45, 5, 44, 44, 14, 14, 17, 14, 19, 44, 44, 37, 44, 5, 5, 18, 20, 21, 17, 17, 19, 19, 22, 37, 37, 23, 24, 25, 18, 20, 21, 26, 27, 28, 29, 22, 30, 31, 23, 24, 25, 32, 33, 34, 26, 27, 28, 29, 36, 30, 31, 40, 43, 45, 32, 33, 34, 45, 45, 45, 45, 36, 45, 45, 40, 43}; /* Base vector for state transitions. */ static const unsigned char exynos_m1_ls_base[] = { 0, 70, 75, 89, 18, 130, 14, 28, 59, 25, 32, 94, 106, 111, 123, 39, 53, 135, 144, 137, 145, 146, 151, 154, 155, 156, 160, 161, 162, 163, 165, 166, 170, 171, 172, 90, 177, 140, 42, 95, 180, 112, 56, 181, 128}; /* Vector of min issue delay of insns. */ static const unsigned char exynos_m1_ls_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 32, 2, 34, 34, 0, 16, 1, 16, 1, 17, 17, 0, 0, 2, 32, 2, 34, 34, 0, 16, 2, 36, 66, 34, 34, 68, 16, 1, 19, 49, 17, 17, 51, 0, 0, 2, 32, 0, 0, 34, 0, 0, 1, 16, 0, 0, 17, 0, 0, 33, 18, 34, 34, 17, 16, 2, 33, 18, 34, 34, 17, 16, 7, 113, 23, 119, 119, 17, 96, 6, 96, 6, 102, 102, 0, 80, 5, 80, 5, 85, 85, 0, 64, 4, 64, 4, 68, 68, 0, 48, 3, 48, 3, 51, 51, 0, 32, 3, 52, 67, 51, 51, 68, 32, 2, 35, 50, 34, 34, 51, 16, 1, 18, 33, 17, 17, 34, 0, 2, 34, 34, 34, 34, 34, 16, 1, 17, 17, 17, 17, 17, 0, 3, 50, 35, 51, 51, 34, 32, 3, 51, 51, 51, 51, 51, 32, 3, 49, 19, 51, 51, 17, 32, 4, 68, 68, 68, 68, 68, 48, 4, 66, 36, 68, 68, 34, 48, 4, 67, 52, 68, 68, 51, 48, 4, 65, 20, 68, 68, 17, 48, 5, 84, 69, 85, 85, 68, 64, 5, 82, 37, 85, 85, 34, 64, 5, 83, 53, 85, 85, 51, 64, 5, 81, 21, 85, 85, 17, 64, 6, 100, 70, 102, 102, 68, 80, 6, 98, 38, 102, 102, 34, 80, 6, 99, 54, 102, 102, 51, 80, 6, 97, 22, 102, 102, 17, 80, 0, 34, 34, 34, 34, 34, 16, 7, 114, 39, 119, 119, 34, 96, 1, 20, 65, 17, 17, 68, 0, 0, 3, 48, 0, 0, 51, 0, 0, 35, 50, 34, 34, 51, 16, 7, 115, 55, 119, 119, 51, 96, 0, 36, 66, 34, 34, 68, 16, 0, 4, 64, 0, 0, 68, 0, 7, 116, 71, 119, 119, 68, 96, 7, 112, 7, 119, 119, 0, 96}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char exynos_m1_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, 1, 2, 1, 1, 3, 2, 3, 2, 3, 1, 1, 4, 5, 1, 1, 1, 1, 1, 1, 1, 2, 6, 3, 3, 0, 3, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 9, 0, 0, 10, 0, 3, 11, 3, 11, 12, 13, 3, 11, 14, 15, 2, 3, 1, 1, 1, 16, 17, 1, 17, 1, 2, 2, 18, 18, 19, 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, 20}; /* Vector for state transitions. */ static const unsigned short exynos_m1_fp_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 2, 11, 17, 1525, 1, 1523, 1520, 1512, 1494, 10, 9, 8, 1452, 1491, 1370, 1210, 1483, 1, 0, 1, 1526, 12, 12, 1526, 30, 32, 18, 17, 1296, 1290, 32, 30, 28, 1143, 1266, 1526, 1526, 1241, 1526, 2, 2, 1526, 33, 33, 1526, 1369, 12, 1481, 1478, 1472, 1457, 31, 29, 27, 1243, 1451, 1526, 1, 3, 1526, 0, 3, 1526, 1526, 1526, 1526, 1526, 1526, 1450, 1449, 1445, 1440, 1526, 1526, 1526, 1526, 1526, 1526, 1241, 1526, 1526, 4, 4, 1212, 1212, 1526, 61, 1526, 20, 1439, 1438, 1435, 1411, 1526, 1526, 1526, 1526, 1526, 1526, 1431, 1526, 20, 5, 5, 21, 21, 1526, 40, 1526, 22, 1430, 1429, 1417, 1413, 1526, 1526, 1526, 1526, 1526, 1526, 1229, 1526, 22, 6, 6, 23, 23, 1526, 243, 1526, 24, 1428, 1427, 1425, 1423, 1526, 1526, 1526, 1526, 1526, 1526, 1336, 1526, 24, 7, 7, 25, 25, 1526, 396, 1526, 26, 1422, 1421, 1253, 1251, 1526, 1526, 1526, 1526, 1526, 1526, 1332, 1526, 26, 8, 8, 27, 27, 1526, 53, 1526, 28, 1420, 1153, 1416, 1410, 1526, 1526, 1526, 1526, 1526, 1526, 1270, 1526, 28, 9, 9, 29, 29, 1526, 67, 1526, 30, 868, 867, 1408, 1405, 1526, 1526, 1526, 1526, 1526, 1526, 1276, 1526, 30, 10, 10, 31, 31, 1526, 46, 30, 32, 851, 1404, 1402, 1397, 1526, 1526, 1526, 1526, 1526, 1526, 833, 1526, 32, 11, 11, 33, 33, 1526, 79, 1369, 12, 1367, 1364, 1356, 1338, 1526, 1526, 1526, 1526, 1526, 31, 403, 1526, 12, 0, 12, 1526, 1526, 1526, 1526, 1526, 1526, 47, 79, 777, 13, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 2, 13, 1526, 1526, 1526, 1526, 1526, 1526, 48, 80, 525, 512, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 14, 14, 1526, 406, 406, 1526, 1027, 70, 1017, 1011, 1005, 990, 535, 881, 893, 516, 500, 1526, 36, 933, 1526, 15, 15, 37, 37, 536, 1526, 98, 82, 1337, 1109, 1104, 1099, 882, 889, 888, 441, 415, 1019, 470, 1066, 82, 16, 16, 59, 59, 338, 1526, 102, 95, 678, 664, 642, 618, 248, 45, 66, 259, 600, 95, 1526, 578, 1526, 17, 17, 1526, 79, 79, 1526, 67, 46, 920, 918, 81, 912, 46, 67, 53, 599, 898, 1526, 1526, 846, 1526, 18, 18, 1526, 47, 47, 1526, 54, 68, 1194, 920, 1192, 1184, 68, 54, 334, 848, 1165, 1526, 1526, 19, 1526, 1, 19, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1141, 1136, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 20, 20, 1526, 1526, 1526, 1526, 1526, 1526, 328, 61, 1223, 1214, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 21, 21, 1526, 1526, 1526, 1526, 1526, 1526, 1335, 1333, 1323, 1319, 1526, 1526, 1526, 1526, 1526, 1526, 22, 1526, 1526, 6, 22, 1526, 1526, 1526, 1526, 1526, 1526, 62, 40, 1233, 1231, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 23, 23, 1526, 1526, 1526, 1526, 1526, 1526, 1331, 1329, 1260, 1256, 1526, 1526, 1526, 1526, 1526, 1526, 24, 1526, 1526, 7, 24, 1526, 1526, 1526, 1526, 1526, 1526, 41, 243, 1161, 1159, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 25, 25, 1526, 1526, 1526, 1526, 1526, 1526, 1328, 1327, 1156, 1154, 1526, 1526, 1526, 1526, 1526, 1526, 26, 1526, 1526, 8, 26, 1526, 1526, 1526, 1526, 1526, 1526, 244, 396, 895, 892, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 27, 27, 1526, 1526, 1526, 1526, 1526, 1526, 1326, 891, 1322, 1318, 1526, 1526, 1526, 1526, 1526, 1526, 28, 1526, 1526, 9, 28, 1526, 1526, 1526, 1526, 1526, 1526, 334, 53, 1275, 1273, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 29, 29, 1526, 1526, 1526, 1526, 1526, 1526, 832, 819, 1316, 1313, 1526, 1526, 1526, 1526, 1526, 1526, 30, 1526, 1526, 10, 30, 1526, 1526, 1526, 1526, 1526, 1526, 54, 67, 776, 534, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 31, 31, 1526, 1526, 1526, 1526, 1526, 1526, 402, 1312, 1310, 1305, 1526, 1526, 1526, 1526, 1526, 1526, 32, 1526, 1526, 11, 32, 1526, 1526, 1526, 1526, 1526, 1526, 68, 46, 743, 405, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 33, 33, 1526, 1526, 1526, 1526, 1526, 1526, 1209, 1129, 1062, 34, 1526, 1526, 1526, 1526, 1526, 1526, 12, 1526, 1526, 0, 34, 1526, 1526, 1526, 1526, 1526, 1526, 1057, 1054, 1043, 1029, 1526, 1526, 1526, 1526, 1526, 1526, 13, 1526, 1526, 35, 35, 14, 14, 1028, 1526, 1018, 36, 1012, 1006, 991, 974, 969, 966, 964, 963, 962, 947, 934, 927, 36, 15, 36, 1526, 70, 70, 1526, 336, 56, 81, 132, 926, 925, 56, 336, 246, 64, 262, 1526, 1526, 922, 1526, 37, 37, 1526, 57, 57, 1526, 94, 58, 921, 739, 734, 727, 337, 247, 44, 263, 261, 1526, 82, 38, 1526, 16, 38, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 83, 1526, 1526, 39, 39, 84, 84, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 40, 40, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 41, 41, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 896, 42, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 26, 42, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 43, 43, 1526, 1526, 1526, 1526, 1526, 1526, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 44, 44, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 261, 349, 1526, 1526, 1526, 1526, 1526, 1526, 90, 1526, 1526, 45, 45, 91, 91, 1526, 1526, 1526, 1526, 1526, 1526, 254, 251, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 46, 46, 1526, 1526, 1526, 1526, 1526, 1526, 67, 53, 160, 224, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 47, 47, 1526, 1526, 1526, 1526, 1526, 1526, 788, 841, 775, 48, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1, 48, 1526, 1526, 1526, 1526, 1526, 1526, 533, 308, 523, 49, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 36, 49, 1526, 1526, 1526, 1526, 1526, 1526, 510, 306, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 50, 50, 1526, 382, 382, 1526, 262, 313, 138, 1526, 1526, 1526, 313, 262, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 51, 51, 1526, 314, 314, 1526, 1526, 143, 1526, 1526, 1526, 1526, 263, 1526, 1526, 1526, 1526, 1526, 139, 1526, 1526, 52, 52, 140, 140, 264, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 53, 53, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 76, 214, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 54, 54, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 756, 55, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 32, 55, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 322, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 56, 56, 1526, 1526, 1526, 1526, 1526, 1526, 160, 93, 532, 530, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 57, 57, 1526, 1526, 1526, 1526, 1526, 1526, 561, 556, 551, 545, 1526, 1526, 1526, 1526, 1526, 1526, 58, 1526, 1526, 16, 58, 1526, 1526, 1526, 1526, 1526, 1526, 94, 101, 239, 236, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 59, 59, 1526, 130, 130, 1526, 91, 78, 190, 210, 641, 617, 78, 91, 87, 86, 598, 1526, 1526, 60, 1526, 17, 60, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 61, 61, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 397, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 62, 62, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 842, 63, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 24, 63, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 64, 64, 1526, 1526, 1526, 1526, 1526, 1526, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 65, 65, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 86, 1526, 1526, 66, 66, 87, 87, 1526, 1526, 1526, 1526, 1526, 1526, 253, 250, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 67, 67, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 128, 171, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 68, 68, 1526, 1526, 1526, 1526, 1526, 1526, 54, 67, 755, 69, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 12, 69, 1526, 1526, 1526, 1526, 1526, 1526, 55, 171, 387, 383, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 70, 70, 1526, 1526, 1526, 1526, 1526, 1526, 109, 97, 448, 71, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 37, 71, 1526, 1526, 1526, 1526, 1526, 1526, 110, 137, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 72, 72, 1526, 423, 423, 1526, 117, 118, 421, 1526, 1526, 1526, 354, 261, 1526, 1526, 1526, 1526, 111, 1526, 1526, 73, 73, 112, 112, 352, 1526, 1526, 116, 1526, 1526, 1526, 1526, 259, 1526, 1526, 1526, 1526, 116, 1526, 1526, 1526, 74, 74, 1526, 87, 87, 1526, 1526, 1526, 1526, 1526, 201, 75, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 67, 75, 1526, 88, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 76, 76, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 77, 77, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 182, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 78, 78, 1526, 1526, 1526, 1526, 1526, 1526, 91, 87, 233, 231, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 79, 79, 1526, 1526, 1526, 1526, 1526, 1526, 841, 309, 109, 80, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 18, 80, 1526, 1526, 1526, 1526, 1526, 1526, 308, 307, 110, 304, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 81, 81, 1526, 109, 109, 1526, 128, 160, 303, 150, 301, 299, 160, 128, 76, 85, 144, 1526, 1526, 240, 1526, 82, 82, 1526, 58, 58, 1526, 77, 129, 98, 204, 237, 234, 129, 77, 90, 142, 85, 1526, 1526, 83, 1526, 59, 83, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 84, 84, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 40, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 86, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 87, 87, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 67, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 76, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 90, 90, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 91, 91, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 196, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 46, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 93, 93, 1526, 1526, 1526, 1526, 1526, 1526, 76, 1526, 145, 135, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 94, 94, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 230, 227, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 95, 95, 1526, 78, 78, 1526, 1526, 1526, 102, 74, 232, 96, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 79, 96, 1526, 231, 231, 1526, 1526, 1526, 103, 75, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 97, 97, 1526, 1526, 1526, 1526, 1526, 1526, 183, 1526, 149, 137, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 98, 98, 1526, 94, 94, 1526, 1526, 77, 1526, 1526, 228, 99, 77, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 95, 99, 1526, 227, 227, 1526, 1526, 154, 1526, 1526, 1526, 1526, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 100, 100, 1526, 153, 153, 1526, 1526, 1526, 201, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 101, 101, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 117, 202, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 102, 102, 1526, 91, 91, 1526, 1526, 1526, 1526, 1526, 104, 103, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 46, 103, 1526, 92, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 93, 104, 1526, 196, 196, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 105, 105, 1526, 1526, 1526, 1526, 1526, 1526, 90, 1526, 114, 195, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 106, 106, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 197, 184, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 107, 107, 1526, 46, 46, 1526, 1526, 1526, 158, 126, 225, 108, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 47, 108, 1526, 224, 224, 1526, 1526, 1526, 159, 127, 223, 221, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 109, 109, 1526, 1526, 1526, 1526, 1526, 1526, 217, 183, 123, 110, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 82, 110, 1526, 1526, 1526, 1526, 1526, 1526, 121, 119, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 111, 111, 1526, 118, 118, 1526, 85, 114, 115, 1526, 1526, 1526, 114, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 112, 112, 1526, 113, 113, 1526, 1526, 86, 1526, 1526, 1526, 1526, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 74, 113, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 74, 114, 1526, 1526, 1526, 1526, 1526, 1526, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 113, 115, 1526, 117, 117, 1526, 1526, 85, 1526, 1526, 1526, 1526, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 116, 116, 1526, 86, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 87, 117, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 116, 118, 1526, 1526, 1526, 1526, 1526, 1526, 117, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 112, 119, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 120, 120, 1526, 85, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 86, 121, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 122, 122, 1526, 114, 114, 1526, 1526, 1526, 120, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 113, 123, 1526, 1526, 1526, 1526, 1526, 1526, 215, 148, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 124, 124, 1526, 164, 164, 1526, 142, 166, 139, 1526, 1526, 1526, 166, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 125, 125, 1526, 167, 167, 1526, 1526, 141, 1526, 1526, 1526, 1526, 141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 126, 126, 1526, 53, 53, 1526, 1526, 1526, 1526, 1526, 175, 127, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 54, 127, 1526, 214, 214, 1526, 1526, 1526, 1526, 1526, 176, 212, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 128, 128, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 165, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 129, 129, 1526, 1526, 1526, 1526, 1526, 1526, 77, 90, 208, 206, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 130, 130, 1526, 1526, 1526, 1526, 1526, 1526, 106, 157, 188, 131, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 17, 131, 1526, 1526, 1526, 1526, 1526, 1526, 184, 174, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 132, 132, 1526, 97, 97, 1526, 76, 93, 150, 1526, 138, 133, 93, 76, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 98, 133, 1526, 137, 137, 1526, 134, 135, 136, 1526, 1526, 1526, 135, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 115, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 135, 1526, 1526, 1526, 1526, 1526, 1526, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 117, 136, 1526, 119, 119, 1526, 1526, 134, 1526, 1526, 1526, 1526, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 120, 137, 1526, 1526, 1526, 1526, 1526, 1526, 119, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 115, 138, 1526, 149, 149, 1526, 144, 145, 146, 1526, 1526, 1526, 145, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 139, 139, 1526, 143, 143, 1526, 1526, 142, 1526, 1526, 1526, 1526, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 140, 140, 1526, 141, 141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 53, 141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 53, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 141, 143, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 140, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 142, 145, 1526, 1526, 1526, 1526, 1526, 1526, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 143, 146, 1526, 148, 148, 1526, 1526, 144, 1526, 1526, 1526, 1526, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 147, 147, 1526, 142, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 141, 148, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 147, 149, 1526, 1526, 1526, 1526, 1526, 1526, 148, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 139, 150, 1526, 183, 183, 1526, 1526, 76, 1526, 1526, 146, 136, 76, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 151, 151, 1526, 77, 77, 1526, 1526, 1526, 1526, 1526, 155, 152, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 78, 152, 1526, 154, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 153, 153, 1526, 1526, 1526, 1526, 1526, 1526, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 101, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 153, 155, 1526, 182, 182, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 156, 156, 1526, 1526, 1526, 1526, 1526, 1526, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 157, 157, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 178, 174, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 158, 158, 1526, 67, 67, 1526, 1526, 1526, 1526, 1526, 172, 159, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 68, 159, 1526, 171, 171, 1526, 1526, 1526, 1526, 1526, 170, 168, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 160, 160, 1526, 1526, 1526, 1526, 1526, 1526, 128, 76, 163, 161, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 58, 161, 1526, 1526, 1526, 1526, 1526, 1526, 162, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 118, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 114, 163, 1526, 1526, 1526, 1526, 1526, 1526, 165, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 164, 164, 1526, 1526, 1526, 1526, 1526, 1526, 143, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 125, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 166, 166, 1526, 1526, 1526, 1526, 1526, 1526, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 167, 167, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 126, 168, 1526, 169, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 145, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 145, 170, 1526, 162, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 114, 171, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 162, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 160, 172, 1526, 128, 128, 1526, 1526, 1526, 1526, 1526, 173, 170, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 129, 173, 1526, 165, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 166, 174, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 175, 175, 1526, 76, 76, 1526, 1526, 1526, 1526, 1526, 177, 176, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 77, 176, 1526, 134, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 177, 1526, 144, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 142, 178, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 179, 179, 1526, 90, 90, 1526, 1526, 1526, 1526, 1526, 120, 180, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 91, 180, 1526, 181, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 182, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 156, 183, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 148, 119, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 151, 184, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 185, 185, 1526, 93, 93, 1526, 1526, 1526, 175, 1526, 187, 186, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 94, 186, 1526, 135, 135, 1526, 1526, 1526, 176, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 117, 187, 1526, 145, 145, 1526, 1526, 1526, 177, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 143, 188, 1526, 1526, 1526, 1526, 1526, 1526, 197, 178, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 189, 189, 1526, 205, 205, 1526, 90, 105, 204, 1526, 111, 198, 105, 90, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 190, 190, 1526, 106, 106, 1526, 1526, 91, 1526, 1526, 192, 191, 91, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 107, 191, 1526, 184, 184, 1526, 1526, 92, 1526, 1526, 1526, 1526, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 185, 192, 1526, 197, 197, 1526, 1526, 196, 1526, 1526, 1526, 1526, 196, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 193, 193, 1526, 105, 105, 1526, 1526, 1526, 179, 1526, 122, 194, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 106, 194, 1526, 195, 195, 1526, 1526, 1526, 180, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 178, 195, 1526, 1526, 1526, 1526, 1526, 1526, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 178, 196, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 105, 197, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 193, 198, 1526, 203, 203, 1526, 181, 195, 200, 1526, 1526, 1526, 195, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 199, 199, 1526, 178, 178, 1526, 1526, 89, 1526, 1526, 1526, 1526, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 179, 200, 1526, 202, 202, 1526, 1526, 181, 1526, 1526, 1526, 1526, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 201, 201, 1526, 89, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 90, 202, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 201, 203, 1526, 1526, 1526, 1526, 1526, 1526, 202, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 199, 204, 1526, 101, 101, 1526, 1526, 90, 1526, 1526, 115, 200, 90, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 102, 205, 1526, 1526, 1526, 1526, 1526, 1526, 101, 1526, 118, 203, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 190, 206, 1526, 1526, 1526, 1526, 1526, 1526, 154, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 207, 207, 1526, 1526, 1526, 1526, 1526, 1526, 178, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 204, 208, 1526, 1526, 1526, 1526, 1526, 1526, 182, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 209, 209, 1526, 1526, 1526, 1526, 1526, 1526, 113, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 210, 210, 1526, 157, 157, 1526, 1526, 87, 1526, 1526, 199, 211, 87, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 158, 211, 1526, 174, 174, 1526, 1526, 88, 1526, 1526, 1526, 1526, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 175, 212, 1526, 213, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 214, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 134, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 128, 215, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 216, 216, 1526, 166, 166, 1526, 1526, 1526, 147, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 167, 217, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 215, 121, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 218, 218, 1526, 129, 129, 1526, 1526, 1526, 151, 179, 220, 219, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 130, 219, 1526, 206, 206, 1526, 1526, 1526, 152, 180, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 207, 220, 1526, 208, 208, 1526, 1526, 1526, 155, 120, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 209, 221, 1526, 222, 222, 1526, 1526, 1526, 168, 212, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 149, 222, 1526, 1526, 1526, 1526, 1526, 1526, 169, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 149, 223, 1526, 161, 161, 1526, 1526, 1526, 170, 176, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 118, 224, 1526, 1526, 1526, 1526, 1526, 1526, 171, 214, 161, 222, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 109, 225, 1526, 160, 160, 1526, 1526, 1526, 172, 175, 226, 223, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 58, 226, 1526, 163, 163, 1526, 1526, 1526, 173, 177, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 164, 227, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 100, 228, 1526, 230, 230, 1526, 1526, 182, 1526, 1526, 1526, 1526, 182, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 229, 229, 1526, 156, 156, 1526, 1526, 1526, 116, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 157, 230, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 229, 231, 1526, 1526, 1526, 1526, 1526, 1526, 92, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 97, 232, 1526, 233, 233, 1526, 1526, 1526, 104, 201, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 205, 233, 1526, 1526, 1526, 1526, 1526, 1526, 196, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 205, 234, 1526, 236, 236, 1526, 154, 206, 99, 200, 1526, 1526, 206, 154, 181, 1526, 1526, 1526, 1526, 1526, 1526, 235, 235, 1526, 207, 207, 1526, 89, 153, 199, 1526, 1526, 1526, 153, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 204, 236, 1526, 1526, 1526, 1526, 1526, 1526, 227, 202, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 235, 237, 1526, 239, 239, 1526, 182, 208, 228, 115, 1526, 1526, 208, 182, 85, 1526, 1526, 1526, 1526, 1526, 1526, 238, 238, 1526, 209, 209, 1526, 86, 156, 112, 1526, 1526, 1526, 156, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 210, 239, 1526, 1526, 1526, 1526, 1526, 1526, 230, 117, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 238, 240, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 241, 241, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 242, 242, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 243, 243, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 244, 244, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 265, 245, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 28, 245, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 246, 246, 1526, 1526, 1526, 1526, 1526, 1526, 76, 1526, 262, 260, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 247, 247, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 257, 255, 1526, 1526, 1526, 1526, 1526, 1526, 77, 1526, 1526, 248, 248, 78, 78, 1526, 1526, 1526, 1526, 45, 66, 252, 249, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 79, 249, 231, 231, 1526, 1526, 1526, 1526, 251, 250, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 97, 250, 88, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 76, 251, 92, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 93, 252, 233, 233, 1526, 1526, 1526, 1526, 254, 253, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 205, 253, 89, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 90, 254, 196, 196, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 105, 255, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 154, 1526, 1526, 256, 256, 153, 153, 1526, 1526, 1526, 1526, 253, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 101, 257, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 182, 1526, 1526, 258, 258, 156, 156, 1526, 1526, 1526, 1526, 259, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 157, 259, 86, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 87, 260, 1526, 1526, 1526, 1526, 1526, 1526, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 261, 261, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 1526, 1526, 259, 262, 1526, 1526, 1526, 1526, 1526, 1526, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 263, 263, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 142, 1526, 1526, 264, 264, 141, 141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 53, 265, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 266, 266, 1526, 1526, 1526, 1526, 1526, 1526, 90, 1526, 64, 297, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 267, 267, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 290, 286, 1526, 1526, 1526, 1526, 1526, 1526, 91, 1526, 1526, 268, 268, 46, 46, 1526, 1526, 1526, 1526, 285, 284, 278, 269, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 47, 269, 224, 224, 1526, 1526, 1526, 1526, 277, 276, 273, 270, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 109, 270, 222, 222, 1526, 1526, 1526, 1526, 272, 271, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 149, 271, 213, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 272, 169, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 145, 273, 161, 161, 1526, 1526, 1526, 1526, 275, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 118, 274, 134, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 275, 162, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 114, 276, 214, 214, 1526, 1526, 1526, 1526, 1526, 1526, 274, 271, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 128, 277, 171, 171, 1526, 1526, 1526, 1526, 1526, 1526, 275, 272, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 160, 278, 160, 160, 1526, 1526, 1526, 1526, 283, 282, 279, 273, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 58, 279, 163, 163, 1526, 1526, 1526, 1526, 281, 280, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 164, 280, 144, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 142, 281, 165, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 166, 282, 76, 76, 1526, 1526, 1526, 1526, 1526, 1526, 280, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 77, 283, 128, 128, 1526, 1526, 1526, 1526, 1526, 1526, 281, 275, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 129, 284, 53, 53, 1526, 1526, 1526, 1526, 1526, 1526, 282, 276, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 54, 285, 67, 67, 1526, 1526, 1526, 1526, 1526, 1526, 283, 277, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 68, 286, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 92, 1526, 1526, 287, 287, 93, 93, 1526, 1526, 1526, 1526, 282, 1526, 289, 288, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 94, 288, 135, 135, 1526, 1526, 1526, 1526, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 117, 289, 145, 145, 1526, 1526, 1526, 1526, 280, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 143, 290, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 196, 1526, 1526, 291, 291, 105, 105, 1526, 1526, 1526, 1526, 296, 1526, 294, 292, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 106, 292, 195, 195, 1526, 1526, 1526, 1526, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 178, 293, 181, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 294, 114, 114, 1526, 1526, 1526, 1526, 295, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 113, 295, 85, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 86, 296, 90, 90, 1526, 1526, 1526, 1526, 1526, 1526, 295, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 91, 297, 1526, 1526, 1526, 1526, 1526, 1526, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 298, 298, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 1526, 1526, 296, 299, 1526, 110, 110, 1526, 162, 161, 300, 136, 1526, 1526, 161, 162, 134, 1526, 1526, 1526, 1526, 1526, 1526, 111, 300, 1526, 121, 121, 1526, 1526, 162, 1526, 1526, 1526, 1526, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 122, 301, 1526, 123, 123, 1526, 165, 163, 302, 146, 1526, 1526, 163, 165, 144, 1526, 1526, 1526, 1526, 1526, 1526, 124, 302, 1526, 215, 215, 1526, 1526, 165, 1526, 1526, 1526, 1526, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 216, 303, 1526, 217, 217, 1526, 1526, 128, 1526, 1526, 302, 300, 128, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 218, 304, 1526, 1526, 1526, 1526, 1526, 1526, 306, 305, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 138, 305, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 177, 306, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 187, 307, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 119, 305, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 172, 308, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 121, 306, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 225, 309, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 183, 307, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 310, 310, 1526, 54, 54, 1526, 1526, 1526, 1526, 1526, 323, 311, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 32, 311, 1526, 55, 55, 1526, 1526, 1526, 1526, 1526, 316, 312, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 56, 312, 1526, 315, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 313, 313, 1526, 1526, 1526, 1526, 1526, 1526, 145, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 314, 314, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 143, 1526, 1526, 52, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 313, 316, 1526, 322, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 317, 317, 1526, 1526, 1526, 1526, 1526, 1526, 114, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 318, 318, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 113, 1526, 1526, 319, 319, 74, 74, 66, 1526, 1526, 1526, 1526, 1526, 321, 320, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 67, 320, 75, 75, 250, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 76, 321, 201, 201, 253, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 90, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 317, 323, 1526, 756, 756, 1526, 1526, 1526, 1526, 1526, 787, 316, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 324, 324, 1526, 1526, 1526, 1526, 1526, 1526, 129, 105, 703, 696, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 325, 325, 1526, 1526, 1526, 1526, 1526, 1526, 680, 666, 655, 636, 1526, 1526, 1526, 1526, 1526, 1526, 130, 1526, 1526, 326, 326, 17, 17, 361, 1526, 158, 107, 919, 917, 913, 899, 268, 285, 284, 399, 847, 107, 1526, 327, 1526, 18, 327, 846, 846, 1526, 1526, 1526, 1526, 1526, 1526, 845, 843, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 328, 328, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 330, 329, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 22, 329, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 262, 330, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 331, 331, 1526, 1526, 1526, 1526, 1526, 1526, 394, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 332, 332, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 395, 1526, 1526, 333, 333, 396, 396, 1526, 1526, 1526, 1526, 1526, 1526, 253, 250, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 334, 334, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 358, 335, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 30, 335, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 63, 329, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 336, 336, 1526, 1526, 1526, 1526, 1526, 1526, 128, 76, 355, 353, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 337, 337, 1526, 1526, 1526, 1526, 1526, 1526, 247, 44, 350, 347, 1526, 1526, 1526, 1526, 1526, 1526, 129, 1526, 1526, 338, 338, 130, 130, 1526, 1526, 91, 78, 346, 345, 342, 339, 1526, 1526, 1526, 1526, 1526, 78, 1526, 1526, 1526, 17, 339, 131, 131, 1526, 1526, 92, 231, 341, 340, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 231, 1526, 1526, 1526, 132, 340, 174, 174, 1526, 1526, 1526, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 88, 1526, 1526, 1526, 175, 341, 184, 184, 1526, 1526, 1526, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 92, 1526, 1526, 1526, 185, 342, 188, 188, 1526, 1526, 196, 233, 344, 343, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 233, 1526, 1526, 1526, 189, 343, 178, 178, 1526, 1526, 1526, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 1526, 1526, 1526, 179, 344, 197, 197, 1526, 1526, 1526, 196, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 196, 1526, 1526, 1526, 193, 345, 157, 157, 1526, 1526, 1526, 87, 1526, 1526, 343, 340, 1526, 1526, 1526, 1526, 1526, 87, 1526, 1526, 1526, 158, 346, 106, 106, 1526, 1526, 1526, 91, 1526, 1526, 344, 341, 1526, 1526, 1526, 1526, 1526, 91, 1526, 1526, 1526, 107, 347, 1526, 1526, 1526, 1526, 1526, 1526, 255, 349, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 206, 1526, 1526, 348, 348, 207, 207, 1526, 1526, 89, 153, 343, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 153, 1526, 1526, 1526, 204, 349, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 181, 1526, 1526, 253, 350, 1526, 1526, 1526, 1526, 1526, 1526, 257, 261, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 208, 1526, 1526, 351, 351, 209, 209, 1526, 1526, 86, 156, 352, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 156, 1526, 1526, 1526, 210, 352, 113, 113, 1526, 1526, 1526, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 86, 1526, 1526, 1526, 74, 353, 1526, 1526, 1526, 1526, 1526, 1526, 162, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 354, 354, 1526, 1526, 1526, 1526, 1526, 1526, 261, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 114, 1526, 1526, 352, 355, 1526, 1526, 1526, 1526, 1526, 1526, 165, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 356, 356, 1526, 1526, 1526, 1526, 1526, 1526, 263, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 166, 1526, 1526, 357, 357, 167, 167, 1526, 1526, 1526, 141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 141, 1526, 1526, 1526, 126, 358, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 842, 63, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 359, 359, 1526, 1526, 1526, 1526, 1526, 1526, 77, 90, 702, 695, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 360, 360, 1526, 1526, 1526, 1526, 1526, 1526, 267, 595, 593, 587, 1526, 1526, 1526, 1526, 1526, 1526, 78, 1526, 1526, 361, 361, 79, 79, 1526, 1526, 67, 46, 378, 377, 371, 362, 1526, 1526, 1526, 1526, 1526, 46, 1526, 1526, 1526, 18, 362, 80, 80, 1526, 1526, 171, 224, 370, 369, 366, 363, 1526, 1526, 1526, 1526, 1526, 224, 1526, 1526, 1526, 81, 363, 304, 304, 1526, 1526, 169, 222, 365, 364, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 222, 1526, 1526, 1526, 138, 364, 305, 305, 1526, 1526, 1526, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 213, 1526, 1526, 1526, 177, 365, 306, 306, 1526, 1526, 1526, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 169, 1526, 1526, 1526, 187, 366, 110, 110, 1526, 1526, 162, 161, 368, 367, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 161, 1526, 1526, 1526, 111, 367, 119, 119, 1526, 1526, 1526, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 134, 1526, 1526, 1526, 120, 368, 121, 121, 1526, 1526, 1526, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 162, 1526, 1526, 1526, 122, 369, 307, 307, 1526, 1526, 1526, 214, 1526, 1526, 367, 364, 1526, 1526, 1526, 1526, 1526, 214, 1526, 1526, 1526, 172, 370, 308, 308, 1526, 1526, 1526, 171, 1526, 1526, 368, 365, 1526, 1526, 1526, 1526, 1526, 171, 1526, 1526, 1526, 225, 371, 109, 109, 1526, 1526, 128, 160, 376, 375, 372, 366, 1526, 1526, 1526, 1526, 1526, 160, 1526, 1526, 1526, 82, 372, 123, 123, 1526, 1526, 165, 163, 374, 373, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 163, 1526, 1526, 1526, 124, 373, 148, 148, 1526, 1526, 1526, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 1526, 1526, 1526, 147, 374, 215, 215, 1526, 1526, 1526, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 165, 1526, 1526, 1526, 216, 375, 183, 183, 1526, 1526, 1526, 76, 1526, 1526, 373, 367, 1526, 1526, 1526, 1526, 1526, 76, 1526, 1526, 1526, 151, 376, 217, 217, 1526, 1526, 1526, 128, 1526, 1526, 374, 368, 1526, 1526, 1526, 1526, 1526, 128, 1526, 1526, 1526, 218, 377, 309, 309, 1526, 1526, 1526, 53, 1526, 1526, 375, 369, 1526, 1526, 1526, 1526, 1526, 53, 1526, 1526, 1526, 310, 378, 841, 841, 1526, 1526, 1526, 67, 1526, 1526, 376, 370, 1526, 1526, 1526, 1526, 1526, 67, 1526, 1526, 1526, 379, 379, 1526, 68, 68, 1526, 1526, 1526, 310, 158, 388, 380, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 12, 380, 1526, 69, 69, 1526, 1526, 1526, 311, 159, 384, 381, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 70, 381, 1526, 383, 383, 1526, 1526, 1526, 312, 168, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 382, 382, 1526, 1526, 1526, 1526, 1526, 1526, 149, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 51, 383, 1526, 1526, 1526, 1526, 1526, 1526, 315, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 382, 384, 1526, 387, 387, 1526, 1526, 1526, 316, 170, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 385, 385, 1526, 1526, 1526, 1526, 1526, 1526, 118, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 386, 386, 1526, 318, 318, 1526, 1526, 113, 1526, 1526, 1526, 1526, 65, 1526, 1526, 1526, 1526, 1526, 112, 1526, 1526, 319, 387, 1526, 1526, 1526, 1526, 1526, 1526, 322, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 385, 388, 1526, 755, 755, 1526, 1526, 1526, 323, 172, 786, 384, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 389, 389, 1526, 1526, 1526, 1526, 1526, 1526, 58, 205, 704, 697, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 390, 390, 1526, 325, 325, 1526, 106, 130, 681, 667, 656, 637, 360, 267, 595, 65, 398, 1526, 59, 391, 1526, 326, 391, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 60, 1526, 1526, 392, 392, 61, 61, 1526, 1526, 1526, 1526, 1526, 1526, 393, 271, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 62, 393, 397, 397, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 394, 394, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 395, 395, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 396, 396, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 334, 397, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 394, 398, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 598, 1526, 1526, 399, 399, 599, 599, 1526, 1526, 1526, 1526, 1526, 1526, 295, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 400, 400, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 265, 245, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 401, 401, 1526, 1526, 1526, 1526, 1526, 1526, 67, 53, 336, 839, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 402, 402, 1526, 1526, 1526, 1526, 1526, 1526, 832, 819, 807, 789, 1526, 1526, 1526, 1526, 1526, 1526, 68, 1526, 1526, 403, 403, 12, 12, 1526, 1526, 30, 32, 778, 361, 574, 404, 1526, 1526, 1526, 1526, 1526, 32, 1526, 1526, 1526, 2, 404, 13, 13, 1526, 1526, 534, 405, 526, 362, 513, 498, 1526, 1526, 1526, 1526, 1526, 405, 1526, 1526, 1526, 14, 405, 1526, 1526, 1526, 1526, 1526, 1526, 69, 224, 492, 490, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 406, 406, 1526, 1526, 1526, 1526, 1526, 1526, 469, 455, 430, 407, 1526, 1526, 1526, 1526, 1526, 1526, 70, 1526, 1526, 15, 407, 1526, 1526, 1526, 1526, 1526, 1526, 427, 424, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 71, 1526, 1526, 408, 408, 72, 72, 422, 1526, 115, 111, 417, 1526, 1526, 1526, 416, 415, 1526, 1526, 1526, 413, 409, 1526, 111, 73, 409, 111, 111, 412, 1526, 120, 122, 410, 1526, 1526, 1526, 294, 295, 1526, 1526, 1526, 122, 1526, 1526, 1526, 112, 410, 115, 115, 411, 1526, 1526, 120, 1526, 1526, 1526, 1526, 295, 1526, 1526, 1526, 1526, 120, 1526, 1526, 1526, 116, 411, 117, 117, 1526, 1526, 1526, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 1526, 1526, 1526, 116, 412, 118, 118, 1526, 1526, 85, 114, 411, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 114, 1526, 1526, 1526, 112, 413, 1526, 354, 354, 1526, 85, 114, 414, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 122, 1526, 1526, 352, 414, 1526, 261, 261, 1526, 1526, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 120, 1526, 1526, 259, 415, 261, 261, 1526, 1526, 1526, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 295, 1526, 85, 259, 416, 354, 354, 1526, 1526, 85, 114, 415, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 294, 1526, 114, 352, 417, 421, 421, 419, 1526, 1526, 115, 1526, 1526, 1526, 1526, 415, 1526, 1526, 1526, 1526, 414, 410, 1526, 115, 418, 418, 116, 116, 259, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 87, 419, 420, 420, 1526, 1526, 1526, 117, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 261, 411, 1526, 117, 418, 420, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 117, 1526, 1526, 418, 421, 1526, 420, 420, 1526, 1526, 117, 1526, 1526, 1526, 1526, 261, 1526, 1526, 1526, 1526, 1526, 115, 1526, 1526, 418, 422, 423, 423, 1526, 1526, 117, 118, 419, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 354, 412, 1526, 118, 73, 423, 1526, 1526, 1526, 1526, 1526, 1526, 420, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 118, 1526, 1526, 73, 424, 1526, 1526, 1526, 1526, 1526, 1526, 425, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 137, 1526, 1526, 410, 425, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 119, 1526, 1526, 426, 426, 120, 120, 295, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 86, 427, 1526, 1526, 1526, 1526, 1526, 1526, 428, 425, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 110, 1526, 1526, 409, 428, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 121, 1526, 1526, 429, 429, 122, 122, 294, 1526, 1526, 1526, 426, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 113, 430, 1526, 1526, 1526, 1526, 1526, 1526, 452, 449, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 448, 1526, 1526, 431, 431, 447, 447, 445, 1526, 139, 124, 443, 1526, 1526, 1526, 442, 441, 1526, 1526, 1526, 439, 433, 1526, 124, 432, 432, 125, 125, 357, 1526, 1526, 140, 1526, 1526, 1526, 1526, 264, 1526, 1526, 1526, 1526, 140, 1526, 1526, 1526, 126, 433, 124, 124, 438, 1526, 147, 216, 436, 1526, 1526, 1526, 435, 434, 1526, 1526, 1526, 216, 1526, 1526, 1526, 125, 434, 142, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 141, 435, 166, 166, 1526, 1526, 1526, 1526, 434, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 167, 436, 139, 139, 437, 1526, 1526, 147, 1526, 1526, 1526, 1526, 434, 1526, 1526, 1526, 1526, 147, 1526, 1526, 1526, 140, 437, 143, 143, 1526, 1526, 1526, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 142, 1526, 1526, 1526, 140, 438, 164, 164, 1526, 1526, 142, 166, 437, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 166, 1526, 1526, 1526, 125, 439, 1526, 356, 356, 1526, 142, 166, 440, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 216, 1526, 1526, 357, 440, 1526, 263, 263, 1526, 1526, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 147, 1526, 1526, 264, 441, 263, 263, 1526, 1526, 1526, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 434, 1526, 142, 264, 442, 356, 356, 1526, 1526, 142, 166, 441, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 435, 1526, 166, 357, 443, 51, 51, 444, 1526, 1526, 139, 1526, 1526, 1526, 1526, 441, 1526, 1526, 1526, 1526, 440, 436, 1526, 139, 52, 444, 314, 314, 1526, 1526, 1526, 143, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 263, 437, 1526, 143, 52, 445, 446, 446, 1526, 1526, 143, 164, 444, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 356, 438, 1526, 164, 432, 446, 1526, 1526, 1526, 1526, 1526, 1526, 314, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 164, 1526, 1526, 432, 447, 1526, 446, 446, 1526, 143, 164, 51, 1526, 1526, 1526, 356, 263, 1526, 1526, 1526, 1526, 124, 1526, 1526, 432, 448, 1526, 1526, 1526, 1526, 1526, 1526, 123, 149, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 447, 449, 1526, 1526, 1526, 1526, 1526, 1526, 450, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 149, 1526, 1526, 436, 450, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 148, 1526, 1526, 451, 451, 147, 147, 434, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 141, 452, 1526, 1526, 1526, 1526, 1526, 1526, 453, 450, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 123, 1526, 1526, 433, 453, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 215, 1526, 1526, 454, 454, 216, 216, 435, 1526, 1526, 1526, 451, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 167, 455, 1526, 1526, 1526, 1526, 1526, 1526, 465, 1526, 449, 424, 1526, 1526, 1526, 1526, 1526, 1526, 97, 1526, 1526, 456, 456, 98, 98, 464, 1526, 1526, 151, 1526, 1526, 462, 460, 457, 1526, 1526, 1526, 1526, 151, 1526, 1526, 1526, 95, 457, 77, 77, 1526, 1526, 1526, 1526, 1526, 1526, 459, 458, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 78, 458, 154, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 153, 459, 182, 182, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 156, 460, 99, 99, 461, 1526, 1526, 152, 1526, 1526, 1526, 1526, 458, 1526, 1526, 1526, 1526, 152, 1526, 1526, 1526, 100, 461, 227, 227, 1526, 1526, 1526, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 154, 1526, 1526, 1526, 100, 462, 228, 228, 463, 1526, 1526, 155, 1526, 1526, 1526, 1526, 459, 1526, 1526, 1526, 1526, 155, 1526, 1526, 1526, 229, 463, 230, 230, 1526, 1526, 1526, 182, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 182, 1526, 1526, 1526, 229, 464, 94, 94, 1526, 1526, 1526, 77, 1526, 1526, 463, 461, 1526, 1526, 1526, 1526, 1526, 77, 1526, 1526, 1526, 95, 465, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 450, 425, 1526, 1526, 1526, 1526, 1526, 1526, 183, 1526, 1526, 466, 466, 151, 151, 457, 1526, 1526, 1526, 1526, 1526, 468, 467, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 78, 467, 152, 152, 458, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 153, 468, 155, 155, 459, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 156, 469, 1526, 1526, 1526, 1526, 1526, 1526, 484, 465, 452, 427, 1526, 1526, 1526, 1526, 1526, 1526, 109, 1526, 1526, 470, 470, 82, 82, 483, 1526, 151, 218, 456, 481, 479, 475, 472, 457, 296, 434, 295, 218, 1526, 471, 1526, 59, 471, 83, 83, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 84, 472, 129, 129, 1526, 1526, 1526, 1526, 457, 296, 474, 473, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 130, 473, 206, 206, 1526, 1526, 1526, 1526, 458, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 207, 474, 208, 208, 1526, 1526, 1526, 1526, 459, 295, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 209, 475, 234, 234, 478, 1526, 152, 219, 460, 476, 1526, 1526, 473, 458, 293, 1526, 1526, 219, 1526, 1526, 1526, 235, 476, 200, 200, 477, 1526, 1526, 180, 1526, 1526, 1526, 1526, 293, 1526, 1526, 1526, 1526, 180, 1526, 1526, 1526, 201, 477, 202, 202, 1526, 1526, 1526, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 181, 1526, 1526, 1526, 201, 478, 236, 236, 1526, 1526, 154, 206, 461, 477, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 206, 1526, 1526, 1526, 235, 479, 237, 237, 480, 1526, 155, 220, 462, 410, 1526, 1526, 474, 459, 295, 1526, 1526, 220, 1526, 1526, 1526, 238, 480, 239, 239, 1526, 1526, 182, 208, 463, 411, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 208, 1526, 1526, 1526, 238, 481, 204, 204, 482, 1526, 1526, 179, 1526, 1526, 410, 476, 296, 1526, 1526, 1526, 1526, 179, 1526, 1526, 1526, 102, 482, 101, 101, 1526, 1526, 1526, 90, 1526, 1526, 411, 477, 1526, 1526, 1526, 1526, 1526, 90, 1526, 1526, 1526, 102, 483, 58, 58, 1526, 1526, 77, 129, 464, 482, 480, 478, 1526, 1526, 1526, 1526, 1526, 129, 1526, 1526, 1526, 59, 484, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 453, 428, 1526, 1526, 1526, 1526, 1526, 1526, 217, 1526, 1526, 485, 485, 218, 218, 472, 1526, 1526, 1526, 466, 489, 488, 486, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 130, 486, 219, 219, 473, 1526, 1526, 1526, 467, 487, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 207, 487, 180, 180, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 89, 488, 220, 220, 474, 1526, 1526, 1526, 468, 426, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 209, 489, 179, 179, 296, 1526, 1526, 1526, 1526, 1526, 426, 487, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 91, 490, 1526, 1526, 1526, 1526, 1526, 1526, 383, 222, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 491, 491, 1526, 1526, 1526, 1526, 1526, 1526, 449, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 382, 1526, 1526, 443, 492, 1526, 1526, 1526, 1526, 1526, 1526, 387, 161, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 493, 493, 1526, 1526, 1526, 1526, 1526, 1526, 423, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 385, 1526, 1526, 494, 494, 386, 386, 497, 1526, 1526, 112, 1526, 1526, 1526, 1526, 496, 1526, 1526, 1526, 1526, 495, 73, 1526, 112, 319, 495, 1526, 65, 65, 1526, 1526, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 116, 1526, 1526, 66, 496, 65, 65, 1526, 1526, 1526, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 259, 1526, 86, 66, 497, 318, 318, 1526, 1526, 1526, 113, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 65, 352, 1526, 113, 319, 498, 512, 512, 1526, 1526, 511, 490, 507, 363, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 490, 1526, 1526, 1526, 499, 499, 1526, 491, 491, 1526, 506, 382, 504, 1526, 1526, 1526, 502, 500, 1526, 1526, 1526, 1526, 50, 1526, 1526, 443, 500, 1526, 1526, 1526, 1526, 1526, 1526, 501, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 262, 1526, 1526, 441, 501, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 1526, 1526, 434, 502, 1526, 1526, 1526, 1526, 1526, 1526, 503, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 313, 1526, 1526, 444, 503, 1526, 1526, 1526, 1526, 1526, 1526, 501, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 145, 1526, 1526, 437, 504, 1526, 449, 449, 1526, 148, 149, 505, 1526, 1526, 1526, 503, 501, 1526, 1526, 1526, 1526, 138, 1526, 1526, 436, 505, 1526, 450, 450, 1526, 1526, 148, 1526, 1526, 1526, 1526, 501, 1526, 1526, 1526, 1526, 1526, 146, 1526, 1526, 451, 506, 1526, 1526, 1526, 1526, 1526, 1526, 148, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 440, 507, 49, 49, 1526, 1526, 315, 383, 508, 365, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 383, 1526, 1526, 1526, 50, 508, 510, 510, 1526, 1526, 1526, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 315, 1526, 1526, 1526, 509, 509, 1526, 313, 313, 1526, 1526, 1526, 187, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 314, 510, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 509, 511, 1526, 1526, 1526, 1526, 1526, 1526, 315, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 502, 512, 1526, 1526, 1526, 1526, 1526, 1526, 49, 304, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 499, 513, 525, 525, 1526, 1526, 524, 492, 519, 366, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 492, 1526, 1526, 1526, 514, 514, 1526, 493, 493, 1526, 518, 385, 72, 1526, 1526, 1526, 517, 516, 1526, 1526, 1526, 1526, 515, 1526, 1526, 494, 515, 1526, 385, 385, 1526, 64, 317, 111, 1526, 1526, 1526, 317, 64, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 386, 516, 1526, 1526, 1526, 1526, 1526, 1526, 261, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 64, 1526, 1526, 496, 517, 1526, 1526, 1526, 1526, 1526, 1526, 354, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 317, 1526, 1526, 497, 518, 1526, 1526, 1526, 1526, 1526, 1526, 117, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 495, 519, 523, 523, 1526, 1526, 322, 387, 520, 368, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 387, 1526, 1526, 1526, 515, 520, 522, 522, 1526, 1526, 1526, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 322, 1526, 1526, 1526, 521, 521, 1526, 317, 317, 1526, 1526, 1526, 122, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 318, 522, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 521, 523, 1526, 1526, 1526, 1526, 1526, 1526, 522, 121, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 515, 524, 1526, 1526, 1526, 1526, 1526, 1526, 322, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 517, 525, 1526, 1526, 1526, 1526, 1526, 1526, 523, 110, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 514, 526, 48, 48, 1526, 1526, 55, 69, 527, 370, 519, 507, 1526, 1526, 1526, 1526, 1526, 69, 1526, 1526, 1526, 36, 527, 533, 533, 1526, 1526, 1526, 55, 1526, 1526, 520, 508, 1526, 1526, 1526, 1526, 1526, 55, 1526, 1526, 1526, 528, 528, 1526, 56, 56, 1526, 1526, 1526, 225, 185, 531, 529, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 57, 529, 1526, 530, 530, 1526, 1526, 1526, 223, 186, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 423, 530, 1526, 1526, 1526, 1526, 1526, 1526, 161, 135, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 423, 531, 1526, 532, 532, 1526, 1526, 1526, 226, 187, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 446, 532, 1526, 1526, 1526, 1526, 1526, 1526, 163, 145, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 446, 533, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 522, 510, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 528, 534, 1526, 1526, 1526, 1526, 1526, 1526, 55, 171, 524, 511, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 535, 535, 1526, 1526, 1526, 1526, 1526, 1526, 572, 570, 567, 562, 1526, 1526, 1526, 1526, 1526, 1526, 56, 1526, 1526, 536, 536, 57, 57, 1526, 1526, 94, 58, 557, 552, 546, 537, 1526, 1526, 1526, 1526, 1526, 337, 483, 1526, 58, 16, 537, 545, 545, 1526, 1526, 227, 236, 542, 540, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 347, 478, 1526, 236, 538, 538, 235, 235, 348, 1526, 201, 100, 539, 1526, 1526, 1526, 256, 253, 1526, 1526, 1526, 100, 1526, 1526, 1526, 204, 539, 199, 199, 343, 1526, 1526, 201, 1526, 1526, 1526, 1526, 253, 1526, 1526, 1526, 1526, 201, 1526, 1526, 1526, 179, 540, 541, 541, 1526, 1526, 1526, 202, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 349, 477, 1526, 202, 321, 541, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 202, 1526, 1526, 321, 542, 544, 544, 1526, 1526, 1526, 227, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 255, 461, 1526, 227, 543, 543, 100, 100, 256, 1526, 1526, 1526, 321, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 101, 544, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 227, 1526, 1526, 543, 545, 1526, 1526, 1526, 1526, 1526, 1526, 544, 541, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 236, 1526, 1526, 538, 546, 551, 551, 1526, 1526, 230, 239, 548, 419, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 350, 480, 1526, 239, 547, 547, 238, 238, 351, 1526, 116, 229, 73, 1526, 1526, 1526, 258, 259, 1526, 1526, 1526, 229, 1526, 1526, 1526, 210, 548, 550, 550, 1526, 1526, 1526, 230, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 257, 463, 1526, 230, 549, 549, 229, 229, 258, 1526, 1526, 1526, 418, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 157, 550, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 230, 1526, 1526, 549, 551, 1526, 1526, 1526, 1526, 1526, 1526, 550, 420, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 239, 1526, 1526, 547, 552, 556, 556, 1526, 1526, 1526, 101, 1526, 1526, 419, 540, 1526, 1526, 1526, 1526, 1526, 44, 482, 1526, 101, 553, 553, 102, 102, 45, 1526, 1526, 1526, 1526, 1526, 555, 554, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 46, 554, 103, 103, 251, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 93, 555, 104, 104, 254, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 105, 556, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 420, 541, 1526, 1526, 1526, 1526, 1526, 1526, 101, 1526, 1526, 553, 557, 561, 561, 1526, 1526, 1526, 94, 1526, 1526, 548, 542, 1526, 1526, 1526, 1526, 1526, 247, 464, 1526, 94, 558, 558, 95, 95, 248, 1526, 1526, 1526, 553, 319, 560, 559, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 79, 559, 96, 96, 249, 1526, 1526, 1526, 554, 320, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 97, 560, 232, 232, 252, 1526, 1526, 1526, 555, 321, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 205, 561, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 550, 544, 1526, 1526, 1526, 1526, 1526, 1526, 94, 1526, 1526, 558, 562, 1526, 1526, 1526, 1526, 1526, 1526, 565, 563, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 530, 1526, 1526, 422, 563, 1526, 1526, 1526, 1526, 1526, 1526, 564, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 135, 1526, 1526, 411, 564, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 134, 1526, 1526, 295, 565, 1526, 1526, 1526, 1526, 1526, 1526, 566, 564, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 161, 1526, 1526, 412, 566, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 162, 1526, 1526, 294, 567, 1526, 1526, 1526, 1526, 1526, 1526, 568, 503, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 532, 1526, 1526, 445, 568, 1526, 1526, 1526, 1526, 1526, 1526, 569, 501, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 163, 1526, 1526, 438, 569, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 165, 1526, 1526, 435, 570, 1526, 1526, 1526, 1526, 1526, 1526, 571, 1526, 503, 563, 1526, 1526, 1526, 1526, 1526, 1526, 93, 1526, 1526, 464, 571, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 501, 564, 1526, 1526, 1526, 1526, 1526, 1526, 76, 1526, 1526, 457, 572, 1526, 1526, 1526, 1526, 1526, 1526, 573, 571, 568, 565, 1526, 1526, 1526, 1526, 1526, 1526, 160, 1526, 1526, 483, 573, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 569, 566, 1526, 1526, 1526, 1526, 1526, 1526, 128, 1526, 1526, 472, 574, 777, 777, 1526, 1526, 776, 743, 769, 371, 757, 513, 1526, 1526, 1526, 1526, 1526, 743, 1526, 1526, 1526, 575, 575, 1526, 742, 742, 1526, 741, 389, 37, 738, 731, 721, 714, 709, 707, 705, 516, 1526, 688, 683, 1526, 576, 576, 390, 390, 682, 1526, 190, 59, 668, 657, 638, 610, 607, 604, 601, 496, 597, 579, 16, 577, 59, 326, 577, 391, 391, 1526, 1526, 1526, 60, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 578, 1526, 60, 392, 578, 60, 60, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 61, 579, 1526, 360, 360, 1526, 91, 78, 596, 594, 588, 580, 1526, 1526, 1526, 1526, 1526, 1526, 95, 1526, 1526, 361, 580, 1526, 587, 587, 1526, 92, 231, 586, 584, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 96, 1526, 1526, 581, 581, 97, 97, 1526, 1526, 76, 93, 375, 1526, 583, 582, 1526, 1526, 1526, 1526, 1526, 93, 1526, 1526, 1526, 98, 582, 137, 137, 1526, 1526, 134, 135, 367, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 135, 1526, 1526, 1526, 115, 583, 149, 149, 1526, 1526, 144, 145, 373, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 145, 1526, 1526, 1526, 139, 584, 1526, 585, 585, 1526, 1526, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 75, 1526, 1526, 282, 585, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 88, 1526, 1526, 282, 586, 1526, 286, 286, 1526, 1526, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 103, 1526, 1526, 287, 587, 1526, 1526, 1526, 1526, 1526, 1526, 286, 585, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 231, 1526, 1526, 581, 588, 1526, 593, 593, 1526, 196, 233, 592, 591, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 232, 1526, 1526, 589, 589, 205, 205, 1526, 1526, 90, 105, 482, 1526, 412, 590, 1526, 1526, 1526, 1526, 1526, 105, 1526, 1526, 1526, 190, 590, 203, 203, 1526, 1526, 181, 195, 477, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 195, 1526, 1526, 1526, 199, 591, 1526, 298, 298, 1526, 1526, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 201, 1526, 1526, 296, 592, 1526, 290, 290, 1526, 1526, 196, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 104, 1526, 1526, 291, 593, 1526, 1526, 1526, 1526, 1526, 1526, 290, 298, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 233, 1526, 1526, 589, 594, 1526, 595, 595, 1526, 1526, 87, 1526, 1526, 591, 584, 1526, 1526, 1526, 1526, 1526, 1526, 74, 1526, 1526, 285, 595, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 298, 585, 1526, 1526, 1526, 1526, 1526, 1526, 87, 1526, 1526, 285, 596, 1526, 267, 267, 1526, 1526, 91, 1526, 1526, 592, 586, 1526, 1526, 1526, 1526, 1526, 1526, 102, 1526, 1526, 268, 597, 398, 398, 1526, 1526, 1526, 598, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 600, 1526, 598, 399, 598, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 599, 599, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 400, 600, 598, 598, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 599, 601, 595, 595, 1526, 1526, 1526, 87, 1526, 1526, 603, 602, 1526, 1526, 1526, 1526, 1526, 1526, 66, 1526, 87, 285, 602, 585, 585, 1526, 1526, 1526, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 250, 1526, 88, 282, 603, 298, 298, 1526, 1526, 1526, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 253, 1526, 89, 296, 604, 267, 267, 1526, 1526, 1526, 91, 1526, 1526, 606, 605, 1526, 1526, 1526, 1526, 1526, 1526, 45, 1526, 91, 268, 605, 286, 286, 1526, 1526, 1526, 92, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 251, 1526, 92, 287, 606, 290, 290, 1526, 1526, 1526, 196, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 254, 1526, 196, 291, 607, 360, 360, 1526, 1526, 91, 78, 604, 601, 609, 608, 1526, 1526, 1526, 1526, 1526, 1526, 248, 1526, 78, 361, 608, 587, 587, 1526, 1526, 92, 231, 605, 602, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 249, 1526, 231, 581, 609, 593, 593, 1526, 1526, 196, 233, 606, 603, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 252, 1526, 233, 589, 610, 637, 637, 635, 1526, 191, 617, 628, 621, 1526, 1526, 608, 605, 602, 1526, 1526, 580, 618, 1526, 617, 611, 611, 132, 132, 581, 1526, 175, 185, 616, 1526, 614, 612, 287, 282, 1526, 1526, 1526, 185, 1526, 1526, 1526, 98, 612, 133, 133, 582, 1526, 176, 186, 613, 1526, 1526, 1526, 288, 274, 1526, 1526, 1526, 186, 1526, 1526, 1526, 115, 613, 136, 136, 367, 1526, 1526, 176, 1526, 1526, 1526, 1526, 274, 1526, 1526, 1526, 1526, 176, 1526, 1526, 1526, 120, 614, 138, 138, 583, 1526, 177, 187, 615, 1526, 1526, 1526, 289, 280, 1526, 1526, 1526, 187, 1526, 1526, 1526, 139, 615, 146, 146, 373, 1526, 1526, 177, 1526, 1526, 1526, 1526, 280, 1526, 1526, 1526, 1526, 177, 1526, 1526, 1526, 147, 616, 150, 150, 375, 1526, 1526, 175, 1526, 1526, 615, 613, 282, 1526, 1526, 1526, 1526, 175, 1526, 1526, 1526, 151, 617, 1526, 131, 131, 1526, 92, 231, 191, 211, 1526, 1526, 231, 92, 88, 1526, 1526, 1526, 1526, 1526, 1526, 132, 618, 617, 617, 339, 1526, 103, 96, 620, 619, 1526, 1526, 249, 251, 250, 1526, 1526, 96, 1526, 1526, 1526, 132, 619, 211, 211, 340, 1526, 1526, 75, 1526, 1526, 1526, 1526, 250, 1526, 1526, 1526, 1526, 75, 1526, 1526, 1526, 175, 620, 191, 191, 341, 1526, 1526, 103, 1526, 1526, 1526, 1526, 251, 1526, 1526, 1526, 1526, 103, 1526, 1526, 1526, 185, 621, 627, 627, 625, 1526, 1526, 211, 1526, 1526, 1526, 1526, 602, 1526, 1526, 1526, 1526, 584, 619, 1526, 211, 622, 622, 175, 175, 282, 1526, 1526, 1526, 1526, 1526, 624, 623, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 77, 623, 176, 176, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 85, 624, 177, 177, 280, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 142, 625, 626, 626, 1526, 1526, 1526, 174, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 585, 340, 1526, 174, 622, 626, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 174, 1526, 1526, 622, 627, 1526, 626, 626, 1526, 1526, 174, 1526, 1526, 1526, 1526, 585, 1526, 1526, 1526, 1526, 1526, 211, 1526, 1526, 622, 628, 634, 634, 632, 1526, 1526, 191, 1526, 1526, 1526, 1526, 605, 1526, 1526, 1526, 1526, 586, 620, 1526, 191, 629, 629, 185, 185, 287, 1526, 1526, 1526, 622, 1526, 631, 630, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 94, 630, 186, 186, 288, 1526, 1526, 1526, 623, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 117, 631, 187, 187, 289, 1526, 1526, 1526, 624, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 143, 632, 633, 633, 1526, 1526, 1526, 184, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 286, 341, 1526, 184, 629, 633, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 184, 1526, 1526, 629, 634, 1526, 633, 633, 1526, 1526, 184, 1526, 1526, 1526, 1526, 286, 1526, 1526, 1526, 1526, 1526, 191, 1526, 1526, 629, 635, 636, 636, 1526, 1526, 184, 131, 632, 625, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 587, 339, 1526, 131, 611, 636, 1526, 1526, 1526, 1526, 1526, 1526, 633, 626, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 131, 1526, 1526, 611, 637, 1526, 636, 636, 1526, 184, 131, 634, 627, 1526, 1526, 587, 286, 585, 1526, 1526, 1526, 617, 1526, 1526, 611, 638, 656, 656, 654, 1526, 192, 641, 648, 644, 1526, 1526, 609, 606, 603, 1526, 1526, 588, 642, 1526, 641, 639, 639, 189, 189, 589, 1526, 179, 193, 481, 1526, 409, 640, 291, 296, 1526, 1526, 1526, 193, 1526, 1526, 1526, 190, 640, 198, 198, 590, 1526, 180, 194, 476, 1526, 1526, 1526, 292, 293, 1526, 1526, 1526, 194, 1526, 1526, 1526, 199, 641, 1526, 188, 188, 1526, 196, 233, 192, 199, 1526, 1526, 233, 196, 89, 1526, 1526, 1526, 1526, 1526, 1526, 189, 642, 641, 641, 342, 1526, 104, 232, 643, 539, 1526, 1526, 252, 254, 253, 1526, 1526, 232, 1526, 1526, 1526, 189, 643, 192, 192, 344, 1526, 1526, 104, 1526, 1526, 1526, 1526, 254, 1526, 1526, 1526, 1526, 104, 1526, 1526, 1526, 193, 644, 647, 647, 645, 1526, 1526, 199, 1526, 1526, 1526, 1526, 603, 1526, 1526, 1526, 1526, 591, 539, 1526, 199, 489, 645, 646, 646, 1526, 1526, 1526, 178, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 298, 343, 1526, 178, 489, 646, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 178, 1526, 1526, 489, 647, 1526, 646, 646, 1526, 1526, 178, 1526, 1526, 1526, 1526, 298, 1526, 1526, 1526, 1526, 1526, 199, 1526, 1526, 489, 648, 653, 653, 651, 1526, 1526, 192, 1526, 1526, 1526, 1526, 606, 1526, 1526, 1526, 1526, 592, 643, 1526, 192, 649, 649, 193, 193, 291, 1526, 1526, 1526, 489, 1526, 429, 650, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 106, 650, 194, 194, 292, 1526, 1526, 1526, 487, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 178, 651, 652, 652, 1526, 1526, 1526, 197, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 290, 344, 1526, 197, 649, 652, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 197, 1526, 1526, 649, 653, 1526, 652, 652, 1526, 1526, 197, 1526, 1526, 1526, 1526, 290, 1526, 1526, 1526, 1526, 1526, 192, 1526, 1526, 649, 654, 655, 655, 1526, 1526, 197, 188, 651, 645, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 593, 342, 1526, 188, 639, 655, 1526, 1526, 1526, 1526, 1526, 1526, 652, 646, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 188, 1526, 1526, 639, 656, 1526, 655, 655, 1526, 197, 188, 653, 647, 1526, 1526, 593, 290, 298, 1526, 1526, 1526, 641, 1526, 1526, 639, 657, 667, 667, 665, 1526, 1526, 210, 1526, 1526, 644, 621, 601, 1526, 1526, 1526, 1526, 594, 664, 1526, 210, 658, 658, 158, 158, 285, 1526, 1526, 1526, 1526, 1526, 662, 659, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 68, 659, 159, 159, 277, 1526, 1526, 1526, 1526, 1526, 661, 660, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 160, 660, 168, 168, 272, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 145, 661, 170, 170, 275, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 114, 662, 172, 172, 283, 1526, 1526, 1526, 1526, 1526, 663, 661, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 129, 663, 173, 173, 281, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 166, 664, 210, 210, 345, 1526, 1526, 74, 1526, 1526, 539, 619, 66, 1526, 1526, 1526, 1526, 74, 1526, 1526, 1526, 158, 665, 666, 666, 1526, 1526, 1526, 157, 1526, 1526, 645, 625, 1526, 1526, 1526, 1526, 1526, 595, 345, 1526, 157, 658, 666, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 646, 626, 1526, 1526, 1526, 1526, 1526, 1526, 157, 1526, 1526, 658, 667, 1526, 666, 666, 1526, 1526, 157, 1526, 1526, 647, 627, 595, 1526, 1526, 1526, 1526, 1526, 210, 1526, 1526, 658, 668, 681, 681, 679, 1526, 1526, 190, 1526, 1526, 648, 628, 604, 1526, 1526, 1526, 1526, 596, 678, 1526, 190, 669, 669, 107, 107, 268, 1526, 1526, 1526, 658, 677, 675, 670, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 47, 670, 108, 108, 269, 1526, 1526, 1526, 659, 674, 673, 671, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 109, 671, 221, 221, 270, 1526, 1526, 1526, 660, 672, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 149, 672, 212, 212, 271, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 673, 223, 223, 273, 1526, 1526, 1526, 661, 623, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 118, 674, 127, 127, 276, 1526, 1526, 1526, 1526, 1526, 623, 672, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 128, 675, 225, 225, 278, 1526, 1526, 1526, 662, 622, 676, 673, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 58, 676, 226, 226, 279, 1526, 1526, 1526, 663, 624, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 164, 677, 126, 126, 284, 1526, 1526, 1526, 1526, 1526, 622, 674, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 54, 678, 190, 190, 346, 1526, 1526, 102, 1526, 1526, 643, 620, 45, 1526, 1526, 1526, 1526, 102, 1526, 1526, 1526, 107, 679, 680, 680, 1526, 1526, 1526, 106, 1526, 1526, 651, 632, 1526, 1526, 1526, 1526, 1526, 267, 346, 1526, 106, 669, 680, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 652, 633, 1526, 1526, 1526, 1526, 1526, 1526, 106, 1526, 1526, 669, 681, 1526, 680, 680, 1526, 1526, 106, 1526, 1526, 653, 634, 267, 1526, 1526, 1526, 1526, 1526, 190, 1526, 1526, 669, 682, 325, 325, 1526, 1526, 106, 130, 679, 665, 654, 635, 1526, 1526, 1526, 1526, 1526, 360, 338, 1526, 130, 326, 683, 1526, 1526, 1526, 1526, 1526, 1526, 38, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 687, 1526, 1526, 684, 684, 686, 686, 1526, 1526, 1526, 84, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 39, 1526, 84, 685, 685, 40, 40, 1526, 1526, 1526, 1526, 1526, 1526, 280, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 41, 686, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 84, 1526, 1526, 685, 687, 1526, 1526, 1526, 1526, 1526, 1526, 83, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 686, 688, 1526, 389, 389, 1526, 359, 324, 82, 189, 698, 691, 324, 359, 266, 689, 64, 1526, 1526, 687, 1526, 390, 689, 1526, 1526, 1526, 1526, 1526, 1526, 142, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 690, 690, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 141, 1526, 1526, 284, 691, 1526, 697, 697, 1526, 695, 696, 234, 198, 1526, 1526, 696, 695, 297, 1526, 1526, 1526, 1526, 1526, 1526, 692, 692, 1526, 694, 694, 1526, 178, 207, 647, 1526, 1526, 1526, 693, 298, 1526, 1526, 1526, 1526, 235, 1526, 1526, 481, 693, 1526, 1526, 1526, 1526, 1526, 1526, 298, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 153, 1526, 1526, 482, 694, 1526, 1526, 1526, 1526, 1526, 1526, 646, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 207, 1526, 1526, 481, 695, 1526, 1526, 1526, 1526, 1526, 1526, 154, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 693, 696, 1526, 1526, 1526, 1526, 1526, 1526, 206, 195, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 694, 697, 1526, 1526, 1526, 1526, 1526, 1526, 236, 203, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 692, 698, 1526, 704, 704, 1526, 702, 703, 237, 111, 1526, 1526, 703, 702, 64, 1526, 1526, 1526, 1526, 1526, 1526, 699, 699, 1526, 701, 701, 1526, 113, 209, 386, 1526, 1526, 1526, 700, 65, 1526, 1526, 1526, 1526, 238, 1526, 1526, 664, 700, 1526, 1526, 1526, 1526, 1526, 1526, 65, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 156, 1526, 1526, 345, 701, 1526, 1526, 1526, 1526, 1526, 1526, 318, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 209, 1526, 1526, 664, 702, 1526, 1526, 1526, 1526, 1526, 1526, 182, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 700, 703, 1526, 1526, 1526, 1526, 1526, 1526, 208, 114, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 701, 704, 1526, 1526, 1526, 1526, 1526, 1526, 239, 118, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 699, 705, 1526, 1526, 1526, 1526, 1526, 1526, 263, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 689, 1526, 1526, 706, 706, 690, 690, 1526, 1526, 1526, 141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 264, 1526, 141, 284, 707, 1526, 1526, 1526, 1526, 1526, 1526, 44, 1526, 516, 708, 1526, 1526, 1526, 1526, 1526, 1526, 266, 1526, 1526, 604, 708, 1526, 1526, 1526, 1526, 1526, 1526, 349, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 297, 1526, 1526, 603, 709, 1526, 1526, 1526, 1526, 1526, 1526, 247, 44, 712, 710, 1526, 1526, 1526, 1526, 1526, 1526, 359, 1526, 1526, 607, 710, 1526, 1526, 1526, 1526, 1526, 1526, 255, 349, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 695, 1526, 1526, 711, 711, 693, 693, 1526, 1526, 89, 153, 603, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 256, 1526, 153, 482, 712, 1526, 1526, 1526, 1526, 1526, 1526, 257, 261, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 702, 1526, 1526, 713, 713, 700, 700, 1526, 1526, 86, 156, 496, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 258, 1526, 156, 345, 714, 1526, 1526, 1526, 1526, 1526, 1526, 337, 720, 718, 715, 1526, 1526, 1526, 1526, 1526, 1526, 324, 1526, 1526, 682, 715, 1526, 1526, 1526, 1526, 1526, 1526, 347, 717, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 696, 1526, 1526, 716, 716, 694, 694, 1526, 1526, 178, 207, 645, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 693, 348, 1526, 207, 481, 717, 1526, 1526, 1526, 1526, 1526, 1526, 349, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 195, 1526, 1526, 343, 718, 1526, 1526, 1526, 1526, 1526, 1526, 350, 354, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 703, 1526, 1526, 719, 719, 701, 701, 1526, 1526, 113, 209, 497, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 700, 351, 1526, 209, 664, 720, 1526, 1526, 1526, 1526, 1526, 1526, 44, 1526, 354, 717, 1526, 1526, 1526, 1526, 1526, 1526, 105, 1526, 1526, 346, 721, 1526, 730, 730, 1526, 729, 697, 727, 724, 1526, 1526, 715, 710, 708, 1526, 1526, 1526, 691, 1526, 1526, 722, 722, 692, 692, 716, 1526, 199, 235, 644, 1526, 1526, 1526, 711, 603, 1526, 1526, 1526, 723, 538, 1526, 235, 481, 723, 1526, 693, 693, 1526, 89, 153, 591, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 100, 1526, 1526, 482, 724, 1526, 726, 726, 1526, 202, 203, 725, 1526, 1526, 1526, 717, 349, 1526, 1526, 1526, 1526, 198, 1526, 1526, 539, 725, 1526, 541, 541, 1526, 1526, 202, 1526, 1526, 1526, 1526, 349, 1526, 1526, 1526, 1526, 1526, 200, 1526, 1526, 321, 726, 1526, 1526, 1526, 1526, 1526, 1526, 541, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 203, 1526, 1526, 539, 727, 1526, 545, 545, 1526, 227, 236, 728, 725, 1526, 1526, 347, 255, 349, 1526, 1526, 1526, 234, 1526, 1526, 538, 728, 1526, 544, 544, 1526, 1526, 227, 1526, 1526, 1526, 1526, 255, 1526, 1526, 1526, 1526, 1526, 99, 1526, 1526, 543, 729, 1526, 1526, 1526, 1526, 1526, 1526, 227, 202, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 723, 730, 1526, 1526, 1526, 1526, 1526, 1526, 545, 726, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 697, 1526, 1526, 722, 731, 1526, 737, 737, 1526, 736, 704, 734, 72, 1526, 1526, 718, 712, 516, 1526, 1526, 1526, 698, 1526, 1526, 732, 732, 699, 699, 719, 1526, 112, 238, 494, 1526, 1526, 1526, 713, 496, 1526, 1526, 1526, 733, 547, 1526, 238, 664, 733, 1526, 700, 700, 1526, 86, 156, 495, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 229, 1526, 1526, 345, 734, 1526, 551, 551, 1526, 230, 239, 735, 421, 1526, 1526, 350, 257, 261, 1526, 1526, 1526, 237, 1526, 1526, 547, 735, 1526, 550, 550, 1526, 1526, 230, 1526, 1526, 1526, 1526, 257, 1526, 1526, 1526, 1526, 1526, 228, 1526, 1526, 549, 736, 1526, 1526, 1526, 1526, 1526, 1526, 230, 117, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 733, 737, 1526, 1526, 1526, 1526, 1526, 1526, 551, 423, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 704, 1526, 1526, 732, 738, 1526, 740, 740, 1526, 101, 205, 739, 1526, 72, 724, 720, 44, 1526, 1526, 1526, 1526, 189, 1526, 1526, 678, 739, 1526, 556, 556, 1526, 1526, 101, 1526, 1526, 421, 725, 44, 1526, 1526, 1526, 1526, 1526, 204, 1526, 1526, 553, 740, 1526, 1526, 1526, 1526, 1526, 1526, 556, 1526, 423, 726, 1526, 1526, 1526, 1526, 1526, 1526, 205, 1526, 1526, 678, 741, 1526, 1526, 1526, 1526, 1526, 1526, 94, 101, 736, 729, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 579, 742, 1526, 1526, 1526, 1526, 1526, 1526, 57, 740, 737, 730, 1526, 1526, 1526, 1526, 1526, 1526, 389, 1526, 1526, 576, 743, 1526, 1526, 1526, 1526, 1526, 1526, 755, 160, 744, 492, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 742, 744, 1526, 1526, 1526, 1526, 1526, 1526, 752, 163, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 745, 745, 1526, 1526, 1526, 1526, 1526, 1526, 446, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 751, 1526, 1526, 746, 746, 750, 750, 748, 1526, 1526, 125, 1526, 1526, 1526, 1526, 706, 1526, 1526, 1526, 1526, 747, 432, 1526, 125, 677, 747, 1526, 690, 690, 1526, 1526, 141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 140, 1526, 1526, 284, 748, 749, 749, 1526, 1526, 1526, 167, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 690, 357, 1526, 167, 677, 749, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 167, 1526, 1526, 677, 750, 1526, 749, 749, 1526, 1526, 167, 1526, 1526, 1526, 1526, 690, 1526, 1526, 1526, 1526, 1526, 125, 1526, 1526, 677, 751, 1526, 1526, 1526, 1526, 1526, 1526, 164, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 750, 752, 1526, 1526, 1526, 1526, 1526, 1526, 753, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 751, 753, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 754, 754, 1526, 1526, 1526, 1526, 1526, 1526, 166, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 749, 755, 1526, 1526, 1526, 1526, 1526, 1526, 756, 128, 752, 387, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 389, 756, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 753, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 324, 757, 768, 768, 1526, 1526, 767, 744, 762, 372, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 744, 1526, 1526, 1526, 758, 758, 1526, 745, 745, 1526, 761, 751, 447, 1526, 1526, 1526, 760, 705, 1526, 1526, 1526, 1526, 759, 1526, 1526, 746, 759, 1526, 751, 751, 1526, 689, 754, 124, 1526, 1526, 1526, 754, 689, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 750, 760, 1526, 1526, 1526, 1526, 1526, 1526, 356, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 754, 1526, 1526, 748, 761, 1526, 1526, 1526, 1526, 1526, 1526, 143, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 747, 762, 766, 766, 1526, 1526, 753, 752, 763, 374, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 752, 1526, 1526, 1526, 759, 763, 765, 765, 1526, 1526, 1526, 753, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 753, 1526, 1526, 1526, 764, 764, 1526, 754, 754, 1526, 1526, 1526, 216, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 749, 765, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 764, 766, 1526, 1526, 1526, 1526, 1526, 1526, 765, 215, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 759, 767, 1526, 1526, 1526, 1526, 1526, 1526, 753, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 760, 768, 1526, 1526, 1526, 1526, 1526, 1526, 766, 123, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 758, 769, 775, 775, 1526, 1526, 756, 755, 770, 376, 762, 519, 1526, 1526, 1526, 1526, 1526, 755, 1526, 1526, 1526, 688, 770, 774, 774, 1526, 1526, 1526, 756, 1526, 1526, 763, 520, 1526, 1526, 1526, 1526, 1526, 756, 1526, 1526, 1526, 771, 771, 1526, 324, 324, 1526, 1526, 1526, 218, 193, 773, 772, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 325, 772, 1526, 696, 696, 1526, 1526, 1526, 219, 194, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 694, 773, 1526, 703, 703, 1526, 1526, 1526, 220, 122, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 701, 774, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 765, 522, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 771, 775, 1526, 1526, 1526, 1526, 1526, 1526, 774, 217, 766, 523, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 688, 776, 1526, 1526, 1526, 1526, 1526, 1526, 756, 128, 767, 524, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 714, 777, 1526, 1526, 1526, 1526, 1526, 1526, 775, 109, 768, 525, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 575, 778, 47, 47, 1526, 1526, 54, 68, 779, 378, 769, 526, 1526, 1526, 1526, 1526, 1526, 68, 1526, 1526, 1526, 1, 779, 788, 788, 1526, 1526, 1526, 54, 1526, 1526, 770, 527, 1526, 1526, 1526, 1526, 1526, 54, 1526, 1526, 1526, 780, 780, 1526, 32, 32, 1526, 1526, 1526, 379, 107, 784, 781, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 33, 781, 1526, 405, 405, 1526, 1526, 1526, 380, 108, 783, 782, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 406, 782, 1526, 490, 490, 1526, 1526, 1526, 381, 221, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 491, 783, 1526, 492, 492, 1526, 1526, 1526, 384, 223, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 493, 784, 1526, 743, 743, 1526, 1526, 1526, 388, 225, 785, 783, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 742, 785, 1526, 744, 744, 1526, 1526, 1526, 786, 226, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 745, 786, 1526, 752, 752, 1526, 1526, 1526, 787, 173, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 751, 787, 1526, 753, 753, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 754, 788, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 774, 533, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 780, 789, 1526, 1526, 1526, 1526, 1526, 1526, 803, 802, 798, 793, 1526, 1526, 1526, 1526, 1526, 1526, 69, 1526, 1526, 790, 790, 70, 70, 1526, 1526, 336, 56, 371, 581, 792, 791, 1526, 1526, 1526, 1526, 1526, 56, 1526, 1526, 1526, 37, 791, 71, 71, 1526, 1526, 353, 530, 366, 582, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 530, 1526, 1526, 1526, 72, 792, 448, 448, 1526, 1526, 355, 532, 372, 583, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 532, 1526, 1526, 1526, 447, 793, 1526, 1526, 1526, 1526, 1526, 1526, 796, 795, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 383, 1526, 1526, 794, 794, 382, 382, 1526, 1526, 262, 313, 583, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 313, 1526, 1526, 1526, 51, 795, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 169, 1526, 1526, 289, 796, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 315, 1526, 1526, 797, 797, 313, 313, 1526, 1526, 1526, 1526, 289, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 314, 798, 1526, 1526, 1526, 1526, 1526, 1526, 800, 566, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 387, 1526, 1526, 799, 799, 385, 385, 1526, 1526, 64, 317, 412, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 317, 1526, 1526, 1526, 386, 800, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 322, 1526, 1526, 801, 801, 317, 317, 1526, 1526, 1526, 1526, 294, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 318, 802, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 566, 795, 1526, 1526, 1526, 1526, 1526, 1526, 171, 1526, 1526, 278, 803, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 800, 796, 1526, 1526, 1526, 1526, 1526, 1526, 55, 1526, 1526, 804, 804, 56, 56, 1526, 1526, 1526, 1526, 278, 287, 806, 805, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 57, 805, 530, 530, 1526, 1526, 1526, 1526, 273, 288, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 423, 806, 532, 532, 1526, 1526, 1526, 1526, 279, 289, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 446, 807, 1526, 1526, 1526, 1526, 1526, 1526, 815, 573, 811, 798, 1526, 1526, 1526, 1526, 1526, 1526, 755, 1526, 1526, 808, 808, 389, 389, 1526, 1526, 359, 324, 483, 589, 810, 809, 1526, 1526, 1526, 1526, 1526, 324, 1526, 1526, 1526, 390, 809, 697, 697, 1526, 1526, 695, 696, 478, 590, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 696, 1526, 1526, 1526, 692, 810, 704, 704, 1526, 1526, 702, 703, 480, 412, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 703, 1526, 1526, 1526, 699, 811, 1526, 1526, 1526, 1526, 1526, 1526, 813, 569, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 752, 1526, 1526, 812, 812, 751, 751, 1526, 1526, 689, 754, 438, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 754, 1526, 1526, 1526, 750, 813, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 753, 1526, 1526, 814, 814, 754, 754, 1526, 1526, 1526, 1526, 435, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 749, 815, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 813, 800, 1526, 1526, 1526, 1526, 1526, 1526, 756, 1526, 1526, 816, 816, 324, 324, 1526, 1526, 1526, 1526, 472, 291, 818, 817, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 325, 817, 696, 696, 1526, 1526, 1526, 1526, 473, 292, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 694, 818, 703, 703, 1526, 1526, 1526, 1526, 474, 294, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 701, 819, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 573, 802, 1526, 1526, 1526, 1526, 1526, 1526, 67, 1526, 1526, 820, 820, 68, 68, 1526, 1526, 1526, 1526, 831, 285, 827, 821, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 12, 821, 69, 69, 1526, 1526, 1526, 1526, 826, 277, 824, 822, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 70, 822, 383, 383, 1526, 1526, 1526, 1526, 823, 272, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 382, 823, 315, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 313, 824, 387, 387, 1526, 1526, 1526, 1526, 825, 275, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 385, 825, 322, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 317, 826, 55, 55, 1526, 1526, 1526, 1526, 1526, 1526, 825, 823, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 56, 827, 755, 755, 1526, 1526, 1526, 1526, 830, 283, 828, 824, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 389, 828, 752, 752, 1526, 1526, 1526, 1526, 829, 281, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 751, 829, 753, 753, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 754, 830, 756, 756, 1526, 1526, 1526, 1526, 1526, 1526, 829, 825, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 324, 831, 54, 54, 1526, 1526, 1526, 1526, 1526, 1526, 830, 826, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 32, 832, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 815, 803, 1526, 1526, 1526, 1526, 1526, 1526, 54, 1526, 1526, 833, 833, 32, 32, 1526, 1526, 1526, 1526, 820, 268, 837, 834, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 33, 834, 405, 405, 1526, 1526, 1526, 1526, 821, 269, 836, 835, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 406, 835, 490, 490, 1526, 1526, 1526, 1526, 822, 270, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 491, 836, 492, 492, 1526, 1526, 1526, 1526, 824, 273, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 493, 837, 743, 743, 1526, 1526, 1526, 1526, 827, 278, 838, 836, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 742, 838, 744, 744, 1526, 1526, 1526, 1526, 828, 279, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 745, 839, 1526, 1526, 1526, 1526, 1526, 1526, 171, 214, 353, 840, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 572, 840, 1526, 1526, 1526, 1526, 1526, 1526, 169, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 503, 841, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 217, 308, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 379, 842, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 689, 843, 844, 844, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 397, 844, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 397, 845, 240, 240, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 241, 846, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 240, 844, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 328, 847, 898, 898, 1526, 1526, 1526, 1526, 1526, 1526, 280, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 848, 848, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 896, 42, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 849, 849, 1526, 1526, 1526, 1526, 1526, 1526, 400, 87, 895, 892, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 850, 850, 1526, 1526, 1526, 1526, 1526, 1526, 819, 891, 881, 869, 1526, 1526, 1526, 1526, 1526, 1526, 401, 1526, 1526, 851, 851, 402, 402, 1526, 1526, 54, 68, 868, 867, 861, 852, 1526, 1526, 1526, 1526, 1526, 1526, 820, 1526, 68, 403, 852, 789, 789, 1526, 1526, 55, 69, 860, 859, 856, 853, 1526, 1526, 1526, 1526, 1526, 1526, 821, 1526, 69, 790, 853, 793, 793, 1526, 1526, 315, 383, 855, 854, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 822, 1526, 383, 794, 854, 795, 795, 1526, 1526, 1526, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 272, 1526, 169, 289, 855, 796, 796, 1526, 1526, 1526, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 823, 1526, 315, 797, 856, 798, 798, 1526, 1526, 322, 387, 858, 857, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 824, 1526, 387, 799, 857, 566, 566, 1526, 1526, 1526, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 275, 1526, 162, 294, 858, 800, 800, 1526, 1526, 1526, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 825, 1526, 322, 801, 859, 802, 802, 1526, 1526, 1526, 171, 1526, 1526, 857, 854, 1526, 1526, 1526, 1526, 1526, 1526, 277, 1526, 171, 278, 860, 803, 803, 1526, 1526, 1526, 55, 1526, 1526, 858, 855, 1526, 1526, 1526, 1526, 1526, 1526, 826, 1526, 55, 804, 861, 807, 807, 1526, 1526, 756, 755, 866, 865, 862, 856, 1526, 1526, 1526, 1526, 1526, 1526, 827, 1526, 755, 808, 862, 811, 811, 1526, 1526, 753, 752, 864, 863, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 828, 1526, 752, 812, 863, 569, 569, 1526, 1526, 1526, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 281, 1526, 165, 435, 864, 813, 813, 1526, 1526, 1526, 753, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 829, 1526, 753, 814, 865, 573, 573, 1526, 1526, 1526, 128, 1526, 1526, 863, 857, 1526, 1526, 1526, 1526, 1526, 1526, 283, 1526, 128, 472, 866, 815, 815, 1526, 1526, 1526, 756, 1526, 1526, 864, 858, 1526, 1526, 1526, 1526, 1526, 1526, 830, 1526, 756, 816, 867, 819, 819, 1526, 1526, 1526, 67, 1526, 1526, 865, 859, 1526, 1526, 1526, 1526, 1526, 1526, 285, 1526, 67, 820, 868, 832, 832, 1526, 1526, 1526, 54, 1526, 1526, 866, 860, 1526, 1526, 1526, 1526, 1526, 1526, 831, 1526, 54, 833, 869, 1526, 1526, 1526, 1526, 1526, 1526, 802, 880, 879, 876, 1526, 1526, 1526, 1526, 1526, 1526, 839, 1526, 1526, 870, 870, 572, 572, 1526, 1526, 128, 160, 865, 875, 873, 871, 1526, 1526, 1526, 1526, 1526, 1526, 278, 1526, 160, 483, 871, 565, 565, 1526, 1526, 162, 161, 857, 872, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 273, 1526, 161, 412, 872, 564, 564, 1526, 1526, 1526, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 274, 1526, 134, 295, 873, 568, 568, 1526, 1526, 165, 163, 863, 874, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 279, 1526, 163, 438, 874, 501, 501, 1526, 1526, 1526, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 280, 1526, 144, 434, 875, 571, 571, 1526, 1526, 1526, 76, 1526, 1526, 874, 872, 1526, 1526, 1526, 1526, 1526, 1526, 282, 1526, 76, 457, 876, 1526, 1526, 1526, 1526, 1526, 1526, 795, 878, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 840, 1526, 1526, 877, 877, 503, 503, 1526, 1526, 144, 145, 874, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 289, 1526, 145, 437, 878, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 213, 1526, 1526, 280, 879, 1526, 1526, 1526, 1526, 1526, 1526, 566, 564, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 353, 1526, 1526, 416, 880, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 564, 878, 1526, 1526, 1526, 1526, 1526, 1526, 214, 1526, 1526, 283, 881, 1526, 1526, 1526, 1526, 1526, 1526, 573, 571, 890, 879, 1526, 1526, 1526, 1526, 1526, 1526, 336, 1526, 1526, 882, 882, 337, 337, 1526, 1526, 77, 129, 889, 888, 886, 883, 1526, 1526, 1526, 1526, 1526, 1526, 472, 1526, 129, 338, 883, 347, 347, 1526, 1526, 154, 206, 885, 884, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 473, 1526, 206, 348, 884, 349, 349, 1526, 1526, 1526, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 293, 1526, 181, 253, 885, 255, 255, 1526, 1526, 1526, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 458, 1526, 154, 256, 886, 350, 350, 1526, 1526, 182, 208, 887, 415, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 474, 1526, 208, 351, 887, 257, 257, 1526, 1526, 1526, 182, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 459, 1526, 182, 258, 888, 44, 44, 1526, 1526, 1526, 90, 1526, 1526, 415, 884, 1526, 1526, 1526, 1526, 1526, 1526, 296, 1526, 90, 45, 889, 247, 247, 1526, 1526, 1526, 77, 1526, 1526, 887, 885, 1526, 1526, 1526, 1526, 1526, 1526, 457, 1526, 77, 248, 890, 1526, 1526, 1526, 1526, 1526, 1526, 569, 501, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 355, 1526, 1526, 442, 891, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 571, 880, 1526, 1526, 1526, 1526, 1526, 1526, 53, 1526, 1526, 831, 892, 1526, 1526, 1526, 1526, 1526, 1526, 245, 88, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 893, 893, 1526, 1526, 1526, 1526, 1526, 1526, 571, 1526, 500, 894, 1526, 1526, 1526, 1526, 1526, 1526, 246, 1526, 1526, 889, 894, 1526, 1526, 1526, 1526, 1526, 1526, 564, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 260, 1526, 1526, 415, 895, 1526, 1526, 1526, 1526, 1526, 1526, 265, 89, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 707, 896, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 897, 897, 1526, 1526, 1526, 1526, 1526, 1526, 86, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 595, 898, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 144, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 848, 899, 912, 912, 362, 1526, 159, 108, 910, 908, 906, 900, 269, 277, 276, 293, 274, 108, 1526, 843, 1526, 81, 900, 905, 905, 363, 1526, 168, 221, 903, 901, 1526, 1526, 270, 272, 271, 1526, 1526, 221, 1526, 1526, 1526, 138, 901, 902, 902, 364, 1526, 1526, 212, 1526, 1526, 1526, 1526, 271, 1526, 1526, 1526, 1526, 212, 1526, 1526, 1526, 177, 902, 1526, 305, 305, 1526, 1526, 213, 1526, 1526, 1526, 1526, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 177, 903, 904, 904, 365, 1526, 1526, 168, 1526, 1526, 1526, 1526, 272, 1526, 1526, 1526, 1526, 168, 1526, 1526, 1526, 187, 904, 1526, 306, 306, 1526, 1526, 169, 1526, 1526, 1526, 1526, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 187, 905, 1526, 304, 304, 1526, 169, 222, 904, 902, 1526, 1526, 222, 169, 213, 1526, 1526, 1526, 1526, 1526, 1526, 138, 906, 299, 299, 366, 1526, 170, 223, 907, 613, 1526, 1526, 273, 275, 274, 1526, 1526, 223, 1526, 1526, 1526, 111, 907, 300, 300, 368, 1526, 1526, 170, 1526, 1526, 1526, 1526, 275, 1526, 1526, 1526, 1526, 170, 1526, 1526, 1526, 122, 908, 909, 909, 369, 1526, 1526, 127, 1526, 1526, 613, 901, 276, 1526, 1526, 1526, 1526, 127, 1526, 1526, 1526, 172, 909, 1526, 307, 307, 1526, 1526, 214, 1526, 1526, 136, 902, 214, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 172, 910, 911, 911, 370, 1526, 1526, 159, 1526, 1526, 907, 903, 277, 1526, 1526, 1526, 1526, 159, 1526, 1526, 1526, 225, 911, 1526, 308, 308, 1526, 1526, 171, 1526, 1526, 300, 904, 171, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 225, 912, 1526, 80, 80, 1526, 171, 224, 911, 909, 299, 905, 224, 171, 214, 181, 134, 1526, 1526, 844, 1526, 81, 913, 81, 81, 371, 1526, 172, 225, 916, 616, 914, 906, 278, 283, 282, 295, 280, 225, 1526, 845, 1526, 82, 914, 301, 301, 372, 1526, 173, 226, 915, 615, 1526, 1526, 279, 281, 280, 1526, 1526, 226, 1526, 1526, 1526, 124, 915, 302, 302, 374, 1526, 1526, 173, 1526, 1526, 1526, 1526, 281, 1526, 1526, 1526, 1526, 173, 1526, 1526, 1526, 216, 916, 303, 303, 376, 1526, 1526, 172, 1526, 1526, 915, 907, 283, 1526, 1526, 1526, 1526, 172, 1526, 1526, 1526, 218, 917, 918, 918, 377, 1526, 1526, 126, 1526, 1526, 616, 908, 284, 1526, 1526, 1526, 1526, 126, 1526, 1526, 1526, 310, 918, 1526, 309, 309, 1526, 1526, 53, 1526, 1526, 150, 909, 53, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 310, 919, 920, 920, 378, 1526, 1526, 158, 1526, 1526, 916, 910, 285, 1526, 1526, 1526, 1526, 158, 1526, 1526, 1526, 379, 920, 1526, 841, 841, 1526, 1526, 67, 1526, 1526, 303, 911, 67, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 379, 921, 1526, 561, 561, 1526, 1526, 94, 1526, 1526, 735, 728, 247, 1526, 1526, 1526, 1526, 1526, 98, 1526, 1526, 558, 922, 1526, 1526, 1526, 1526, 1526, 1526, 240, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 923, 923, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 241, 1526, 1526, 924, 924, 242, 242, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 243, 925, 1526, 71, 71, 1526, 353, 530, 299, 133, 1526, 1526, 530, 353, 260, 1526, 1526, 1526, 1526, 1526, 1526, 72, 926, 1526, 448, 448, 1526, 355, 532, 301, 138, 1526, 1526, 532, 355, 262, 1526, 1526, 1526, 1526, 1526, 1526, 447, 927, 933, 933, 1526, 1526, 1526, 922, 931, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 930, 1526, 922, 928, 928, 923, 923, 1526, 1526, 1526, 241, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 929, 1526, 241, 924, 929, 241, 241, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 242, 930, 922, 922, 1526, 1526, 1526, 1526, 845, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 923, 931, 932, 932, 1526, 1526, 1526, 240, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 845, 1526, 240, 929, 932, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 240, 1526, 1526, 929, 933, 1526, 1526, 1526, 1526, 1526, 1526, 932, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 922, 1526, 1526, 928, 934, 36, 36, 790, 1526, 946, 528, 913, 611, 944, 942, 804, 939, 937, 936, 935, 528, 1526, 930, 1526, 37, 935, 262, 262, 1526, 1526, 1526, 1526, 280, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 263, 936, 64, 64, 1526, 1526, 1526, 1526, 295, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 65, 937, 246, 246, 1526, 1526, 1526, 1526, 282, 1526, 935, 938, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 247, 938, 260, 260, 1526, 1526, 1526, 1526, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 261, 939, 336, 336, 1526, 1526, 1526, 1526, 283, 282, 941, 940, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 337, 940, 353, 353, 1526, 1526, 1526, 1526, 275, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 354, 941, 355, 355, 1526, 1526, 1526, 1526, 281, 280, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 356, 942, 925, 925, 791, 1526, 943, 529, 906, 612, 1526, 1526, 805, 940, 938, 1526, 1526, 529, 1526, 1526, 1526, 72, 943, 1526, 353, 353, 1526, 1526, 1526, 170, 176, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 354, 944, 926, 926, 792, 1526, 945, 531, 914, 614, 1526, 1526, 806, 941, 935, 1526, 1526, 531, 1526, 1526, 1526, 447, 945, 1526, 355, 355, 1526, 1526, 1526, 173, 177, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 356, 946, 1526, 336, 336, 1526, 1526, 1526, 172, 175, 945, 943, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 337, 947, 1526, 535, 535, 1526, 336, 56, 960, 958, 953, 948, 1526, 1526, 1526, 1526, 1526, 1526, 528, 1526, 1526, 536, 948, 1526, 562, 562, 1526, 353, 530, 951, 949, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 529, 1526, 1526, 422, 949, 1526, 563, 563, 1526, 134, 135, 950, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 186, 1526, 1526, 411, 950, 1526, 564, 564, 1526, 1526, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 176, 1526, 1526, 295, 951, 1526, 565, 565, 1526, 162, 161, 952, 950, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 223, 1526, 1526, 412, 952, 1526, 566, 566, 1526, 1526, 162, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 170, 1526, 1526, 294, 953, 1526, 567, 567, 1526, 355, 532, 956, 954, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 531, 1526, 1526, 445, 954, 1526, 503, 503, 1526, 144, 145, 955, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 187, 1526, 1526, 437, 955, 1526, 501, 501, 1526, 1526, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 177, 1526, 1526, 434, 956, 1526, 568, 568, 1526, 165, 163, 957, 955, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 226, 1526, 1526, 438, 957, 1526, 569, 569, 1526, 1526, 165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 173, 1526, 1526, 435, 958, 1526, 570, 570, 1526, 76, 93, 959, 1526, 954, 949, 1526, 1526, 1526, 1526, 1526, 1526, 185, 1526, 1526, 464, 959, 1526, 571, 571, 1526, 1526, 76, 1526, 1526, 955, 950, 1526, 1526, 1526, 1526, 1526, 1526, 175, 1526, 1526, 457, 960, 1526, 572, 572, 1526, 128, 160, 961, 959, 956, 951, 1526, 1526, 1526, 1526, 1526, 1526, 225, 1526, 1526, 483, 961, 1526, 573, 573, 1526, 1526, 128, 1526, 1526, 957, 952, 1526, 1526, 1526, 1526, 1526, 1526, 172, 1526, 1526, 472, 962, 500, 500, 1526, 1526, 1526, 262, 874, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 935, 1526, 262, 441, 963, 516, 516, 1526, 1526, 1526, 64, 415, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 936, 1526, 64, 496, 964, 893, 893, 1526, 1526, 1526, 246, 875, 1526, 962, 965, 1526, 1526, 1526, 1526, 1526, 1526, 937, 1526, 246, 889, 965, 894, 894, 1526, 1526, 1526, 260, 872, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 938, 1526, 260, 415, 966, 881, 881, 1526, 1526, 1526, 336, 865, 875, 968, 967, 1526, 1526, 1526, 1526, 1526, 1526, 939, 1526, 336, 882, 967, 879, 879, 1526, 1526, 1526, 353, 857, 872, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 940, 1526, 353, 416, 968, 890, 890, 1526, 1526, 1526, 355, 863, 874, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 941, 1526, 355, 442, 969, 535, 535, 1526, 1526, 336, 56, 870, 973, 972, 970, 1526, 1526, 1526, 1526, 1526, 1526, 804, 1526, 56, 536, 970, 562, 562, 1526, 1526, 353, 530, 871, 971, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 805, 1526, 530, 422, 971, 563, 563, 1526, 1526, 134, 135, 872, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 288, 1526, 135, 411, 972, 567, 567, 1526, 1526, 355, 532, 873, 877, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 806, 1526, 532, 445, 973, 570, 570, 1526, 1526, 76, 93, 875, 1526, 877, 971, 1526, 1526, 1526, 1526, 1526, 1526, 287, 1526, 93, 464, 974, 990, 990, 989, 1526, 987, 925, 981, 975, 1526, 1526, 970, 967, 965, 1526, 1526, 948, 942, 1526, 925, 408, 975, 980, 980, 979, 1526, 136, 133, 976, 1526, 1526, 1526, 971, 872, 1526, 1526, 1526, 949, 612, 1526, 133, 410, 976, 978, 978, 977, 1526, 1526, 136, 1526, 1526, 1526, 1526, 872, 1526, 1526, 1526, 1526, 950, 613, 1526, 136, 426, 977, 425, 425, 1526, 1526, 1526, 119, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 564, 367, 1526, 119, 426, 978, 1526, 425, 425, 1526, 1526, 119, 1526, 1526, 1526, 1526, 564, 1526, 1526, 1526, 1526, 1526, 136, 1526, 1526, 426, 979, 424, 424, 1526, 1526, 119, 137, 977, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 563, 582, 1526, 137, 410, 980, 1526, 424, 424, 1526, 119, 137, 978, 1526, 1526, 1526, 563, 564, 1526, 1526, 1526, 1526, 133, 1526, 1526, 410, 981, 986, 986, 985, 1526, 300, 299, 982, 976, 1526, 1526, 871, 857, 872, 1526, 1526, 951, 906, 1526, 299, 409, 982, 984, 984, 983, 1526, 1526, 300, 1526, 1526, 1526, 1526, 857, 1526, 1526, 1526, 1526, 952, 907, 1526, 300, 429, 983, 428, 428, 1526, 1526, 1526, 121, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 566, 368, 1526, 121, 429, 984, 1526, 428, 428, 1526, 1526, 121, 1526, 1526, 1526, 1526, 566, 1526, 1526, 1526, 1526, 1526, 300, 1526, 1526, 429, 985, 427, 427, 1526, 1526, 121, 110, 983, 977, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 565, 366, 1526, 110, 409, 986, 1526, 427, 427, 1526, 121, 110, 984, 978, 1526, 1526, 565, 566, 564, 1526, 1526, 1526, 299, 1526, 1526, 409, 987, 1526, 988, 988, 1526, 1526, 353, 300, 136, 1526, 1526, 353, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 413, 988, 1526, 1526, 1526, 1526, 1526, 1526, 121, 119, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 413, 989, 407, 407, 1526, 1526, 988, 71, 985, 979, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 562, 791, 1526, 71, 408, 990, 1526, 407, 407, 1526, 988, 71, 986, 980, 1526, 1526, 562, 879, 894, 1526, 1526, 1526, 925, 1526, 1526, 408, 991, 1005, 1005, 1004, 1526, 1002, 926, 996, 992, 1526, 1526, 972, 968, 962, 1526, 1526, 953, 944, 1526, 926, 431, 992, 504, 504, 995, 1526, 146, 138, 993, 1526, 1526, 1526, 877, 874, 1526, 1526, 1526, 954, 614, 1526, 138, 436, 993, 505, 505, 994, 1526, 1526, 146, 1526, 1526, 1526, 1526, 874, 1526, 1526, 1526, 1526, 955, 615, 1526, 146, 451, 994, 450, 450, 1526, 1526, 1526, 148, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 501, 373, 1526, 148, 451, 995, 449, 449, 1526, 1526, 148, 149, 994, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 503, 583, 1526, 149, 436, 996, 1001, 1001, 1000, 1526, 302, 301, 997, 993, 1526, 1526, 873, 863, 874, 1526, 1526, 956, 914, 1526, 301, 433, 997, 999, 999, 998, 1526, 1526, 302, 1526, 1526, 1526, 1526, 863, 1526, 1526, 1526, 1526, 957, 915, 1526, 302, 454, 998, 453, 453, 1526, 1526, 1526, 215, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 569, 374, 1526, 215, 454, 999, 1526, 453, 453, 1526, 1526, 215, 1526, 1526, 1526, 1526, 569, 1526, 1526, 1526, 1526, 1526, 302, 1526, 1526, 454, 1000, 452, 452, 1526, 1526, 215, 123, 998, 994, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 568, 372, 1526, 123, 433, 1001, 1526, 452, 452, 1526, 215, 123, 999, 505, 1526, 1526, 568, 569, 501, 1526, 1526, 1526, 301, 1526, 1526, 433, 1002, 1526, 1003, 1003, 1526, 1526, 355, 302, 146, 1526, 1526, 355, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 439, 1003, 1526, 1526, 1526, 1526, 1526, 1526, 215, 148, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 439, 1004, 430, 430, 1526, 1526, 1003, 448, 1000, 995, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 567, 792, 1526, 448, 431, 1005, 1526, 430, 430, 1526, 1003, 448, 1001, 504, 1526, 1526, 567, 890, 500, 1526, 1526, 1526, 926, 1526, 1526, 431, 1006, 1011, 1011, 1010, 1526, 150, 132, 1007, 1526, 992, 975, 973, 875, 1526, 1526, 1526, 958, 611, 1526, 132, 456, 1007, 1009, 1009, 1008, 1526, 1526, 150, 1526, 1526, 993, 976, 875, 1526, 1526, 1526, 1526, 959, 616, 1526, 150, 466, 1008, 465, 465, 1526, 1526, 1526, 183, 1526, 1526, 994, 977, 1526, 1526, 1526, 1526, 1526, 571, 375, 1526, 183, 466, 1009, 1526, 465, 465, 1526, 1526, 183, 1526, 1526, 505, 978, 571, 1526, 1526, 1526, 1526, 1526, 150, 1526, 1526, 466, 1010, 455, 455, 1526, 1526, 183, 97, 1008, 1526, 995, 979, 1526, 1526, 1526, 1526, 1526, 570, 581, 1526, 97, 456, 1011, 1526, 455, 455, 1526, 183, 97, 1009, 1526, 504, 980, 570, 571, 1526, 1526, 1526, 1526, 132, 1526, 1526, 456, 1012, 1017, 1017, 1016, 1526, 303, 81, 1013, 1007, 996, 981, 870, 865, 875, 415, 874, 960, 913, 931, 81, 470, 1013, 1015, 1015, 1014, 1526, 1526, 303, 1526, 1526, 997, 982, 865, 1526, 1526, 1526, 1526, 961, 916, 1526, 303, 485, 1014, 484, 484, 1526, 1526, 1526, 217, 1526, 1526, 998, 983, 1526, 1526, 1526, 1526, 1526, 573, 376, 1526, 217, 485, 1015, 1526, 484, 484, 1526, 1526, 217, 1526, 1526, 999, 984, 573, 1526, 1526, 1526, 1526, 1526, 303, 1526, 1526, 485, 1016, 469, 469, 1526, 1526, 217, 109, 1014, 1008, 1000, 985, 1526, 1526, 1526, 1526, 1526, 572, 371, 1526, 109, 470, 1017, 1526, 469, 469, 1526, 217, 109, 1015, 1009, 1001, 986, 572, 573, 571, 261, 501, 1526, 81, 932, 1526, 470, 1018, 1526, 1027, 1027, 1526, 1526, 336, 303, 150, 1002, 987, 336, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1019, 1019, 1526, 337, 337, 1526, 77, 129, 1026, 1025, 1023, 1020, 1526, 1526, 1526, 1526, 1526, 1526, 218, 1526, 1526, 338, 1020, 1526, 347, 347, 1526, 154, 206, 1022, 1021, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 219, 1526, 1526, 348, 1021, 1526, 349, 349, 1526, 1526, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 180, 1526, 1526, 253, 1022, 1526, 255, 255, 1526, 1526, 154, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 152, 1526, 1526, 256, 1023, 1526, 350, 350, 1526, 182, 208, 1024, 414, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 220, 1526, 1526, 351, 1024, 1526, 257, 257, 1526, 1526, 182, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 155, 1526, 1526, 258, 1025, 1526, 44, 44, 1526, 1526, 90, 1526, 1526, 414, 1021, 1526, 1526, 1526, 1526, 1526, 1526, 179, 1526, 1526, 45, 1026, 1526, 247, 247, 1526, 1526, 77, 1526, 1526, 1024, 1022, 1526, 1526, 1526, 1526, 1526, 1526, 151, 1526, 1526, 248, 1027, 1526, 1526, 1526, 1526, 1526, 1526, 217, 183, 1003, 988, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1019, 1028, 406, 406, 1526, 1526, 1027, 70, 1016, 1010, 1004, 989, 1526, 1526, 1526, 1526, 1526, 535, 790, 1526, 70, 15, 1029, 1526, 1526, 1526, 1526, 1526, 1526, 1040, 1037, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 512, 1526, 1526, 1030, 1030, 499, 499, 1036, 1526, 1035, 50, 992, 1526, 1526, 1526, 1034, 962, 1526, 1526, 1526, 1033, 1031, 1526, 50, 443, 1031, 50, 50, 794, 1526, 1032, 509, 614, 1526, 1526, 1526, 797, 935, 1526, 1526, 1526, 509, 1526, 1526, 1526, 51, 1032, 1526, 262, 262, 1526, 1526, 1526, 177, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 263, 1033, 1526, 502, 502, 1526, 262, 313, 954, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 509, 1526, 1526, 444, 1034, 502, 502, 1526, 1526, 262, 313, 877, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 797, 1526, 313, 444, 1035, 1526, 506, 506, 1526, 1526, 262, 146, 1526, 1526, 1526, 262, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 440, 1036, 491, 491, 1526, 1526, 506, 382, 995, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 502, 794, 1526, 382, 443, 1037, 1526, 1526, 1526, 1526, 1526, 1526, 1039, 1038, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 304, 1526, 1526, 614, 1038, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 305, 1526, 1526, 624, 1039, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 306, 1526, 1526, 631, 1040, 1526, 1526, 1526, 1526, 1526, 1526, 1041, 1039, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 49, 1526, 1526, 1031, 1041, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 510, 1526, 1526, 1042, 1042, 509, 509, 797, 1526, 1526, 1526, 631, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 314, 1043, 1526, 1526, 1526, 1526, 1526, 1526, 1051, 427, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 525, 1526, 1526, 1044, 1044, 514, 514, 1050, 1526, 1049, 515, 408, 1526, 1526, 1526, 1048, 963, 1526, 1526, 1526, 1047, 1045, 1526, 515, 494, 1045, 515, 515, 799, 1526, 1046, 521, 409, 1526, 1526, 1526, 801, 936, 1526, 1526, 1526, 521, 1526, 1526, 1526, 386, 1046, 1526, 64, 64, 1526, 1526, 1526, 120, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 65, 1047, 1526, 517, 517, 1526, 64, 317, 413, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 521, 1526, 1526, 497, 1048, 517, 517, 1526, 1526, 64, 317, 416, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 801, 1526, 317, 497, 1049, 1526, 518, 518, 1526, 1526, 64, 115, 1526, 1526, 1526, 64, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 495, 1050, 493, 493, 1526, 1526, 518, 385, 422, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 517, 799, 1526, 385, 494, 1051, 1526, 1526, 1526, 1526, 1526, 1526, 1052, 428, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 523, 1526, 1526, 1045, 1052, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 522, 1526, 1526, 1053, 1053, 521, 521, 801, 1526, 1526, 1526, 429, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 318, 1054, 1526, 1526, 1526, 1526, 1526, 1526, 1056, 1055, 427, 1037, 1526, 1526, 1526, 1526, 1526, 1526, 80, 1526, 1526, 913, 1055, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 425, 1038, 1526, 1526, 1526, 1526, 1526, 1526, 307, 1526, 1526, 662, 1056, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 428, 1039, 1526, 1526, 1526, 1526, 1526, 1526, 308, 1526, 1526, 675, 1057, 1526, 1526, 1526, 1526, 1526, 1526, 1058, 1056, 1051, 1040, 1526, 1526, 1526, 1526, 1526, 1526, 48, 1526, 1526, 934, 1058, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1052, 1041, 1526, 1526, 1526, 1526, 1526, 1526, 533, 1526, 1526, 1059, 1059, 528, 528, 804, 1526, 1526, 1526, 675, 629, 1061, 1060, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 57, 1060, 529, 529, 805, 1526, 1526, 1526, 673, 630, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 423, 1061, 531, 531, 806, 1526, 1526, 1526, 676, 631, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 446, 1062, 1526, 1526, 1526, 1526, 1526, 1526, 1124, 469, 1113, 1043, 1526, 1526, 1526, 1526, 1526, 1526, 777, 1526, 1526, 1063, 1063, 575, 575, 1112, 1526, 1111, 688, 15, 1108, 1103, 1095, 1090, 1087, 1085, 1084, 963, 1079, 1067, 1064, 688, 576, 1064, 683, 683, 1526, 1526, 1526, 687, 1066, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1065, 1526, 687, 684, 1065, 687, 687, 1526, 1526, 1526, 1526, 471, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 686, 1066, 38, 38, 1526, 1526, 1526, 83, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 471, 1526, 83, 39, 1067, 688, 688, 808, 1526, 1078, 771, 470, 639, 1076, 1074, 816, 1071, 1069, 1068, 936, 771, 1526, 1065, 1526, 390, 1068, 689, 689, 1526, 1526, 1526, 1526, 434, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 690, 1069, 266, 266, 1526, 1526, 1526, 1526, 296, 1526, 936, 1070, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 267, 1070, 297, 297, 1526, 1526, 1526, 1526, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 298, 1071, 359, 359, 1526, 1526, 1526, 1526, 457, 296, 1073, 1072, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 360, 1072, 695, 695, 1526, 1526, 1526, 1526, 458, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 693, 1073, 702, 702, 1526, 1526, 1526, 1526, 459, 295, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 700, 1074, 691, 691, 809, 1526, 1075, 772, 475, 640, 1526, 1526, 817, 1072, 1070, 1526, 1526, 772, 1526, 1526, 1526, 692, 1075, 1526, 695, 695, 1526, 1526, 1526, 152, 180, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 693, 1076, 698, 698, 810, 1526, 1077, 773, 479, 409, 1526, 1526, 818, 1073, 936, 1526, 1526, 773, 1526, 1526, 1526, 699, 1077, 1526, 702, 702, 1526, 1526, 1526, 155, 120, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 700, 1078, 1526, 359, 359, 1526, 1526, 1526, 151, 179, 1077, 1075, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 360, 1079, 1526, 714, 714, 1526, 359, 324, 1019, 1083, 1082, 1080, 1526, 1526, 1526, 1526, 1526, 1526, 771, 1526, 1526, 682, 1080, 1526, 715, 715, 1526, 695, 696, 1020, 1081, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 772, 1526, 1526, 716, 1081, 1526, 717, 717, 1526, 181, 195, 1021, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 194, 1526, 1526, 343, 1082, 1526, 718, 718, 1526, 702, 703, 1023, 413, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 773, 1526, 1526, 719, 1083, 1526, 720, 720, 1526, 90, 105, 1025, 1526, 413, 1081, 1526, 1526, 1526, 1526, 1526, 1526, 193, 1526, 1526, 346, 1084, 705, 705, 1526, 1526, 1526, 689, 441, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1068, 1526, 689, 706, 1085, 707, 707, 1526, 1526, 1526, 266, 888, 1526, 963, 1086, 1526, 1526, 1526, 1526, 1526, 1526, 1069, 1526, 266, 604, 1086, 708, 708, 1526, 1526, 1526, 297, 884, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1070, 1526, 297, 603, 1087, 709, 709, 1526, 1526, 1526, 359, 889, 888, 1089, 1088, 1526, 1526, 1526, 1526, 1526, 1526, 1071, 1526, 359, 607, 1088, 710, 710, 1526, 1526, 1526, 695, 885, 884, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1072, 1526, 695, 711, 1089, 712, 712, 1526, 1526, 1526, 702, 887, 415, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1073, 1526, 702, 713, 1090, 714, 714, 1526, 1526, 359, 324, 882, 1094, 1093, 1091, 1526, 1526, 1526, 1526, 1526, 1526, 816, 1526, 324, 682, 1091, 715, 715, 1526, 1526, 695, 696, 883, 1092, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 817, 1526, 696, 716, 1092, 717, 717, 1526, 1526, 181, 195, 884, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 292, 1526, 195, 343, 1093, 718, 718, 1526, 1526, 702, 703, 886, 416, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 818, 1526, 703, 719, 1094, 720, 720, 1526, 1526, 90, 105, 888, 1526, 416, 1092, 1526, 1526, 1526, 1526, 1526, 1526, 291, 1526, 105, 346, 1095, 721, 721, 1102, 1526, 1101, 691, 1099, 1096, 1526, 1526, 1091, 1088, 1086, 1526, 1526, 1080, 1074, 1526, 691, 722, 1096, 724, 724, 1098, 1526, 200, 198, 1097, 1526, 1526, 1526, 1092, 884, 1526, 1526, 1526, 1081, 640, 1526, 198, 539, 1097, 725, 725, 540, 1526, 1526, 200, 1526, 1526, 1526, 1526, 884, 1526, 1526, 1526, 1526, 1021, 476, 1526, 200, 321, 1098, 726, 726, 1526, 1526, 202, 203, 540, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 717, 590, 1526, 203, 539, 1099, 727, 727, 537, 1526, 99, 234, 1100, 1097, 1526, 1526, 883, 885, 884, 1526, 1526, 1020, 475, 1526, 234, 538, 1100, 728, 728, 542, 1526, 1526, 99, 1526, 1526, 1526, 1526, 885, 1526, 1526, 1526, 1526, 1022, 460, 1526, 99, 543, 1101, 1526, 729, 729, 1526, 1526, 695, 99, 200, 1526, 1526, 695, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 723, 1102, 730, 730, 1526, 1526, 729, 697, 537, 1098, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 715, 809, 1526, 697, 722, 1103, 731, 731, 1107, 1526, 1106, 698, 1104, 408, 1526, 1526, 1093, 1089, 963, 1526, 1526, 1082, 1076, 1526, 698, 732, 1104, 734, 734, 546, 1526, 228, 237, 1105, 417, 1526, 1526, 886, 887, 415, 1526, 1526, 1023, 479, 1526, 237, 547, 1105, 735, 735, 548, 1526, 1526, 228, 1526, 1526, 1526, 1526, 887, 1526, 1526, 1526, 1526, 1024, 462, 1526, 228, 549, 1106, 1526, 736, 736, 1526, 1526, 702, 228, 115, 1526, 1526, 702, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 733, 1107, 737, 737, 1526, 1526, 736, 704, 546, 422, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 718, 810, 1526, 704, 732, 1108, 738, 738, 1110, 1526, 204, 189, 1109, 1526, 408, 1096, 1094, 888, 1526, 1526, 1526, 1083, 639, 1526, 189, 678, 1109, 739, 739, 552, 1526, 1526, 204, 1526, 1526, 417, 1097, 888, 1526, 1526, 1526, 1526, 1025, 481, 1526, 204, 553, 1110, 740, 740, 1526, 1526, 101, 205, 552, 1526, 422, 1098, 1526, 1526, 1526, 1526, 1526, 720, 589, 1526, 205, 678, 1111, 1526, 741, 741, 1526, 1526, 359, 98, 204, 1106, 1101, 359, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 579, 1112, 742, 742, 1526, 1526, 741, 389, 536, 1110, 1107, 1102, 1526, 1526, 1526, 1526, 1526, 714, 808, 1526, 389, 576, 1113, 1526, 1526, 1526, 1526, 1526, 1526, 1121, 452, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 768, 1526, 1526, 1114, 1114, 758, 758, 1120, 1526, 1119, 759, 431, 1526, 1526, 1526, 1118, 1084, 1526, 1526, 1526, 1117, 1115, 1526, 759, 746, 1115, 759, 759, 812, 1526, 1116, 764, 433, 1526, 1526, 1526, 814, 1068, 1526, 1526, 1526, 764, 1526, 1526, 1526, 750, 1116, 1526, 689, 689, 1526, 1526, 1526, 147, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 690, 1117, 1526, 760, 760, 1526, 689, 754, 439, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 764, 1526, 1526, 748, 1118, 760, 760, 1526, 1526, 689, 754, 442, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 814, 1526, 754, 748, 1119, 1526, 761, 761, 1526, 1526, 689, 139, 1526, 1526, 1526, 689, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 747, 1120, 745, 745, 1526, 1526, 761, 751, 445, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 760, 812, 1526, 751, 746, 1121, 1526, 1526, 1526, 1526, 1526, 1526, 1122, 453, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 766, 1526, 1526, 1115, 1122, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 765, 1526, 1526, 1123, 1123, 764, 764, 814, 1526, 1526, 1526, 454, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 749, 1124, 1526, 1526, 1526, 1526, 1526, 1526, 1125, 484, 1121, 1051, 1526, 1526, 1526, 1526, 1526, 1526, 775, 1526, 1526, 1067, 1125, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1122, 1052, 1526, 1526, 1526, 1526, 1526, 1526, 774, 1526, 1526, 1126, 1126, 771, 771, 816, 1526, 1526, 1526, 485, 649, 1128, 1127, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 325, 1127, 772, 772, 817, 1526, 1526, 1526, 486, 650, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 694, 1128, 773, 773, 818, 1526, 1526, 1526, 488, 429, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 701, 1129, 1526, 1526, 1526, 1526, 1526, 1526, 1202, 1195, 469, 1054, 1526, 1526, 1526, 1526, 1526, 1526, 79, 1526, 1526, 1130, 1130, 18, 18, 778, 1526, 310, 379, 1193, 919, 1185, 1173, 820, 831, 1169, 1166, 1142, 379, 1526, 1131, 1526, 1, 1131, 19, 19, 1526, 1526, 1526, 1526, 1526, 1526, 1137, 1132, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 20, 1132, 1136, 1136, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1133, 1133, 1526, 1526, 1526, 1526, 1526, 1526, 397, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1134, 1134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 394, 1526, 1526, 1135, 1135, 395, 395, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 396, 1136, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1133, 1137, 1141, 1141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1138, 1138, 1526, 1526, 1526, 1526, 1526, 1526, 241, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1139, 1139, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 242, 1526, 1526, 1140, 1140, 243, 243, 1526, 1526, 1526, 1526, 1526, 1526, 295, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 244, 1141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1138, 1142, 1165, 1165, 1526, 1526, 1526, 1526, 1526, 1526, 1164, 1163, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1143, 1143, 1526, 1526, 1526, 1526, 1526, 1526, 848, 599, 1161, 1159, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1144, 1144, 1526, 1526, 1526, 1526, 1526, 1526, 1158, 595, 1156, 1154, 1526, 1526, 1526, 1526, 1526, 1526, 849, 1526, 1526, 1145, 1145, 850, 850, 1526, 1526, 1526, 401, 867, 1153, 966, 1149, 1526, 1526, 1526, 1526, 1526, 1526, 1146, 1526, 401, 851, 1146, 401, 401, 1526, 1526, 1526, 1526, 285, 284, 939, 1147, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 402, 1147, 839, 839, 1526, 1526, 1526, 1526, 277, 276, 940, 1148, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 572, 1148, 840, 840, 1526, 1526, 1526, 1526, 272, 271, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 503, 1149, 869, 869, 1526, 1526, 1526, 839, 859, 1152, 967, 1150, 1526, 1526, 1526, 1526, 1526, 1526, 1147, 1526, 839, 870, 1150, 876, 876, 1526, 1526, 1526, 840, 854, 1151, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1148, 1526, 840, 877, 1151, 878, 878, 1526, 1526, 1526, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 271, 1526, 213, 280, 1152, 880, 880, 1526, 1526, 1526, 214, 1526, 1526, 872, 1151, 1526, 1526, 1526, 1526, 1526, 1526, 276, 1526, 214, 283, 1153, 891, 891, 1526, 1526, 1526, 53, 1526, 1526, 875, 1152, 1526, 1526, 1526, 1526, 1526, 1526, 284, 1526, 53, 831, 1154, 1526, 1526, 1526, 1526, 1526, 1526, 1155, 585, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 892, 1526, 1526, 964, 1155, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 245, 1526, 1526, 937, 1156, 1526, 1526, 1526, 1526, 1526, 1526, 1157, 298, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 895, 1526, 1526, 1085, 1157, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 265, 1526, 1526, 1069, 1158, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1157, 1155, 1526, 1526, 1526, 1526, 1526, 1526, 400, 1526, 1526, 1146, 1159, 1526, 1526, 1526, 1526, 1526, 1526, 42, 181, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1160, 1160, 1526, 1526, 1526, 1526, 1526, 1526, 298, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 43, 1526, 1526, 888, 1161, 1526, 1526, 1526, 1526, 1526, 1526, 896, 85, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1162, 1162, 1526, 1526, 1526, 1526, 1526, 1526, 65, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 897, 1526, 1526, 601, 1163, 63, 63, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 64, 1164, 842, 842, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 689, 1165, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 842, 63, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1143, 1166, 848, 848, 1526, 1526, 1526, 1526, 1526, 1526, 1168, 1167, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 849, 1167, 42, 42, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 43, 1168, 896, 896, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 897, 1169, 334, 334, 1526, 1526, 1526, 1526, 1526, 1526, 1172, 1170, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 30, 1170, 335, 335, 1526, 1526, 1526, 1526, 1526, 1526, 1163, 1171, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 336, 1171, 329, 329, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 262, 1172, 358, 358, 1526, 1526, 1526, 1526, 1526, 1526, 1164, 1163, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 359, 1173, 1184, 1184, 526, 1526, 311, 380, 1182, 910, 1178, 1174, 821, 826, 1170, 1167, 1163, 380, 1526, 1132, 1526, 36, 1174, 1177, 1177, 507, 1526, 312, 381, 1175, 903, 1526, 1526, 822, 823, 1171, 1526, 1526, 381, 1526, 1526, 1526, 50, 1175, 1176, 1176, 508, 1526, 1526, 312, 1526, 1526, 1526, 1526, 823, 1526, 1526, 1526, 1526, 312, 1526, 1526, 1526, 509, 1176, 1526, 510, 510, 1526, 1526, 315, 1526, 1526, 1526, 1526, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 509, 1177, 1526, 49, 49, 1526, 315, 383, 1176, 904, 1526, 1526, 383, 315, 329, 1526, 1526, 1526, 1526, 1526, 1526, 50, 1178, 1181, 1181, 519, 1526, 316, 384, 1179, 907, 1526, 1526, 824, 825, 1163, 1526, 1526, 384, 1526, 1526, 1526, 515, 1179, 1180, 1180, 520, 1526, 1526, 316, 1526, 1526, 1526, 1526, 825, 1526, 1526, 1526, 1526, 316, 1526, 1526, 1526, 521, 1180, 1526, 522, 522, 1526, 1526, 322, 1526, 1526, 1526, 1526, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 521, 1181, 1526, 523, 523, 1526, 322, 387, 1180, 300, 1526, 1526, 387, 322, 63, 1526, 1526, 1526, 1526, 1526, 1526, 515, 1182, 1183, 1183, 527, 1526, 1526, 311, 1526, 1526, 1179, 1175, 826, 1526, 1526, 1526, 1526, 311, 1526, 1526, 1526, 528, 1183, 1526, 533, 533, 1526, 1526, 55, 1526, 1526, 1180, 1176, 55, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 528, 1184, 1526, 48, 48, 1526, 55, 69, 1183, 911, 1181, 1177, 69, 55, 335, 42, 63, 1526, 1526, 1136, 1526, 36, 1185, 1192, 1192, 769, 1526, 323, 388, 1190, 916, 1186, 1178, 827, 830, 1172, 1168, 1164, 388, 1526, 1137, 1526, 688, 1186, 1189, 1189, 762, 1526, 787, 786, 1187, 915, 1526, 1526, 828, 829, 1164, 1526, 1526, 786, 1526, 1526, 1526, 759, 1187, 1188, 1188, 763, 1526, 1526, 787, 1526, 1526, 1526, 1526, 829, 1526, 1526, 1526, 1526, 787, 1526, 1526, 1526, 764, 1188, 1526, 765, 765, 1526, 1526, 753, 1526, 1526, 1526, 1526, 753, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 764, 1189, 1526, 766, 766, 1526, 753, 752, 1188, 302, 1526, 1526, 752, 753, 842, 1526, 1526, 1526, 1526, 1526, 1526, 759, 1190, 1191, 1191, 770, 1526, 1526, 323, 1526, 1526, 1187, 1179, 830, 1526, 1526, 1526, 1526, 323, 1526, 1526, 1526, 771, 1191, 1526, 774, 774, 1526, 1526, 756, 1526, 1526, 1188, 1180, 756, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 771, 1192, 1526, 775, 775, 1526, 756, 755, 1191, 303, 1189, 1181, 755, 756, 358, 896, 842, 1526, 1526, 1141, 1526, 688, 1193, 1194, 1194, 779, 1526, 1526, 310, 1526, 1526, 1190, 1182, 831, 1526, 1526, 1526, 1526, 310, 1526, 1526, 1526, 780, 1194, 1526, 788, 788, 1526, 1526, 54, 1526, 1526, 1191, 1183, 54, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 780, 1195, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 465, 1055, 1526, 1526, 1526, 1526, 1526, 1526, 309, 1526, 1526, 1196, 1196, 310, 310, 831, 1526, 1526, 1526, 1526, 1526, 1200, 1197, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 32, 1197, 311, 311, 826, 1526, 1526, 1526, 1526, 1526, 1199, 1198, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 56, 1198, 312, 312, 823, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 313, 1199, 316, 316, 825, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 317, 1200, 323, 323, 830, 1526, 1526, 1526, 1526, 1526, 1201, 1199, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 324, 1201, 787, 787, 829, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 754, 1202, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 484, 1056, 1526, 1526, 1526, 1526, 1526, 1526, 841, 1526, 1526, 1203, 1203, 379, 379, 820, 1526, 1526, 1526, 1196, 658, 1207, 1204, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 12, 1204, 380, 380, 821, 1526, 1526, 1526, 1197, 659, 1206, 1205, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 70, 1205, 381, 381, 822, 1526, 1526, 1526, 1198, 660, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 382, 1206, 384, 384, 824, 1526, 1526, 1526, 1199, 661, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 385, 1207, 388, 388, 827, 1526, 1526, 1526, 1200, 662, 1208, 1206, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 389, 1208, 786, 786, 828, 1526, 1526, 1526, 1201, 663, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 751, 1209, 1526, 1526, 1526, 1526, 1526, 1526, 1298, 1202, 1124, 1057, 1526, 1526, 1526, 1526, 1526, 1526, 47, 1526, 1526, 1210, 1210, 1, 1, 403, 1526, 1297, 780, 1130, 326, 1291, 1282, 833, 1276, 1270, 1267, 1242, 780, 1526, 1211, 1526, 2, 1211, 1241, 1241, 1526, 1526, 1526, 1526, 1131, 327, 1237, 1234, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1212, 1212, 1526, 1526, 1526, 1526, 1526, 1526, 1228, 1226, 1216, 1213, 1526, 1526, 1526, 1526, 1526, 1526, 20, 1526, 1526, 5, 1213, 1526, 1526, 1526, 1526, 1526, 1526, 1215, 878, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1214, 1526, 1526, 962, 1214, 1526, 1526, 1526, 1526, 1526, 1526, 329, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 500, 1215, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 329, 1526, 1526, 935, 1216, 1526, 1526, 1526, 1526, 1526, 1526, 1225, 1224, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1223, 1526, 1526, 1217, 1217, 1222, 1222, 1526, 1526, 1526, 331, 1221, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1219, 1526, 331, 1218, 1218, 332, 332, 1526, 1526, 1526, 395, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1135, 1526, 395, 333, 1219, 331, 331, 1526, 1526, 1526, 1526, 1220, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 332, 1220, 394, 394, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 395, 1221, 1134, 1134, 1526, 1526, 1526, 394, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1220, 1526, 394, 1135, 1222, 1526, 1526, 1526, 1526, 1526, 1526, 1134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 331, 1526, 1526, 1218, 1223, 1526, 1526, 1526, 1526, 1526, 1526, 330, 397, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1222, 1224, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 397, 1526, 1526, 1220, 1225, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 330, 1526, 1526, 1219, 1226, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1224, 878, 1526, 1526, 1526, 1526, 1526, 1526, 61, 1526, 1526, 1227, 1227, 62, 62, 1526, 1526, 1526, 1526, 1526, 1526, 1164, 1163, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 24, 1228, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1225, 1215, 1526, 1526, 1526, 1526, 1526, 1526, 328, 1526, 1526, 1229, 1229, 22, 22, 1526, 1526, 1526, 1526, 1227, 685, 1232, 1230, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 23, 1230, 1231, 1231, 1526, 1526, 1526, 1526, 1163, 274, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 516, 1231, 1526, 1526, 1526, 1526, 1526, 1526, 63, 134, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 516, 1232, 1233, 1233, 1526, 1526, 1526, 1526, 1164, 280, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 705, 1233, 1526, 1526, 1526, 1526, 1526, 1526, 842, 144, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 705, 1234, 1236, 1236, 1526, 1526, 1526, 1526, 1132, 843, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1235, 1235, 1526, 1526, 1526, 1526, 1526, 1526, 1224, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1133, 1526, 1526, 1221, 1236, 1526, 1526, 1526, 1526, 1526, 1526, 1136, 844, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1235, 1237, 1240, 1240, 1526, 1526, 1526, 1526, 1137, 845, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1238, 1238, 1526, 1526, 1526, 1526, 1526, 1526, 923, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1138, 1526, 1526, 1239, 1239, 1139, 1139, 1526, 1526, 1526, 242, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 924, 1526, 242, 1140, 1240, 1526, 1526, 1526, 1526, 1526, 1526, 1141, 240, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1238, 1241, 1526, 1526, 1526, 1526, 1526, 1526, 19, 846, 1240, 1236, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1212, 1242, 1266, 1266, 1526, 1526, 1526, 1526, 1142, 847, 1232, 1230, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1243, 1243, 1526, 1526, 1526, 1526, 1526, 1526, 1265, 1264, 1260, 1256, 1526, 1526, 1526, 1526, 1526, 1526, 1143, 1526, 1526, 1244, 1244, 1144, 1144, 1526, 87, 1526, 849, 1255, 601, 1253, 1251, 1526, 1526, 1526, 1526, 1526, 1526, 1245, 1526, 849, 1145, 1245, 849, 849, 1526, 1526, 1526, 1526, 1250, 66, 1248, 1246, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 850, 1246, 892, 892, 1526, 1526, 1526, 1526, 1247, 250, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 893, 1247, 245, 245, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 246, 1248, 895, 895, 1526, 1526, 1526, 1526, 1249, 253, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 707, 1249, 265, 265, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 266, 1250, 400, 400, 1526, 1526, 1526, 1526, 1526, 1526, 1249, 1247, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 401, 1251, 1154, 1154, 1526, 88, 1526, 892, 1252, 602, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1246, 1526, 892, 964, 1252, 1155, 1155, 1526, 1526, 1526, 245, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1247, 1526, 245, 937, 1253, 1156, 1156, 1526, 89, 1526, 895, 1254, 603, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1248, 1526, 895, 1085, 1254, 1157, 1157, 1526, 1526, 1526, 265, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1249, 1526, 265, 1069, 1255, 1158, 1158, 1526, 1526, 1526, 400, 1526, 1526, 1254, 1252, 1526, 1526, 1526, 1526, 1526, 1526, 1250, 1526, 400, 1146, 1256, 1526, 1526, 1526, 1526, 1526, 1526, 1259, 349, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1159, 1526, 1526, 1257, 1257, 1160, 1160, 1526, 1526, 1526, 43, 603, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1258, 1526, 43, 888, 1258, 43, 43, 1526, 1526, 1526, 1526, 253, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 44, 1259, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 42, 1526, 1526, 1258, 1260, 1526, 1526, 1526, 1526, 1526, 1526, 1263, 261, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1161, 1526, 1526, 1261, 1261, 1162, 1162, 1526, 1526, 1526, 897, 496, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1262, 1526, 897, 601, 1262, 897, 897, 1526, 1526, 1526, 1526, 259, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 595, 1263, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 896, 1526, 1526, 1262, 1264, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 261, 349, 1526, 1526, 1526, 1526, 1526, 1526, 599, 1526, 1526, 1250, 1265, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1263, 1259, 1526, 1526, 1526, 1526, 1526, 1526, 848, 1526, 1526, 1245, 1266, 1526, 1526, 1526, 1526, 1526, 1526, 1165, 898, 1233, 1231, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1243, 1267, 1143, 1143, 1526, 1526, 1526, 1526, 1166, 399, 1269, 1268, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1144, 1268, 1159, 1159, 1526, 1526, 1526, 1526, 1167, 293, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1160, 1269, 1161, 1161, 1526, 1526, 1526, 1526, 1168, 295, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1162, 1270, 28, 28, 1526, 1526, 1526, 1526, 1169, 284, 1274, 1271, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 29, 1271, 1273, 1273, 1526, 1526, 1526, 1526, 1170, 276, 1230, 1272, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 881, 1272, 1214, 1214, 1526, 1526, 1526, 1526, 1171, 271, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 500, 1273, 1526, 1526, 1526, 1526, 1526, 1526, 335, 214, 1231, 1214, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 881, 1274, 1275, 1275, 1526, 1526, 1526, 1526, 1172, 282, 1232, 1230, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 709, 1275, 1526, 1526, 1526, 1526, 1526, 1526, 358, 76, 1233, 1231, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 709, 1276, 30, 30, 1526, 1526, 1526, 1526, 831, 285, 1280, 1277, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 31, 1277, 534, 534, 1526, 1526, 1526, 1526, 826, 277, 1279, 1278, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 535, 1278, 511, 511, 1526, 1526, 1526, 1526, 823, 272, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 502, 1279, 524, 524, 1526, 1526, 1526, 1526, 825, 275, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 517, 1280, 776, 776, 1526, 1526, 1526, 1526, 830, 283, 1281, 1279, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 714, 1281, 767, 767, 1526, 1526, 1526, 1526, 829, 281, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 760, 1282, 1290, 1290, 404, 1526, 1289, 781, 1173, 899, 1286, 1283, 834, 1277, 1271, 1268, 1230, 781, 1526, 1234, 1526, 14, 1283, 1285, 1285, 498, 1526, 1284, 782, 1174, 900, 1526, 1526, 835, 1278, 1272, 1526, 1526, 782, 1526, 1526, 1526, 499, 1284, 1526, 511, 511, 1526, 1526, 1526, 312, 168, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 502, 1285, 1526, 512, 512, 1526, 511, 490, 1177, 905, 1526, 1526, 490, 511, 1214, 1526, 1526, 1526, 1526, 1526, 1526, 499, 1286, 1288, 1288, 513, 1526, 1287, 783, 1178, 906, 1526, 1526, 836, 1279, 1230, 1526, 1526, 783, 1526, 1526, 1526, 514, 1287, 1526, 524, 524, 1526, 1526, 1526, 316, 170, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 517, 1288, 1526, 525, 525, 1526, 524, 492, 1181, 299, 1526, 1526, 492, 524, 1231, 1526, 1526, 1526, 1526, 1526, 1526, 514, 1289, 1526, 534, 534, 1526, 1526, 1526, 311, 159, 1287, 1284, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 535, 1290, 1526, 13, 13, 1526, 534, 405, 1184, 912, 1288, 1285, 405, 534, 1273, 1159, 1231, 1526, 1526, 1236, 1526, 14, 1291, 1296, 1296, 574, 1526, 1295, 784, 1185, 913, 1292, 1286, 837, 1280, 1274, 1269, 1232, 784, 1526, 1237, 1526, 575, 1292, 1294, 1294, 757, 1526, 1293, 785, 1186, 914, 1526, 1526, 838, 1281, 1232, 1526, 1526, 785, 1526, 1526, 1526, 758, 1293, 1526, 767, 767, 1526, 1526, 1526, 787, 173, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 760, 1294, 1526, 768, 768, 1526, 767, 744, 1189, 301, 1526, 1526, 744, 767, 1233, 1526, 1526, 1526, 1526, 1526, 1526, 758, 1295, 1526, 776, 776, 1526, 1526, 1526, 323, 172, 1293, 1287, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 714, 1296, 1526, 777, 777, 1526, 776, 743, 1192, 81, 1294, 1288, 743, 776, 1275, 1161, 1233, 1526, 1526, 1240, 1526, 575, 1297, 1526, 30, 30, 1526, 1526, 1526, 310, 158, 1295, 1289, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 31, 1298, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1125, 1058, 1526, 1526, 1526, 1526, 1526, 1526, 788, 1526, 1526, 1299, 1299, 780, 780, 833, 1526, 1526, 1526, 1203, 669, 1303, 1300, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 33, 1300, 781, 781, 834, 1526, 1526, 1526, 1204, 670, 1302, 1301, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 406, 1301, 782, 782, 835, 1526, 1526, 1526, 1205, 671, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 491, 1302, 783, 783, 836, 1526, 1526, 1526, 1206, 673, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 493, 1303, 784, 784, 837, 1526, 1526, 1526, 1207, 675, 1304, 1302, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 742, 1304, 785, 785, 838, 1526, 1526, 1526, 1208, 676, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 745, 1305, 1526, 1526, 1526, 1526, 1526, 1526, 789, 1309, 1308, 1306, 1526, 1526, 1526, 1526, 1526, 1526, 405, 1526, 1526, 1028, 1306, 1526, 1526, 1526, 1526, 1526, 1526, 793, 1307, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 490, 1526, 1526, 1036, 1307, 1526, 1526, 1526, 1526, 1526, 1526, 795, 878, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 222, 1526, 1526, 583, 1308, 1526, 1526, 1526, 1526, 1526, 1526, 798, 565, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 492, 1526, 1526, 1050, 1309, 1526, 1526, 1526, 1526, 1526, 1526, 802, 880, 565, 1307, 1526, 1526, 1526, 1526, 1526, 1526, 224, 1526, 1526, 371, 1310, 1526, 1526, 1526, 1526, 1526, 1526, 807, 572, 1311, 1308, 1526, 1526, 1526, 1526, 1526, 1526, 743, 1526, 1526, 1112, 1311, 1526, 1526, 1526, 1526, 1526, 1526, 811, 568, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 744, 1526, 1526, 1120, 1312, 1526, 1526, 1526, 1526, 1526, 1526, 819, 891, 572, 1309, 1526, 1526, 1526, 1526, 1526, 1526, 46, 1526, 1526, 778, 1313, 1526, 1526, 1526, 1526, 1526, 1526, 803, 802, 1315, 1314, 1526, 1526, 1526, 1526, 1526, 1526, 534, 1526, 1526, 969, 1314, 1526, 1526, 1526, 1526, 1526, 1526, 796, 795, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 511, 1526, 1526, 1034, 1315, 1526, 1526, 1526, 1526, 1526, 1526, 800, 566, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 524, 1526, 1526, 1048, 1316, 1526, 1526, 1526, 1526, 1526, 1526, 815, 573, 1317, 1315, 1526, 1526, 1526, 1526, 1526, 1526, 776, 1526, 1526, 1090, 1317, 1526, 1526, 1526, 1526, 1526, 1526, 813, 569, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 767, 1526, 1526, 1118, 1318, 1526, 1526, 1526, 1526, 1526, 1526, 1321, 880, 1319, 1213, 1526, 1526, 1526, 1526, 1526, 1526, 1273, 1526, 1526, 966, 1319, 1526, 1526, 1526, 1526, 1526, 1526, 1320, 564, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1231, 1526, 1526, 963, 1320, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 63, 1526, 1526, 936, 1321, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1320, 1215, 1526, 1526, 1526, 1526, 1526, 1526, 335, 1526, 1526, 939, 1322, 1526, 1526, 1526, 1526, 1526, 1526, 1325, 571, 1323, 1319, 1526, 1526, 1526, 1526, 1526, 1526, 1275, 1526, 1526, 1087, 1323, 1526, 1526, 1526, 1526, 1526, 1526, 1324, 501, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1233, 1526, 1526, 1084, 1324, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 842, 1526, 1526, 1068, 1325, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1324, 1320, 1526, 1526, 1526, 1526, 1526, 1526, 358, 1526, 1526, 1071, 1326, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1325, 1321, 1526, 1526, 1526, 1526, 1526, 1526, 334, 1526, 1526, 1276, 1327, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 298, 585, 1526, 1526, 1526, 1526, 1526, 1526, 396, 1526, 1526, 1169, 1328, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1157, 1155, 1526, 1526, 1526, 1526, 1526, 1526, 244, 1526, 1526, 1270, 1329, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 261, 349, 1526, 1526, 1526, 1526, 1526, 1526, 243, 1526, 1526, 1330, 1330, 244, 244, 1526, 1526, 1526, 1526, 1526, 1526, 1249, 1247, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 28, 1331, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1263, 1259, 1526, 1526, 1526, 1526, 1526, 1526, 41, 1526, 1526, 1332, 1332, 26, 26, 1526, 1526, 1526, 1526, 1330, 333, 1248, 1246, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 27, 1333, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 501, 564, 1526, 1526, 1526, 1526, 1526, 1526, 40, 1526, 1526, 1334, 1334, 41, 41, 1526, 1526, 1526, 1526, 1526, 1526, 1168, 1167, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 26, 1335, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1324, 1320, 1526, 1526, 1526, 1526, 1526, 1526, 62, 1526, 1526, 1336, 1336, 24, 24, 1526, 1526, 1526, 1526, 1334, 1140, 1269, 1268, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 25, 1337, 921, 921, 557, 1526, 1526, 98, 1526, 1526, 1105, 1100, 889, 1526, 1526, 1526, 1526, 1026, 456, 1526, 98, 558, 1338, 34, 34, 1526, 80, 1355, 13, 1353, 1350, 1346, 1339, 1526, 1526, 1526, 1526, 1526, 1305, 404, 1526, 13, 35, 1339, 1029, 1029, 1526, 304, 1345, 512, 1343, 1340, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1306, 498, 1526, 512, 1030, 1340, 1037, 1037, 1526, 1526, 306, 304, 1342, 1341, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1307, 363, 1526, 304, 614, 1341, 1038, 1038, 1526, 1526, 1526, 305, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 878, 364, 1526, 305, 624, 1342, 1039, 1039, 1526, 1526, 1526, 306, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 795, 365, 1526, 306, 631, 1343, 1040, 1040, 1526, 1526, 510, 49, 1344, 1342, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 793, 507, 1526, 49, 1031, 1344, 1041, 1041, 1526, 1526, 1526, 510, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 796, 508, 1526, 510, 1042, 1345, 1526, 1526, 1526, 1526, 1526, 1526, 510, 306, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1033, 1346, 1043, 1043, 1526, 110, 1349, 525, 1347, 985, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1308, 513, 1526, 525, 1044, 1347, 1051, 1051, 1526, 1526, 522, 523, 1348, 983, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 798, 519, 1526, 523, 1045, 1348, 1052, 1052, 1526, 1526, 1526, 522, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 800, 520, 1526, 522, 1053, 1349, 1526, 1526, 1526, 1526, 1526, 1526, 522, 121, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1047, 1350, 1054, 1054, 1526, 1526, 308, 80, 1352, 1351, 985, 1340, 1526, 1526, 1526, 1526, 1526, 1309, 362, 1526, 80, 913, 1351, 1055, 1055, 1526, 1526, 1526, 307, 1526, 1526, 977, 1341, 1526, 1526, 1526, 1526, 1526, 880, 369, 1526, 307, 662, 1352, 1056, 1056, 1526, 1526, 1526, 308, 1526, 1526, 983, 1342, 1526, 1526, 1526, 1526, 1526, 802, 370, 1526, 308, 675, 1353, 1057, 1057, 1526, 1526, 533, 48, 1354, 1352, 1347, 1343, 1526, 1526, 1526, 1526, 1526, 789, 526, 1526, 48, 934, 1354, 1058, 1058, 1526, 1526, 1526, 533, 1526, 1526, 1348, 1344, 1526, 1526, 1526, 1526, 1526, 803, 527, 1526, 533, 1059, 1355, 1526, 1526, 1526, 1526, 1526, 1526, 533, 308, 1349, 1345, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 947, 1356, 1062, 1062, 1526, 109, 1363, 777, 1361, 1016, 1357, 1346, 1526, 1526, 1526, 1526, 1526, 1310, 574, 1526, 777, 1063, 1357, 1113, 1113, 1526, 123, 1360, 768, 1358, 1000, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1311, 757, 1526, 768, 1114, 1358, 1121, 1121, 1526, 1526, 765, 766, 1359, 998, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 811, 762, 1526, 766, 1115, 1359, 1122, 1122, 1526, 1526, 1526, 765, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 813, 763, 1526, 765, 1123, 1360, 1526, 1526, 1526, 1526, 1526, 1526, 765, 215, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1117, 1361, 1124, 1124, 1526, 1526, 774, 775, 1362, 1014, 1358, 1347, 1526, 1526, 1526, 1526, 1526, 807, 769, 1526, 775, 1067, 1362, 1125, 1125, 1526, 1526, 1526, 774, 1526, 1526, 1359, 1348, 1526, 1526, 1526, 1526, 1526, 815, 770, 1526, 774, 1126, 1363, 1526, 1526, 1526, 1526, 1526, 1526, 774, 217, 1360, 1349, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1079, 1364, 1129, 1129, 1526, 1526, 841, 79, 1366, 1365, 1016, 1350, 1526, 1526, 1526, 1526, 1526, 1312, 361, 1526, 79, 1130, 1365, 1195, 1195, 1526, 1526, 1526, 309, 1526, 1526, 1008, 1351, 1526, 1526, 1526, 1526, 1526, 891, 377, 1526, 309, 1196, 1366, 1202, 1202, 1526, 1526, 1526, 841, 1526, 1526, 1014, 1352, 1526, 1526, 1526, 1526, 1526, 819, 378, 1526, 841, 1203, 1367, 1209, 1209, 1526, 1526, 788, 47, 1368, 1366, 1361, 1353, 1526, 1526, 1526, 1526, 1526, 402, 778, 1526, 47, 1210, 1368, 1298, 1298, 1526, 1526, 1526, 788, 1526, 1526, 1362, 1354, 1526, 1526, 1526, 1526, 1526, 832, 779, 1526, 788, 1299, 1369, 1526, 1526, 1526, 1526, 1526, 1526, 788, 841, 1363, 1355, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1370, 1370, 1526, 31, 31, 1526, 30, 32, 1395, 1392, 1386, 1371, 1526, 1526, 1526, 1526, 1526, 1526, 780, 1526, 1526, 11, 1371, 1526, 1305, 1305, 1526, 534, 405, 1384, 1381, 1378, 1372, 1526, 1526, 1526, 1526, 1526, 1526, 781, 1526, 1526, 1028, 1372, 1526, 1306, 1306, 1526, 511, 490, 1376, 1373, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 782, 1526, 1526, 1036, 1373, 1526, 1307, 1307, 1526, 169, 222, 1375, 1374, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 221, 1526, 1526, 583, 1374, 1526, 878, 878, 1526, 1526, 213, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 212, 1526, 1526, 280, 1375, 1526, 795, 795, 1526, 1526, 169, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 168, 1526, 1526, 289, 1376, 1526, 793, 793, 1526, 315, 383, 1377, 1375, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 381, 1526, 1526, 794, 1377, 1526, 796, 796, 1526, 1526, 315, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 312, 1526, 1526, 797, 1378, 1526, 1308, 1308, 1526, 524, 492, 1379, 951, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 783, 1526, 1526, 1050, 1379, 1526, 798, 798, 1526, 322, 387, 1380, 952, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 384, 1526, 1526, 799, 1380, 1526, 800, 800, 1526, 1526, 322, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 316, 1526, 1526, 801, 1381, 1526, 1309, 1309, 1526, 171, 224, 1383, 1382, 951, 1373, 1526, 1526, 1526, 1526, 1526, 1526, 108, 1526, 1526, 371, 1382, 1526, 880, 880, 1526, 1526, 214, 1526, 1526, 950, 1374, 1526, 1526, 1526, 1526, 1526, 1526, 127, 1526, 1526, 283, 1383, 1526, 802, 802, 1526, 1526, 171, 1526, 1526, 952, 1375, 1526, 1526, 1526, 1526, 1526, 1526, 159, 1526, 1526, 278, 1384, 1526, 789, 789, 1526, 55, 69, 1385, 1383, 1379, 1376, 1526, 1526, 1526, 1526, 1526, 1526, 380, 1526, 1526, 790, 1385, 1526, 803, 803, 1526, 1526, 55, 1526, 1526, 1380, 1377, 1526, 1526, 1526, 1526, 1526, 1526, 311, 1526, 1526, 804, 1386, 1526, 1310, 1310, 1526, 776, 743, 1390, 960, 1387, 1378, 1526, 1526, 1526, 1526, 1526, 1526, 784, 1526, 1526, 1112, 1387, 1526, 1311, 1311, 1526, 767, 744, 1388, 956, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 785, 1526, 1526, 1120, 1388, 1526, 811, 811, 1526, 753, 752, 1389, 957, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 786, 1526, 1526, 812, 1389, 1526, 813, 813, 1526, 1526, 753, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 787, 1526, 1526, 814, 1390, 1526, 807, 807, 1526, 756, 755, 1391, 961, 1388, 1379, 1526, 1526, 1526, 1526, 1526, 1526, 388, 1526, 1526, 808, 1391, 1526, 815, 815, 1526, 1526, 756, 1526, 1526, 1389, 1380, 1526, 1526, 1526, 1526, 1526, 1526, 323, 1526, 1526, 816, 1392, 1526, 1312, 1312, 1526, 67, 46, 1394, 1393, 960, 1381, 1526, 1526, 1526, 1526, 1526, 1526, 107, 1526, 1526, 778, 1393, 1526, 891, 891, 1526, 1526, 53, 1526, 1526, 959, 1382, 1526, 1526, 1526, 1526, 1526, 1526, 126, 1526, 1526, 831, 1394, 1526, 819, 819, 1526, 1526, 67, 1526, 1526, 961, 1383, 1526, 1526, 1526, 1526, 1526, 1526, 158, 1526, 1526, 820, 1395, 1526, 402, 402, 1526, 54, 68, 1396, 1394, 1390, 1384, 1526, 1526, 1526, 1526, 1526, 1526, 379, 1526, 1526, 403, 1396, 1526, 832, 832, 1526, 1526, 54, 1526, 1526, 1391, 1385, 1526, 1526, 1526, 1526, 1526, 1526, 310, 1526, 1526, 833, 1397, 1305, 1305, 1526, 224, 534, 405, 852, 1401, 1400, 1398, 1526, 1526, 1526, 1526, 1526, 1526, 834, 1526, 405, 1028, 1398, 1306, 1306, 1526, 222, 511, 490, 853, 1399, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 835, 1526, 490, 1036, 1399, 1307, 1307, 1526, 1526, 169, 222, 854, 1151, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 270, 1526, 222, 583, 1400, 1308, 1308, 1526, 161, 524, 492, 856, 871, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 836, 1526, 492, 1050, 1401, 1309, 1309, 1526, 1526, 171, 224, 859, 1152, 871, 1399, 1526, 1526, 1526, 1526, 1526, 1526, 269, 1526, 224, 371, 1402, 1310, 1310, 1526, 160, 776, 743, 861, 870, 1403, 1400, 1526, 1526, 1526, 1526, 1526, 1526, 837, 1526, 743, 1112, 1403, 1311, 1311, 1526, 163, 767, 744, 862, 873, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 838, 1526, 744, 1120, 1404, 1312, 1312, 1526, 1526, 67, 46, 867, 1153, 870, 1401, 1526, 1526, 1526, 1526, 1526, 1526, 268, 1526, 46, 778, 1405, 1313, 1313, 1526, 171, 1526, 534, 860, 859, 1407, 1406, 1526, 1526, 1526, 1526, 1526, 1526, 1277, 1526, 534, 969, 1406, 1314, 1314, 1526, 169, 1526, 511, 855, 854, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1278, 1526, 511, 1034, 1407, 1315, 1315, 1526, 162, 1526, 524, 858, 857, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1279, 1526, 524, 1048, 1408, 1316, 1316, 1526, 128, 1526, 776, 866, 865, 1409, 1407, 1526, 1526, 1526, 1526, 1526, 1526, 1280, 1526, 776, 1090, 1409, 1317, 1317, 1526, 165, 1526, 767, 864, 863, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1281, 1526, 767, 1118, 1410, 1318, 1318, 1526, 214, 1526, 1273, 1415, 1152, 1413, 1411, 1526, 1526, 1526, 1526, 1526, 1526, 1271, 1526, 1273, 966, 1411, 1213, 1213, 1526, 213, 1526, 1214, 1412, 1151, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1272, 1526, 1214, 962, 1412, 1215, 1215, 1526, 1526, 1526, 329, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1171, 1526, 329, 935, 1413, 1319, 1319, 1526, 134, 1526, 1231, 1414, 872, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1230, 1526, 1231, 963, 1414, 1320, 1320, 1526, 1526, 1526, 63, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1163, 1526, 63, 936, 1415, 1321, 1321, 1526, 1526, 1526, 335, 1526, 1526, 1414, 1412, 1526, 1526, 1526, 1526, 1526, 1526, 1170, 1526, 335, 939, 1416, 1322, 1322, 1526, 76, 1526, 1275, 1419, 875, 1417, 1413, 1526, 1526, 1526, 1526, 1526, 1526, 1274, 1526, 1275, 1087, 1417, 1323, 1323, 1526, 144, 1526, 1233, 1418, 874, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1232, 1526, 1233, 1084, 1418, 1324, 1324, 1526, 1526, 1526, 842, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1164, 1526, 842, 1068, 1419, 1325, 1325, 1526, 1526, 1526, 358, 1526, 1526, 1418, 1414, 1526, 1526, 1526, 1526, 1526, 1526, 1172, 1526, 358, 1071, 1420, 1326, 1326, 1526, 1526, 1526, 334, 1526, 1526, 1419, 1415, 1526, 1526, 1526, 1526, 1526, 1526, 1169, 1526, 334, 1276, 1421, 1327, 1327, 1526, 1526, 1526, 396, 1526, 1526, 603, 602, 1526, 1526, 1526, 1526, 1526, 1526, 333, 1526, 396, 1169, 1422, 1328, 1328, 1526, 1526, 1526, 244, 1526, 1526, 1254, 1252, 1526, 1526, 1526, 1526, 1526, 1526, 1330, 1526, 244, 1270, 1423, 1256, 1256, 1526, 181, 1526, 1159, 1424, 884, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1268, 1526, 1159, 1257, 1424, 1259, 1259, 1526, 1526, 1526, 42, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1167, 1526, 42, 1258, 1425, 1260, 1260, 1526, 85, 1526, 1161, 1426, 415, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1269, 1526, 1161, 1261, 1426, 1263, 1263, 1526, 1526, 1526, 896, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1168, 1526, 896, 1262, 1427, 1329, 1329, 1526, 1526, 1526, 243, 1526, 1526, 415, 884, 1526, 1526, 1526, 1526, 1526, 1526, 1140, 1526, 243, 1330, 1428, 1331, 1331, 1526, 1526, 1526, 41, 1526, 1526, 1426, 1424, 1526, 1526, 1526, 1526, 1526, 1526, 1334, 1526, 41, 1332, 1429, 1333, 1333, 1526, 1526, 1526, 40, 1526, 1526, 874, 872, 1526, 1526, 1526, 1526, 1526, 1526, 685, 1526, 40, 1334, 1430, 1335, 1335, 1526, 1526, 1526, 62, 1526, 1526, 1418, 1414, 1526, 1526, 1526, 1526, 1526, 1526, 1227, 1526, 62, 1336, 1431, 20, 20, 1526, 1526, 1526, 1526, 1434, 392, 1432, 1272, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 21, 1432, 1223, 1223, 1526, 1526, 1526, 1526, 1433, 393, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1222, 1433, 330, 330, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 331, 1434, 328, 328, 1526, 1526, 1526, 1526, 1526, 1526, 1433, 1171, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 22, 1435, 1216, 1216, 1526, 397, 1526, 1223, 1437, 1436, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1432, 1526, 1223, 1217, 1436, 1224, 1224, 1526, 1526, 1526, 397, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 393, 1526, 397, 1220, 1437, 1225, 1225, 1526, 1526, 1526, 330, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1433, 1526, 330, 1219, 1438, 1226, 1226, 1526, 1526, 1526, 61, 1526, 1526, 1436, 1151, 1526, 1526, 1526, 1526, 1526, 1526, 392, 1526, 61, 1227, 1439, 1228, 1228, 1526, 1526, 1526, 328, 1526, 1526, 1437, 1412, 1526, 1526, 1526, 1526, 1526, 1526, 1434, 1526, 328, 1229, 1440, 1526, 1526, 1526, 1526, 1526, 1526, 1444, 1443, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1236, 1526, 1526, 1441, 1441, 1235, 1235, 1526, 1526, 1526, 1133, 1436, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1442, 1526, 1133, 1221, 1442, 1133, 1133, 1526, 1526, 1526, 1526, 393, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1134, 1443, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 844, 1526, 1526, 393, 1444, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1136, 1526, 1526, 1442, 1445, 1526, 1526, 1526, 1526, 1526, 1526, 1448, 932, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1240, 1526, 1526, 1446, 1446, 1238, 1238, 1526, 1526, 1526, 1138, 928, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1447, 1526, 1138, 1239, 1447, 1138, 1138, 1526, 1526, 1526, 1526, 929, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1139, 1448, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1141, 1526, 1526, 1447, 1449, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 932, 1443, 1526, 1526, 1526, 1526, 1526, 1526, 846, 1526, 1526, 1434, 1450, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1448, 1444, 1526, 1526, 1526, 1526, 1526, 1526, 19, 1526, 1526, 1431, 1451, 1526, 1526, 1526, 1526, 1526, 1526, 1456, 1455, 1323, 1319, 1526, 1526, 1526, 1526, 1526, 1526, 1266, 1526, 1526, 1452, 1452, 1243, 1243, 1526, 599, 1526, 1143, 1454, 1453, 1425, 1423, 1526, 1526, 1526, 1526, 1526, 1526, 1267, 1526, 1143, 1244, 1453, 1264, 1264, 1526, 1526, 1526, 599, 1526, 1526, 415, 884, 1526, 1526, 1526, 1526, 1526, 1526, 399, 1526, 599, 1250, 1454, 1265, 1265, 1526, 1526, 1526, 848, 1526, 1526, 1426, 1424, 1526, 1526, 1526, 1526, 1526, 1526, 1166, 1526, 848, 1245, 1455, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 501, 564, 1526, 1526, 1526, 1526, 1526, 1526, 898, 1526, 1526, 1166, 1456, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1324, 1320, 1526, 1526, 1526, 1526, 1526, 1526, 1165, 1526, 1526, 1267, 1457, 1526, 34, 34, 1526, 1355, 13, 1470, 1467, 1464, 1458, 1305, 1313, 1318, 1256, 1319, 1526, 1290, 1440, 1526, 35, 1458, 1526, 1029, 1029, 1526, 1345, 512, 1462, 1459, 1526, 1526, 1306, 1314, 1213, 1526, 1526, 1526, 1285, 1526, 1526, 1030, 1459, 1526, 1037, 1037, 1526, 306, 304, 1461, 1460, 1526, 1526, 1307, 795, 878, 1526, 1526, 1526, 905, 1526, 1526, 614, 1460, 1526, 1038, 1038, 1526, 1526, 305, 1526, 1526, 1526, 1526, 878, 1526, 1526, 1526, 1526, 1526, 902, 1526, 1526, 624, 1461, 1526, 1039, 1039, 1526, 1526, 306, 1526, 1526, 1526, 1526, 795, 1526, 1526, 1526, 1526, 1526, 904, 1526, 1526, 631, 1462, 1526, 1040, 1040, 1526, 510, 49, 1463, 1461, 1526, 1526, 793, 796, 1215, 1526, 1526, 1526, 1177, 1526, 1526, 1031, 1463, 1526, 1041, 1041, 1526, 1526, 510, 1526, 1526, 1526, 1526, 796, 1526, 1526, 1526, 1526, 1526, 1176, 1526, 1526, 1042, 1464, 1526, 1043, 1043, 1526, 1349, 525, 1465, 986, 1526, 1526, 1308, 1315, 1319, 1526, 1526, 1526, 1288, 1526, 1526, 1044, 1465, 1526, 1051, 1051, 1526, 522, 523, 1466, 984, 1526, 1526, 798, 800, 1320, 1526, 1526, 1526, 1181, 1526, 1526, 1045, 1466, 1526, 1052, 1052, 1526, 1526, 522, 1526, 1526, 1526, 1526, 800, 1526, 1526, 1526, 1526, 1526, 1180, 1526, 1526, 1053, 1467, 1526, 1054, 1054, 1526, 308, 80, 1469, 1468, 986, 1459, 1309, 802, 880, 349, 564, 1526, 912, 1443, 1526, 913, 1468, 1526, 1055, 1055, 1526, 1526, 307, 1526, 1526, 978, 1460, 880, 1526, 1526, 1526, 1526, 1526, 909, 1526, 1526, 662, 1469, 1526, 1056, 1056, 1526, 1526, 308, 1526, 1526, 984, 1461, 802, 1526, 1526, 1526, 1526, 1526, 911, 1526, 1526, 675, 1470, 1526, 1057, 1057, 1526, 533, 48, 1471, 1469, 1465, 1462, 789, 803, 1321, 1259, 1320, 1526, 1184, 1444, 1526, 934, 1471, 1526, 1058, 1058, 1526, 1526, 533, 1526, 1526, 1466, 1463, 803, 1526, 1526, 1526, 1526, 1526, 1183, 1526, 1526, 1059, 1472, 1526, 1062, 1062, 1526, 1363, 777, 1476, 1017, 1473, 1464, 1310, 1316, 1322, 1260, 1323, 1526, 1296, 1445, 1526, 1063, 1473, 1526, 1113, 1113, 1526, 1360, 768, 1474, 1001, 1526, 1526, 1311, 1317, 1323, 1526, 1526, 1526, 1294, 1526, 1526, 1114, 1474, 1526, 1121, 1121, 1526, 765, 766, 1475, 999, 1526, 1526, 811, 813, 1324, 1526, 1526, 1526, 1189, 1526, 1526, 1115, 1475, 1526, 1122, 1122, 1526, 1526, 765, 1526, 1526, 1526, 1526, 813, 1526, 1526, 1526, 1526, 1526, 1188, 1526, 1526, 1123, 1476, 1526, 1124, 1124, 1526, 774, 775, 1477, 1015, 1474, 1465, 807, 815, 1325, 1263, 1324, 1526, 1192, 1448, 1526, 1067, 1477, 1526, 1125, 1125, 1526, 1526, 774, 1526, 1526, 1475, 1466, 815, 1526, 1526, 1526, 1526, 1526, 1191, 1526, 1526, 1126, 1478, 1526, 1129, 1129, 1526, 841, 79, 1480, 1479, 1017, 1467, 1312, 819, 891, 1264, 1455, 1526, 17, 1449, 1526, 1130, 1479, 1526, 1195, 1195, 1526, 1526, 309, 1526, 1526, 1009, 1468, 891, 1526, 1526, 1526, 1526, 1526, 918, 1526, 1526, 1196, 1480, 1526, 1202, 1202, 1526, 1526, 841, 1526, 1526, 1015, 1469, 819, 1526, 1526, 1526, 1526, 1526, 920, 1526, 1526, 1203, 1481, 1526, 1209, 1209, 1526, 788, 47, 1482, 1480, 1476, 1470, 402, 832, 1326, 1265, 1456, 1526, 18, 1450, 1526, 1210, 1482, 1526, 1298, 1298, 1526, 1526, 788, 1526, 1526, 1477, 1471, 832, 1526, 1526, 1526, 1526, 1526, 1194, 1526, 1526, 1299, 1483, 3, 3, 1526, 846, 1526, 1241, 1490, 1489, 1487, 1484, 1526, 1526, 1526, 1526, 1526, 1526, 1211, 1526, 1241, 4, 1484, 1440, 1440, 1526, 844, 1526, 1236, 1486, 1485, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1234, 1526, 1236, 1441, 1485, 1443, 1443, 1526, 1526, 1526, 844, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 843, 1526, 844, 393, 1486, 1444, 1444, 1526, 1526, 1526, 1136, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1132, 1526, 1136, 1442, 1487, 1445, 1445, 1526, 240, 1526, 1240, 1488, 931, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1237, 1526, 1240, 1446, 1488, 1448, 1448, 1526, 1526, 1526, 1141, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1137, 1526, 1141, 1447, 1489, 1449, 1449, 1526, 1526, 1526, 846, 1526, 1526, 931, 1485, 1526, 1526, 1526, 1526, 1526, 1526, 327, 1526, 846, 1434, 1490, 1450, 1450, 1526, 1526, 1526, 19, 1526, 1526, 1488, 1486, 1526, 1526, 1526, 1526, 1526, 1526, 1131, 1526, 19, 1431, 1491, 1451, 1451, 1526, 898, 1526, 1266, 1493, 1492, 1417, 1413, 1526, 1526, 1526, 1526, 1526, 1526, 1242, 1526, 1266, 1452, 1492, 1455, 1455, 1526, 1526, 1526, 898, 1526, 1526, 874, 872, 1526, 1526, 1526, 1526, 1526, 1526, 847, 1526, 898, 1166, 1493, 1456, 1456, 1526, 1526, 1526, 1165, 1526, 1526, 1418, 1414, 1526, 1526, 1526, 1526, 1526, 1526, 1142, 1526, 1165, 1267, 1494, 1457, 1457, 1338, 912, 1511, 1290, 1509, 1506, 1502, 1495, 1397, 1405, 1410, 1423, 1413, 1371, 1282, 1484, 1290, 35, 1495, 1458, 1458, 1339, 905, 1501, 1285, 1499, 1496, 1526, 1526, 1398, 1406, 1411, 1526, 1526, 1372, 1283, 1526, 1285, 1030, 1496, 1459, 1459, 1340, 1526, 904, 905, 1498, 1497, 1526, 1526, 1399, 854, 1151, 1526, 1526, 1373, 900, 1526, 905, 614, 1497, 1460, 1460, 1341, 1526, 1526, 902, 1526, 1526, 1526, 1526, 1151, 1526, 1526, 1526, 1526, 1374, 901, 1526, 902, 624, 1498, 1461, 1461, 1342, 1526, 1526, 904, 1526, 1526, 1526, 1526, 854, 1526, 1526, 1526, 1526, 1375, 903, 1526, 904, 631, 1499, 1462, 1462, 1343, 1526, 1176, 1177, 1500, 1498, 1526, 1526, 853, 855, 1412, 1526, 1526, 1376, 1174, 1526, 1177, 1031, 1500, 1463, 1463, 1344, 1526, 1526, 1176, 1526, 1526, 1526, 1526, 855, 1526, 1526, 1526, 1526, 1377, 1175, 1526, 1176, 1042, 1501, 1526, 1345, 1345, 1526, 1526, 511, 1176, 904, 1526, 1526, 511, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1033, 1502, 1464, 1464, 1346, 299, 1505, 1288, 1503, 981, 1526, 1526, 1400, 1407, 1413, 1526, 1526, 1378, 1286, 1526, 1288, 1044, 1503, 1465, 1465, 1347, 1526, 1180, 1181, 1504, 982, 1526, 1526, 856, 858, 1414, 1526, 1526, 1379, 1178, 1526, 1181, 1045, 1504, 1466, 1466, 1348, 1526, 1526, 1180, 1526, 1526, 1526, 1526, 858, 1526, 1526, 1526, 1526, 1380, 1179, 1526, 1180, 1053, 1505, 1526, 1349, 1349, 1526, 1526, 524, 1180, 300, 1526, 1526, 524, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1047, 1506, 1467, 1467, 1350, 1526, 911, 912, 1508, 1507, 981, 1496, 1401, 859, 1152, 884, 872, 1381, 899, 1485, 912, 913, 1507, 1468, 1468, 1351, 1526, 1526, 909, 1526, 1526, 976, 1497, 1152, 1526, 1526, 1526, 1526, 1382, 908, 1526, 909, 662, 1508, 1469, 1469, 1352, 1526, 1526, 911, 1526, 1526, 982, 1498, 859, 1526, 1526, 1526, 1526, 1383, 910, 1526, 911, 675, 1509, 1470, 1470, 1353, 1526, 1183, 1184, 1510, 1508, 1503, 1499, 852, 860, 1415, 1424, 1414, 1384, 1173, 1486, 1184, 934, 1510, 1471, 1471, 1354, 1526, 1526, 1183, 1526, 1526, 1504, 1500, 860, 1526, 1526, 1526, 1526, 1385, 1182, 1526, 1183, 1059, 1511, 1526, 1355, 1355, 1526, 1526, 534, 1183, 911, 1505, 1501, 534, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 947, 1512, 1472, 1472, 1356, 81, 1519, 1296, 1517, 1012, 1513, 1502, 1402, 1408, 1416, 1425, 1417, 1386, 1291, 1487, 1296, 1063, 1513, 1473, 1473, 1357, 301, 1516, 1294, 1514, 996, 1526, 1526, 1403, 1409, 1417, 1526, 1526, 1387, 1292, 1526, 1294, 1114, 1514, 1474, 1474, 1358, 1526, 1188, 1189, 1515, 997, 1526, 1526, 862, 864, 1418, 1526, 1526, 1388, 1186, 1526, 1189, 1115, 1515, 1475, 1475, 1359, 1526, 1526, 1188, 1526, 1526, 1526, 1526, 864, 1526, 1526, 1526, 1526, 1389, 1187, 1526, 1188, 1123, 1516, 1526, 1360, 1360, 1526, 1526, 767, 1188, 302, 1526, 1526, 767, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1117, 1517, 1476, 1476, 1361, 1526, 1191, 1192, 1518, 1013, 1514, 1503, 861, 866, 1419, 1426, 1418, 1390, 1185, 1488, 1192, 1067, 1518, 1477, 1477, 1362, 1526, 1526, 1191, 1526, 1526, 1515, 1504, 866, 1526, 1526, 1526, 1526, 1391, 1190, 1526, 1191, 1126, 1519, 1526, 1363, 1363, 1526, 1526, 776, 1191, 303, 1516, 1505, 776, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1079, 1520, 1478, 1478, 1364, 1526, 920, 17, 1522, 1521, 1012, 1506, 1404, 867, 1153, 1453, 1492, 1392, 326, 1489, 17, 1130, 1521, 1479, 1479, 1365, 1526, 1526, 918, 1526, 1526, 1007, 1507, 1153, 1526, 1526, 1526, 1526, 1393, 917, 1526, 918, 1196, 1522, 1480, 1480, 1366, 1526, 1526, 920, 1526, 1526, 1013, 1508, 867, 1526, 1526, 1526, 1526, 1394, 919, 1526, 920, 1203, 1523, 1481, 1481, 1367, 1526, 1194, 18, 1524, 1522, 1517, 1509, 851, 868, 1420, 1454, 1493, 1395, 1130, 1490, 18, 1210, 1524, 1482, 1482, 1368, 1526, 1526, 1194, 1526, 1526, 1518, 1510, 868, 1526, 1526, 1526, 1526, 1396, 1193, 1526, 1194, 1299, 1525, 1526, 1369, 1369, 1526, 1526, 30, 1194, 920, 1519, 1511, 30, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1370}; /* Vector of min issue delay of insns. */ static const unsigned char exynos_m1_fp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 2, 0, 0, 0, 0, 0, 2, 16, 32, 1, 0, 16, 0, 0, 0, 0, 0, 16, 1, 0, 17, 145, 113, 0, 0, 153, 153, 152, 9, 16, 0, 8, 6, 0, 0, 8, 136, 136, 112, 128, 0, 0, 112, 80, 0, 0, 119, 119, 118, 7, 0, 0, 6, 4, 0, 0, 6, 102, 102, 80, 96, 0, 0, 80, 48, 0, 0, 85, 85, 84, 5, 0, 0, 4, 2, 0, 0, 4, 68, 68, 48, 64, 0, 0, 48, 16, 0, 0, 51, 51, 50, 3, 0, 0, 2, 0, 0, 0, 2, 34, 34, 16, 32, 0, 0, 16, 0, 0, 0, 17, 17, 16, 1, 0, 2, 17, 33, 16, 0, 1, 17, 17, 33, 18, 0, 33, 24, 17, 0, 0, 17, 17, 18, 17, 32, 1, 0, 112, 0, 0, 0, 0, 0, 16, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 4, 5, 0, 64, 4, 0, 0, 0, 0, 0, 4, 48, 64, 3, 0, 48, 0, 0, 0, 0, 0, 50, 3, 0, 51, 147, 115, 17, 0, 153, 153, 152, 41, 48, 2, 40, 38, 32, 0, 8, 136, 136, 113, 130, 0, 17, 113, 81, 0, 0, 119, 119, 118, 7, 16, 2, 39, 37, 32, 0, 7, 119, 119, 97, 114, 0, 17, 97, 65, 0, 0, 102, 102, 101, 6, 16, 2, 38, 36, 32, 0, 6, 102, 102, 81, 98, 0, 17, 81, 49, 0, 0, 85, 85, 84, 5, 16, 2, 37, 35, 32, 0, 5, 85, 85, 65, 82, 0, 17, 65, 33, 0, 0, 68, 68, 67, 4, 16, 2, 36, 34, 32, 0, 4, 68, 68, 49, 66, 0, 17, 49, 17, 0, 0, 51, 51, 50, 3, 16, 2, 35, 34, 32, 0, 3, 51, 51, 33, 50, 0, 17, 33, 17, 0, 0, 34, 34, 33, 2, 16, 2, 34, 34, 32, 0, 2, 34, 34, 33, 34, 0, 17, 17, 17, 0, 0, 17, 17, 17, 1, 16, 1, 17, 129, 16, 0, 1, 17, 17, 16, 17, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 112, 0, 0, 0, 0, 0, 33, 7, 0, 16, 6, 0, 0, 0, 0, 0, 1, 0, 96, 1, 25, 103, 100, 66, 41, 153, 153, 128, 150, 0, 0, 133, 101, 51, 17, 136, 136, 135, 72, 80, 4, 71, 69, 66, 32, 7, 119, 119, 99, 116, 0, 51, 99, 67, 17, 0, 102, 102, 101, 38, 48, 3, 54, 134, 97, 66, 38, 102, 102, 130, 104, 0, 34, 87, 85, 3, 17, 85, 85, 87, 21, 112, 1, 20, 100, 66, 32, 4, 68, 68, 96, 70, 0, 0, 53, 51, 17, 0, 51, 51, 53, 67, 80, 4, 34, 66, 32, 0, 2, 34, 34, 67, 36, 0, 49, 19, 17, 0, 0, 17, 17, 19, 33, 48, 3, 17, 129, 16, 0, 1, 17, 17, 50, 24, 0, 49, 24, 17, 0, 68, 17, 136, 136, 40, 128, 2, 0, 112, 0, 83, 48, 7, 119, 113, 119, 0, 16, 6, 96, 68, 34, 6, 102, 102, 6, 96, 0, 0, 85, 83, 49, 21, 85, 85, 84, 85, 0, 68, 68, 68, 34, 0, 68, 68, 68, 52, 64, 3, 51, 51, 49, 16, 3, 51, 51, 50, 51, 0, 51, 56, 51, 17, 0, 51, 51, 51, 35, 128, 2, 34, 114, 32, 0, 2, 34, 34, 33, 39, 0, 17, 22, 17, 0, 0, 17, 17, 17, 1, 96, 6, 17, 97, 16, 0, 1, 17, 17, 101, 22, 0, 80, 5, 0, 0, 0, 0, 0, 5, 64, 80, 5, 89, 87, 83, 49, 25, 153, 153, 132, 149, 0, 68, 132, 100, 34, 0, 136, 136, 135, 56, 64, 3, 55, 53, 49, 16, 7, 119, 119, 98, 115, 0, 51, 120, 119, 21, 51, 119, 119, 120, 39, 128, 2, 38, 118, 96, 66, 38, 102, 102, 113, 103, 0, 17, 86, 85, 51, 17, 85, 85, 86, 5, 96, 0, 4, 84, 66, 32, 4, 68, 68, 84, 69, 0, 67, 52, 51, 17, 0, 51, 51, 52, 51, 64, 3, 34, 50, 32, 0, 2, 34, 34, 50, 35, 0, 50, 40, 34, 0, 0, 34, 34, 35, 34, 128, 2, 17, 113, 16, 0, 1, 17, 17, 33, 23, 0, 33, 24, 17, 0, 51, 17, 119, 114, 23, 128, 1, 0, 112, 0, 66, 32, 6, 102, 16, 103, 0, 0, 6, 80, 51, 17, 5, 85, 80, 85, 96, 5, 0, 84, 66, 32, 4, 68, 68, 84, 69, 0, 128, 8, 85, 51, 17, 85, 85, 88, 117, 128, 7, 68, 116, 66, 32, 4, 68, 68, 118, 71, 0, 99, 54, 51, 17, 0, 51, 51, 54, 83, 96, 5, 34, 82, 32, 0, 2, 34, 34, 84, 37, 0, 65, 20, 17, 0, 0, 17, 17, 20, 49, 64, 8, 17, 129, 16, 0, 1, 17, 17, 135, 24, 0, 112, 7, 0, 0, 0, 0, 0, 7, 96, 112, 6, 0, 96, 0, 0, 0, 0, 0, 101, 6, 0, 102, 150, 118, 68, 34, 153, 153, 152, 89, 96, 5, 88, 86, 83, 49, 24, 136, 136, 116, 133, 0, 118, 103, 102, 68, 34, 102, 102, 103, 102, 112, 6, 85, 101, 83, 49, 21, 85, 85, 101, 86, 0, 84, 69, 68, 34, 0, 68, 68, 69, 68, 80, 8, 85, 133, 83, 49, 21, 85, 85, 135, 88, 0, 117, 87, 85, 51, 17, 85, 85, 87, 101, 112, 6, 68, 100, 66, 32, 4, 68, 68, 101, 70, 0, 83, 53, 51, 17, 0, 51, 51, 53, 67, 80, 8, 51, 133, 81, 49, 21, 85, 85, 135, 88, 0, 114, 39, 68, 2, 0, 68, 68, 71, 100, 112, 6, 17, 99, 49, 16, 3, 51, 51, 101, 54, 0, 80, 5, 34, 0, 0, 34, 34, 37, 66, 80, 8, 0, 133, 32, 1, 18, 85, 85, 135, 88, 0, 113, 23, 65, 2, 0, 20, 68, 71, 100, 112, 6, 0, 99, 1, 16, 0, 51, 51, 101, 54, 0, 128, 8, 96, 20, 34, 6, 102, 104, 118, 128, 7, 0, 117, 80, 49, 21, 85, 85, 118, 87, 0, 97, 22, 68, 34, 0, 68, 68, 70, 84, 96, 5, 0, 83, 49, 16, 3, 51, 51, 84, 53, 0, 128, 8, 85, 19, 17, 85, 85, 88, 117, 128, 7, 0, 117, 81, 49, 21, 85, 85, 118, 87, 0, 98, 38, 68, 2, 0, 68, 68, 70, 84, 96, 5, 17, 83, 49, 16, 3, 51, 51, 84, 53, 0, 64, 4, 34, 0, 0, 34, 34, 36, 50, 64, 8, 0, 130, 32, 0, 2, 34, 34, 135, 40, 0, 113, 23, 17, 0, 0, 17, 17, 23, 97, 112, 8, 17, 129, 16, 3, 49, 23, 119, 135, 120, 0, 112, 7, 0, 4, 34, 0, 102, 103, 102, 112, 6, 0, 101, 3, 49, 16, 85, 85, 101, 86, 0, 97, 22, 85, 51, 17, 85, 85, 86, 85, 96, 7, 34, 118, 96, 66, 38, 102, 102, 118, 103, 0, 112, 7, 96, 68, 34, 6, 102, 103, 102, 112, 6, 0, 101, 83, 49, 21, 85, 85, 101, 86, 0, 113, 23, 102, 68, 34, 102, 102, 103, 102, 112, 7, 17, 118, 16, 66, 33, 102, 102, 118, 103, 0, 129, 24, 119, 85, 51, 119, 119, 120, 119, 128, 7, 0, 118, 100, 66, 38, 102, 102, 118, 103, 0, 129, 24, 119, 21, 51, 119, 119, 120, 119, 128, 7, 0, 118, 96, 66, 38, 102, 102, 118, 103, 0, 113, 23, 17, 0, 51, 17, 119, 119, 103, 112, 6, 0, 96, 0, 66, 32, 6, 102, 101, 102, 0, 80, 5, 80, 51, 17, 5, 85, 85, 69, 80, 4, 0, 68, 66, 32, 4, 68, 68, 67, 68, 0, 128, 8, 68, 34, 0, 68, 68, 72, 116, 128, 7, 51, 115, 49, 16, 3, 51, 51, 118, 55, 0, 98, 38, 34, 0, 0, 34, 34, 38, 82, 96, 5, 17, 81, 16, 0, 1, 17, 17, 84, 21, 0, 129, 24, 17, 0, 17, 17, 85, 88, 117, 128, 7, 0, 112, 0, 32, 0, 4, 68, 118, 71, 0, 128, 8, 0, 5, 51, 0, 119, 120, 119, 128, 8, 119, 135, 117, 83, 55, 119, 119, 135, 120, 0, 130, 40, 119, 5, 51, 119, 119, 120, 119, 128, 8, 0, 135, 5, 83, 48, 119, 119, 135, 120, 0, 129, 24, 113, 5, 51, 23, 119, 120, 119, 128, 7, 0, 112, 0, 83, 48, 7, 119, 118, 119, 0, 96, 6, 96, 68, 34, 6, 102, 102, 86, 96, 5, 0, 85, 83, 49, 21, 85, 85, 84, 85, 0, 85, 85, 85, 51, 17, 85, 85, 85, 69, 80, 6, 102, 102, 100, 66, 38, 102, 102, 101, 102, 0, 97, 22, 102, 68, 34, 102, 102, 102, 86, 96, 7, 119, 119, 117, 83, 55, 119, 119, 118, 119, 0, 114, 39, 119, 5, 51, 119, 119, 119, 103, 112, 7, 0, 119, 5, 83, 48, 119, 119, 118, 119, 0, 96, 6, 102, 68, 34, 102, 102, 102, 86, 96, 7, 17, 119, 117, 83, 55, 119, 119, 118, 119, 0, 113, 23, 113, 5, 51, 23, 119, 119, 103, 112, 7, 0, 116, 2, 32, 0, 68, 68, 118, 71, 0, 96, 6, 51, 17, 0, 51, 51, 54, 83, 96, 8, 0, 134, 97, 66, 38, 102, 102, 135, 104, 0, 114, 39, 85, 3, 17, 85, 85, 87, 101, 112, 8, 51, 134, 97, 66, 38, 102, 102, 135, 104, 0, 112, 7, 102, 20, 34, 102, 102, 103, 102, 112, 6, 34, 101, 80, 49, 21, 85, 85, 101, 86, 0, 81, 21, 68, 34, 0, 68, 68, 69, 68, 80, 4, 0, 67, 49, 16, 3, 51, 51, 67, 52, 0, 128, 8, 51, 17, 0, 51, 51, 56, 115, 128, 7, 34, 114, 32, 0, 2, 34, 34, 118, 39, 0, 130, 40, 114, 0, 51, 39, 119, 120, 119, 128, 8, 51, 135, 113, 83, 55, 119, 119, 135, 120, 0, 114, 39, 114, 0, 51, 39, 119, 119, 103, 112, 6, 17, 102, 16, 66, 33, 102, 102, 101, 102, 0, 115, 55, 119, 21, 51, 119, 119, 119, 103, 112, 6, 34, 102, 96, 66, 38, 102, 102, 101, 102, 0, 81, 21, 85, 51, 17, 85, 85, 85, 69, 80, 8, 0, 136, 129, 100, 72, 136, 136, 135, 136, 0, 131, 56, 136, 22, 68, 136, 136, 136, 120, 128, 8, 0, 135, 113, 83, 55, 119, 119, 135, 120, 0, 131, 56, 51, 17, 0, 51, 51, 56, 115, 128, 7, 0, 115, 49, 16, 3, 51, 51, 118, 55, 0, 112, 7, 119, 21, 51, 119, 119, 119, 103, 112, 8, 17, 133, 83, 49, 21, 85, 85, 135, 88, 0, 112, 7, 68, 34, 0, 68, 68, 71, 100, 112, 8, 0, 135, 117, 83, 55, 119, 119, 135, 120, 0, 112, 7, 119, 85, 51, 119, 119, 119, 103, 112, 7, 17, 117, 83, 49, 21, 85, 85, 118, 87, 0, 96, 6, 68, 34, 0, 68, 68, 70, 84, 96, 8, 0, 134, 100, 66, 38, 102, 102, 135, 104, 0, 134, 104, 102, 68, 34, 102, 102, 104, 118, 128, 7, 51, 118, 97, 66, 38, 102, 102, 118, 103, 0, 113, 23, 68, 34, 0, 68, 68, 71, 100, 112, 8, 17, 133, 81, 49, 21, 85, 85, 135, 88, 0, 112, 7, 68, 2, 0, 68, 68, 71, 100, 112, 8, 0, 135, 112, 83, 55, 119, 119, 135, 120, 0, 112, 7, 119, 5, 51, 119, 119, 119, 103, 112, 7, 17, 113, 16, 1, 17, 21, 85, 118, 87, 0, 96, 6, 0, 2, 0, 0, 68, 70, 84, 96, 5, 0, 83, 1, 16, 0, 51, 51, 84, 53, 0, 128, 8, 80, 19, 17, 5, 85, 88, 117, 128, 7, 0, 117, 1, 49, 16, 85, 85, 118, 87, 0, 96, 6, 68, 2, 0, 68, 68, 70, 84, 96, 8, 0, 134, 96, 66, 38, 102, 102, 135, 104, 0, 130, 40, 102, 4, 34, 102, 102, 104, 118, 128, 7, 51, 117, 81, 49, 21, 85, 85, 118, 87, 0, 113, 23, 85, 19, 17, 85, 85, 87, 101, 112, 8, 0, 128, 0, 66, 32, 6, 102, 135, 104, 0, 112, 7, 80, 51, 17, 5, 85, 87, 101, 112, 8, 0, 134, 4, 66, 32, 102, 102, 135, 104, 0, 112, 7, 85, 51, 17, 85, 85, 87, 101, 112, 8, 17, 134, 100, 66, 38, 102, 102, 135, 104, 0, 129, 24, 97, 4, 34, 22, 102, 104, 118, 128, 6, 0, 100, 2, 32, 0, 68, 68, 101, 70, 0, 97, 22, 65, 2, 0, 20, 68, 70, 84, 96, 8, 34, 134, 32, 2, 34, 102, 102, 135, 104, 0, 113, 23, 81, 3, 17, 21, 85, 87, 101, 112, 7, 34, 118, 32, 2, 34, 102, 102, 118, 103, 0, 97, 22, 81, 3, 17, 21, 85, 86, 85, 96, 5, 0, 84, 2, 32, 0, 68, 68, 84, 69, 0, 128, 8, 80, 51, 17, 5, 85, 88, 117, 128, 8, 0, 136, 134, 100, 72, 136, 136, 135, 136, 0, 136, 136, 136, 102, 68, 136, 136, 136, 120, 128, 8, 68, 132, 66, 32, 4, 68, 68, 135, 72, 0, 113, 23, 119, 21, 51, 119, 119, 119, 103, 112, 6, 0, 102, 96, 66, 38, 102, 102, 101, 102, 0, 113, 23, 51, 17, 0, 51, 51, 55, 99, 112, 6, 0, 98, 32, 0, 2, 34, 34, 101, 38, 0, 128, 8, 98, 0, 34, 38, 102, 104, 118, 128, 7, 0, 118, 32, 2, 34, 102, 102, 118, 103, 0, 128, 8, 130, 0, 68, 40, 136, 136, 120, 128, 8, 34, 136, 32, 4, 66, 136, 136, 135, 136, 0, 128, 8, 114, 0, 51, 39, 119, 120, 119, 128, 8, 34, 130, 32, 0, 2, 34, 34, 135, 40, 0, 112, 7, 34, 0, 0, 34, 34, 39, 98, 112, 7, 0, 119, 32, 3, 50, 119, 119, 118, 119, 0, 129, 24, 102, 20, 34, 102, 102, 104, 118, 128, 7, 0, 118, 1, 66, 32, 102, 102, 118, 103, 0, 96, 6, 85, 3, 17, 85, 85, 86, 85, 96, 7, 17, 118, 97, 66, 38, 102, 102, 118, 103, 0, 130, 40, 82, 0, 17, 37, 85, 88, 117, 128, 7, 0, 117, 32, 1, 18, 85, 85, 118, 87, 0, 114, 39, 82, 0, 17, 37, 85, 87, 101, 112, 8, 0, 128, 0, 2, 32, 0, 102, 135, 104, 0, 112, 7, 0, 3, 17, 0, 85, 87, 101, 112, 8, 17, 129, 16, 2, 33, 22, 102, 135, 104, 0, 112, 7, 0, 0, 34, 0, 6, 103, 102, 112, 6, 0, 96, 0, 49, 16, 5, 85, 101, 86, 0, 113, 23, 17, 0, 34, 17, 102, 103, 102, 112, 7, 121, 119, 117, 83, 57, 153, 153, 134, 151, 0, 102, 134, 102, 68, 34, 136, 136, 135, 88, 96, 5, 87, 85, 83, 49, 23, 119, 119, 100, 117, 0, 68, 100, 68, 34, 0, 102, 102, 101, 54, 64, 3, 53, 51, 49, 16, 5, 85, 85, 66, 83, 0, 51, 88, 85, 19, 17, 85, 85, 88, 37, 128, 2, 36, 116, 64, 32, 4, 68, 68, 113, 71, 0, 17, 54, 51, 17, 0, 51, 51, 54, 3, 96, 0, 2, 82, 32, 0, 2, 34, 34, 84, 37, 0, 0, 40, 82, 0, 17, 37, 85, 88, 117, 128, 0, 5, 133, 83, 49, 21, 85, 85, 135, 88, 0, 0, 56, 85, 19, 17, 85, 85, 88, 117, 128, 0, 2, 117, 32, 1, 18, 85, 85, 118, 87, 0, 0, 87, 85, 51, 17, 85, 85, 87, 101, 112, 0, 3, 117, 81, 49, 21, 85, 85, 118, 87, 0, 17, 56, 102, 20, 34, 102, 102, 104, 6, 128, 0, 2, 117, 80, 49, 21, 85, 85, 118, 87, 0, 17, 55, 102, 20, 34, 102, 102, 103, 6, 112, 0, 2, 101, 80, 49, 21, 85, 85, 101, 86, 0, 0, 86, 85, 51, 17, 85, 85, 86, 85, 96, 2, 39, 135, 112, 83, 55, 119, 119, 129, 120, 0, 17, 103, 102, 68, 34, 102, 102, 103, 6, 112, 2, 39, 119, 112, 83, 55, 119, 119, 113, 119, 0, 17, 102, 102, 68, 34, 102, 102, 102, 6, 96, 0, 5, 85, 83, 49, 21, 85, 85, 84, 85, 0, 51, 87, 85, 19, 17, 85, 85, 87, 37, 112, 2, 36, 100, 64, 32, 4, 68, 68, 97, 70, 0, 17, 53, 51, 17, 0, 51, 51, 53, 3, 80, 0, 2, 66, 32, 0, 2, 34, 34, 67, 36, 0, 0, 40, 34, 0, 0, 34, 34, 40, 114, 128, 0, 2, 136, 32, 4, 66, 136, 136, 135, 136, 0, 0, 136, 136, 102, 68, 136, 136, 136, 120, 128, 0, 3, 136, 129, 100, 72, 136, 136, 135, 136, 0, 0, 40, 114, 0, 51, 39, 119, 120, 119, 128, 0, 7, 135, 117, 83, 55, 119, 119, 135, 120, 0, 0, 56, 119, 21, 51, 119, 119, 120, 119, 128, 0, 4, 132, 66, 32, 4, 68, 68, 135, 72, 0, 0, 56, 51, 17, 0, 51, 51, 56, 115, 128, 0, 2, 114, 32, 0, 2, 34, 34, 118, 39, 0, 0, 39, 114, 0, 51, 39, 119, 119, 103, 112, 0, 7, 119, 117, 83, 55, 119, 119, 118, 119, 0, 0, 55, 119, 21, 51, 119, 119, 119, 103, 112, 0, 4, 116, 66, 32, 4, 68, 68, 118, 71, 0, 0, 55, 51, 17, 0, 51, 51, 55, 99, 112, 0, 4, 68, 66, 32, 4, 68, 68, 67, 68, 0, 0, 52, 51, 17, 0, 51, 51, 52, 51, 64, 1, 19, 133, 81, 49, 21, 85, 85, 128, 88, 0, 0, 39, 68, 2, 0, 68, 68, 71, 100, 112, 0, 2, 135, 112, 83, 55, 119, 119, 135, 120, 0, 0, 39, 119, 5, 51, 119, 119, 119, 103, 112, 1, 19, 117, 81, 49, 21, 85, 85, 112, 87, 0, 0, 38, 68, 2, 0, 68, 68, 70, 84, 96, 0, 2, 134, 96, 66, 38, 102, 102, 135, 104, 0, 0, 104, 102, 68, 34, 102, 102, 104, 118, 128, 0, 2, 118, 96, 66, 38, 102, 102, 118, 103, 0, 0, 103, 102, 68, 34, 102, 102, 103, 102, 112, 0, 4, 100, 66, 32, 4, 68, 68, 101, 70, 0, 34, 104, 102, 4, 34, 102, 102, 104, 22, 128, 1, 21, 117, 83, 49, 21, 85, 85, 112, 87, 0, 128, 8, 0, 0, 51, 0, 7, 120, 119, 128, 8, 0, 135, 1, 83, 48, 119, 119, 135, 120, 0, 112, 7, 0, 0, 51, 0, 7, 119, 103, 112, 7, 0, 119, 1, 83, 48, 119, 119, 118, 119, 0, 112, 7, 48, 17, 0, 3, 51, 55, 99, 112, 8, 17, 129, 16, 4, 65, 24, 136, 135, 136, 0, 129, 24, 136, 102, 68, 136, 136, 136, 120, 128, 8, 17, 136, 129, 100, 72, 136, 136, 135, 136, 0, 129, 24, 68, 34, 0, 68, 68, 72, 116, 128, 8, 17, 131, 49, 16, 3, 51, 51, 135, 56, 0, 65, 20, 68, 34, 0, 68, 68, 68, 52, 64, 3, 0, 51, 49, 16, 3, 51, 51, 50, 51, 0, 48, 8, 51, 17, 0, 51, 51, 51, 35, 128, 3, 0, 136, 129, 100, 72, 136, 136, 130, 136, 0, 34, 39, 119, 5, 51, 119, 119, 119, 23, 112, 1, 17, 102, 100, 66, 38, 102, 102, 96, 102, 0, 51, 56, 136, 22, 68, 136, 136, 136, 40, 128, 3, 0, 135, 113, 83, 55, 119, 119, 130, 120, 0, 34, 39, 102, 4, 34, 102, 102, 103, 22, 112, 1, 17, 101, 83, 49, 21, 85, 85, 96, 86, 0, 0, 5, 68, 34, 0, 68, 68, 69, 68, 80, 0, 0, 133, 83, 49, 21, 85, 85, 135, 88, 0, 0, 7, 85, 51, 17, 85, 85, 87, 101, 112, 3, 51, 135, 113, 83, 55, 119, 119, 130, 120, 0, 48, 7, 51, 17, 0, 51, 51, 51, 35, 112, 2, 34, 98, 32, 0, 2, 34, 34, 33, 38, 0, 17, 21, 17, 0, 0, 17, 17, 17, 1, 80, 0, 0, 64, 0, 0, 0, 0, 0, 3, 4, 0, 0, 148, 116, 34, 0, 153, 153, 152, 57, 64, 3, 56, 54, 49, 16, 8, 136, 136, 114, 131, 0, 51, 136, 136, 22, 68, 136, 136, 136, 40, 128, 3, 56, 119, 113, 83, 56, 136, 136, 114, 135, 0, 34, 118, 102, 4, 34, 119, 119, 118, 23, 96, 1, 22, 85, 83, 49, 22, 102, 102, 80, 101, 0, 0, 84, 68, 34, 0, 85, 85, 84, 53, 64, 3, 52, 51, 49, 16, 4, 68, 68, 50, 67, 0, 51, 72, 51, 17, 0, 68, 68, 67, 36, 128, 2, 35, 114, 32, 0, 3, 51, 51, 33, 55, 0, 17, 38, 17, 0, 0, 34, 34, 33, 2, 96, 0, 1, 80, 0, 0, 1, 17, 17, 4, 21, 0, 0, 24, 0, 0, 17, 17, 85, 80, 117, 128, 0, 1, 133, 3, 49, 21, 85, 85, 7, 88, 0, 0, 24, 80, 19, 17, 85, 85, 80, 117, 128, 0, 1, 112, 0, 1, 17, 21, 85, 6, 87, 0, 0, 23, 80, 51, 17, 85, 85, 80, 101, 112, 0, 1, 117, 1, 49, 21, 85, 85, 6, 87, 0, 0, 21, 64, 34, 0, 68, 68, 64, 68, 80, 0, 1, 83, 1, 16, 3, 51, 51, 4, 53, 0, 17, 40, 17, 0, 34, 38, 102, 97, 6, 128, 0, 1, 112, 0, 49, 17, 85, 85, 6, 87, 0, 17, 104, 102, 68, 34, 102, 102, 104, 6, 128, 1, 18, 113, 16, 2, 34, 102, 102, 16, 103, 0, 0, 22, 0, 3, 17, 21, 85, 80, 85, 96, 0, 1, 101, 3, 49, 21, 85, 85, 5, 86, 0, 34, 56, 114, 0, 51, 119, 119, 114, 23, 128, 1, 18, 118, 16, 66, 38, 102, 102, 16, 103, 0, 34, 55, 114, 0, 51, 119, 119, 114, 23, 112, 1, 18, 102, 16, 66, 38, 102, 102, 16, 102, 0, 0, 21, 80, 51, 17, 85, 85, 80, 69, 80, 3, 52, 115, 49, 16, 4, 68, 68, 50, 71, 0, 34, 54, 34, 0, 0, 51, 51, 50, 19, 96, 1, 18, 81, 16, 0, 2, 34, 34, 16, 37, 0, 0, 20, 0, 0, 0, 17, 17, 16, 49, 64, 0, 1, 128, 0, 0, 1, 17, 17, 7, 24, 0, 0, 24, 0, 0, 68, 17, 136, 128, 120, 128, 0, 1, 136, 6, 100, 72, 136, 136, 7, 136, 0, 0, 24, 128, 22, 68, 136, 136, 128, 120, 128, 0, 1, 128, 0, 3, 49, 23, 119, 7, 120, 0, 0, 24, 112, 85, 51, 119, 119, 112, 119, 128, 0, 1, 135, 1, 83, 55, 119, 119, 7, 120, 0, 0, 24, 64, 34, 0, 68, 68, 64, 116, 128, 0, 1, 131, 1, 16, 3, 51, 51, 7, 56, 0, 0, 23, 0, 0, 0, 17, 17, 16, 97, 112, 0, 1, 112, 0, 3, 49, 23, 119, 6, 119, 0, 0, 23, 112, 85, 51, 119, 119, 112, 103, 112, 0, 1, 119, 1, 83, 55, 119, 119, 6, 119, 0, 0, 23, 64, 34, 0, 68, 68, 64, 100, 112, 0, 1, 115, 1, 16, 3, 51, 51, 6, 55, 0, 0, 20, 64, 34, 0, 68, 68, 64, 52, 64, 0, 1, 67, 1, 16, 3, 51, 51, 3, 52, 0, 48, 3, 34, 0, 0, 34, 34, 35, 34, 48, 3, 0, 130, 32, 0, 2, 34, 34, 50, 40, 0, 48, 8, 130, 0, 68, 40, 136, 136, 40, 128, 2, 17, 119, 16, 83, 49, 119, 119, 113, 119, 0, 50, 40, 130, 0, 68, 40, 136, 136, 40, 128, 3, 0, 135, 32, 3, 50, 119, 119, 130, 120, 0, 33, 23, 97, 4, 34, 22, 102, 103, 22, 112, 1, 0, 101, 3, 49, 16, 85, 85, 96, 86, 0, 50, 40, 114, 0, 51, 39, 119, 120, 39, 128, 3, 0, 114, 32, 0, 2, 34, 34, 50, 39, 0, 33, 22, 17, 0, 0, 17, 17, 18, 17, 96, 1, 0, 80, 0, 0, 0, 0, 0, 16, 5, 0, 17, 149, 117, 51, 17, 153, 153, 152, 9, 80, 0, 8, 70, 66, 32, 8, 136, 136, 115, 132, 0, 0, 135, 119, 85, 51, 136, 136, 135, 104, 112, 6, 103, 102, 100, 66, 39, 119, 119, 101, 118, 0, 85, 101, 85, 51, 17, 102, 102, 101, 70, 80, 4, 69, 68, 66, 32, 5, 85, 85, 67, 84, 0, 119, 135, 119, 85, 51, 136, 136, 135, 104, 112, 1, 22, 117, 83, 49, 22, 102, 102, 80, 103, 0, 0, 86, 68, 34, 0, 85, 85, 84, 53, 96, 3, 52, 83, 49, 16, 4, 68, 68, 50, 69, 0, 34, 52, 34, 0, 0, 51, 51, 50, 19, 64, 1, 18, 49, 16, 0, 2, 34, 34, 16, 35, 0, 0, 18, 0, 0, 0, 17, 17, 16, 17, 32, 0, 1, 128, 0, 0, 1, 17, 17, 1, 18, 0, 34, 40, 34, 0, 0, 34, 34, 34, 18, 32, 1, 17, 113, 16, 0, 1, 17, 17, 16, 17, 0, 17, 24, 17, 0, 51, 17, 119, 113, 7, 16, 0, 0, 112, 0, 66, 32, 6, 102, 0, 96, 0, 0, 7, 0, 4, 34, 0, 102, 96, 102, 112, 0, 0, 118, 4, 66, 32, 102, 102, 6, 103, 0, 0, 23, 96, 68, 34, 102, 102, 96, 102, 112, 0, 1, 112, 0, 66, 33, 102, 102, 6, 103, 0, 16, 7, 0, 4, 34, 102, 102, 97, 6, 112, 1, 0, 118, 4, 66, 38, 102, 102, 112, 103, 0, 0, 103, 96, 68, 34, 102, 102, 103, 6, 0, 0, 2, 112, 0, 66, 38, 102, 102, 16, 96, 0, 0, 7, 96, 68, 34, 6, 102, 96, 6, 0, 0, 0, 101, 83, 49, 21, 85, 85, 101, 86, 0, 0, 23, 96, 68, 34, 102, 102, 96, 6, 0, 1, 17, 118, 100, 66, 38, 102, 102, 112, 103, 0, 16, 7, 96, 68, 34, 6, 102, 103, 6, 112, 0, 1, 112, 0, 66, 33, 102, 102, 0, 96, 0, 17, 23, 97, 4, 34, 22, 102, 97, 6, 112, 1, 17, 135, 16, 83, 49, 119, 119, 16, 120, 0, 17, 24, 119, 85, 51, 119, 119, 120, 7, 128, 0, 0, 118, 100, 66, 38, 102, 102, 118, 103, 0, 17, 24, 17, 0, 51, 17, 119, 113, 7, 128, 1, 17, 135, 113, 83, 55, 119, 119, 128, 120, 0, 0, 7, 102, 4, 34, 102, 102, 103, 102, 112, 1, 17, 113, 16, 3, 49, 23, 119, 16, 113, 0, 0, 6, 0, 4, 34, 0, 102, 96, 6, 0, 0, 0, 85, 3, 49, 16, 85, 85, 4, 85, 0, 0, 6, 0, 4, 34, 0, 102, 96, 86, 96, 0, 6, 102, 100, 66, 38, 102, 102, 101, 102, 0, 0, 38, 102, 4, 34, 102, 102, 102, 86, 96, 0, 0, 102, 4, 66, 32, 102, 102, 5, 102, 0, 0, 22, 96, 68, 34, 102, 102, 96, 86, 96, 0, 1, 96, 0, 66, 33, 102, 102, 5, 102, 0, 16, 6, 0, 4, 34, 102, 102, 97, 6, 96, 1, 0, 102, 4, 66, 38, 102, 102, 96, 102, 0, 0, 102, 96, 68, 34, 102, 102, 102, 6, 0, 0, 2, 96, 0, 66, 38, 102, 102, 16, 96, 0, 0, 6, 96, 68, 34, 6, 102, 96, 6, 0, 0, 1, 102, 4, 66, 38, 102, 102, 0, 96, 0, 0, 22, 0, 4, 34, 22, 102, 96, 6, 0, 1, 17, 102, 16, 66, 33, 102, 102, 16, 102, 0, 16, 6, 0, 4, 34, 0, 102, 97, 6, 96, 2, 17, 113, 16, 3, 49, 23, 119, 33, 119, 0, 17, 23, 113, 5, 51, 23, 119, 113, 7, 112, 1, 17, 119, 117, 83, 55, 119, 119, 112, 119, 0, 0, 6, 102, 68, 34, 102, 102, 102, 86, 96, 1, 17, 113, 16, 3, 49, 23, 119, 16, 119, 0, 17, 23, 119, 21, 51, 119, 119, 119, 7, 112, 0, 0, 102, 96, 66, 38, 102, 102, 101, 102, 0, 17, 23, 65, 2, 0, 20, 68, 65, 4, 112, 0, 0, 99, 1, 16, 0, 51, 51, 5, 54, 0, 0, 54, 51, 17, 0, 51, 51, 54, 83, 96, 0, 3, 134, 97, 66, 38, 102, 102, 135, 104, 0, 0, 55, 102, 20, 34, 102, 102, 103, 102, 112, 0, 0, 134, 1, 66, 32, 102, 102, 7, 104, 0, 0, 24, 96, 20, 34, 102, 102, 96, 118, 128, 0, 0, 118, 1, 66, 32, 102, 102, 6, 103, 0, 0, 23, 96, 20, 34, 102, 102, 96, 102, 112, 0, 1, 99, 1, 16, 3, 51, 51, 5, 54, 0, 17, 23, 68, 34, 0, 68, 68, 71, 4, 112, 0, 0, 99, 49, 16, 3, 51, 51, 101, 54, 0, 0, 8, 102, 20, 34, 102, 102, 104, 118, 128, 0, 0, 118, 97, 66, 38, 102, 102, 118, 103, 0, 17, 23, 17, 0, 0, 17, 17, 17, 1, 112, 0, 0, 96, 0, 0, 0, 0, 0, 5, 6, 0, 0, 150, 118, 68, 34, 153, 153, 152, 89, 96, 0, 2, 98, 32, 0, 2, 34, 34, 101, 38, 0, 0, 40, 98, 0, 34, 38, 102, 104, 118, 128, 0, 2, 118, 32, 2, 34, 102, 102, 118, 103, 0, 0, 8, 0, 0, 34, 0, 6, 96, 118, 128, 0, 0, 134, 4, 66, 32, 102, 102, 7, 104, 0, 0, 24, 96, 68, 34, 102, 102, 96, 118, 128, 0, 1, 128, 0, 2, 33, 22, 102, 7, 104, 0, 0, 7, 0, 0, 34, 0, 6, 96, 102, 112, 0, 1, 112, 0, 2, 33, 22, 102, 6, 103, 0, 0, 6, 64, 34, 0, 4, 68, 64, 84, 96, 0, 1, 100, 2, 32, 4, 68, 68, 5, 70, 0, 0, 22, 0, 0, 0, 17, 17, 16, 81, 96, 1, 17, 115, 49, 16, 3, 51, 51, 112, 55, 0, 0, 6, 34, 0, 0, 34, 34, 38, 82, 96, 0, 0, 134, 32, 2, 34, 102, 102, 135, 104, 0, 0, 8, 102, 68, 34, 102, 102, 104, 118, 128, 0, 0, 118, 32, 2, 34, 102, 102, 118, 103, 0, 0, 6, 68, 34, 0, 68, 68, 70, 84, 96, 2, 34, 136, 32, 4, 66, 136, 136, 33, 130, 0, 17, 23, 113, 5, 51, 23, 119, 113, 7, 16, 2, 34, 135, 32, 3, 50, 119, 119, 33, 114, 0, 17, 23, 97, 4, 34, 22, 102, 97, 6, 16, 0, 0, 101, 3, 49, 16, 85, 85, 0, 80, 0, 16, 6, 80, 51, 17, 85, 85, 86, 5, 96, 0, 5, 101, 3, 49, 21, 85, 85, 96, 80, 0, 0, 22, 80, 51, 17, 85, 85, 80, 5, 0, 0, 1, 128, 0, 4, 65, 24, 136, 1, 130, 0, 16, 7, 0, 5, 51, 0, 119, 113, 7, 16, 1, 23, 119, 16, 83, 55, 119, 119, 112, 113, 0, 17, 119, 119, 85, 51, 119, 119, 119, 7, 112, 1, 18, 119, 16, 83, 55, 119, 119, 16, 113, 0, 17, 39, 113, 5, 51, 119, 119, 113, 7, 112, 1, 0, 112, 0, 83, 48, 7, 119, 16, 119, 0, 16, 7, 112, 85, 51, 7, 119, 119, 7, 112, 2, 17, 119, 16, 83, 55, 119, 119, 113, 119, 0, 0, 24, 0, 0, 68, 17, 136, 128, 40, 128, 0, 1, 136, 1, 100, 72, 136, 136, 2, 136, 0, 32, 7, 119, 5, 51, 119, 119, 119, 23, 112, 3, 17, 136, 129, 100, 72, 136, 136, 130, 136, 0, 34, 56, 130, 0, 68, 136, 136, 130, 24, 32, 2, 17, 129, 16, 4, 65, 24, 136, 33, 130, 0, 0, 24, 0, 0, 51, 17, 119, 112, 23, 32, 1, 0, 112, 0, 66, 32, 6, 102, 16, 97, 0, 32, 7, 0, 4, 34, 0, 102, 103, 22, 112, 1, 22, 118, 16, 66, 38, 102, 102, 112, 97, 0, 17, 39, 97, 4, 34, 102, 102, 97, 6, 16, 2, 17, 118, 16, 66, 38, 102, 102, 113, 103, 0, 0, 24, 0, 0, 51, 17, 119, 112, 39, 128, 0, 1, 135, 1, 83, 55, 119, 119, 2, 120, 0, 32, 7, 102, 4, 34, 102, 102, 103, 22, 112, 3, 17, 135, 113, 83, 55, 119, 119, 130, 120, 0, 49, 24, 17, 0, 51, 17, 119, 120, 39, 128, 2, 35, 135, 32, 3, 55, 119, 119, 33, 114, 0, 33, 24, 17, 0, 51, 17, 119, 114, 23, 32, 0, 1, 128, 0, 0, 1, 17, 17, 2, 24, 0, 0, 24, 48, 17, 0, 51, 51, 48, 35, 128, 2, 0, 114, 32, 0, 2, 34, 34, 33, 39, 0, 32, 8, 114, 0, 51, 39, 119, 114, 23, 128, 2, 34, 135, 32, 3, 50, 119, 119, 33, 120, 0, 32, 7, 114, 0, 51, 39, 119, 114, 23, 112, 2, 34, 119, 32, 3, 50, 119, 119, 33, 119, 0, 49, 24, 51, 17, 0, 51, 51, 51, 35, 128, 2, 35, 130, 32, 0, 3, 51, 51, 33, 50, 0, 17, 39, 17, 0, 0, 34, 34, 33, 2, 16, 0, 1, 96, 0, 0, 1, 17, 17, 0, 16, 0, 0, 24, 0, 0, 34, 17, 102, 96, 6, 0, 0, 0, 112, 0, 49, 16, 5, 85, 6, 87, 0, 0, 7, 80, 51, 17, 5, 85, 80, 101, 112, 0, 1, 134, 4, 66, 38, 102, 102, 0, 96, 0, 17, 24, 102, 68, 34, 102, 102, 104, 6, 128, 0, 1, 134, 1, 66, 38, 102, 102, 0, 96, 0, 0, 7, 85, 3, 17, 85, 85, 87, 101, 112, 1, 17, 134, 97, 66, 38, 102, 102, 128, 104, 0, 17, 24, 17, 0, 34, 17, 102, 97, 6, 128, 0, 1, 112, 0, 2, 33, 22, 102, 0, 96, 0, 0, 6, 0, 3, 17, 0, 85, 80, 85, 96, 0, 1, 118, 1, 66, 38, 102, 102, 0, 96, 0, 0, 6, 85, 3, 17, 85, 85, 86, 85, 96, 1, 17, 118, 97, 66, 38, 102, 102, 112, 103, 0, 17, 23, 17, 0, 34, 17, 102, 97, 6, 112, 0, 1, 100, 2, 32, 4, 68, 68, 0, 64, 0, 0, 5, 51, 17, 0, 51, 51, 53, 67, 80, 0, 0, 133, 81, 49, 21, 85, 85, 135, 88, 0, 0, 7, 85, 19, 17, 85, 85, 87, 101, 112, 1, 17, 100, 66, 32, 4, 68, 68, 96, 70, 0, 0, 22, 48, 17, 0, 51, 51, 48, 3, 0, 0, 0, 82, 32, 0, 2, 34, 34, 84, 37, 0, 0, 8, 82, 0, 17, 37, 85, 88, 117, 128, 0, 0, 117, 32, 1, 18, 85, 85, 118, 87, 0, 17, 22, 51, 17, 0, 51, 51, 54, 3, 96, 1, 18, 129, 16, 3, 50, 119, 119, 16, 113, 0, 17, 40, 113, 5, 51, 119, 119, 113, 7, 128, 1, 23, 135, 117, 83, 55, 119, 119, 128, 120, 0, 17, 40, 17, 0, 51, 39, 119, 113, 7, 128, 1, 19, 135, 113, 83, 55, 119, 119, 128, 120, 0, 17, 39, 17, 0, 51, 39, 119, 113, 7, 16, 1, 18, 113, 16, 3, 50, 119, 119, 16, 119, 0, 17, 55, 119, 21, 51, 119, 119, 119, 7, 112, 1, 18, 116, 16, 32, 4, 68, 68, 16, 71, 0, 17, 71, 68, 34, 0, 68, 68, 71, 4, 112, 1, 18, 113, 16, 0, 2, 34, 34, 16, 39, 0, 17, 55, 51, 17, 0, 51, 51, 55, 3, 112, 0, 1, 112, 0, 0, 1, 17, 17, 1, 18, 0, 16, 6, 0, 0, 0, 0, 0, 1, 0, 16, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 112, 51, 17, 153, 153, 152, 9, 0, 0, 9, 87, 83, 49, 25, 153, 153, 132, 149, 0, 16, 5, 0, 0, 0, 34, 34, 33, 2, 80, 1, 0, 128, 0, 1, 18, 85, 85, 16, 88, 0, 0, 23, 0, 2, 0, 20, 68, 64, 100, 112, 0, 1, 128, 0, 83, 49, 119, 119, 7, 120, 0, 0, 23, 0, 5, 51, 23, 119, 112, 103, 112, 1, 0, 133, 3, 49, 21, 85, 85, 128, 88, 0, 17, 88, 85, 51, 17, 85, 85, 88, 5, 128, 1, 0, 133, 1, 49, 21, 85, 85, 128, 88, 0, 17, 40, 17, 0, 17, 37, 85, 81, 5, 128, 1, 0, 112, 0, 1, 18, 85, 85, 16, 87, 0, 0, 22, 0, 2, 0, 20, 68, 64, 84, 96, 0, 1, 128, 0, 66, 33, 102, 102, 7, 104, 0, 16, 7, 80, 51, 17, 85, 85, 87, 5, 112, 1, 0, 117, 1, 49, 21, 85, 85, 112, 87, 0, 17, 39, 17, 0, 17, 37, 85, 81, 5, 112, 1, 0, 84, 2, 32, 4, 68, 68, 80, 69, 0, 17, 69, 68, 34, 0, 68, 68, 69, 4, 80, 1, 0, 83, 1, 16, 3, 51, 51, 80, 53, 0, 0, 103, 80, 51, 17, 102, 102, 101, 6, 0, 5, 86, 117, 83, 49, 22, 102, 102, 84, 103, 0, 68, 86, 68, 34, 0, 85, 85, 84, 53, 96, 0, 6, 117, 83, 49, 22, 102, 102, 84, 103, 0, 0, 69, 64, 34, 0, 68, 68, 69, 4, 0, 0, 5, 133, 3, 49, 21, 85, 85, 128, 80, 0, 0, 87, 80, 51, 17, 85, 85, 87, 5, 0, 0, 3, 83, 1, 16, 3, 51, 51, 80, 48, 0, 0, 56, 80, 19, 17, 85, 85, 88, 5, 0, 0, 3, 117, 1, 49, 21, 85, 85, 112, 80, 0, 0, 37, 0, 0, 0, 34, 34, 33, 2, 0, 0, 2, 128, 0, 1, 18, 85, 85, 16, 80, 0, 0, 39, 0, 0, 17, 37, 85, 81, 5, 0, 0, 0, 128, 0, 1, 16, 0, 85, 0, 80, 0, 0, 7, 0, 2, 0, 0, 68, 64, 100, 112, 0, 0, 128, 0, 83, 48, 7, 119, 7, 120, 0, 0, 8, 112, 85, 51, 7, 119, 112, 119, 128, 0, 0, 112, 0, 83, 48, 7, 119, 6, 119, 0, 0, 7, 112, 85, 51, 7, 119, 112, 103, 112, 0, 0, 116, 2, 32, 0, 68, 68, 6, 71, 0, 128, 8, 0, 0, 17, 0, 5, 88, 117, 128, 0, 0, 128, 0, 1, 16, 0, 85, 7, 88, 0, 0, 8, 80, 51, 17, 5, 85, 80, 117, 128, 0, 0, 133, 1, 49, 16, 85, 85, 7, 88, 0, 0, 8, 80, 51, 17, 5, 85, 80, 5, 0, 0, 0, 116, 66, 32, 4, 68, 68, 118, 71, 0, 0, 8, 119, 85, 51, 119, 119, 120, 119, 128, 0, 0, 119, 117, 83, 55, 119, 119, 118, 119, 0, 0, 24, 80, 51, 17, 85, 85, 80, 5, 0, 1, 17, 133, 83, 49, 21, 85, 85, 128, 88, 0, 16, 8, 80, 51, 17, 5, 85, 88, 5, 128, 0, 0, 133, 1, 49, 16, 85, 85, 0, 80, 0, 0, 7, 68, 2, 0, 68, 68, 71, 100, 112, 0, 0, 135, 112, 83, 55, 119, 119, 135, 120, 0, 0, 7, 119, 5, 51, 119, 119, 119, 103, 112, 0, 1, 133, 1, 49, 21, 85, 85, 0, 80, 0, 17, 24, 85, 19, 17, 85, 85, 88, 5, 128, 1, 0, 133, 1, 49, 16, 85, 85, 128, 88, 0, 0, 24, 0, 0, 17, 17, 85, 80, 5, 0, 1, 17, 129, 16, 1, 17, 21, 85, 16, 88, 0, 16, 8, 0, 0, 17, 0, 5, 81, 5, 128, 0, 0, 112, 0, 1, 16, 0, 85, 0, 80, 0, 0, 6, 0, 2, 0, 0, 68, 64, 84, 96, 0, 0, 128, 0, 66, 32, 6, 102, 7, 104, 0, 112, 7, 0, 0, 17, 0, 5, 87, 101, 112, 0, 0, 112, 0, 1, 16, 0, 85, 6, 87, 0, 0, 7, 80, 19, 17, 5, 85, 80, 101, 112, 0, 0, 117, 3, 49, 16, 85, 85, 0, 80, 0, 0, 23, 80, 51, 17, 85, 85, 80, 5, 0, 1, 17, 117, 83, 49, 21, 85, 85, 112, 87, 0, 16, 7, 80, 51, 17, 5, 85, 87, 5, 112, 0, 0, 117, 1, 49, 16, 85, 85, 0, 80, 0, 0, 6, 68, 2, 0, 68, 68, 70, 84, 96, 0, 0, 134, 96, 66, 38, 102, 102, 135, 104, 0, 0, 23, 80, 19, 17, 85, 85, 80, 5, 0, 1, 17, 117, 81, 49, 21, 85, 85, 112, 87, 0, 16, 7, 80, 19, 17, 5, 85, 87, 5, 112, 0, 1, 112, 0, 1, 17, 21, 85, 0, 80, 0, 17, 23, 17, 0, 17, 17, 85, 81, 5, 112, 1, 0, 112, 0, 1, 16, 0, 85, 16, 87, 0, 0, 5, 64, 34, 0, 4, 68, 64, 4, 0, 0, 0, 67, 49, 16, 3, 51, 51, 67, 52, 0, 0, 8, 51, 17, 0, 51, 51, 56, 115, 128, 0, 0, 136, 129, 100, 72, 136, 136, 135, 136, 0, 0, 8, 119, 21, 51, 119, 119, 120, 119, 128, 0, 0, 115, 49, 16, 3, 51, 51, 118, 55, 0, 0, 7, 119, 21, 51, 119, 119, 119, 103, 112, 0, 0, 84, 2, 32, 0, 68, 68, 4, 69, 0, 0, 21, 64, 34, 0, 68, 68, 64, 4, 0, 1, 17, 84, 66, 32, 4, 68, 68, 80, 69, 0, 16, 5, 64, 34, 0, 4, 68, 69, 4, 80, 0, 0, 83, 1, 16, 0, 51, 51, 0, 48, 0, 0, 4, 34, 0, 0, 34, 34, 36, 50, 64, 0, 0, 130, 32, 0, 2, 34, 34, 135, 40, 0, 0, 8, 130, 0, 68, 40, 136, 136, 120, 128, 0, 0, 136, 134, 100, 72, 136, 136, 135, 136, 0, 0, 8, 114, 0, 51, 39, 119, 120, 119, 128, 0, 0, 132, 66, 32, 4, 68, 68, 135, 72, 0, 0, 7, 34, 0, 0, 34, 34, 39, 98, 112, 0, 0, 119, 32, 3, 50, 119, 119, 118, 119, 0, 0, 4, 68, 34, 0, 68, 68, 68, 52, 64, 0, 0, 83, 1, 16, 0, 51, 51, 4, 53, 0, 0, 21, 48, 17, 0, 51, 51, 48, 3, 0, 1, 17, 83, 49, 16, 3, 51, 51, 80, 53, 0, 16, 5, 48, 17, 0, 3, 51, 53, 3, 80, 0, 1, 80, 0, 0, 1, 17, 17, 0, 16, 0, 17, 150, 113, 4, 34, 153, 153, 152, 9, 16, 0, 8, 86, 3, 49, 24, 136, 136, 112, 128, 0, 0, 116, 84, 34, 0, 119, 119, 118, 55, 64, 1, 24, 86, 83, 49, 24, 136, 136, 112, 133, 0, 34, 150, 118, 4, 34, 153, 153, 152, 25, 96, 2, 0, 96, 0, 0, 0, 0, 0, 33, 6, 0, 34, 102, 102, 4, 34, 102, 102, 102, 22, 96, 1, 21, 85, 83, 49, 21, 85, 85, 80, 85, 0, 32, 8, 0, 0, 34, 0, 6, 98, 22, 128, 1, 0, 112, 0, 49, 16, 5, 85, 16, 87, 0, 17, 39, 81, 3, 17, 85, 85, 81, 5, 112, 1, 17, 117, 16, 49, 17, 85, 85, 16, 87, 0, 34, 56, 98, 0, 34, 102, 102, 98, 22, 128, 2, 34, 134, 32, 2, 34, 102, 102, 33, 104, 0, 33, 24, 17, 0, 34, 17, 102, 98, 22, 128, 2, 0, 112, 0, 2, 32, 0, 102, 33, 103, 0, 16, 6, 0, 3, 17, 0, 85, 81, 5, 96, 1, 18, 101, 16, 49, 21, 85, 85, 16, 86, 0, 17, 22, 81, 3, 17, 21, 85, 81, 5, 96, 2, 35, 118, 32, 2, 38, 102, 102, 33, 103, 0, 34, 39, 98, 0, 34, 38, 102, 98, 22, 112, 2, 17, 113, 16, 2, 33, 22, 102, 33, 103, 0, 17, 102, 97, 4, 34, 102, 102, 102, 6, 16, 0, 5, 85, 3, 49, 21, 85, 85, 80, 80, 0, 17, 70, 65, 2, 0, 68, 68, 70, 4, 16, 1, 22, 134, 16, 66, 38, 102, 102, 128, 97, 0, 17, 54, 17, 0, 0, 51, 51, 50, 3, 16, 1, 19, 129, 16, 2, 38, 102, 102, 32, 97, 0, 0, 39, 0, 3, 17, 85, 85, 81, 5, 0, 1, 19, 113, 16, 2, 38, 102, 102, 32, 97, 0, 0, 38, 0, 3, 17, 85, 85, 81, 5, 0, 1, 18, 97, 16, 0, 2, 34, 34, 16, 33, 0, 17, 40, 17, 0, 34, 38, 102, 97, 6, 16, 0, 1, 112, 0, 49, 17, 85, 85, 0, 80, 0, 17, 40, 97, 4, 34, 102, 102, 97, 6, 128, 1, 18, 113, 16, 2, 34, 102, 102, 16, 97, 0, 0, 22, 0, 3, 17, 21, 85, 80, 5, 0, 1, 18, 100, 16, 32, 4, 68, 68, 16, 70, 0, 16, 8, 0, 0, 34, 0, 6, 97, 6, 16, 0, 0, 112, 0, 49, 16, 5, 85, 0, 80, 0, 16, 7, 0, 3, 17, 85, 85, 81, 5, 112, 1, 0, 128, 0, 66, 32, 6, 102, 16, 104, 0, 16, 8, 96, 68, 34, 6, 102, 104, 6, 128, 1, 17, 134, 16, 66, 33, 102, 102, 16, 104, 0, 16, 8, 0, 0, 34, 0, 6, 97, 6, 128, 1, 0, 134, 1, 66, 32, 102, 102, 128, 104, 0, 33, 24, 17, 0, 34, 102, 102, 98, 22, 128, 1, 17, 129, 16, 2, 33, 22, 102, 16, 97, 0, 16, 7, 0, 0, 34, 0, 6, 97, 6, 16, 0, 0, 96, 0, 49, 16, 5, 85, 0, 80, 0, 16, 6, 0, 3, 17, 85, 85, 81, 5, 96, 1, 0, 112, 0, 2, 32, 0, 102, 16, 103, 0, 16, 7, 96, 20, 34, 6, 102, 103, 6, 112, 2, 17, 113, 16, 2, 38, 102, 102, 33, 103, 0, 17, 23, 17, 0, 34, 17, 102, 97, 6, 16, 1, 0, 96, 0, 32, 0, 4, 68, 16, 70, 0, 16, 6, 64, 34, 0, 4, 68, 70, 4, 96, 1, 17, 100, 16, 32, 1, 68, 68, 16, 70, 0, 33, 22, 17, 0, 0, 51, 51, 50, 19, 96, 1, 17, 97, 16, 0, 1, 17, 17, 16, 17, 0, 34, 39, 34, 0, 0, 34, 34, 34, 18, 32, 2, 34, 119, 32, 3, 50, 119, 119, 33, 114, 0, 17, 22, 97, 4, 34, 22, 102, 97, 6, 16, 0, 0, 85, 3, 49, 16, 85, 85, 0, 80, 0, 16, 5, 80, 51, 17, 85, 85, 85, 5, 80, 0, 1, 85, 3, 49, 21, 85, 85, 0, 80, 0, 17, 21, 85, 51, 17, 85, 85, 85, 5, 80, 1, 0, 85, 3, 49, 16, 85, 85, 80, 85, 0, 33, 22, 97, 4, 34, 22, 102, 102, 22, 96, 3, 34, 119, 32, 3, 50, 119, 119, 114, 119, 0, 51, 55, 119, 21, 51, 119, 119, 119, 39, 112, 2, 34, 102, 96, 66, 38, 102, 102, 97, 102, 0, 50, 39, 34, 0, 0, 34, 34, 35, 34, 112, 3, 51, 115, 49, 16, 3, 51, 51, 50, 55, 0, 0, 23, 0, 0, 51, 17, 119, 112, 23, 32, 1, 0, 96, 0, 66, 32, 6, 102, 16, 97, 0, 32, 6, 0, 4, 34, 0, 102, 102, 22, 96, 1, 18, 102, 16, 66, 38, 102, 102, 16, 97, 0, 33, 22, 97, 4, 34, 102, 102, 102, 22, 96, 0, 1, 112, 0, 3, 49, 23, 119, 2, 119, 0, 0, 23, 112, 21, 51, 119, 119, 112, 39, 112, 2, 0, 102, 96, 66, 38, 102, 102, 97, 102, 0, 49, 23, 119, 21, 51, 119, 119, 119, 39, 112, 3, 17, 113, 16, 3, 49, 23, 119, 114, 119, 0, 34, 55, 114, 0, 51, 119, 119, 114, 23, 32, 2, 17, 113, 16, 3, 49, 23, 119, 33, 114, 0, 0, 23, 0, 0, 0, 17, 17, 16, 33, 112, 0, 1, 115, 1, 16, 3, 51, 51, 2, 55, 0, 32, 6, 34, 0, 0, 34, 34, 34, 18, 96, 2, 0, 134, 32, 2, 34, 102, 102, 33, 104, 0, 32, 7, 98, 0, 34, 38, 102, 98, 22, 112, 3, 17, 115, 49, 16, 3, 51, 51, 50, 55, 0, 49, 23, 17, 0, 0, 17, 17, 19, 33, 112, 2, 35, 114, 32, 0, 3, 51, 51, 33, 50, 0, 33, 23, 17, 0, 0, 17, 17, 18, 17, 32, 0, 1, 48, 0, 0, 1, 17, 17, 2, 19, 0, 0, 19, 48, 17, 0, 51, 51, 48, 35, 48, 2, 0, 34, 32, 0, 2, 34, 34, 33, 34, 0, 32, 8, 34, 0, 0, 34, 34, 34, 18, 32, 2, 0, 136, 32, 4, 66, 136, 136, 33, 130, 0, 32, 8, 114, 0, 51, 39, 119, 114, 23, 32, 2, 0, 114, 32, 0, 2, 34, 34, 33, 34, 0, 32, 7, 114, 0, 51, 39, 119, 114, 23, 32, 3, 0, 119, 32, 3, 50, 119, 119, 114, 119, 0, 48, 7, 119, 21, 51, 119, 119, 119, 39, 112, 3, 17, 51, 49, 16, 3, 51, 51, 50, 51, 0, 17, 40, 17, 0, 0, 34, 34, 33, 2, 128, 0, 1, 112, 0, 0, 1, 17, 17, 1, 23, 0, 0, 24, 0, 0, 51, 17, 119, 112, 23, 128, 0, 1, 112, 0, 3, 49, 23, 119, 1, 119, 0, 17, 40, 17, 0, 68, 40, 136, 129, 8, 128, 0, 1, 112, 0, 83, 49, 119, 119, 1, 119, 0, 17, 56, 136, 22, 68, 136, 136, 136, 8, 128, 1, 19, 136, 129, 100, 72, 136, 136, 128, 136, 0, 0, 39, 119, 5, 51, 119, 119, 119, 23, 112, 1, 18, 129, 16, 3, 50, 119, 119, 16, 120, 0, 0, 23, 0, 4, 34, 22, 102, 96, 22, 112, 1, 19, 135, 113, 83, 55, 119, 119, 128, 120, 0, 0, 39, 102, 4, 34, 102, 102, 103, 22, 112, 1, 19, 131, 49, 16, 3, 51, 51, 128, 56, 0, 17, 56, 51, 17, 0, 51, 51, 51, 3, 128, 0, 2, 114, 32, 0, 2, 34, 34, 33, 39, 0, 0, 40, 114, 0, 51, 39, 119, 114, 23, 128, 0, 2, 119, 32, 3, 50, 119, 119, 33, 119, 0, 17, 39, 17, 0, 0, 34, 34, 33, 2, 112, 0, 1, 96, 0, 0, 1, 17, 17, 1, 22, 0, 0, 24, 0, 0, 34, 17, 102, 96, 22, 128, 0, 1, 112, 0, 2, 33, 22, 102, 1, 103, 0, 17, 39, 17, 0, 51, 39, 119, 113, 7, 112, 0, 1, 96, 0, 66, 33, 102, 102, 1, 102, 0, 17, 55, 119, 21, 51, 119, 119, 119, 7, 112, 0, 2, 102, 96, 66, 38, 102, 102, 97, 102, 0, 17, 55, 51, 17, 0, 51, 51, 51, 3, 112, 0, 2, 98, 32, 0, 2, 34, 34, 33, 38, 0, 0, 40, 98, 0, 34, 38, 102, 98, 22, 128, 0, 2, 118, 32, 2, 34, 102, 102, 33, 103, 0, 17, 52, 51, 17, 0, 51, 51, 52, 3, 64, 0, 2, 50, 32, 0, 2, 34, 34, 50, 35, 0, 0, 40, 34, 0, 0, 34, 34, 35, 34, 128, 0, 2, 136, 32, 4, 66, 136, 136, 130, 136, 0, 0, 56, 136, 22, 68, 136, 136, 136, 40, 128, 0, 2, 135, 32, 3, 50, 119, 119, 130, 120, 0, 0, 56, 119, 21, 51, 119, 119, 120, 39, 128, 0, 3, 131, 49, 16, 3, 51, 51, 50, 56, 0, 0, 39, 34, 0, 0, 34, 34, 35, 34, 112, 0, 2, 119, 32, 3, 50, 119, 119, 114, 119, 0, 0, 55, 119, 21, 51, 119, 119, 119, 39, 112, 0, 3, 115, 49, 16, 3, 51, 51, 50, 55, 0, 0, 51, 51, 17, 0, 51, 51, 51, 35, 48, 1, 19, 51, 49, 16, 3, 51, 51, 48, 51, 0, 0, 34, 34, 0, 0, 34, 34, 34, 18, 32, 0, 2, 130, 32, 0, 2, 34, 34, 33, 34, 0, 0, 40, 130, 0, 68, 40, 136, 130, 24, 32, 0, 2, 135, 32, 3, 50, 119, 119, 33, 114, 0, 0, 39, 34, 0, 0, 34, 34, 34, 18, 32, 0, 2, 119, 32, 3, 50, 119, 119, 33, 114, 0, 34, 56, 34, 0, 0, 51, 51, 50, 19, 128, 2, 35, 136, 32, 4, 72, 136, 136, 33, 136, 0, 65, 20, 51, 17, 0, 51, 51, 52, 51, 64, 3, 55, 119, 113, 83, 55, 119, 119, 114, 119, 0, 0, 152, 136, 102, 68, 153, 153, 152, 121, 128, 8, 137, 136, 134, 100, 73, 153, 153, 135, 152, 0, 0, 151, 119, 85, 51, 153, 153, 152, 105, 112, 4, 73, 71, 66, 32, 9, 153, 153, 131, 148, 0, 0, 103, 68, 34, 0, 102, 102, 101, 54, 64, 3, 53, 99, 49, 16, 5, 85, 85, 66, 83, 0, 34, 69, 34, 0, 0, 68, 68, 67, 20, 32, 1, 19, 65, 16, 0, 3, 51, 51, 32, 49, 0, 0, 35, 0, 0, 0, 34, 34, 33, 2, 0, 0, 2, 128, 0, 0, 2, 34, 34, 16, 32, 0, 0, 40, 0, 0, 68, 40, 136, 129, 8, 0, 0, 3, 136, 1, 100, 72, 136, 136, 128, 128, 0, 0, 56, 128, 22, 68, 136, 136, 136, 8, 0, 0, 2, 128, 0, 3, 50, 119, 119, 16, 112, 0, 0, 56, 112, 21, 51, 119, 119, 120, 7, 0, 0, 3, 135, 1, 83, 55, 119, 119, 128, 112, 0, 0, 56, 48, 17, 0, 51, 51, 56, 3, 0, 0, 3, 131, 1, 16, 3, 51, 51, 48, 48, 0, 0, 39, 0, 0, 0, 34, 34, 33, 2, 0, 0, 2, 112, 0, 3, 50, 119, 119, 16, 112, 0, 0, 55, 112, 21, 51, 119, 119, 119, 7, 0, 0, 3, 119, 1, 83, 55, 119, 119, 112, 112, 0, 0, 55, 48, 17, 0, 51, 51, 55, 3, 0, 0, 3, 115, 1, 16, 3, 51, 51, 48, 48, 0, 0, 52, 48, 17, 0, 51, 51, 52, 3, 0, 0, 3, 51, 1, 16, 3, 51, 51, 48, 48, 0, 17, 56, 17, 0, 0, 51, 51, 50, 3, 16, 0, 2, 112, 0, 0, 2, 34, 34, 16, 32, 0, 0, 40, 0, 0, 51, 39, 119, 113, 7, 0, 0, 7, 135, 5, 83, 55, 119, 119, 128, 112, 0, 0, 39, 0, 0, 51, 39, 119, 113, 7, 0, 0, 7, 119, 5, 83, 55, 119, 119, 112, 112, 0, 0, 71, 64, 34, 0, 68, 68, 71, 4, 0, 1, 19, 129, 16, 4, 72, 136, 136, 32, 129, 0, 0, 39, 0, 5, 51, 119, 119, 113, 7, 0, 1, 24, 136, 134, 100, 72, 136, 136, 128, 136, 0, 17, 56, 17, 0, 51, 119, 119, 114, 7, 16, 1, 20, 132, 66, 32, 4, 68, 68, 128, 72, 0, 17, 55, 17, 0, 0, 51, 51, 50, 3, 16, 0, 2, 96, 0, 0, 2, 34, 34, 16, 32, 0, 0, 40, 0, 0, 34, 38, 102, 97, 6, 0, 0, 6, 134, 4, 66, 38, 102, 102, 128, 96, 0, 0, 56, 96, 20, 34, 102, 102, 104, 6, 0, 0, 2, 112, 0, 2, 34, 102, 102, 16, 96, 0, 0, 55, 96, 20, 34, 102, 102, 103, 6, 0, 0, 4, 100, 2, 32, 4, 68, 68, 96, 64, 0, 0, 54, 48, 17, 0, 51, 51, 54, 3, 0, 1, 19, 113, 16, 3, 55, 119, 119, 32, 113, 0, 17, 68, 68, 34, 0, 68, 68, 68, 4, 64, 2, 37, 133, 32, 1, 21, 85, 85, 129, 82, 0, 17, 71, 65, 2, 0, 68, 68, 71, 4, 16, 1, 23, 135, 16, 83, 55, 119, 119, 128, 113, 0, 34, 87, 82, 0, 17, 85, 85, 87, 21, 32, 3, 54, 118, 97, 66, 38, 102, 102, 114, 103, 0, 34, 86, 85, 3, 17, 85, 85, 86, 21, 96, 4, 70, 116, 66, 32, 6, 102, 102, 83, 100, 0, 0, 8, 0, 0, 0, 0, 0, 0, 112, 128, 0, 0, 128, 0, 4, 64, 0, 136, 7, 136, 0, 0, 8, 128, 102, 68, 8, 136, 128, 120, 128, 8, 0, 136, 6, 100, 64, 136, 136, 135, 136, 0, 0, 8, 128, 22, 68, 8, 136, 128, 120, 128, 8, 0, 136, 1, 100, 64, 136, 136, 135, 136, 0, 128, 8, 0, 0, 68, 0, 8, 136, 120, 128, 0, 0, 128, 0, 3, 48, 0, 119, 7, 120, 0, 0, 8, 112, 21, 51, 7, 119, 112, 119, 128, 0, 0, 132, 2, 32, 0, 68, 68, 7, 72, 0, 128, 8, 64, 34, 0, 4, 68, 72, 116, 128, 0, 0, 131, 1, 16, 0, 51, 51, 7, 56, 0, 128, 8, 48, 17, 0, 3, 51, 56, 115, 128, 8, 0, 128, 0, 0, 0, 0, 0, 135, 8, 0, 0, 7, 0, 0, 0, 0, 0, 0, 96, 112, 0, 0, 112, 0, 3, 48, 0, 119, 6, 119, 0, 0, 7, 112, 21, 51, 7, 119, 112, 103, 112, 0, 0, 115, 1, 16, 0, 51, 51, 6, 55, 0, 0, 4, 64, 34, 0, 4, 68, 64, 52, 64, 4, 0, 68, 2, 32, 0, 68, 68, 67, 68, 0, 0, 4, 48, 17, 0, 3, 51, 48, 51, 64, 4, 0, 67, 1, 16, 0, 51, 51, 67, 52, 0, 16, 6, 48, 17, 0, 3, 51, 54, 3, 96, 2, 41, 119, 112, 83, 57, 153, 153, 129, 151, 0, 17, 134, 102, 68, 34, 136, 136, 135, 8, 96, 0, 7, 85, 83, 49, 23, 119, 119, 100, 117, 0, 32, 8, 0, 0, 51, 0, 7, 114, 23, 128, 2, 0, 112, 0, 3, 48, 0, 119, 33, 119, 0, 0, 151, 112, 5, 51, 153, 153, 152, 9, 0, 0, 8, 102, 4, 66, 40, 136, 136, 112, 128, 0, 0, 134, 102, 68, 34, 136, 136, 135, 88, 96, 0, 9, 119, 112, 83, 57, 153, 153, 129, 151, 0, 0, 151, 112, 85, 51, 153, 153, 152, 9, 0, 1, 25, 119, 117, 83, 57, 153, 153, 128, 151, 0, 17, 151, 113, 5, 51, 153, 153, 152, 9, 16, 0, 0, 112, 0, 0, 0, 0, 0, 1, 7, 0, 0, 119, 119, 5, 51, 119, 119, 119, 23, 112, 0, 6, 118, 96, 66, 38, 102, 102, 113, 103, 0, 0, 71, 68, 2, 0, 68, 68, 71, 20, 112, 0, 7, 135, 112, 83, 55, 119, 119, 129, 120, 0, 0, 55, 34, 0, 0, 51, 51, 50, 19, 112, 0, 3, 135, 32, 3, 55, 119, 119, 33, 120, 0, 0, 55, 114, 0, 51, 119, 119, 114, 23, 112, 0, 0, 128, 0, 3, 48, 0, 119, 1, 120, 0, 32, 8, 114, 0, 51, 119, 119, 114, 23, 128, 0, 0, 112, 0, 3, 48, 0, 119, 1, 119, 0, 32, 7, 114, 0, 51, 119, 119, 114, 23, 112, 2, 0, 114, 32, 0, 3, 51, 51, 33, 55, 0, 16, 7, 0, 0, 0, 34, 34, 33, 2, 16, 1, 0, 128, 0, 3, 50, 119, 119, 16, 113, 0, 16, 8, 0, 5, 51, 119, 119, 113, 7, 128, 1, 0, 135, 5, 83, 55, 119, 119, 128, 120, 0, 16, 8, 0, 0, 51, 39, 119, 113, 7, 128, 1, 0, 135, 1, 83, 55, 119, 119, 128, 120, 0, 16, 7, 0, 0, 51, 39, 119, 113, 7, 16, 1, 0, 112, 0, 83, 55, 119, 119, 16, 119, 0, 16, 7, 112, 85, 51, 119, 119, 119, 7, 112, 1, 0, 112, 0, 3, 50, 119, 119, 16, 119, 0, 16, 7, 112, 21, 51, 119, 119, 119, 7, 112, 1, 0, 112, 0, 32, 4, 68, 68, 16, 71, 0, 16, 7, 64, 34, 0, 68, 68, 71, 4, 112, 1, 0, 112, 0, 0, 2, 34, 34, 16, 39, 0, 16, 7, 48, 17, 0, 51, 51, 55, 3, 112, 0, 7, 119, 0, 83, 55, 119, 119, 112, 112, 0, 0, 103, 96, 4, 34, 102, 102, 103, 6, 0, 0, 4, 116, 0, 32, 4, 68, 68, 112, 64, 0, 0, 120, 112, 5, 51, 119, 119, 120, 7, 0, 0, 3, 113, 0, 0, 3, 51, 51, 32, 48, 0, 0, 56, 16, 0, 51, 119, 119, 114, 7, 0, 0, 3, 113, 0, 3, 55, 119, 119, 32, 112, 0, 0, 39, 0, 0, 0, 34, 34, 33, 2, 0, 0, 2, 128, 0, 3, 50, 119, 119, 16, 112, 0, 0, 40, 0, 5, 51, 119, 119, 113, 7, 0, 0, 2, 112, 0, 3, 50, 119, 119, 16, 112, 0, 0, 39, 0, 2, 0, 68, 68, 65, 4, 0, 0, 0, 128, 0, 3, 48, 0, 119, 0, 112, 0, 0, 8, 0, 5, 51, 0, 119, 112, 7, 0, 0, 0, 135, 5, 83, 48, 119, 119, 0, 112, 0, 0, 24, 112, 85, 51, 119, 119, 112, 7, 0, 1, 0, 135, 5, 83, 48, 119, 119, 128, 120, 0, 0, 24, 0, 5, 51, 23, 119, 112, 7, 0, 1, 0, 128, 0, 83, 48, 7, 119, 16, 120, 0, 0, 8, 0, 0, 51, 0, 7, 112, 7, 0, 0, 0, 135, 1, 83, 48, 119, 119, 0, 112, 0, 0, 24, 112, 21, 51, 119, 119, 112, 7, 0, 1, 0, 135, 1, 83, 48, 119, 119, 128, 120, 0, 0, 24, 0, 0, 51, 17, 119, 112, 7, 0, 1, 0, 128, 0, 3, 48, 0, 119, 16, 120, 0, 32, 8, 16, 0, 51, 7, 119, 114, 23, 128, 2, 17, 129, 16, 3, 55, 119, 119, 33, 120, 0, 0, 24, 0, 0, 51, 17, 119, 112, 7, 0, 1, 0, 128, 0, 3, 48, 0, 119, 16, 113, 0, 0, 7, 0, 0, 51, 0, 7, 112, 7, 0, 0, 0, 112, 0, 83, 48, 7, 119, 0, 112, 0, 0, 7, 112, 85, 51, 7, 119, 112, 7, 0, 0, 1, 119, 5, 83, 55, 119, 119, 0, 112, 0, 0, 23, 0, 5, 51, 23, 119, 112, 7, 0, 0, 0, 112, 0, 3, 48, 0, 119, 0, 112, 0, 0, 7, 112, 21, 51, 7, 119, 112, 7, 0, 0, 1, 119, 1, 83, 55, 119, 119, 0, 112, 0, 16, 7, 112, 21, 51, 7, 119, 119, 7, 112, 0, 1, 112, 0, 3, 49, 23, 119, 0, 112, 0, 16, 7, 0, 0, 51, 0, 7, 113, 7, 112, 2, 0, 113, 0, 3, 48, 119, 119, 33, 119, 0, 33, 23, 17, 0, 51, 119, 119, 114, 23, 112, 0, 1, 112, 0, 3, 49, 23, 119, 0, 112, 0, 16, 7, 0, 0, 51, 0, 7, 113, 7, 16, 0, 0, 112, 0, 32, 0, 4, 68, 0, 64, 0, 0, 7, 64, 34, 0, 4, 68, 64, 4, 0, 0, 1, 116, 2, 32, 4, 68, 68, 0, 64, 0, 16, 7, 64, 34, 0, 4, 68, 71, 4, 112, 0, 1, 112, 0, 32, 1, 68, 68, 0, 64, 0, 16, 7, 0, 2, 0, 0, 68, 65, 4, 112, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 48, 17, 0, 3, 51, 48, 3, 0, 0, 1, 115, 1, 16, 3, 51, 51, 0, 48, 0, 16, 7, 48, 17, 0, 3, 51, 55, 3, 112, 0, 1, 112, 0, 0, 1, 17, 17, 0, 16, 0, 16, 7, 0, 0, 0, 0, 0, 1, 0, 112, 2, 0, 113, 0, 0, 0, 51, 51, 33, 55, 0, 16, 6, 0, 0, 0, 34, 34, 33, 2, 96, 1, 0, 128, 0, 2, 34, 102, 102, 16, 104, 0, 16, 8, 96, 68, 34, 102, 102, 104, 6, 128, 1, 0, 134, 1, 66, 38, 102, 102, 128, 104, 0, 16, 7, 0, 0, 34, 38, 102, 97, 6, 112, 1, 0, 118, 1, 66, 38, 102, 102, 112, 103, 0, 16, 6, 64, 34, 0, 68, 68, 70, 4, 96, 1, 0, 99, 1, 16, 3, 51, 51, 96, 54, 0, 33, 23, 17, 0, 0, 51, 51, 50, 19, 112, 0, 1, 112, 0, 0, 1, 17, 17, 0, 16, 0, 17, 24, 17, 0, 68, 17, 136, 129, 8, 16, 0, 0, 112, 0, 83, 48, 7, 119, 0, 112, 0, 0, 7, 0, 5, 51, 0, 119, 112, 23, 112, 2, 0, 119, 112, 83, 55, 119, 119, 113, 119, 0, 16, 7, 0, 5, 51, 119, 119, 113, 7, 16, 0, 2, 112, 0, 83, 55, 119, 119, 16, 112, 0, 32, 7, 112, 5, 51, 7, 119, 119, 23, 112, 0, 1, 112, 0, 83, 49, 119, 119, 0, 112, 0, 17, 24, 17, 0, 68, 17, 136, 129, 8, 128, 1, 17, 136, 134, 100, 72, 136, 136, 128, 136, 0, 17, 24, 136, 22, 68, 136, 136, 136, 8, 128, 1, 17, 129, 16, 4, 65, 24, 136, 16, 136, 0, 17, 24, 136, 22, 68, 136, 136, 136, 8, 128, 0, 0, 119, 112, 83, 55, 119, 119, 113, 119, 0, 17, 24, 17, 0, 51, 17, 119, 113, 7, 16, 0, 0, 112, 0, 66, 32, 6, 102, 0, 96, 0, 0, 7, 0, 4, 34, 0, 102, 96, 22, 112, 2, 0, 118, 96, 66, 38, 102, 102, 113, 103, 0, 16, 7, 0, 4, 34, 102, 102, 97, 6, 16, 0, 2, 112, 0, 66, 38, 102, 102, 16, 96, 0, 32, 7, 96, 4, 34, 6, 102, 103, 22, 112, 0, 1, 112, 0, 66, 33, 102, 102, 0, 96, 0, 17, 24, 17, 0, 51, 17, 119, 113, 7, 128, 1, 17, 135, 113, 83, 55, 119, 119, 128, 120, 0, 0, 7, 102, 4, 34, 102, 102, 103, 22, 112, 1, 17, 129, 16, 0, 1, 17, 17, 16, 24, 0, 17, 24, 68, 34, 0, 68, 68, 72, 4, 128, 1, 17, 131, 49, 16, 3, 51, 51, 128, 56, 0, 17, 24, 17, 0, 0, 17, 17, 17, 1, 128, 1, 17, 131, 49, 16, 3, 51, 51, 48, 56, 0, 0, 7, 34, 0, 0, 34, 34, 34, 18, 112, 0, 0, 135, 32, 3, 50, 119, 119, 33, 120, 0, 0, 7, 114, 0, 51, 39, 119, 114, 23, 112, 1, 17, 113, 16, 0, 1, 17, 17, 16, 17, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 103, 0, 66, 41, 153, 153, 128, 144, 0, 0, 150, 118, 4, 34, 153, 153, 152, 25, 96, 0, 9, 103, 4, 66, 41, 153, 153, 128, 144, 0, 0, 6, 0, 0, 0, 0, 0, 0, 16, 96, 0, 6, 102, 96, 66, 38, 102, 102, 97, 102, 0, 0, 70, 68, 2, 0, 68, 68, 70, 20, 96, 0, 6, 134, 96, 66, 38, 102, 102, 129, 104, 0, 0, 54, 34, 0, 0, 51, 51, 50, 19, 96, 0, 3, 134, 32, 2, 38, 102, 102, 33, 104, 0, 0, 55, 98, 0, 34, 102, 102, 98, 22, 112, 0, 0, 128, 0, 2, 32, 0, 102, 1, 104, 0, 32, 8, 98, 0, 34, 102, 102, 98, 22, 128, 0, 0, 112, 0, 2, 32, 0, 102, 1, 103, 0, 32, 7, 98, 0, 34, 102, 102, 98, 22, 112, 2, 0, 98, 32, 0, 3, 51, 51, 33, 54, 0, 16, 6, 0, 0, 0, 34, 34, 33, 2, 16, 1, 0, 128, 0, 2, 34, 102, 102, 16, 97, 0, 16, 8, 0, 4, 34, 102, 102, 97, 6, 128, 1, 0, 112, 0, 2, 34, 102, 102, 16, 97, 0, 16, 6, 0, 2, 0, 68, 68, 65, 4, 96, 0, 6, 102, 0, 66, 38, 102, 102, 96, 96, 0, 0, 70, 64, 2, 0, 68, 68, 70, 4, 0, 0, 6, 134, 0, 66, 38, 102, 102, 128, 96, 0, 0, 54, 16, 0, 0, 51, 51, 50, 3, 0, 0, 3, 129, 0, 2, 38, 102, 102, 32, 96, 0, 0, 55, 16, 0, 34, 102, 102, 98, 6, 0, 0, 2, 96, 0, 0, 2, 34, 34, 16, 32, 0, 0, 40, 0, 0, 34, 38, 102, 97, 6, 0, 0, 2, 128, 0, 66, 38, 102, 102, 16, 96, 0, 0, 39, 0, 0, 34, 38, 102, 97, 6, 0, 0, 2, 96, 0, 32, 4, 68, 68, 16, 64, 0, 0, 8, 0, 0, 34, 0, 6, 96, 6, 0, 0, 0, 128, 0, 66, 32, 6, 102, 0, 96, 0, 0, 8, 96, 68, 34, 6, 102, 96, 6, 0, 0, 1, 128, 0, 66, 33, 102, 102, 0, 96, 0, 0, 8, 0, 0, 34, 0, 6, 96, 6, 0, 0, 0, 134, 1, 66, 32, 102, 102, 0, 96, 0, 32, 8, 16, 0, 34, 6, 102, 98, 22, 128, 0, 1, 128, 0, 2, 33, 22, 102, 0, 96, 0, 0, 7, 0, 0, 34, 0, 6, 96, 6, 0, 0, 0, 112, 0, 2, 32, 0, 102, 0, 96, 0, 0, 7, 96, 20, 34, 6, 102, 96, 6, 0, 2, 0, 113, 0, 2, 32, 102, 102, 33, 103, 0, 0, 23, 0, 0, 34, 17, 102, 96, 6, 0, 0, 0, 96, 0, 32, 0, 4, 68, 0, 64, 0, 0, 6, 64, 34, 0, 4, 68, 64, 4, 0, 0, 1, 96, 0, 32, 1, 68, 68, 0, 64, 0, 32, 6, 16, 0, 0, 3, 51, 50, 19, 96, 0, 1, 96, 0, 0, 1, 17, 17, 0, 16, 0, 17, 23, 17, 0, 51, 17, 119, 113, 7, 16, 0, 0, 96, 0, 66, 32, 6, 102, 0, 96, 0, 0, 6, 0, 4, 34, 0, 102, 96, 22, 96, 2, 0, 102, 96, 66, 38, 102, 102, 97, 102, 0, 16, 6, 0, 4, 34, 102, 102, 97, 6, 16, 0, 2, 96, 0, 66, 38, 102, 102, 16, 96, 0, 32, 6, 96, 4, 34, 6, 102, 102, 22, 96, 0, 1, 96, 0, 66, 33, 102, 102, 0, 96, 0, 17, 23, 17, 0, 51, 17, 119, 113, 7, 112, 1, 17, 119, 113, 83, 55, 119, 119, 112, 119, 0, 0, 6, 102, 4, 34, 102, 102, 102, 22, 96, 1, 17, 113, 16, 0, 1, 17, 17, 16, 23, 0, 17, 23, 51, 17, 0, 51, 51, 51, 3, 112, 0, 0, 98, 32, 0, 2, 34, 34, 33, 38, 0, 0, 8, 98, 0, 34, 38, 102, 98, 22, 128, 0, 0, 118, 32, 2, 34, 102, 102, 33, 103, 0, 17, 20, 17, 0, 0, 17, 17, 17, 1, 64, 0, 0, 48, 0, 0, 0, 0, 0, 2, 3, 0, 0, 147, 115, 17, 0, 153, 153, 152, 41, 48, 0, 9, 136, 129, 100, 73, 153, 153, 130, 152, 0, 34, 135, 119, 5, 51, 136, 136, 135, 24, 112, 1, 23, 102, 100, 66, 39, 119, 119, 96, 118, 0, 0, 101, 85, 51, 17, 102, 102, 101, 70, 80, 3, 57, 136, 129, 100, 73, 153, 153, 130, 152, 0, 0, 151, 119, 21, 51, 153, 153, 152, 41, 112, 2, 40, 102, 96, 66, 40, 136, 136, 113, 134, 0, 17, 117, 85, 51, 17, 119, 119, 118, 7, 80, 0, 6, 68, 66, 32, 6, 102, 102, 83, 100, 0, 51, 151, 119, 21, 51, 153, 153, 152, 41, 112, 0, 6, 116, 49, 16, 6, 102, 102, 82, 99, 0, 34, 86, 50, 0, 0, 85, 85, 84, 21, 32, 1, 20, 82, 16, 0, 4, 68, 68, 48, 65, 0, 0, 52, 16, 0, 0, 51, 51, 50, 3, 0, 0, 3, 66, 32, 0, 3, 51, 51, 33, 52, 0, 0, 56, 34, 0, 0, 51, 51, 50, 19, 128, 0, 3, 136, 32, 4, 72, 136, 136, 33, 136, 0, 0, 56, 16, 0, 0, 51, 51, 50, 3, 0, 0, 3, 129, 0, 4, 72, 136, 136, 32, 128, 0, 0, 136, 128, 102, 68, 136, 136, 136, 8, 0, 0, 4, 132, 2, 32, 4, 68, 68, 128, 64, 0, 0, 68, 64, 34, 0, 68, 68, 68, 4, 0, 1, 21, 133, 16, 1, 21, 85, 85, 128, 81, 0, 17, 88, 85, 19, 17, 85, 85, 88, 5, 128, 1, 21, 117, 16, 1, 21, 85, 85, 112, 81, 0, 17, 87, 85, 19, 17, 85, 85, 87, 5, 112, 1, 20, 83, 49, 16, 4, 68, 68, 48, 69, 0, 34, 104, 98, 0, 34, 102, 102, 104, 22, 32, 1, 21, 117, 16, 49, 21, 85, 85, 112, 81, 0, 34, 103, 98, 0, 34, 102, 102, 103, 22, 32, 1, 21, 101, 16, 49, 21, 85, 85, 96, 81, 0, 0, 120, 119, 21, 51, 119, 119, 120, 39, 128, 0, 7, 119, 113, 83, 55, 119, 119, 114, 119, 0, 51, 103, 67, 17, 0, 102, 102, 101, 38, 48, 0, 5, 99, 49, 16, 5, 85, 85, 66, 83, 0, 0, 104, 102, 20, 34, 102, 102, 104, 38, 128, 0, 6, 118, 97, 66, 38, 102, 102, 114, 103, 0, 0, 67, 51, 17, 0, 68, 68, 67, 36, 48, 0, 4, 131, 49, 16, 4, 68, 68, 50, 72, 0, 0, 136, 136, 22, 68, 136, 136, 136, 40, 128, 0, 4, 115, 49, 16, 4, 68, 68, 50, 71, 0, 0, 8, 0, 0, 0, 0, 0, 0, 32, 128, 0, 0, 128, 0, 4, 64, 0, 136, 2, 136, 0, 0, 8, 128, 22, 68, 8, 136, 128, 40, 128, 3, 0, 136, 1, 100, 64, 136, 136, 130, 136, 0, 48, 8, 0, 0, 68, 0, 8, 136, 40, 128, 0, 0, 128, 0, 3, 48, 0, 119, 2, 120, 0, 0, 8, 112, 21, 51, 7, 119, 112, 39, 128, 3, 0, 135, 1, 83, 48, 119, 119, 130, 120, 0, 48, 8, 0, 0, 51, 0, 7, 120, 39, 128, 0, 0, 131, 1, 16, 0, 51, 51, 2, 56, 0, 48, 8, 48, 17, 0, 3, 51, 51, 35, 128, 3, 0, 128, 0, 0, 0, 0, 0, 50, 8, 0, 0, 7, 0, 0, 0, 0, 0, 0, 32, 112, 0, 0, 112, 0, 3, 48, 0, 119, 2, 119, 0, 0, 7, 112, 21, 51, 7, 119, 112, 39, 112, 3, 0, 119, 1, 83, 48, 119, 119, 114, 119, 0, 48, 7, 0, 0, 51, 0, 7, 119, 39, 112, 0, 0, 115, 1, 16, 0, 51, 51, 2, 55, 0, 48, 7, 48, 17, 0, 3, 51, 51, 35, 112, 3, 0, 112, 0, 0, 0, 0, 0, 50, 7, 0, 0, 3, 48, 17, 0, 3, 51, 48, 35, 48, 3, 0, 51, 1, 16, 0, 51, 51, 50, 51, 0, 17, 20, 68, 34, 0, 68, 68, 68, 4, 64, 0, 0, 51, 49, 16, 3, 51, 51, 50, 51, 0, 0, 8, 51, 17, 0, 51, 51, 51, 35, 128, 0, 0, 136, 129, 100, 72, 136, 136, 130, 136, 0, 0, 8, 119, 21, 51, 119, 119, 120, 39, 128, 0, 0, 115, 49, 16, 3, 51, 51, 50, 55, 0, 0, 7, 119, 21, 51, 119, 119, 119, 39, 112, 1, 17, 67, 49, 16, 3, 51, 51, 64, 52, 0, 0, 3, 34, 0, 0, 34, 34, 35, 34, 48, 0, 0, 130, 32, 0, 2, 34, 34, 50, 40, 0, 0, 8, 130, 0, 68, 40, 136, 136, 40, 128, 0, 0, 135, 32, 3, 50, 119, 119, 130, 120, 0, 0, 7, 34, 0, 0, 34, 34, 35, 34, 112, 0, 0, 119, 32, 3, 50, 119, 119, 114, 119, 0, 17, 19, 17, 0, 0, 17, 17, 17, 1, 48, 0, 0, 32, 0, 0, 0, 0, 0, 1, 2, 0, 0, 146, 114, 0, 0, 153, 153, 152, 25, 32, 1, 24, 22, 16, 0, 8, 136, 136, 112, 129, 0, 17, 136, 129, 0, 68, 136, 136, 136, 8, 16, 2, 40, 136, 32, 4, 72, 136, 136, 129, 130, 0, 17, 136, 136, 22, 68, 136, 136, 136, 8, 128, 1, 24, 119, 16, 3, 56, 136, 136, 112, 129, 0, 0, 118, 96, 4, 34, 119, 119, 118, 7, 0, 0, 6, 85, 3, 49, 22, 102, 102, 80, 96, 0, 0, 118, 102, 4, 34, 119, 119, 118, 23, 96, 0, 7, 102, 100, 66, 39, 119, 119, 101, 118, 0, 0, 118, 96, 68, 34, 119, 119, 118, 7, 0, 1, 23, 102, 16, 66, 39, 119, 119, 96, 113, 0, 34, 135, 114, 0, 51, 136, 136, 135, 24, 32, 1, 24, 119, 117, 83, 56, 136, 136, 112, 135, 0, 17, 135, 119, 21, 51, 136, 136, 135, 8, 112, 1, 24, 70, 66, 32, 8, 136, 136, 112, 132, 0, 0, 115, 83, 17, 0, 119, 119, 118, 39, 48, 1, 24, 54, 49, 16, 8, 136, 136, 112, 131, 0, 0, 114, 82, 0, 0, 119, 119, 118, 23, 32, 0, 7, 135, 32, 3, 55, 119, 119, 129, 114, 0, 34, 120, 114, 0, 51, 119, 119, 120, 23, 32, 0, 7, 119, 32, 3, 55, 119, 119, 113, 114, 0, 34, 119, 114, 0, 51, 119, 119, 119, 23, 32, 0, 9, 136, 32, 4, 73, 153, 153, 129, 146, 0, 17, 135, 113, 5, 51, 136, 136, 135, 8, 16, 2, 41, 136, 32, 4, 73, 153, 153, 129, 146, 0, 0, 151, 114, 0, 51, 153, 153, 152, 25, 32, 1, 24, 102, 16, 66, 40, 136, 136, 112, 129, 0, 0, 117, 80, 51, 17, 119, 119, 118, 7, 0, 2, 41, 119, 32, 3, 57, 153, 153, 129, 146, 0, 34, 146, 114, 0, 0, 153, 153, 152, 25, 32, 0, 6, 36, 32, 0, 6, 102, 102, 81, 98, 0, 17, 81, 49, 0, 0, 85, 85, 84, 5, 16, 0, 4, 2, 0, 0, 4, 68, 68, 48, 64, 0, 0, 69, 34, 0, 0, 68, 68, 67, 20, 32, 0, 5, 133, 32, 1, 21, 85, 85, 129, 82, 0, 0, 88, 85, 19, 17, 85, 85, 88, 37, 128, 0, 5, 117, 32, 1, 21, 85, 85, 113, 82, 0, 0, 87, 85, 19, 17, 85, 85, 87, 37, 112, 0, 4, 83, 49, 16, 4, 68, 68, 50, 69, 0, 0, 80, 80, 0, 17, 85, 85, 88, 5, 0, 0, 5, 133, 1, 49, 21, 85, 85, 128, 80, 0, 0, 80, 80, 0, 17, 85, 85, 87, 5, 0, 0, 5, 117, 1, 49, 21, 85, 85, 112, 80, 0, 0, 69, 48, 17, 0, 68, 68, 67, 4, 0, 1, 22, 134, 16, 2, 38, 102, 102, 128, 97, 0, 0, 87, 80, 3, 17, 85, 85, 87, 5, 0, 0, 5, 117, 80, 49, 21, 85, 85, 113, 87, 0, 17, 104, 102, 20, 34, 102, 102, 104, 6, 128, 1, 22, 118, 16, 2, 38, 102, 102, 112, 97, 0, 0, 86, 80, 3, 17, 85, 85, 86, 5, 0, 0, 5, 101, 80, 49, 21, 85, 85, 97, 86, 0, 17, 103, 102, 20, 34, 102, 102, 103, 6, 112, 1, 21, 100, 66, 32, 5, 85, 85, 64, 86, 0, 17, 86, 51, 17, 0, 85, 85, 84, 5, 48, 2, 38, 36, 32, 0, 6, 102, 102, 81, 98, 0, 0, 86, 50, 0, 0, 85, 85, 84, 21, 32, 0, 6, 134, 32, 2, 38, 102, 102, 129, 98, 0, 0, 103, 98, 0, 34, 102, 102, 103, 22, 32, 0, 4, 34, 32, 0, 4, 68, 68, 49, 66, 0, 0, 72, 34, 0, 0, 68, 68, 67, 20, 32, 0, 8, 136, 32, 4, 72, 136, 136, 129, 130, 0, 34, 72, 34, 0, 0, 68, 68, 67, 20, 32, 0, 4, 114, 32, 0, 4, 68, 68, 49, 66, 0, 34, 71, 34, 0, 0, 68, 68, 67, 20, 32, 0, 3, 34, 32, 0, 3, 51, 51, 33, 50, 0, 0, 56, 34, 0, 0, 51, 51, 50, 19, 32, 0, 3, 136, 32, 4, 72, 136, 136, 33, 130, 0, 0, 56, 114, 0, 51, 119, 119, 114, 23, 32, 0, 3, 114, 32, 0, 3, 51, 51, 33, 50, 0, 0, 55, 114, 0, 51, 119, 119, 114, 23, 32, 0, 0, 128, 0, 0, 0, 0, 0, 1, 2, 0, 0, 8, 0, 0, 68, 0, 8, 128, 24, 32, 2, 0, 136, 32, 4, 72, 136, 136, 33, 130, 0, 32, 8, 0, 0, 68, 0, 8, 130, 24, 32, 0, 0, 128, 0, 3, 48, 0, 119, 1, 114, 0, 32, 8, 114, 0, 51, 119, 119, 114, 23, 32, 2, 0, 128, 0, 3, 48, 0, 119, 33, 114, 0, 32, 8, 34, 0, 0, 51, 51, 50, 19, 32, 2, 0, 128, 0, 0, 0, 0, 0, 33, 2, 0, 0, 7, 0, 0, 0, 0, 0, 0, 16, 32, 0, 0, 112, 0, 3, 48, 0, 119, 1, 114, 0, 32, 7, 114, 0, 51, 119, 119, 114, 23, 32, 2, 0, 112, 0, 3, 48, 0, 119, 33, 114, 0, 32, 7, 34, 0, 0, 51, 51, 50, 19, 32, 2, 0, 112, 0, 0, 0, 0, 0, 33, 2, 0, 32, 2, 34, 0, 0, 51, 51, 50, 19, 32, 1, 17, 51, 49, 16, 3, 51, 51, 48, 51, 0, 0, 2, 34, 0, 0, 34, 34, 34, 18, 32, 0, 0, 130, 32, 0, 2, 34, 34, 33, 34, 0, 0, 8, 130, 0, 68, 40, 136, 130, 24, 32, 0, 0, 135, 32, 3, 50, 119, 119, 33, 114, 0, 0, 7, 34, 0, 0, 34, 34, 34, 18, 32, 0, 0, 119, 32, 3, 50, 119, 119, 33, 114, 0, 17, 40, 17, 0, 0, 34, 34, 33, 2, 16, 1, 18, 129, 16, 4, 66, 136, 136, 16, 129, 0, 17, 40, 17, 0, 68, 40, 136, 129, 8, 128, 1, 18, 129, 16, 3, 50, 119, 119, 16, 113, 0, 17, 40, 17, 0, 0, 34, 34, 33, 2, 128, 1, 18, 113, 16, 0, 2, 34, 34, 16, 33, 0, 17, 39, 17, 0, 51, 39, 119, 113, 7, 16, 1, 18, 65, 16, 0, 2, 34, 34, 16, 36, 0, 17, 56, 17, 0, 0, 51, 51, 50, 3, 16, 1, 19, 129, 16, 4, 72, 136, 136, 32, 129, 0, 17, 56, 17, 0, 51, 119, 119, 114, 7, 16, 1, 19, 113, 16, 0, 3, 51, 51, 32, 49, 0, 17, 55, 17, 0, 51, 119, 119, 114, 7, 16, 1, 20, 130, 16, 0, 4, 68, 68, 48, 65, 0, 17, 120, 113, 0, 51, 119, 119, 120, 7, 16, 1, 23, 135, 113, 83, 55, 119, 119, 128, 120, 0, 17, 72, 51, 17, 0, 68, 68, 67, 4, 128, 1, 20, 114, 16, 0, 4, 68, 68, 48, 65, 0, 17, 119, 113, 0, 51, 119, 119, 119, 7, 16, 1, 23, 119, 113, 83, 55, 119, 119, 112, 119, 0, 17, 71, 51, 17, 0, 68, 68, 67, 4, 112, 1, 20, 51, 49, 16, 4, 68, 68, 48, 67, 0, 17, 84, 68, 34, 0, 85, 85, 84, 5, 64, 1, 21, 51, 49, 16, 5, 85, 85, 64, 83, 0, 17, 100, 68, 34, 0, 102, 102, 101, 6, 64, 0, 5, 51, 49, 16, 5, 85, 85, 66, 83, 0, 17, 99, 67, 17, 0, 102, 102, 101, 6, 48, 0, 5, 35, 32, 0, 5, 85, 85, 65, 82, 0, 17, 116, 84, 34, 0, 119, 119, 118, 7, 64, 0, 6, 52, 49, 16, 6, 102, 102, 82, 99, 0, 17, 115, 83, 17, 0, 119, 119, 118, 7, 48, 0, 6, 36, 32, 0, 6, 102, 102, 81, 98, 0, 0, 6, 48, 17, 0, 3, 51, 48, 3, 0, 0, 1, 0, 0, 0, 1, 17, 17, 0, 16, 0, 0, 16, 0, 0, 68, 17, 136, 128, 8, 0, 0, 1, 128, 0, 4, 65, 24, 136, 0, 128, 0, 0, 24, 128, 102, 68, 136, 136, 128, 8, 0, 0, 1, 136, 1, 100, 72, 136, 136, 0, 128, 0, 0, 24, 0, 0, 68, 17, 136, 128, 8, 0, 0, 1, 136, 1, 100, 72, 136, 136, 0, 128, 0, 33, 24, 17, 0, 68, 136, 136, 130, 24, 32, 0, 1, 0, 0, 3, 49, 23, 119, 0, 112, 0, 0, 24, 0, 0, 51, 17, 119, 112, 7, 0, 0, 1, 135, 1, 83, 55, 119, 119, 0, 112, 0, 33, 24, 17, 0, 51, 119, 119, 114, 23, 32, 0, 1, 128, 0, 0, 1, 17, 17, 0, 16, 0, 0, 24, 64, 34, 0, 68, 68, 64, 4, 0, 0, 1, 131, 1, 16, 3, 51, 51, 0, 48, 0, 0, 24, 0, 0, 0, 17, 17, 16, 1, 0, 0, 1, 131, 1, 16, 3, 51, 51, 0, 48, 0, 33, 24, 17, 0, 0, 51, 51, 50, 19, 32, 0, 1, 0, 0, 0, 1, 17, 17, 0, 16, 0, 0, 16, 0, 0, 51, 17, 119, 112, 7, 0, 0, 1, 112, 0, 3, 49, 23, 119, 0, 112, 0, 0, 23, 112, 21, 51, 119, 119, 112, 7, 0, 2, 17, 113, 16, 3, 55, 119, 119, 33, 114, 0, 0, 23, 0, 0, 0, 17, 17, 16, 1, 0, 0, 1, 115, 1, 16, 3, 51, 51, 0, 48, 0, 33, 23, 17, 0, 0, 51, 51, 50, 19, 32, 0, 1, 64, 0, 0, 1, 17, 17, 0, 16, 0, 0, 20, 64, 34, 0, 68, 68, 64, 4, 0, 0, 1, 67, 1, 16, 3, 51, 51, 0, 48, 0, 0, 19, 0, 0, 0, 17, 17, 16, 1, 0, 0, 1, 51, 1, 16, 3, 51, 51, 0, 48, 0, 33, 18, 17, 0, 0, 51, 51, 50, 19, 32, 1, 0, 16, 0, 0, 2, 34, 34, 16, 33, 0, 16, 8, 0, 0, 0, 34, 34, 33, 2, 16, 1, 0, 128, 0, 4, 66, 136, 136, 16, 129, 0, 16, 8, 0, 0, 68, 40, 136, 129, 8, 128, 1, 0, 136, 6, 100, 72, 136, 136, 128, 136, 0, 16, 8, 128, 22, 68, 136, 136, 136, 8, 128, 1, 0, 128, 0, 4, 66, 136, 136, 16, 136, 0, 16, 8, 128, 22, 68, 136, 136, 136, 8, 128, 1, 0, 128, 0, 3, 50, 119, 119, 16, 113, 0, 16, 8, 0, 0, 51, 39, 119, 113, 7, 128, 1, 0, 135, 1, 83, 55, 119, 119, 128, 120, 0, 16, 8, 0, 0, 0, 34, 34, 33, 2, 128, 1, 0, 132, 2, 32, 4, 68, 68, 128, 72, 0, 16, 8, 48, 17, 0, 51, 51, 56, 3, 128, 1, 0, 128, 0, 0, 2, 34, 34, 16, 40, 0, 16, 8, 48, 17, 0, 51, 51, 51, 3, 128, 1, 0, 112, 0, 0, 2, 34, 34, 16, 33, 0, 16, 7, 0, 0, 51, 39, 119, 113, 7, 16, 1, 0, 112, 0, 3, 50, 119, 119, 16, 119, 0, 16, 7, 112, 21, 51, 119, 119, 119, 7, 112, 1, 0, 112, 0, 0, 2, 34, 34, 16, 39, 0, 16, 7, 48, 17, 0, 51, 51, 51, 3, 112, 1, 0, 64, 0, 0, 2, 34, 34, 16, 36, 0, 16, 4, 64, 34, 0, 68, 68, 68, 4, 64, 1, 0, 67, 1, 16, 3, 51, 51, 64, 52, 0, 16, 3, 0, 0, 0, 34, 34, 33, 2, 48, 1, 0, 51, 1, 16, 3, 51, 51, 48, 51, 0, 0, 32, 0, 0, 0, 34, 34, 33, 2, 0, 0, 2, 0, 0, 4, 66, 136, 136, 16, 128, 0, 0, 40, 0, 0, 68, 40, 136, 129, 8, 0, 0, 2, 0, 0, 3, 50, 119, 119, 16, 112, 0, 0, 40, 0, 0, 0, 34, 34, 33, 2, 0, 0, 2, 0, 0, 0, 2, 34, 34, 16, 32, 0, 0, 32, 0, 0, 51, 39, 119, 113, 7, 0, 0, 2, 64, 0, 0, 2, 34, 34, 16, 32, 0, 0, 48, 16, 0, 0, 51, 51, 50, 3, 0, 0, 3, 1, 0, 4, 72, 136, 136, 32, 128, 0, 0, 48, 16, 0, 51, 119, 119, 114, 7, 0, 0, 3, 1, 0, 0, 3, 51, 51, 32, 48, 0, 0, 48, 16, 0, 51, 119, 119, 114, 7, 0, 0, 4, 2, 0, 0, 4, 68, 68, 48, 64, 0, 0, 128, 128, 0, 68, 136, 136, 136, 8, 0, 0, 8, 136, 1, 100, 72, 136, 136, 128, 128, 0, 0, 112, 112, 0, 51, 119, 119, 120, 7, 0, 0, 7, 135, 1, 83, 55, 119, 119, 128, 112, 0, 0, 72, 48, 17, 0, 68, 68, 67, 4, 0, 0, 4, 2, 0, 0, 4, 68, 68, 48, 64, 0, 0, 112, 112, 0, 51, 119, 119, 119, 7, 0, 0, 7, 119, 1, 83, 55, 119, 119, 112, 112, 0, 0, 71, 48, 17, 0, 68, 68, 67, 4, 0, 0, 4, 51, 1, 16, 4, 68, 68, 48, 64, 0, 0, 84, 64, 34, 0, 85, 85, 84, 5, 0, 0, 5, 51, 1, 16, 5, 85, 85, 64, 80, 0, 0, 96, 96, 0, 34, 102, 102, 104, 6, 0, 0, 6, 134, 1, 66, 38, 102, 102, 128, 96, 0, 0, 96, 96, 0, 34, 102, 102, 103, 6, 0, 0, 6, 118, 1, 66, 38, 102, 102, 112, 96, 0, 0, 100, 64, 34, 0, 102, 102, 101, 6, 0, 0, 6, 52, 1, 16, 6, 102, 102, 80, 96, 0, 0, 116, 80, 34, 0, 119, 119, 118, 7, 0, 0, 7, 53, 1, 16, 7, 119, 119, 96, 112, 0, 0, 130, 98, 0, 0, 136, 136, 135, 24, 32, 0, 8, 119, 32, 3, 56, 136, 136, 113, 130, 0, 0, 135, 119, 21, 51, 136, 136, 135, 40, 112, 0, 8, 54, 49, 16, 8, 136, 136, 114, 131, 0, 0, 128, 112, 0, 51, 136, 136, 135, 8, 0, 0, 8, 119, 5, 83, 56, 136, 136, 112, 128, 0, 0, 135, 112, 21, 51, 136, 136, 135, 8, 0, 0, 8, 70, 2, 32, 8, 136, 136, 112, 128, 0, 0, 131, 96, 17, 0, 136, 136, 135, 8, 0, 1, 25, 136, 16, 4, 73, 153, 153, 128, 145, 0, 0, 135, 112, 5, 51, 136, 136, 135, 8, 0, 0, 8, 119, 112, 83, 56, 136, 136, 113, 135, 0, 17, 152, 136, 102, 68, 153, 153, 152, 9, 128, 1, 25, 136, 129, 100, 73, 153, 153, 128, 152, 0, 17, 151, 113, 0, 51, 153, 153, 152, 9, 16, 0, 8, 102, 0, 66, 40, 136, 136, 112, 128, 0, 0, 134, 102, 4, 34, 136, 136, 135, 24, 96, 1, 25, 119, 113, 83, 57, 153, 153, 128, 151, 0, 17, 148, 116, 34, 0, 153, 153, 152, 9, 64, 1, 25, 55, 49, 16, 9, 153, 153, 128, 147, 0, 17, 97, 65, 0, 0, 102, 102, 101, 6, 16, 0, 5, 3, 0, 0, 5, 85, 85, 64, 80, 0, 0, 86, 64, 34, 0, 85, 85, 84, 5, 0, 0, 5, 99, 1, 16, 5, 85, 85, 64, 80, 0, 17, 103, 68, 34, 0, 102, 102, 101, 6, 64, 1, 22, 116, 49, 16, 6, 102, 102, 80, 99, 0, 16, 8, 0, 0, 0, 0, 0, 1, 0, 16, 1, 0, 128, 0, 4, 64, 0, 136, 16, 129, 0, 16, 8, 0, 0, 68, 0, 8, 129, 8, 128, 1, 0, 136, 6, 100, 64, 136, 136, 128, 136, 0, 16, 8, 128, 22, 68, 8, 136, 136, 8, 128, 1, 0, 128, 0, 4, 64, 0, 136, 16, 136, 0, 16, 8, 128, 22, 68, 8, 136, 136, 8, 128, 1, 0, 128, 0, 3, 48, 0, 119, 16, 113, 0, 16, 8, 0, 0, 51, 0, 7, 113, 7, 128, 1, 0, 135, 1, 83, 48, 119, 119, 128, 120, 0, 16, 8, 0, 0, 0, 0, 0, 1, 0, 128, 1, 0, 132, 2, 32, 0, 68, 68, 128, 72, 0, 16, 8, 48, 17, 0, 3, 51, 56, 3, 128, 1, 0, 128, 0, 0, 0, 0, 0, 16, 8, 0, 16, 8, 48, 17, 0, 3, 51, 51, 3, 128, 1, 0, 112, 0, 0, 0, 0, 0, 16, 1, 0, 16, 7, 0, 0, 51, 0, 7, 113, 7, 16, 1, 0, 112, 0, 3, 48, 0, 119, 16, 119, 0, 16, 7, 112, 21, 51, 7, 119, 119, 7, 112, 1, 0, 112, 0, 0, 0, 0, 0, 16, 7, 0, 16, 7, 48, 17, 0, 3, 51, 51, 3, 112, 1, 0, 64, 0, 0, 0, 0, 0, 16, 4, 0, 16, 4, 64, 34, 0, 4, 68, 68, 4, 64, 1, 0, 67, 1, 16, 0, 51, 51, 64, 52, 0, 16, 3, 0, 0, 0, 0, 0, 1, 0, 48, 1, 0, 51, 1, 16, 0, 51, 51, 48, 51, 0, 0, 144, 112, 0, 0, 153, 153, 152, 9, 0, 0, 9, 8, 0, 4, 73, 153, 153, 128, 144, 0, 0, 152, 128, 102, 68, 153, 153, 152, 9, 0, 0, 9, 136, 1, 100, 73, 153, 153, 128, 144, 0, 0, 144, 112, 0, 51, 153, 153, 152, 9, 0, 0, 9, 119, 1, 83, 57, 153, 153, 128, 144, 0, 0, 148, 112, 34, 0, 153, 153, 152, 9, 0, 0, 9, 55, 1, 16, 9, 153, 153, 128, 144, 0, 0, 96, 64, 0, 0, 102, 102, 101, 6, 0, 0, 6, 116, 2, 32, 6, 102, 102, 80, 96, 0, 0, 103, 64, 17, 0, 102, 102, 101, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 8, 128, 8, 0, 0, 0, 128, 0, 4, 64, 0, 136, 0, 128, 0, 0, 8, 128, 102, 68, 8, 136, 128, 8, 0, 0, 0, 136, 1, 100, 64, 136, 136, 0, 128, 0, 0, 8, 0, 0, 68, 0, 8, 128, 8, 0, 0, 0, 136, 1, 100, 64, 136, 136, 0, 128, 0, 32, 8, 16, 0, 68, 8, 136, 130, 24, 32, 0, 0, 0, 0, 3, 48, 0, 119, 0, 112, 0, 0, 8, 0, 0, 51, 0, 7, 112, 7, 0, 0, 0, 135, 1, 83, 48, 119, 119, 0, 112, 0, 32, 8, 16, 0, 51, 7, 119, 114, 23, 32, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 64, 34, 0, 4, 68, 64, 4, 0, 0, 0, 131, 1, 16, 0, 51, 51, 0, 48, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 1, 16, 0, 51, 51, 0, 48, 0, 32, 8, 16, 0, 0, 3, 51, 50, 19, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 7, 112, 7, 0, 0, 0, 112, 0, 3, 48, 0, 119, 0, 112, 0, 0, 7, 112, 21, 51, 7, 119, 112, 7, 0, 2, 0, 113, 0, 3, 48, 119, 119, 33, 114, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 1, 16, 0, 51, 51, 0, 48, 0, 32, 7, 16, 0, 0, 3, 51, 50, 19, 32, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 64, 34, 0, 4, 68, 64, 4, 0, 0, 0, 67, 1, 16, 0, 51, 51, 0, 48, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 16, 0, 51, 51, 0, 48, 0, 32, 2, 16, 0, 0, 3, 51, 50, 19, 32}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char falkor_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, 1, 2, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 0, 2, 0, 1, 7, 1, 7, 7, 7, 8, 1, 6, 0, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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}; /* Vector for state transitions. */ static const unsigned char falkor_transitions[] ATTRIBUTE_UNUSED = { 0, 43, 8, 53, 51, 2, 43, 43, 3, 2, 1, 0, 1, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 2, 3, 9, 42, 40, 36, 3, 3, 54, 54, 54, 0, 3, 4, 10, 35, 33, 29, 4, 54, 54, 54, 54, 0, 4, 54, 11, 28, 26, 5, 5, 54, 54, 54, 54, 0, 5, 54, 12, 25, 6, 54, 54, 54, 54, 54, 54, 0, 6, 54, 1, 7, 54, 54, 54, 54, 54, 54, 54, 0, 7, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 8, 8, 20, 54, 54, 24, 9, 20, 20, 10, 9, 54, 0, 9, 10, 54, 54, 19, 17, 10, 10, 54, 54, 54, 0, 10, 11, 54, 54, 16, 14, 11, 54, 54, 54, 54, 0, 11, 54, 54, 54, 13, 12, 12, 54, 54, 54, 54, 0, 12, 54, 54, 54, 1, 54, 54, 54, 54, 54, 54, 0, 13, 54, 54, 54, 54, 1, 1, 54, 54, 54, 54, 0, 14, 12, 54, 54, 15, 54, 12, 54, 54, 54, 54, 0, 15, 1, 54, 54, 54, 54, 1, 54, 54, 54, 54, 0, 16, 13, 54, 54, 54, 15, 13, 54, 54, 54, 54, 0, 17, 14, 54, 54, 18, 54, 14, 14, 54, 54, 54, 0, 18, 15, 54, 54, 54, 54, 15, 15, 54, 54, 54, 0, 19, 16, 54, 54, 54, 18, 16, 16, 54, 54, 54, 0, 20, 21, 54, 54, 23, 10, 21, 54, 54, 10, 54, 0, 21, 11, 54, 54, 22, 11, 11, 54, 54, 11, 54, 0, 22, 13, 54, 54, 54, 13, 13, 54, 54, 13, 54, 0, 23, 22, 54, 54, 54, 16, 22, 54, 54, 16, 54, 0, 24, 23, 54, 54, 54, 19, 23, 23, 16, 19, 54, 0, 25, 54, 54, 54, 7, 54, 54, 54, 54, 54, 54, 8, 26, 54, 13, 27, 54, 6, 6, 54, 54, 54, 54, 0, 27, 54, 54, 54, 54, 7, 7, 54, 54, 54, 54, 8, 28, 54, 54, 54, 27, 25, 25, 54, 54, 54, 54, 8, 29, 5, 14, 32, 30, 54, 5, 54, 54, 54, 54, 0, 30, 6, 15, 31, 54, 54, 6, 54, 54, 54, 54, 0, 31, 7, 54, 54, 54, 54, 7, 54, 54, 54, 54, 8, 32, 25, 54, 54, 31, 54, 25, 54, 54, 54, 54, 8, 33, 26, 16, 34, 54, 30, 26, 54, 54, 54, 54, 0, 34, 27, 54, 54, 54, 31, 27, 54, 54, 54, 54, 8, 35, 28, 54, 54, 34, 32, 28, 54, 54, 54, 54, 8, 36, 29, 17, 39, 37, 54, 29, 29, 54, 54, 54, 0, 37, 30, 18, 38, 54, 54, 30, 30, 54, 54, 54, 0, 38, 31, 54, 54, 54, 54, 31, 31, 54, 54, 54, 8, 39, 32, 54, 54, 38, 54, 32, 32, 54, 54, 54, 8, 40, 33, 19, 41, 54, 37, 33, 33, 54, 54, 54, 0, 41, 34, 54, 54, 54, 38, 34, 34, 54, 54, 54, 8, 42, 35, 54, 54, 41, 39, 35, 35, 54, 54, 54, 8, 43, 44, 20, 50, 48, 3, 44, 54, 54, 3, 54, 0, 44, 4, 21, 47, 45, 4, 4, 54, 54, 4, 54, 0, 45, 26, 22, 46, 54, 26, 26, 54, 54, 26, 54, 0, 46, 27, 54, 54, 54, 27, 27, 54, 54, 27, 54, 8, 47, 28, 54, 54, 46, 28, 28, 54, 54, 28, 54, 8, 48, 45, 23, 49, 54, 33, 45, 54, 54, 33, 54, 0, 49, 46, 54, 54, 54, 34, 46, 54, 54, 34, 54, 8, 50, 47, 54, 54, 49, 35, 47, 54, 54, 35, 54, 8, 51, 48, 24, 52, 54, 40, 48, 48, 33, 40, 54, 0, 52, 49, 54, 54, 54, 41, 49, 49, 34, 41, 54, 8, 53, 50, 54, 54, 52, 42, 50, 50, 35, 42, 54, 8}; /* Vector of min issue delay of insns. */ static const unsigned char falkor_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 21, 85, 84, 0, 0, 84, 0, 1, 84, 16, 1, 84, 16, 21, 84, 16, 85, 84, 26, 85, 88, 5, 0, 4, 5, 0, 84, 5, 1, 84, 21, 1, 84, 21, 21, 84, 21, 65, 84, 5, 17, 84, 5, 81, 84, 5, 65, 84, 5, 16, 84, 5, 80, 84, 5, 64, 84, 5, 1, 68, 5, 1, 68, 5, 65, 68, 5, 65, 68, 5, 64, 4, 26, 21, 88, 16, 65, 84, 26, 65, 88, 26, 1, 88, 0, 17, 84, 0, 81, 84, 10, 81, 88, 10, 17, 88, 0, 65, 84, 10, 65, 88, 10, 1, 88, 0, 16, 84, 0, 80, 84, 10, 80, 88, 10, 16, 88, 0, 64, 84, 10, 64, 88, 10, 0, 88, 0, 1, 68, 0, 1, 68, 0, 65, 68, 10, 65, 72, 10, 1, 72, 0, 65, 68, 10, 65, 72, 10, 1, 72, 0, 64, 4, 10, 64, 8, 10, 0, 8}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char falkor_vfp_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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 4, 3, 3, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 3, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 6}; /* Vector for state transitions. */ static const unsigned char falkor_vfp_transitions[] ATTRIBUTE_UNUSED = { 0, 3, 2, 6, 8, 1, 0, 1, 4, 7, 10, 10, 9, 2, 2, 5, 8, 10, 10, 7, 3, 3, 6, 5, 10, 10, 4, 0, 4, 10, 10, 10, 10, 10, 2, 5, 10, 10, 10, 10, 10, 3, 6, 10, 10, 10, 10, 10, 0, 7, 10, 10, 10, 10, 10, 5, 8, 10, 10, 10, 10, 10, 6, 9, 10, 10, 10, 10, 10, 8, }; /* Vector of min issue delay of insns. */ static const unsigned char falkor_vfp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 15, 0, 40, 0, 80, 23, 208, 90, 65, 85, 10, 248, 42, 160, 255, 192}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char falkor_mem_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, 1, 1, 2, 2, 3, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 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, 9, 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, 0, 0, 0, 0, 0, 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 falkor_mem_transitions[] ATTRIBUTE_UNUSED = { 0, 4, 10, 20, 24, 1, 7, 6, 22, 2, 0, 1, 2, 3, 9, 19, 2, 4, 25, 25, 25, 0, 2, 14, 12, 5, 0, 0, 6, 12, 13, 18, 17, 7, 14, 15, 16, 8, 7, 10, 3, 5, 8, 1, 3, 15, 13, 11, 20, 4, 4, 6, 9, 9, 16, 18, 21, 9, 10, 22, 5, 11, 21, 23, 11, 24, 12, 10, 13, 6, 19, 8, 17, 23, 12, 20, 7, 14, 14, 15, 16, 17, 18, 19, 21, 23, 25, 1, 25, 2, 3, 16, 15, 20, 13, 18}; /* Check vector for state transitions. */ static const unsigned char falkor_mem_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 4, 25, 25, 25, 1, 4, 4, 4, 4, 2, 4, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 6, 10, 3, 5, 8, 7, 10, 10, 10, 10, 20, 10, 3, 5, 8, 20, 20, 20, 20, 9, 20, 22, 22, 22, 22, 22, 11, 24, 12, 9, 13, 22, 24, 24, 24, 24, 11, 24, 12, 14, 13, 15, 16, 17, 18, 19, 21, 23, 25, 14, 25, 15, 16, 17, 18, 19, 21, 23}; /* Base vector for state transitions. */ static const unsigned char falkor_mem_base[] = { 0, 11, 16, 40, 17, 41, 28, 33, 42, 57, 39, 64, 66, 68, 77, 79, 80, 81, 82, 83, 48, 84, 59, 85, 65}; /* Vector of min issue delay of insns. */ static const unsigned char falkor_mem_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 16, 1, 17, 17, 17, 17, 0, 34, 34, 17, 17, 32, 1, 17, 16, 0, 1, 0, 17, 17, 68, 68, 64, 0, 0, 3, 51, 51, 0, 0, 0, 34, 34, 32, 4, 68, 66, 34, 36, 0, 51, 51, 17, 17, 48, 2, 34, 32, 0, 2, 0, 34, 34, 68, 68, 64, 1, 17, 19, 51, 51, 0, 34, 34, 51, 51, 48, 1, 17, 18, 34, 34, 0, 34, 34, 34, 34, 32, 3, 51, 50, 34, 35, 0, 68, 68, 51, 51, 64, 3, 51, 51, 51, 51, 0, 68, 68, 17, 17, 64, 3, 51, 48, 0, 3, 0, 51, 51, 68, 68, 64, 0, 0, 4, 68, 68, 0, 68, 68, 68, 68, 64, 4, 68, 64, 0, 4, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char saphira_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, 1, 2, 3, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 0, 2, 0, 1, 6, 1, 6, 6, 6, 7, 1, 0, 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, 9}; /* Vector for state transitions. */ static const unsigned char saphira_transitions[] ATTRIBUTE_UNUSED = { 0, 35, 6, 53, 51, 43, 35, 2, 1, 0, 1, 54, 54, 54, 54, 54, 54, 54, 54, 0, 2, 34, 7, 32, 28, 3, 54, 54, 54, 0, 3, 27, 8, 25, 4, 54, 54, 54, 54, 0, 4, 24, 9, 5, 54, 54, 54, 54, 54, 0, 5, 23, 54, 54, 54, 54, 54, 54, 54, 6, 6, 14, 54, 54, 22, 18, 14, 7, 54, 0, 7, 13, 54, 54, 11, 8, 54, 54, 54, 0, 8, 10, 54, 54, 9, 54, 54, 54, 54, 0, 9, 1, 54, 54, 54, 54, 54, 54, 54, 0, 10, 54, 54, 54, 1, 54, 54, 54, 54, 0, 11, 12, 54, 54, 54, 9, 54, 54, 54, 0, 12, 1, 54, 54, 54, 1, 54, 54, 54, 0, 13, 10, 54, 54, 12, 10, 54, 54, 54, 0, 14, 17, 54, 54, 15, 7, 54, 54, 54, 0, 15, 16, 54, 54, 54, 11, 54, 54, 54, 0, 16, 12, 54, 54, 54, 12, 54, 54, 54, 0, 17, 13, 54, 54, 16, 13, 54, 54, 54, 0, 18, 7, 54, 54, 21, 19, 7, 8, 54, 0, 19, 8, 54, 54, 20, 54, 8, 54, 54, 0, 20, 9, 54, 54, 54, 54, 9, 54, 54, 0, 21, 11, 54, 54, 54, 20, 11, 9, 54, 0, 22, 15, 54, 54, 54, 21, 15, 11, 54, 0, 23, 54, 54, 54, 54, 54, 54, 54, 54, 6, 24, 54, 1, 23, 54, 54, 54, 54, 54, 0, 25, 26, 54, 54, 5, 54, 54, 54, 54, 6, 26, 54, 54, 54, 23, 54, 54, 54, 54, 6, 27, 54, 10, 26, 24, 54, 54, 54, 54, 0, 28, 31, 11, 29, 54, 4, 54, 54, 54, 0, 29, 30, 54, 54, 54, 5, 54, 54, 54, 6, 30, 23, 54, 54, 54, 23, 54, 54, 54, 6, 31, 24, 12, 30, 54, 24, 54, 54, 54, 0, 32, 33, 54, 54, 29, 25, 54, 54, 54, 6, 33, 26, 54, 54, 30, 26, 54, 54, 54, 6, 34, 27, 13, 33, 31, 27, 54, 54, 54, 0, 35, 42, 14, 40, 36, 2, 54, 54, 54, 0, 36, 39, 15, 37, 54, 28, 54, 54, 54, 0, 37, 38, 54, 54, 54, 29, 54, 54, 54, 6, 38, 30, 54, 54, 54, 30, 54, 54, 54, 6, 39, 31, 16, 38, 54, 31, 54, 54, 54, 0, 40, 41, 54, 54, 37, 32, 54, 54, 54, 6, 41, 33, 54, 54, 38, 33, 54, 54, 54, 6, 42, 34, 17, 41, 39, 34, 54, 54, 54, 0, 43, 2, 18, 50, 48, 44, 2, 3, 54, 0, 44, 3, 19, 47, 45, 54, 3, 54, 54, 0, 45, 4, 20, 46, 54, 54, 4, 54, 54, 0, 46, 5, 54, 54, 54, 54, 5, 54, 54, 6, 47, 25, 54, 54, 46, 54, 25, 54, 54, 6, 48, 28, 21, 49, 54, 45, 28, 4, 54, 0, 49, 29, 54, 54, 54, 46, 29, 5, 54, 6, 50, 32, 54, 54, 49, 47, 32, 25, 54, 6, 51, 36, 22, 52, 54, 48, 36, 28, 54, 0, 52, 37, 54, 54, 54, 49, 37, 29, 54, 6, 53, 40, 54, 54, 52, 50, 40, 32, 54, 6, }; /* Vector of min issue delay of insns. */ static const unsigned char saphira_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 1, 85, 84, 0, 5, 64, 1, 84, 0, 85, 64, 165, 88, 5, 0, 64, 80, 84, 5, 21, 64, 85, 84, 21, 21, 64, 84, 84, 5, 69, 64, 80, 84, 5, 5, 64, 84, 84, 5, 69, 64, 80, 84, 5, 0, 64, 81, 20, 5, 81, 64, 84, 4, 5, 64, 65, 165, 88, 16, 85, 64, 161, 88, 26, 21, 129, 1, 84, 0, 69, 64, 164, 88, 10, 69, 128, 4, 84, 10, 5, 128, 160, 88, 0, 5, 64, 0, 84, 0, 69, 64, 164, 88, 10, 69, 128, 4, 84, 10, 5, 128, 160, 88, 0, 5, 64, 0, 4, 0, 17, 64, 5, 20, 10, 81, 128, 161, 24, 0, 64, 64, 164, 8, 10, 0, 128, 4, 4, 10, 64, 128, 160, 8}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char saphira_vfp_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, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 4, 3, 3, 4, 4, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 5}; /* Vector for state transitions. */ static const unsigned char saphira_vfp_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 1, 4, 5, 0, 1, 3, 5, 6, 6, 2, 2, 4, 3, 6, 6, 0, 3, 6, 6, 6, 6, 2, 4, 6, 6, 6, 6, 0, 5, 6, 6, 6, 6, 4}; /* Vector of min issue delay of insns. */ static const unsigned char saphira_vfp_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 40, 1, 65, 104, 21, 66, 168}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char saphira_mem_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, 1, 1, 2, 2, 3, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 1, 5, 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, 1, 9, 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, 10}; /* Comb vector for state transitions. */ static const unsigned char saphira_mem_transitions[] ATTRIBUTE_UNUSED = { 0, 9, 8, 7, 24, 5, 4, 3, 2, 1, 0, 2, 10, 13, 17, 23, 3, 11, 14, 18, 22, 3, 25, 25, 25, 25, 4, 4, 12, 15, 19, 21, 5, 1, 16, 20, 6, 5, 7, 1, 6, 10, 0, 20, 19, 18, 17, 8, 8, 0, 7, 3, 16, 15, 14, 13, 9, 9, 11, 12, 25, 1, 12, 11, 10, 24, 0, 13, 4, 5, 6, 21, 22, 23, 14, 7, 15, 11, 16, 17, 18, 19, 20, 22, 12, 21, 1, 23, 9, 14, 15, 16, 8, 19, 25, 20, 25, 18}; /* Check vector for state transitions. */ static const unsigned char saphira_mem_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 25, 25, 25, 25, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 4, 7, 1, 6, 10, 5, 7, 7, 7, 7, 8, 7, 1, 6, 10, 8, 8, 8, 8, 9, 8, 11, 12, 25, 9, 9, 9, 9, 24, 9, 13, 11, 12, 24, 24, 24, 24, 14, 24, 15, 13, 16, 17, 18, 19, 20, 22, 14, 21, 15, 23, 16, 17, 18, 19, 20, 22, 25, 21, 25, 23}; /* Base vector for state transitions. */ static const unsigned char saphira_mem_base[] = { 0, 39, 11, 16, 27, 32, 40, 38, 47, 56, 41, 58, 59, 67, 74, 76, 78, 79, 80, 81, 82, 85, 83, 87, 65}; /* Vector of min issue delay of insns. */ static const unsigned char saphira_mem_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 16, 0, 0, 4, 68, 68, 0, 0, 0, 51, 51, 48, 0, 0, 2, 34, 34, 0, 0, 0, 17, 17, 16, 4, 68, 65, 17, 20, 0, 51, 51, 0, 0, 48, 2, 34, 32, 0, 2, 0, 17, 17, 0, 0, 16, 1, 17, 20, 68, 68, 0, 17, 17, 51, 51, 48, 1, 17, 18, 34, 34, 0, 34, 34, 68, 68, 64, 2, 34, 35, 51, 51, 0, 34, 34, 34, 34, 32, 2, 34, 33, 17, 18, 0, 51, 51, 68, 68, 64, 3, 51, 51, 51, 51, 0, 51, 51, 34, 34, 48, 3, 51, 49, 17, 19, 0, 68, 68, 34, 34, 64, 4, 68, 67, 51, 52, 0, 68, 68, 68, 68, 64, 4, 68, 64, 0, 4, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx_main_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, 1, 1, 1, 1, 2, 2, 2, 3, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 3, 4, 5, 3, 2, 2, 2, 2, 2, 2, 2, 2, 6, 7, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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}; /* Comb vector for state transitions. */ static const unsigned short thunderx_main_transitions[] ATTRIBUTE_UNUSED = { 0, 321, 322, 321, 320, 319, 161, 1, 0, 321, 320, 320, 322, 320, 1, 320, 2, 0, 3, 4, 0, 5, 2, 6, 3, 7, 4, 5, 8, 6, 9, 7, 10, 8, 11, 12, 9, 13, 10, 14, 11, 15, 12, 13, 16, 14, 17, 15, 18, 16, 19, 20, 17, 21, 18, 22, 19, 23, 20, 21, 24, 22, 25, 23, 26, 24, 27, 28, 25, 29, 26, 30, 27, 31, 28, 29, 32, 30, 33, 31, 34, 32, 35, 36, 33, 37, 34, 38, 35, 39, 36, 37, 40, 38, 41, 39, 42, 40, 43, 44, 41, 45, 42, 46, 43, 47, 44, 45, 48, 46, 49, 47, 50, 48, 51, 52, 49, 53, 50, 54, 51, 55, 52, 53, 56, 54, 57, 55, 58, 56, 59, 60, 57, 61, 58, 62, 59, 63, 60, 61, 64, 62, 65, 63, 66, 64, 67, 68, 65, 69, 66, 70, 67, 71, 68, 69, 72, 70, 73, 71, 74, 72, 75, 76, 73, 77, 74, 78, 75, 79, 76, 77, 80, 78, 81, 79, 82, 80, 83, 84, 81, 85, 82, 86, 83, 87, 84, 85, 88, 86, 89, 87, 90, 88, 91, 92, 89, 93, 90, 94, 91, 95, 92, 93, 96, 94, 97, 95, 98, 96, 99, 100, 97, 101, 98, 102, 99, 103, 100, 101, 104, 102, 105, 103, 106, 104, 107, 108, 105, 109, 106, 110, 107, 111, 108, 109, 112, 110, 113, 111, 114, 112, 115, 116, 113, 117, 114, 118, 115, 119, 116, 117, 120, 118, 121, 119, 122, 120, 123, 124, 121, 125, 122, 126, 123, 127, 124, 125, 128, 126, 129, 127, 130, 128, 131, 132, 129, 133, 130, 134, 131, 135, 132, 133, 136, 134, 137, 135, 138, 136, 139, 140, 137, 141, 138, 142, 139, 143, 140, 141, 144, 142, 145, 143, 146, 144, 147, 148, 145, 149, 146, 150, 147, 151, 148, 149, 152, 150, 153, 151, 154, 152, 155, 156, 153, 157, 154, 158, 155, 159, 156, 157, 160, 158, 161, 159, 162, 160, 163, 164, 161, 165, 162, 166, 163, 167, 164, 165, 168, 166, 169, 167, 170, 168, 171, 172, 169, 173, 170, 174, 171, 175, 172, 173, 176, 174, 177, 175, 178, 176, 179, 180, 177, 181, 178, 182, 179, 183, 180, 181, 184, 182, 185, 183, 186, 184, 187, 188, 185, 189, 186, 190, 187, 191, 188, 189, 192, 190, 193, 191, 194, 192, 195, 196, 193, 197, 194, 198, 195, 199, 196, 197, 200, 198, 201, 199, 202, 200, 203, 204, 201, 205, 202, 206, 203, 207, 204, 205, 208, 206, 209, 207, 210, 208, 211, 212, 209, 213, 210, 214, 211, 215, 212, 213, 216, 214, 217, 215, 218, 216, 219, 220, 217, 221, 218, 222, 219, 223, 220, 221, 224, 222, 225, 223, 226, 224, 227, 228, 225, 229, 226, 230, 227, 231, 228, 229, 232, 230, 233, 231, 234, 232, 235, 236, 233, 237, 234, 238, 235, 239, 236, 237, 240, 238, 241, 239, 242, 240, 243, 244, 241, 245, 242, 246, 243, 247, 244, 245, 248, 246, 249, 247, 250, 248, 251, 252, 249, 253, 250, 254, 251, 255, 252, 253, 256, 254, 257, 255, 258, 256, 259, 260, 257, 261, 258, 262, 259, 263, 260, 261, 264, 262, 265, 263, 266, 264, 267, 268, 265, 269, 266, 270, 267, 271, 268, 269, 272, 270, 273, 271, 274, 272, 275, 276, 273, 277, 274, 278, 275, 279, 276, 277, 280, 278, 281, 279, 282, 280, 283, 284, 281, 285, 282, 286, 283, 287, 284, 285, 288, 286, 289, 287, 290, 288, 291, 292, 289, 293, 290, 294, 291, 295, 292, 293, 296, 294, 297, 295, 298, 296, 299, 300, 297, 301, 298, 302, 299, 303, 300, 301, 304, 302, 305, 303, 306, 304, 307, 308, 305, 309, 306, 310, 307, 311, 308, 309, 312, 310, 313, 311, 314, 312, 315, 316, 313, 317, 314, 318, 315, 319, 316, 317, 320, 318, 323, 319, 323, 320, 323, 323, 0}; /* Check vector for state transitions. */ static const unsigned short thunderx_main_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 321, 321, 322, 322, 1, 322, 2, 321, 3, 4, 322, 5, 1, 6, 2, 7, 3, 4, 8, 5, 9, 6, 10, 7, 11, 12, 8, 13, 9, 14, 10, 15, 11, 12, 16, 13, 17, 14, 18, 15, 19, 20, 16, 21, 17, 22, 18, 23, 19, 20, 24, 21, 25, 22, 26, 23, 27, 28, 24, 29, 25, 30, 26, 31, 27, 28, 32, 29, 33, 30, 34, 31, 35, 36, 32, 37, 33, 38, 34, 39, 35, 36, 40, 37, 41, 38, 42, 39, 43, 44, 40, 45, 41, 46, 42, 47, 43, 44, 48, 45, 49, 46, 50, 47, 51, 52, 48, 53, 49, 54, 50, 55, 51, 52, 56, 53, 57, 54, 58, 55, 59, 60, 56, 61, 57, 62, 58, 63, 59, 60, 64, 61, 65, 62, 66, 63, 67, 68, 64, 69, 65, 70, 66, 71, 67, 68, 72, 69, 73, 70, 74, 71, 75, 76, 72, 77, 73, 78, 74, 79, 75, 76, 80, 77, 81, 78, 82, 79, 83, 84, 80, 85, 81, 86, 82, 87, 83, 84, 88, 85, 89, 86, 90, 87, 91, 92, 88, 93, 89, 94, 90, 95, 91, 92, 96, 93, 97, 94, 98, 95, 99, 100, 96, 101, 97, 102, 98, 103, 99, 100, 104, 101, 105, 102, 106, 103, 107, 108, 104, 109, 105, 110, 106, 111, 107, 108, 112, 109, 113, 110, 114, 111, 115, 116, 112, 117, 113, 118, 114, 119, 115, 116, 120, 117, 121, 118, 122, 119, 123, 124, 120, 125, 121, 126, 122, 127, 123, 124, 128, 125, 129, 126, 130, 127, 131, 132, 128, 133, 129, 134, 130, 135, 131, 132, 136, 133, 137, 134, 138, 135, 139, 140, 136, 141, 137, 142, 138, 143, 139, 140, 144, 141, 145, 142, 146, 143, 147, 148, 144, 149, 145, 150, 146, 151, 147, 148, 152, 149, 153, 150, 154, 151, 155, 156, 152, 157, 153, 158, 154, 159, 155, 156, 160, 157, 161, 158, 162, 159, 163, 164, 160, 165, 161, 166, 162, 167, 163, 164, 168, 165, 169, 166, 170, 167, 171, 172, 168, 173, 169, 174, 170, 175, 171, 172, 176, 173, 177, 174, 178, 175, 179, 180, 176, 181, 177, 182, 178, 183, 179, 180, 184, 181, 185, 182, 186, 183, 187, 188, 184, 189, 185, 190, 186, 191, 187, 188, 192, 189, 193, 190, 194, 191, 195, 196, 192, 197, 193, 198, 194, 199, 195, 196, 200, 197, 201, 198, 202, 199, 203, 204, 200, 205, 201, 206, 202, 207, 203, 204, 208, 205, 209, 206, 210, 207, 211, 212, 208, 213, 209, 214, 210, 215, 211, 212, 216, 213, 217, 214, 218, 215, 219, 220, 216, 221, 217, 222, 218, 223, 219, 220, 224, 221, 225, 222, 226, 223, 227, 228, 224, 229, 225, 230, 226, 231, 227, 228, 232, 229, 233, 230, 234, 231, 235, 236, 232, 237, 233, 238, 234, 239, 235, 236, 240, 237, 241, 238, 242, 239, 243, 244, 240, 245, 241, 246, 242, 247, 243, 244, 248, 245, 249, 246, 250, 247, 251, 252, 248, 253, 249, 254, 250, 255, 251, 252, 256, 253, 257, 254, 258, 255, 259, 260, 256, 261, 257, 262, 258, 263, 259, 260, 264, 261, 265, 262, 266, 263, 267, 268, 264, 269, 265, 270, 266, 271, 267, 268, 272, 269, 273, 270, 274, 271, 275, 276, 272, 277, 273, 278, 274, 279, 275, 276, 280, 277, 281, 278, 282, 279, 283, 284, 280, 285, 281, 286, 282, 287, 283, 284, 288, 285, 289, 286, 290, 287, 291, 292, 288, 293, 289, 294, 290, 295, 291, 292, 296, 293, 297, 294, 298, 295, 299, 300, 296, 301, 297, 302, 298, 303, 299, 300, 304, 301, 305, 302, 306, 303, 307, 308, 304, 309, 305, 310, 306, 311, 307, 308, 312, 309, 313, 310, 314, 311, 315, 316, 312, 317, 313, 318, 314, 319, 315, 316, 320, 317, 323, 318, 323, 319, 323, 323, 320}; /* Base vector for state transitions. */ static const unsigned short thunderx_main_base[] = { 0, 14, 16, 18, 19, 21, 23, 25, 28, 30, 32, 34, 35, 37, 39, 41, 44, 46, 48, 50, 51, 53, 55, 57, 60, 62, 64, 66, 67, 69, 71, 73, 76, 78, 80, 82, 83, 85, 87, 89, 92, 94, 96, 98, 99, 101, 103, 105, 108, 110, 112, 114, 115, 117, 119, 121, 124, 126, 128, 130, 131, 133, 135, 137, 140, 142, 144, 146, 147, 149, 151, 153, 156, 158, 160, 162, 163, 165, 167, 169, 172, 174, 176, 178, 179, 181, 183, 185, 188, 190, 192, 194, 195, 197, 199, 201, 204, 206, 208, 210, 211, 213, 215, 217, 220, 222, 224, 226, 227, 229, 231, 233, 236, 238, 240, 242, 243, 245, 247, 249, 252, 254, 256, 258, 259, 261, 263, 265, 268, 270, 272, 274, 275, 277, 279, 281, 284, 286, 288, 290, 291, 293, 295, 297, 300, 302, 304, 306, 307, 309, 311, 313, 316, 318, 320, 322, 323, 325, 327, 329, 332, 334, 336, 338, 339, 341, 343, 345, 348, 350, 352, 354, 355, 357, 359, 361, 364, 366, 368, 370, 371, 373, 375, 377, 380, 382, 384, 386, 387, 389, 391, 393, 396, 398, 400, 402, 403, 405, 407, 409, 412, 414, 416, 418, 419, 421, 423, 425, 428, 430, 432, 434, 435, 437, 439, 441, 444, 446, 448, 450, 451, 453, 455, 457, 460, 462, 464, 466, 467, 469, 471, 473, 476, 478, 480, 482, 483, 485, 487, 489, 492, 494, 496, 498, 499, 501, 503, 505, 508, 510, 512, 514, 515, 517, 519, 521, 524, 526, 528, 530, 531, 533, 535, 537, 540, 542, 544, 546, 547, 549, 551, 553, 556, 558, 560, 562, 563, 565, 567, 569, 572, 574, 576, 578, 579, 581, 583, 585, 588, 590, 592, 594, 595, 597, 599, 601, 604, 606, 608, 610, 611, 613, 615, 617, 620, 622, 624, 626, 627, 629, 631, 633, 636, 638, 640, 642, 643, 645, 647, 649, 652, 9, 12}; /* Vector of min issue delay of insns. */ static const unsigned short thunderx_main_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 320, 320, 320, 320, 320, 320, 0, 0, 319, 319, 319, 319, 319, 319, 319, 0, 0, 318, 318, 318, 318, 318, 318, 318, 0, 0, 317, 317, 317, 317, 317, 317, 317, 0, 0, 316, 316, 316, 316, 316, 316, 316, 0, 0, 315, 315, 315, 315, 315, 315, 315, 0, 0, 314, 314, 314, 314, 314, 314, 314, 0, 0, 313, 313, 313, 313, 313, 313, 313, 0, 0, 312, 312, 312, 312, 312, 312, 312, 0, 0, 311, 311, 311, 311, 311, 311, 311, 0, 0, 310, 310, 310, 310, 310, 310, 310, 0, 0, 309, 309, 309, 309, 309, 309, 309, 0, 0, 308, 308, 308, 308, 308, 308, 308, 0, 0, 307, 307, 307, 307, 307, 307, 307, 0, 0, 306, 306, 306, 306, 306, 306, 306, 0, 0, 305, 305, 305, 305, 305, 305, 305, 0, 0, 304, 304, 304, 304, 304, 304, 304, 0, 0, 303, 303, 303, 303, 303, 303, 303, 0, 0, 302, 302, 302, 302, 302, 302, 302, 0, 0, 301, 301, 301, 301, 301, 301, 301, 0, 0, 300, 300, 300, 300, 300, 300, 300, 0, 0, 299, 299, 299, 299, 299, 299, 299, 0, 0, 298, 298, 298, 298, 298, 298, 298, 0, 0, 297, 297, 297, 297, 297, 297, 297, 0, 0, 296, 296, 296, 296, 296, 296, 296, 0, 0, 295, 295, 295, 295, 295, 295, 295, 0, 0, 294, 294, 294, 294, 294, 294, 294, 0, 0, 293, 293, 293, 293, 293, 293, 293, 0, 0, 292, 292, 292, 292, 292, 292, 292, 0, 0, 291, 291, 291, 291, 291, 291, 291, 0, 0, 290, 290, 290, 290, 290, 290, 290, 0, 0, 289, 289, 289, 289, 289, 289, 289, 0, 0, 288, 288, 288, 288, 288, 288, 288, 0, 0, 287, 287, 287, 287, 287, 287, 287, 0, 0, 286, 286, 286, 286, 286, 286, 286, 0, 0, 285, 285, 285, 285, 285, 285, 285, 0, 0, 284, 284, 284, 284, 284, 284, 284, 0, 0, 283, 283, 283, 283, 283, 283, 283, 0, 0, 282, 282, 282, 282, 282, 282, 282, 0, 0, 281, 281, 281, 281, 281, 281, 281, 0, 0, 280, 280, 280, 280, 280, 280, 280, 0, 0, 279, 279, 279, 279, 279, 279, 279, 0, 0, 278, 278, 278, 278, 278, 278, 278, 0, 0, 277, 277, 277, 277, 277, 277, 277, 0, 0, 276, 276, 276, 276, 276, 276, 276, 0, 0, 275, 275, 275, 275, 275, 275, 275, 0, 0, 274, 274, 274, 274, 274, 274, 274, 0, 0, 273, 273, 273, 273, 273, 273, 273, 0, 0, 272, 272, 272, 272, 272, 272, 272, 0, 0, 271, 271, 271, 271, 271, 271, 271, 0, 0, 270, 270, 270, 270, 270, 270, 270, 0, 0, 269, 269, 269, 269, 269, 269, 269, 0, 0, 268, 268, 268, 268, 268, 268, 268, 0, 0, 267, 267, 267, 267, 267, 267, 267, 0, 0, 266, 266, 266, 266, 266, 266, 266, 0, 0, 265, 265, 265, 265, 265, 265, 265, 0, 0, 264, 264, 264, 264, 264, 264, 264, 0, 0, 263, 263, 263, 263, 263, 263, 263, 0, 0, 262, 262, 262, 262, 262, 262, 262, 0, 0, 261, 261, 261, 261, 261, 261, 261, 0, 0, 260, 260, 260, 260, 260, 260, 260, 0, 0, 259, 259, 259, 259, 259, 259, 259, 0, 0, 258, 258, 258, 258, 258, 258, 258, 0, 0, 257, 257, 257, 257, 257, 257, 257, 0, 0, 256, 256, 256, 256, 256, 256, 256, 0, 0, 255, 255, 255, 255, 255, 255, 255, 0, 0, 254, 254, 254, 254, 254, 254, 254, 0, 0, 253, 253, 253, 253, 253, 253, 253, 0, 0, 252, 252, 252, 252, 252, 252, 252, 0, 0, 251, 251, 251, 251, 251, 251, 251, 0, 0, 250, 250, 250, 250, 250, 250, 250, 0, 0, 249, 249, 249, 249, 249, 249, 249, 0, 0, 248, 248, 248, 248, 248, 248, 248, 0, 0, 247, 247, 247, 247, 247, 247, 247, 0, 0, 246, 246, 246, 246, 246, 246, 246, 0, 0, 245, 245, 245, 245, 245, 245, 245, 0, 0, 244, 244, 244, 244, 244, 244, 244, 0, 0, 243, 243, 243, 243, 243, 243, 243, 0, 0, 242, 242, 242, 242, 242, 242, 242, 0, 0, 241, 241, 241, 241, 241, 241, 241, 0, 0, 240, 240, 240, 240, 240, 240, 240, 0, 0, 239, 239, 239, 239, 239, 239, 239, 0, 0, 238, 238, 238, 238, 238, 238, 238, 0, 0, 237, 237, 237, 237, 237, 237, 237, 0, 0, 236, 236, 236, 236, 236, 236, 236, 0, 0, 235, 235, 235, 235, 235, 235, 235, 0, 0, 234, 234, 234, 234, 234, 234, 234, 0, 0, 233, 233, 233, 233, 233, 233, 233, 0, 0, 232, 232, 232, 232, 232, 232, 232, 0, 0, 231, 231, 231, 231, 231, 231, 231, 0, 0, 230, 230, 230, 230, 230, 230, 230, 0, 0, 229, 229, 229, 229, 229, 229, 229, 0, 0, 228, 228, 228, 228, 228, 228, 228, 0, 0, 227, 227, 227, 227, 227, 227, 227, 0, 0, 226, 226, 226, 226, 226, 226, 226, 0, 0, 225, 225, 225, 225, 225, 225, 225, 0, 0, 224, 224, 224, 224, 224, 224, 224, 0, 0, 223, 223, 223, 223, 223, 223, 223, 0, 0, 222, 222, 222, 222, 222, 222, 222, 0, 0, 221, 221, 221, 221, 221, 221, 221, 0, 0, 220, 220, 220, 220, 220, 220, 220, 0, 0, 219, 219, 219, 219, 219, 219, 219, 0, 0, 218, 218, 218, 218, 218, 218, 218, 0, 0, 217, 217, 217, 217, 217, 217, 217, 0, 0, 216, 216, 216, 216, 216, 216, 216, 0, 0, 215, 215, 215, 215, 215, 215, 215, 0, 0, 214, 214, 214, 214, 214, 214, 214, 0, 0, 213, 213, 213, 213, 213, 213, 213, 0, 0, 212, 212, 212, 212, 212, 212, 212, 0, 0, 211, 211, 211, 211, 211, 211, 211, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 209, 209, 209, 209, 209, 209, 209, 0, 0, 208, 208, 208, 208, 208, 208, 208, 0, 0, 207, 207, 207, 207, 207, 207, 207, 0, 0, 206, 206, 206, 206, 206, 206, 206, 0, 0, 205, 205, 205, 205, 205, 205, 205, 0, 0, 204, 204, 204, 204, 204, 204, 204, 0, 0, 203, 203, 203, 203, 203, 203, 203, 0, 0, 202, 202, 202, 202, 202, 202, 202, 0, 0, 201, 201, 201, 201, 201, 201, 201, 0, 0, 200, 200, 200, 200, 200, 200, 200, 0, 0, 199, 199, 199, 199, 199, 199, 199, 0, 0, 198, 198, 198, 198, 198, 198, 198, 0, 0, 197, 197, 197, 197, 197, 197, 197, 0, 0, 196, 196, 196, 196, 196, 196, 196, 0, 0, 195, 195, 195, 195, 195, 195, 195, 0, 0, 194, 194, 194, 194, 194, 194, 194, 0, 0, 193, 193, 193, 193, 193, 193, 193, 0, 0, 192, 192, 192, 192, 192, 192, 192, 0, 0, 191, 191, 191, 191, 191, 191, 191, 0, 0, 190, 190, 190, 190, 190, 190, 190, 0, 0, 189, 189, 189, 189, 189, 189, 189, 0, 0, 188, 188, 188, 188, 188, 188, 188, 0, 0, 187, 187, 187, 187, 187, 187, 187, 0, 0, 186, 186, 186, 186, 186, 186, 186, 0, 0, 185, 185, 185, 185, 185, 185, 185, 0, 0, 184, 184, 184, 184, 184, 184, 184, 0, 0, 183, 183, 183, 183, 183, 183, 183, 0, 0, 182, 182, 182, 182, 182, 182, 182, 0, 0, 181, 181, 181, 181, 181, 181, 181, 0, 0, 180, 180, 180, 180, 180, 180, 180, 0, 0, 179, 179, 179, 179, 179, 179, 179, 0, 0, 178, 178, 178, 178, 178, 178, 178, 0, 0, 177, 177, 177, 177, 177, 177, 177, 0, 0, 176, 176, 176, 176, 176, 176, 176, 0, 0, 175, 175, 175, 175, 175, 175, 175, 0, 0, 174, 174, 174, 174, 174, 174, 174, 0, 0, 173, 173, 173, 173, 173, 173, 173, 0, 0, 172, 172, 172, 172, 172, 172, 172, 0, 0, 171, 171, 171, 171, 171, 171, 171, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 169, 169, 169, 169, 169, 169, 169, 0, 0, 168, 168, 168, 168, 168, 168, 168, 0, 0, 167, 167, 167, 167, 167, 167, 167, 0, 0, 166, 166, 166, 166, 166, 166, 166, 0, 0, 165, 165, 165, 165, 165, 165, 165, 0, 0, 164, 164, 164, 164, 164, 164, 164, 0, 0, 163, 163, 163, 163, 163, 163, 163, 0, 0, 162, 162, 162, 162, 162, 162, 162, 0, 0, 161, 161, 161, 161, 161, 161, 161, 0, 0, 160, 160, 160, 160, 160, 160, 160, 0, 0, 159, 159, 159, 159, 159, 159, 159, 0, 0, 158, 158, 158, 158, 158, 158, 158, 0, 0, 157, 157, 157, 157, 157, 157, 157, 0, 0, 156, 156, 156, 156, 156, 156, 156, 0, 0, 155, 155, 155, 155, 155, 155, 155, 0, 0, 154, 154, 154, 154, 154, 154, 154, 0, 0, 153, 153, 153, 153, 153, 153, 153, 0, 0, 152, 152, 152, 152, 152, 152, 152, 0, 0, 151, 151, 151, 151, 151, 151, 151, 0, 0, 150, 150, 150, 150, 150, 150, 150, 0, 0, 149, 149, 149, 149, 149, 149, 149, 0, 0, 148, 148, 148, 148, 148, 148, 148, 0, 0, 147, 147, 147, 147, 147, 147, 147, 0, 0, 146, 146, 146, 146, 146, 146, 146, 0, 0, 145, 145, 145, 145, 145, 145, 145, 0, 0, 144, 144, 144, 144, 144, 144, 144, 0, 0, 143, 143, 143, 143, 143, 143, 143, 0, 0, 142, 142, 142, 142, 142, 142, 142, 0, 0, 141, 141, 141, 141, 141, 141, 141, 0, 0, 140, 140, 140, 140, 140, 140, 140, 0, 0, 139, 139, 139, 139, 139, 139, 139, 0, 0, 138, 138, 138, 138, 138, 138, 138, 0, 0, 137, 137, 137, 137, 137, 137, 137, 0, 0, 136, 136, 136, 136, 136, 136, 136, 0, 0, 135, 135, 135, 135, 135, 135, 135, 0, 0, 134, 134, 134, 134, 134, 134, 134, 0, 0, 133, 133, 133, 133, 133, 133, 133, 0, 0, 132, 132, 132, 132, 132, 132, 132, 0, 0, 131, 131, 131, 131, 131, 131, 131, 0, 0, 130, 130, 130, 130, 130, 130, 130, 0, 0, 129, 129, 129, 129, 129, 129, 129, 0, 0, 128, 128, 128, 128, 128, 128, 128, 0, 0, 127, 127, 127, 127, 127, 127, 127, 0, 0, 126, 126, 126, 126, 126, 126, 126, 0, 0, 125, 125, 125, 125, 125, 125, 125, 0, 0, 124, 124, 124, 124, 124, 124, 124, 0, 0, 123, 123, 123, 123, 123, 123, 123, 0, 0, 122, 122, 122, 122, 122, 122, 122, 0, 0, 121, 121, 121, 121, 121, 121, 121, 0, 0, 120, 120, 120, 120, 120, 120, 120, 0, 0, 119, 119, 119, 119, 119, 119, 119, 0, 0, 118, 118, 118, 118, 118, 118, 118, 0, 0, 117, 117, 117, 117, 117, 117, 117, 0, 0, 116, 116, 116, 116, 116, 116, 116, 0, 0, 115, 115, 115, 115, 115, 115, 115, 0, 0, 114, 114, 114, 114, 114, 114, 114, 0, 0, 113, 113, 113, 113, 113, 113, 113, 0, 0, 112, 112, 112, 112, 112, 112, 112, 0, 0, 111, 111, 111, 111, 111, 111, 111, 0, 0, 110, 110, 110, 110, 110, 110, 110, 0, 0, 109, 109, 109, 109, 109, 109, 109, 0, 0, 108, 108, 108, 108, 108, 108, 108, 0, 0, 107, 107, 107, 107, 107, 107, 107, 0, 0, 106, 106, 106, 106, 106, 106, 106, 0, 0, 105, 105, 105, 105, 105, 105, 105, 0, 0, 104, 104, 104, 104, 104, 104, 104, 0, 0, 103, 103, 103, 103, 103, 103, 103, 0, 0, 102, 102, 102, 102, 102, 102, 102, 0, 0, 101, 101, 101, 101, 101, 101, 101, 0, 0, 100, 100, 100, 100, 100, 100, 100, 0, 0, 99, 99, 99, 99, 99, 99, 99, 0, 0, 98, 98, 98, 98, 98, 98, 98, 0, 0, 97, 97, 97, 97, 97, 97, 97, 0, 0, 96, 96, 96, 96, 96, 96, 96, 0, 0, 95, 95, 95, 95, 95, 95, 95, 0, 0, 94, 94, 94, 94, 94, 94, 94, 0, 0, 93, 93, 93, 93, 93, 93, 93, 0, 0, 92, 92, 92, 92, 92, 92, 92, 0, 0, 91, 91, 91, 91, 91, 91, 91, 0, 0, 90, 90, 90, 90, 90, 90, 90, 0, 0, 89, 89, 89, 89, 89, 89, 89, 0, 0, 88, 88, 88, 88, 88, 88, 88, 0, 0, 87, 87, 87, 87, 87, 87, 87, 0, 0, 86, 86, 86, 86, 86, 86, 86, 0, 0, 85, 85, 85, 85, 85, 85, 85, 0, 0, 84, 84, 84, 84, 84, 84, 84, 0, 0, 83, 83, 83, 83, 83, 83, 83, 0, 0, 82, 82, 82, 82, 82, 82, 82, 0, 0, 81, 81, 81, 81, 81, 81, 81, 0, 0, 80, 80, 80, 80, 80, 80, 80, 0, 0, 79, 79, 79, 79, 79, 79, 79, 0, 0, 78, 78, 78, 78, 78, 78, 78, 0, 0, 77, 77, 77, 77, 77, 77, 77, 0, 0, 76, 76, 76, 76, 76, 76, 76, 0, 0, 75, 75, 75, 75, 75, 75, 75, 0, 0, 74, 74, 74, 74, 74, 74, 74, 0, 0, 73, 73, 73, 73, 73, 73, 73, 0, 0, 72, 72, 72, 72, 72, 72, 72, 0, 0, 71, 71, 71, 71, 71, 71, 71, 0, 0, 70, 70, 70, 70, 70, 70, 70, 0, 0, 69, 69, 69, 69, 69, 69, 69, 0, 0, 68, 68, 68, 68, 68, 68, 68, 0, 0, 67, 67, 67, 67, 67, 67, 67, 0, 0, 66, 66, 66, 66, 66, 66, 66, 0, 0, 65, 65, 65, 65, 65, 65, 65, 0, 0, 64, 64, 64, 64, 64, 64, 64, 0, 0, 63, 63, 63, 63, 63, 63, 63, 0, 0, 62, 62, 62, 62, 62, 62, 62, 0, 0, 61, 61, 61, 61, 61, 61, 61, 0, 0, 60, 60, 60, 60, 60, 60, 60, 0, 0, 59, 59, 59, 59, 59, 59, 59, 0, 0, 58, 58, 58, 58, 58, 58, 58, 0, 0, 57, 57, 57, 57, 57, 57, 57, 0, 0, 56, 56, 56, 56, 56, 56, 56, 0, 0, 55, 55, 55, 55, 55, 55, 55, 0, 0, 54, 54, 54, 54, 54, 54, 54, 0, 0, 53, 53, 53, 53, 53, 53, 53, 0, 0, 52, 52, 52, 52, 52, 52, 52, 0, 0, 51, 51, 51, 51, 51, 51, 51, 0, 0, 50, 50, 50, 50, 50, 50, 50, 0, 0, 49, 49, 49, 49, 49, 49, 49, 0, 0, 48, 48, 48, 48, 48, 48, 48, 0, 0, 47, 47, 47, 47, 47, 47, 47, 0, 0, 46, 46, 46, 46, 46, 46, 46, 0, 0, 45, 45, 45, 45, 45, 45, 45, 0, 0, 44, 44, 44, 44, 44, 44, 44, 0, 0, 43, 43, 43, 43, 43, 43, 43, 0, 0, 42, 42, 42, 42, 42, 42, 42, 0, 0, 41, 41, 41, 41, 41, 41, 41, 0, 0, 40, 40, 40, 40, 40, 40, 40, 0, 0, 39, 39, 39, 39, 39, 39, 39, 0, 0, 38, 38, 38, 38, 38, 38, 38, 0, 0, 37, 37, 37, 37, 37, 37, 37, 0, 0, 36, 36, 36, 36, 36, 36, 36, 0, 0, 35, 35, 35, 35, 35, 35, 35, 0, 0, 34, 34, 34, 34, 34, 34, 34, 0, 0, 33, 33, 33, 33, 33, 33, 33, 0, 0, 32, 32, 32, 32, 32, 32, 32, 0, 0, 31, 31, 31, 31, 31, 31, 31, 0, 0, 30, 30, 30, 30, 30, 30, 30, 0, 0, 29, 29, 29, 29, 29, 29, 29, 0, 0, 28, 28, 28, 28, 28, 28, 28, 0, 0, 27, 27, 27, 27, 27, 27, 27, 0, 0, 26, 26, 26, 26, 26, 26, 26, 0, 0, 25, 25, 25, 25, 25, 25, 25, 0, 0, 24, 24, 24, 24, 24, 24, 24, 0, 0, 23, 23, 23, 23, 23, 23, 23, 0, 0, 22, 22, 22, 22, 22, 22, 22, 0, 0, 21, 21, 21, 21, 21, 21, 21, 0, 0, 20, 20, 20, 20, 20, 20, 20, 0, 0, 19, 19, 19, 19, 19, 19, 19, 0, 0, 18, 18, 18, 18, 18, 18, 18, 0, 0, 17, 17, 17, 17, 17, 17, 17, 0, 0, 16, 16, 16, 16, 16, 16, 16, 0, 0, 15, 15, 15, 15, 15, 15, 15, 0, 0, 14, 14, 14, 14, 14, 14, 14, 0, 0, 13, 13, 13, 13, 13, 13, 13, 0, 0, 12, 12, 12, 12, 12, 12, 12, 0, 0, 11, 11, 11, 11, 11, 11, 11, 0, 0, 10, 10, 10, 10, 10, 10, 10, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 3, 3, 3, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2}; /* Vector for state transitions. */ static const unsigned char thunderx_mult_transitions[] ATTRIBUTE_UNUSED = { 0, 1, 0, 1, 2, 0}; /* Vector of min issue delay of insns. */ static const unsigned char thunderx_mult_min_issue_delay[] ATTRIBUTE_UNUSED = { 8}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx_divide_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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 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, 6}; /* Comb vector for state transitions. */ static const unsigned char thunderx_divide_transitions[] ATTRIBUTE_UNUSED = { 0, 7, 20, 10, 15, 1, 0, 1, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 8, 9, 10, 11, 12, 13, 13, 14, 15, 16, 17, 18, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 25, 25, 26, 27, 28, 29, 29, 26, 27, 28, 0}; /* Check vector for state transitions. */ static const unsigned char thunderx_divide_check[] = { 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 25, 26, 27, 28}; /* Base vector for state transitions. */ static const unsigned char thunderx_divide_base[] = { 0, 7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 31, 32, 33, 34, 35, 36, 43, 44, 45, 46, 47, 48, 55, 56, 57, 58}; /* Vector of min issue delay of insns. */ static const unsigned char thunderx_divide_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28, 28, 28, 0, 0, 27, 27, 27, 27, 27, 0, 0, 26, 26, 26, 26, 26, 0, 0, 25, 25, 25, 25, 25, 0, 0, 24, 24, 24, 24, 24, 0, 0, 23, 23, 23, 23, 23, 0, 0, 22, 22, 22, 22, 22, 0, 0, 21, 21, 21, 21, 21, 0, 0, 20, 20, 20, 20, 20, 0, 0, 19, 19, 19, 19, 19, 0, 0, 18, 18, 18, 18, 18, 0, 0, 17, 17, 17, 17, 17, 0, 0, 16, 16, 16, 16, 16, 0, 0, 15, 15, 15, 15, 15, 0, 0, 14, 14, 14, 14, 14, 0, 0, 13, 13, 13, 13, 13, 0, 0, 12, 12, 12, 12, 12, 0, 0, 11, 11, 11, 11, 11, 0, 0, 10, 10, 10, 10, 10, 0, 0, 9, 9, 9, 9, 9, 0, 0, 8, 8, 8, 8, 8, 0, 0, 7, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 3, 0, 0, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx_simd_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, 1, 2, 1, 2, 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, 3}; /* Vector for state transitions. */ static const unsigned char thunderx_simd_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 thunderx_simd_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 40, 20}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char xgene1_main_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, 1, 2, 0, 0, 0, 3, 4, 1, 1, 2, 5, 5, 5, 6, 6, 6, 7, 8, 9, 0, 0, 5, 6, 0, 0, 0, 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, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 xgene1_main_transitions[] ATTRIBUTE_UNUSED = { 0, 11, 7, 251, 249, 245, 1, 185, 18, 1, 0, 1, 2, 8, 208, 204, 194, 252, 252, 252, 252, 0, 2, 252, 3, 252, 5, 85, 252, 252, 252, 252, 0, 3, 252, 252, 252, 252, 4, 252, 252, 252, 252, 0, 4, 252, 252, 252, 252, 252, 252, 252, 252, 252, 0, 5, 252, 252, 252, 252, 6, 252, 252, 252, 252, 7, 6, 252, 252, 252, 252, 252, 252, 252, 252, 252, 7, 7, 197, 252, 244, 252, 242, 8, 44, 19, 8, 0, 8, 3, 252, 9, 252, 56, 252, 252, 252, 252, 0, 9, 252, 252, 252, 252, 10, 252, 252, 252, 252, 11, 10, 252, 252, 252, 252, 252, 252, 252, 252, 252, 11, 11, 252, 197, 252, 241, 239, 2, 35, 12, 2, 0, 12, 252, 13, 252, 163, 86, 252, 252, 252, 252, 15, 13, 252, 252, 252, 252, 14, 252, 252, 252, 252, 15, 14, 252, 252, 252, 252, 252, 252, 252, 252, 252, 15, 15, 22, 88, 238, 236, 232, 95, 252, 252, 95, 16, 16, 92, 28, 231, 229, 225, 39, 217, 209, 39, 17, 17, 34, 43, 207, 203, 193, 252, 185, 18, 1, 0, 18, 12, 19, 178, 182, 184, 252, 252, 252, 252, 15, 19, 13, 252, 20, 252, 57, 252, 252, 252, 252, 15, 20, 252, 252, 252, 252, 21, 252, 252, 252, 252, 22, 21, 252, 252, 252, 252, 252, 252, 252, 252, 252, 22, 22, 252, 160, 252, 177, 175, 23, 252, 252, 23, 16, 23, 252, 24, 252, 26, 127, 252, 252, 252, 252, 16, 24, 252, 252, 252, 252, 25, 252, 252, 252, 252, 16, 25, 252, 252, 252, 252, 252, 252, 252, 252, 252, 16, 26, 252, 252, 252, 252, 27, 252, 252, 252, 252, 28, 27, 252, 252, 252, 252, 252, 252, 252, 252, 252, 28, 28, 99, 252, 174, 252, 172, 29, 168, 164, 29, 17, 29, 30, 252, 32, 252, 69, 252, 252, 252, 252, 17, 30, 252, 252, 252, 252, 31, 252, 252, 252, 252, 17, 31, 252, 252, 252, 252, 252, 252, 252, 252, 252, 17, 32, 252, 252, 252, 252, 33, 252, 252, 252, 252, 34, 33, 252, 252, 252, 252, 252, 252, 252, 252, 252, 34, 34, 252, 61, 252, 162, 84, 252, 35, 12, 2, 0, 35, 252, 36, 252, 81, 83, 252, 252, 252, 252, 38, 36, 252, 252, 252, 252, 37, 252, 252, 252, 252, 38, 37, 252, 252, 252, 252, 252, 252, 252, 252, 252, 38, 38, 47, 80, 78, 76, 70, 39, 252, 252, 39, 17, 39, 40, 29, 62, 66, 68, 252, 252, 252, 252, 17, 40, 252, 30, 252, 41, 49, 252, 252, 252, 252, 17, 41, 252, 252, 252, 252, 42, 252, 252, 252, 252, 43, 42, 252, 252, 252, 252, 252, 252, 252, 252, 252, 43, 43, 61, 252, 60, 252, 55, 252, 44, 19, 8, 0, 44, 36, 252, 45, 252, 54, 252, 252, 252, 252, 38, 45, 252, 252, 252, 252, 46, 252, 252, 252, 252, 47, 46, 252, 252, 252, 252, 252, 252, 252, 252, 252, 47, 47, 252, 53, 252, 52, 48, 40, 252, 252, 40, 17, 48, 252, 51, 252, 50, 49, 49, 252, 252, 49, 17, 49, 252, 31, 252, 42, 252, 252, 252, 252, 252, 17, 50, 252, 252, 252, 252, 42, 42, 252, 252, 42, 43, 51, 252, 252, 252, 252, 31, 31, 252, 252, 31, 17, 52, 252, 252, 252, 252, 50, 41, 252, 252, 41, 43, 53, 252, 252, 252, 252, 51, 30, 252, 252, 30, 17, 54, 37, 252, 46, 252, 252, 252, 252, 252, 252, 38, 55, 59, 252, 58, 252, 56, 252, 54, 57, 56, 0, 56, 4, 252, 10, 252, 252, 252, 252, 252, 252, 0, 57, 14, 252, 21, 252, 252, 252, 252, 252, 252, 15, 58, 252, 252, 252, 252, 10, 252, 46, 21, 10, 11, 59, 252, 252, 252, 252, 4, 252, 37, 14, 4, 0, 60, 252, 252, 252, 252, 58, 252, 45, 20, 9, 11, 61, 252, 252, 252, 252, 59, 252, 36, 13, 3, 0, 62, 252, 32, 252, 63, 65, 252, 252, 252, 252, 34, 63, 252, 252, 252, 252, 64, 252, 252, 252, 252, 61, 64, 252, 252, 252, 252, 252, 252, 252, 252, 252, 61, 65, 252, 33, 252, 64, 252, 252, 252, 252, 252, 34, 66, 41, 252, 63, 252, 67, 252, 252, 252, 252, 43, 67, 42, 252, 64, 252, 252, 252, 252, 252, 252, 43, 68, 49, 69, 65, 67, 252, 252, 252, 252, 252, 17, 69, 31, 252, 33, 252, 252, 252, 252, 252, 252, 17, 70, 48, 75, 73, 71, 68, 68, 252, 252, 68, 17, 71, 50, 252, 72, 252, 67, 67, 252, 252, 67, 43, 72, 252, 252, 252, 252, 64, 64, 252, 252, 64, 61, 73, 252, 74, 252, 72, 65, 65, 252, 252, 65, 34, 74, 252, 252, 252, 252, 33, 33, 252, 252, 33, 34, 75, 51, 252, 74, 252, 69, 69, 252, 252, 69, 17, 76, 52, 252, 77, 252, 71, 66, 252, 252, 66, 43, 77, 252, 252, 252, 252, 72, 63, 252, 252, 63, 61, 78, 252, 79, 252, 77, 73, 62, 252, 252, 62, 34, 79, 252, 252, 252, 252, 74, 32, 252, 252, 32, 34, 80, 53, 252, 79, 252, 75, 29, 252, 252, 29, 17, 81, 252, 252, 252, 252, 82, 252, 252, 252, 252, 80, 82, 252, 252, 252, 252, 252, 252, 252, 252, 252, 80, 83, 252, 37, 252, 82, 252, 252, 252, 252, 252, 38, 84, 252, 59, 252, 161, 85, 252, 83, 86, 85, 0, 85, 252, 4, 252, 6, 252, 252, 252, 252, 252, 0, 86, 252, 14, 252, 87, 252, 252, 252, 252, 252, 15, 87, 252, 252, 252, 252, 252, 252, 252, 252, 252, 88, 88, 160, 252, 159, 252, 156, 89, 252, 252, 89, 16, 89, 24, 252, 90, 252, 128, 252, 252, 252, 252, 16, 90, 252, 252, 252, 252, 91, 252, 252, 252, 252, 92, 91, 252, 252, 252, 252, 252, 252, 252, 252, 252, 92, 92, 252, 99, 252, 155, 153, 40, 149, 93, 40, 17, 93, 252, 100, 252, 148, 146, 252, 252, 252, 252, 94, 94, 145, 143, 141, 138, 129, 252, 252, 252, 95, 16, 95, 23, 89, 96, 124, 126, 252, 252, 252, 252, 16, 96, 252, 90, 252, 97, 123, 252, 252, 252, 252, 92, 97, 252, 252, 252, 252, 98, 252, 252, 252, 252, 99, 98, 252, 252, 252, 252, 252, 252, 252, 252, 252, 99, 99, 252, 252, 252, 252, 122, 30, 102, 100, 30, 17, 100, 252, 252, 252, 252, 101, 252, 252, 252, 252, 94, 101, 252, 252, 252, 252, 252, 252, 252, 252, 252, 94, 102, 252, 252, 252, 252, 121, 252, 252, 252, 252, 103, 103, 120, 118, 116, 113, 104, 252, 252, 252, 39, 17, 104, 112, 110, 108, 105, 68, 252, 252, 252, 68, 17, 105, 107, 252, 106, 252, 67, 252, 252, 252, 67, 43, 106, 252, 252, 252, 252, 64, 252, 252, 252, 64, 61, 107, 252, 252, 252, 252, 42, 252, 252, 252, 42, 43, 108, 252, 109, 252, 106, 65, 252, 252, 252, 65, 34, 109, 252, 252, 252, 252, 33, 252, 252, 252, 33, 34, 110, 111, 252, 109, 252, 69, 252, 252, 252, 69, 17, 111, 252, 252, 252, 252, 31, 252, 252, 252, 31, 17, 112, 252, 111, 252, 107, 49, 252, 252, 252, 49, 17, 113, 115, 252, 114, 252, 105, 252, 252, 252, 66, 43, 114, 252, 252, 252, 252, 106, 252, 252, 252, 63, 61, 115, 252, 252, 252, 252, 107, 252, 252, 252, 41, 43, 116, 252, 117, 252, 114, 108, 252, 252, 252, 62, 34, 117, 252, 252, 252, 252, 109, 252, 252, 252, 32, 34, 118, 119, 252, 117, 252, 110, 252, 252, 252, 29, 17, 119, 252, 252, 252, 252, 111, 252, 252, 252, 30, 17, 120, 252, 119, 252, 115, 112, 252, 252, 252, 40, 17, 121, 252, 252, 252, 252, 252, 252, 252, 252, 252, 103, 122, 252, 252, 252, 252, 31, 31, 121, 101, 31, 17, 123, 252, 91, 252, 98, 252, 252, 252, 252, 252, 92, 124, 26, 252, 97, 252, 125, 252, 252, 252, 252, 28, 125, 27, 252, 98, 252, 252, 252, 252, 252, 252, 28, 126, 127, 128, 123, 125, 252, 252, 252, 252, 252, 16, 127, 252, 25, 252, 27, 252, 252, 252, 252, 252, 16, 128, 25, 252, 91, 252, 252, 252, 252, 252, 252, 16, 129, 137, 135, 133, 130, 126, 252, 252, 252, 126, 16, 130, 132, 252, 131, 252, 125, 252, 252, 252, 125, 28, 131, 252, 252, 252, 252, 98, 252, 252, 252, 98, 99, 132, 252, 252, 252, 252, 27, 252, 252, 252, 27, 28, 133, 252, 134, 252, 131, 123, 252, 252, 252, 123, 92, 134, 252, 252, 252, 252, 91, 252, 252, 252, 91, 92, 135, 136, 252, 134, 252, 128, 252, 252, 252, 128, 16, 136, 252, 252, 252, 252, 25, 252, 252, 252, 25, 16, 137, 252, 136, 252, 132, 127, 252, 252, 252, 127, 16, 138, 140, 252, 139, 252, 130, 252, 252, 252, 124, 28, 139, 252, 252, 252, 252, 131, 252, 252, 252, 97, 99, 140, 252, 252, 252, 252, 132, 252, 252, 252, 26, 28, 141, 252, 142, 252, 139, 133, 252, 252, 252, 96, 92, 142, 252, 252, 252, 252, 134, 252, 252, 252, 90, 92, 143, 144, 252, 142, 252, 135, 252, 252, 252, 89, 16, 144, 252, 252, 252, 252, 136, 252, 252, 252, 24, 16, 145, 252, 144, 252, 140, 137, 252, 252, 252, 23, 16, 146, 252, 101, 252, 147, 252, 252, 252, 252, 252, 94, 147, 252, 252, 252, 252, 252, 252, 252, 252, 252, 143, 148, 252, 252, 252, 252, 147, 252, 252, 252, 252, 143, 149, 252, 102, 252, 152, 150, 252, 252, 252, 252, 103, 150, 252, 121, 252, 151, 252, 252, 252, 252, 252, 103, 151, 252, 252, 252, 252, 252, 252, 252, 252, 252, 118, 152, 252, 252, 252, 252, 151, 252, 252, 252, 252, 118, 153, 252, 122, 252, 154, 49, 49, 150, 146, 49, 17, 154, 252, 252, 252, 252, 42, 42, 151, 147, 42, 43, 155, 252, 252, 252, 252, 154, 41, 152, 148, 41, 43, 156, 158, 252, 157, 252, 128, 128, 252, 252, 128, 16, 157, 252, 252, 252, 252, 91, 91, 252, 252, 91, 92, 158, 252, 252, 252, 252, 25, 25, 252, 252, 25, 16, 159, 252, 252, 252, 252, 157, 90, 252, 252, 90, 92, 160, 252, 252, 252, 252, 158, 24, 252, 252, 24, 16, 161, 252, 252, 252, 252, 6, 252, 82, 87, 6, 7, 162, 252, 252, 252, 252, 161, 252, 81, 163, 5, 7, 163, 252, 252, 252, 252, 87, 252, 252, 252, 252, 88, 164, 100, 252, 167, 252, 165, 252, 252, 252, 252, 94, 165, 101, 252, 166, 252, 252, 252, 252, 252, 252, 94, 166, 252, 252, 252, 252, 252, 252, 252, 252, 252, 145, 167, 252, 252, 252, 252, 166, 252, 252, 252, 252, 145, 168, 102, 252, 171, 252, 169, 252, 252, 252, 252, 103, 169, 121, 252, 170, 252, 252, 252, 252, 252, 252, 103, 170, 252, 252, 252, 252, 252, 252, 252, 252, 252, 120, 171, 252, 252, 252, 252, 170, 252, 252, 252, 252, 120, 172, 122, 252, 173, 252, 69, 69, 169, 165, 69, 17, 173, 252, 252, 252, 252, 33, 33, 170, 166, 33, 34, 174, 252, 252, 252, 252, 173, 32, 171, 167, 32, 34, 175, 252, 158, 252, 176, 127, 127, 252, 252, 127, 16, 176, 252, 252, 252, 252, 27, 27, 252, 252, 27, 28, 177, 252, 252, 252, 252, 176, 26, 252, 252, 26, 28, 178, 252, 20, 252, 179, 181, 252, 252, 252, 252, 22, 179, 252, 252, 252, 252, 180, 252, 252, 252, 252, 160, 180, 252, 252, 252, 252, 252, 252, 252, 252, 252, 160, 181, 252, 21, 252, 180, 252, 252, 252, 252, 252, 22, 182, 163, 252, 179, 252, 183, 252, 252, 252, 252, 88, 183, 87, 252, 180, 252, 252, 252, 252, 252, 252, 88, 184, 86, 57, 181, 183, 252, 252, 252, 252, 252, 15, 185, 35, 44, 186, 190, 192, 252, 252, 252, 252, 38, 186, 252, 45, 252, 187, 189, 252, 252, 252, 252, 47, 187, 252, 252, 252, 252, 188, 252, 252, 252, 252, 53, 188, 252, 252, 252, 252, 252, 252, 252, 252, 252, 53, 189, 252, 46, 252, 188, 252, 252, 252, 252, 252, 47, 190, 81, 252, 187, 252, 191, 252, 252, 252, 252, 80, 191, 82, 252, 188, 252, 252, 252, 252, 252, 252, 80, 192, 83, 54, 189, 191, 252, 252, 252, 252, 252, 38, 193, 84, 55, 202, 200, 194, 252, 192, 184, 194, 0, 194, 85, 56, 195, 199, 252, 252, 252, 252, 252, 0, 195, 252, 10, 252, 196, 252, 252, 252, 252, 252, 11, 196, 252, 252, 252, 252, 252, 252, 252, 252, 252, 197, 197, 252, 252, 252, 252, 198, 3, 36, 13, 3, 0, 198, 252, 252, 252, 252, 4, 4, 37, 14, 4, 0, 199, 6, 252, 196, 252, 252, 252, 252, 252, 252, 7, 200, 161, 252, 201, 252, 199, 252, 191, 183, 199, 7, 201, 252, 252, 252, 252, 196, 252, 188, 180, 196, 197, 202, 252, 58, 252, 201, 195, 252, 189, 181, 195, 11, 203, 162, 252, 206, 252, 200, 252, 190, 182, 204, 7, 204, 5, 252, 205, 252, 199, 252, 252, 252, 252, 7, 205, 252, 252, 252, 252, 196, 252, 252, 252, 252, 197, 206, 252, 252, 252, 252, 201, 252, 187, 179, 205, 197, 207, 252, 60, 252, 206, 202, 252, 186, 178, 208, 11, 208, 252, 9, 252, 205, 195, 252, 252, 252, 252, 11, 209, 93, 164, 216, 214, 210, 252, 252, 252, 252, 94, 210, 146, 165, 213, 211, 252, 252, 252, 252, 252, 94, 211, 147, 252, 212, 252, 252, 252, 252, 252, 252, 143, 212, 252, 252, 252, 252, 252, 252, 252, 252, 252, 144, 213, 252, 166, 252, 212, 252, 252, 252, 252, 252, 145, 214, 148, 252, 215, 252, 211, 252, 252, 252, 252, 143, 215, 252, 252, 252, 252, 212, 252, 252, 252, 252, 144, 216, 252, 167, 252, 215, 213, 252, 252, 252, 252, 145, 217, 149, 168, 224, 222, 218, 252, 252, 252, 252, 103, 218, 150, 169, 221, 219, 252, 252, 252, 252, 252, 103, 219, 151, 252, 220, 252, 252, 252, 252, 252, 252, 118, 220, 252, 252, 252, 252, 252, 252, 252, 252, 252, 119, 221, 252, 170, 252, 220, 252, 252, 252, 252, 252, 120, 222, 152, 252, 223, 252, 219, 252, 252, 252, 252, 118, 223, 252, 252, 252, 252, 220, 252, 252, 252, 252, 119, 224, 252, 171, 252, 223, 221, 252, 252, 252, 252, 120, 225, 153, 172, 228, 226, 68, 68, 218, 210, 68, 17, 226, 154, 252, 227, 252, 67, 67, 219, 211, 67, 43, 227, 252, 252, 252, 252, 64, 64, 220, 212, 64, 61, 228, 252, 173, 252, 227, 65, 65, 221, 213, 65, 34, 229, 155, 252, 230, 252, 226, 66, 222, 214, 66, 43, 230, 252, 252, 252, 252, 227, 63, 223, 215, 63, 61, 231, 252, 174, 252, 230, 228, 62, 224, 216, 62, 34, 232, 175, 156, 235, 233, 126, 126, 252, 252, 126, 16, 233, 176, 252, 234, 252, 125, 125, 252, 252, 125, 28, 234, 252, 252, 252, 252, 98, 98, 252, 252, 98, 99, 235, 252, 157, 252, 234, 123, 123, 252, 252, 123, 92, 236, 177, 252, 237, 252, 233, 124, 252, 252, 124, 28, 237, 252, 252, 252, 252, 234, 97, 252, 252, 97, 99, 238, 252, 159, 252, 237, 235, 96, 252, 252, 96, 92, 239, 252, 198, 252, 240, 85, 85, 83, 86, 85, 0, 240, 252, 252, 252, 252, 6, 6, 82, 87, 6, 7, 241, 252, 252, 252, 252, 240, 5, 81, 163, 5, 7, 242, 198, 252, 243, 252, 56, 56, 54, 57, 56, 0, 243, 252, 252, 252, 252, 10, 10, 46, 21, 10, 11, 244, 252, 252, 252, 252, 243, 9, 45, 20, 9, 11, 245, 239, 242, 248, 246, 194, 194, 192, 184, 194, 0, 246, 240, 252, 247, 252, 199, 199, 191, 183, 199, 7, 247, 252, 252, 252, 252, 196, 196, 188, 180, 196, 197, 248, 252, 243, 252, 247, 195, 195, 189, 181, 195, 11, 249, 241, 252, 250, 252, 246, 204, 190, 182, 204, 7, 250, 252, 252, 252, 252, 247, 205, 187, 179, 205, 197, 251, 252, 244, 252, 250, 248, 208, 186, 178, 208, 11}; /* Vector of min issue delay of insns. */ static const unsigned char xgene1_main_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 21, 65, 16, 85, 5, 81, 84, 21, 85, 80, 102, 21, 65, 153, 85, 1, 16, 0, 4, 69, 80, 153, 21, 66, 101, 85, 4, 64, 0, 17, 6, 144, 85, 26, 65, 85, 105, 0, 0, 80, 0, 0, 0, 0, 16, 0, 0, 105, 1, 17, 164, 38, 70, 144, 153, 90, 65, 16, 20, 4, 65, 84, 21, 69, 80, 85, 85, 65, 152, 85, 6, 101, 84, 4, 64, 0, 17, 37, 65, 84, 149, 5, 86, 84, 38, 73, 80, 153, 101, 65, 16, 64, 4, 65, 164, 21, 70, 144, 85, 90, 64, 0, 20, 0, 2, 84, 17, 9, 80, 102, 37, 65, 153, 149, 1, 17, 0, 4, 70, 144, 153, 26, 66, 101, 105, 4, 64, 80, 17, 1, 64, 68, 101, 65, 152, 20, 5, 80, 80, 25, 129, 64, 85, 5, 0, 69, 105, 1, 17, 0, 4, 85, 80, 17, 90, 66, 100, 64, 5, 81, 0, 38, 68, 0, 85, 16, 2, 32, 149, 10, 162, 84, 42, 153, 80, 136, 101, 64, 136, 149, 2, 38, 84, 0, 25, 80, 17, 101, 64, 0, 20, 2, 32, 80, 42, 129, 64, 136, 5, 2, 100, 20, 1, 16, 80, 8, 129, 64, 170, 5, 2, 32, 20, 9, 144, 80, 4, 65, 64, 102, 26, 65, 153, 105, 4, 69, 164, 17, 4, 0, 68, 85, 65, 17, 105, 6, 101, 164, 4, 65, 64, 17, 21, 66, 100, 85, 9, 149, 84, 17, 0, 0, 68, 42, 64, 0, 84, 0, 1, 84, 34, 5, 80, 170, 21, 66, 169, 85, 5, 80, 0, 21, 74, 144, 85, 106, 65, 84, 233, 0, 2, 80, 0, 9, 64, 34, 37, 2, 168, 148, 6, 98, 80, 34, 9, 64, 153, 37, 0, 68, 148, 5, 82, 80, 17, 9, 64, 34, 37, 2, 168, 148, 6, 98, 80, 34, 9, 64, 153, 37, 0, 68, 148, 5, 82, 80, 17, 9, 64, 85, 122, 65, 84, 0, 8, 133, 84, 8, 133, 80, 34, 85, 64, 1, 85, 4, 69, 84, 4, 85, 80, 0, 21, 0, 136, 84, 10, 161, 80, 25, 133, 64, 136, 21, 2, 100, 84, 1, 17, 80, 21, 69, 64, 68, 21, 0, 136, 84, 10, 161, 80, 25, 133, 64, 136, 21, 2, 100, 84, 1, 17, 80, 21, 69, 64, 68, 21, 1, 17, 169, 6, 102, 164, 25, 138, 144, 68, 58, 65, 17, 233, 6, 103, 164, 25, 142, 144, 68, 0, 1, 152, 0, 6, 96, 0, 4, 65, 64, 153, 5, 1, 84, 20, 9, 144, 80, 21, 65, 64, 102, 16, 1, 152, 64, 6, 97, 164, 4, 74, 144, 17, 106, 66, 101, 169, 9, 146, 164, 4, 78, 144, 17, 122, 66, 101, 233, 9, 147, 164, 4, 64, 0, 153, 0, 2, 100, 0, 4, 64, 80, 25, 129, 64, 102, 5, 2, 32, 105, 10, 161, 164, 42, 150, 144, 136, 90, 64, 136, 105, 2, 37, 164, 0, 22, 144, 0, 26, 66, 32, 105, 10, 161, 164, 42, 150, 144, 136, 90, 64, 136, 105, 2, 37, 164, 0, 22, 144, 0, 16, 0, 1, 85, 8, 133, 84, 42, 149, 80, 85, 0, 1, 84, 0, 2, 37, 84, 8, 132, 0, 170, 16, 2, 32, 64, 2, 33, 0, 8, 133, 80, 170, 21, 66, 168, 64, 8, 129, 0, 34, 5, 80, 0, 42, 64, 1, 169, 2, 38, 164, 42, 154, 144, 136, 106, 64, 136, 169, 10, 162, 164, 34, 10, 144, 0, 58, 64, 1, 233, 2, 39, 164, 42, 158, 144, 136, 122, 64, 136, 233, 10, 163, 164, 34, 14, 144, 0, 0, 0, 136, 0, 10, 160, 0, 34, 0, 0, 34, 0, 2, 168, 0, 8, 128, 0, 0, 1, 64, 34, 5, 2, 168, 20, 8, 128, 80, 8, 129, 64, 170, 5, 2, 32, 20, 4, 64, 0, 25, 128, 0, 102, 0, 0, 68, 0, 9, 144, 0, 38, 64, 0, 0, 0, 0, 136, 0, 10, 160, 0, 34, 0, 0, 34, 0, 2, 168, 0, 8, 128, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char xgene1_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, 1, 1, 2, 2, 2, 1, 3, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 2, 1, 1, 2, 3, 2, 1, 1, 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, 4}; /* Vector for state transitions. */ static const unsigned char xgene1_decoder_transitions[] ATTRIBUTE_UNUSED = { 0, 4, 2, 1, 0, 1, 5, 5, 5, 0, 2, 3, 1, 5, 0, 3, 1, 5, 5, 0, 4, 2, 3, 5, 0}; /* Vector of min issue delay of insns. */ static const unsigned char xgene1_decoder_min_issue_delay[] ATTRIBUTE_UNUSED = { 3, 132, 97, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char xgene1_div_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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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}; /* Comb vector for state transitions. */ static const unsigned char xgene1_div_transitions[] ATTRIBUTE_UNUSED = { 0, 231, 16, 224, 1, 0, 3, 232, 169, 218, 38, 4, 4, 232, 177, 213, 41, 5, 5, 232, 185, 209, 45, 6, 6, 232, 193, 206, 50, 7, 7, 232, 201, 204, 56, 8, 8, 232, 203, 10, 9, 0, 231, 232, 161, 225, 2, 3, 1, 2, 11, 196, 232, 0, 232, 12, 13, 182, 12, 189, 232, 14, 232, 13, 14, 175, 15, 168, 232, 15, 232, 16, 16, 161, 17, 154, 232, 17, 232, 18, 18, 147, 19, 140, 232, 19, 232, 20, 20, 133, 21, 126, 232, 21, 232, 22, 22, 119, 23, 112, 232, 23, 232, 24, 24, 105, 25, 98, 232, 25, 232, 26, 26, 91, 27, 84, 232, 27, 232, 28, 28, 77, 29, 70, 232, 29, 232, 30, 30, 63, 31, 57, 232, 31, 232, 32, 32, 51, 33, 46, 232, 33, 232, 34, 34, 42, 35, 39, 232, 35, 232, 36, 36, 37, 224, 225, 2, 1, 9, 11, 10, 3, 37, 0, 38, 11, 39, 38, 40, 4, 41, 40, 42, 41, 43, 5, 44, 43, 45, 44, 46, 45, 47, 6, 48, 47, 49, 48, 50, 49, 51, 50, 52, 7, 53, 52, 54, 53, 55, 54, 56, 55, 57, 56, 58, 8, 59, 58, 60, 59, 61, 60, 62, 61, 63, 62, 64, 9, 65, 64, 66, 65, 67, 66, 68, 67, 69, 68, 70, 69, 71, 1, 72, 71, 73, 72, 74, 73, 75, 74, 76, 75, 77, 76, 78, 36, 79, 78, 80, 79, 81, 80, 82, 81, 83, 82, 84, 83, 85, 35, 86, 85, 87, 86, 88, 87, 89, 88, 90, 89, 91, 90, 92, 34, 93, 92, 94, 93, 95, 94, 96, 95, 97, 96, 98, 97, 99, 33, 100, 99, 101, 100, 102, 101, 103, 102, 104, 103, 105, 104, 106, 32, 107, 106, 108, 107, 109, 108, 110, 109, 111, 110, 112, 111, 113, 31, 114, 113, 115, 114, 116, 115, 117, 116, 118, 117, 119, 118, 120, 30, 121, 120, 122, 121, 123, 122, 124, 123, 125, 124, 126, 125, 127, 29, 128, 127, 129, 128, 130, 129, 131, 130, 132, 131, 133, 132, 134, 28, 135, 134, 136, 135, 137, 136, 138, 137, 139, 138, 140, 139, 141, 27, 142, 141, 143, 142, 144, 143, 145, 144, 146, 145, 147, 146, 148, 26, 149, 148, 150, 149, 151, 150, 152, 151, 153, 152, 154, 153, 155, 25, 156, 155, 157, 156, 158, 157, 159, 158, 160, 159, 161, 160, 162, 24, 163, 162, 164, 163, 165, 164, 166, 165, 167, 166, 168, 167, 169, 23, 170, 169, 171, 170, 172, 171, 173, 172, 174, 173, 175, 174, 176, 22, 177, 176, 178, 177, 179, 178, 180, 179, 181, 180, 182, 181, 183, 21, 184, 183, 185, 184, 186, 185, 187, 186, 188, 187, 189, 188, 190, 20, 191, 190, 192, 191, 193, 192, 194, 193, 195, 194, 196, 195, 197, 19, 198, 197, 199, 198, 200, 199, 201, 200, 202, 201, 203, 202, 204, 18, 205, 17, 206, 205, 207, 12, 208, 207, 209, 208, 210, 13, 211, 210, 212, 211, 213, 212, 214, 14, 215, 214, 216, 215, 217, 216, 218, 217, 219, 15, 220, 219, 221, 220, 222, 221, 223, 222, 225, 223, 226, 16, 227, 226, 229, 227, 228, 228, 230, 230, 232, 229, 232, 203}; /* Check vector for state transitions. */ static const unsigned char xgene1_div_check[] = { 0, 0, 0, 0, 0, 0, 3, 232, 3, 3, 3, 3, 4, 232, 4, 4, 4, 4, 5, 232, 5, 5, 5, 5, 6, 232, 6, 6, 6, 6, 7, 232, 7, 7, 7, 7, 8, 232, 8, 8, 8, 8, 231, 232, 231, 231, 231, 231, 1, 1, 11, 11, 232, 1, 232, 11, 13, 13, 12, 12, 232, 13, 232, 12, 14, 14, 15, 15, 232, 14, 232, 15, 16, 16, 17, 17, 232, 16, 232, 17, 18, 18, 19, 19, 232, 18, 232, 19, 20, 20, 21, 21, 232, 20, 232, 21, 22, 22, 23, 23, 232, 22, 232, 23, 24, 24, 25, 25, 232, 24, 232, 25, 26, 26, 27, 27, 232, 26, 232, 27, 28, 28, 29, 29, 232, 28, 232, 29, 30, 30, 31, 31, 232, 30, 232, 31, 32, 32, 33, 33, 232, 32, 232, 33, 34, 34, 35, 35, 232, 34, 232, 35, 36, 36, 224, 224, 2, 36, 9, 224, 10, 2, 37, 9, 38, 10, 39, 37, 40, 38, 41, 39, 42, 40, 43, 41, 44, 42, 45, 43, 46, 44, 47, 45, 48, 46, 49, 47, 50, 48, 51, 49, 52, 50, 53, 51, 54, 52, 55, 53, 56, 54, 57, 55, 58, 56, 59, 57, 60, 58, 61, 59, 62, 60, 63, 61, 64, 62, 65, 63, 66, 64, 67, 65, 68, 66, 69, 67, 70, 68, 71, 69, 72, 70, 73, 71, 74, 72, 75, 73, 76, 74, 77, 75, 78, 76, 79, 77, 80, 78, 81, 79, 82, 80, 83, 81, 84, 82, 85, 83, 86, 84, 87, 85, 88, 86, 89, 87, 90, 88, 91, 89, 92, 90, 93, 91, 94, 92, 95, 93, 96, 94, 97, 95, 98, 96, 99, 97, 100, 98, 101, 99, 102, 100, 103, 101, 104, 102, 105, 103, 106, 104, 107, 105, 108, 106, 109, 107, 110, 108, 111, 109, 112, 110, 113, 111, 114, 112, 115, 113, 116, 114, 117, 115, 118, 116, 119, 117, 120, 118, 121, 119, 122, 120, 123, 121, 124, 122, 125, 123, 126, 124, 127, 125, 128, 126, 129, 127, 130, 128, 131, 129, 132, 130, 133, 131, 134, 132, 135, 133, 136, 134, 137, 135, 138, 136, 139, 137, 140, 138, 141, 139, 142, 140, 143, 141, 144, 142, 145, 143, 146, 144, 147, 145, 148, 146, 149, 147, 150, 148, 151, 149, 152, 150, 153, 151, 154, 152, 155, 153, 156, 154, 157, 155, 158, 156, 159, 157, 160, 158, 161, 159, 162, 160, 163, 161, 164, 162, 165, 163, 166, 164, 167, 165, 168, 166, 169, 167, 170, 168, 171, 169, 172, 170, 173, 171, 174, 172, 175, 173, 176, 174, 177, 175, 178, 176, 179, 177, 180, 178, 181, 179, 182, 180, 183, 181, 184, 182, 185, 183, 186, 184, 187, 185, 188, 186, 189, 187, 190, 188, 191, 189, 192, 190, 193, 191, 194, 192, 195, 193, 196, 194, 197, 195, 198, 196, 199, 197, 200, 198, 201, 199, 202, 200, 203, 201, 204, 202, 205, 203, 206, 204, 207, 205, 208, 206, 209, 207, 210, 208, 211, 209, 212, 210, 213, 211, 214, 212, 215, 213, 216, 214, 217, 215, 218, 216, 219, 217, 220, 218, 221, 219, 222, 220, 223, 221, 225, 222, 226, 223, 227, 225, 229, 226, 228, 227, 230, 229, 232, 228, 232, 230}; /* Base vector for state transitions. */ static const unsigned short xgene1_div_base[] = { 0, 48, 156, 6, 12, 18, 24, 30, 36, 158, 160, 50, 58, 56, 64, 66, 72, 74, 80, 82, 88, 90, 96, 98, 104, 106, 112, 114, 120, 122, 128, 130, 136, 138, 144, 146, 152, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524, 526, 528, 530, 532, 534, 154, 536, 538, 540, 544, 542, 546, 42}; /* Vector of min issue delay of insns. */ static const unsigned char xgene1_div_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 7, 1, 1, 1, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 28, 28, 28, 0, 0, 0, 27, 27, 27, 0, 0, 0, 26, 26, 26, 0, 0, 0, 25, 25, 25, 0, 0, 0, 24, 24, 24, 0, 0, 0, 23, 23, 23, 0, 0, 0, 22, 22, 22, 0, 0, 0, 21, 21, 21, 0, 0, 0, 20, 20, 20, 0, 0, 0, 19, 19, 19, 0, 0, 0, 18, 18, 18, 0, 0, 0, 17, 17, 17, 0, 0, 0, 16, 16, 16, 0, 0, 0, 15, 15, 15, 0, 0, 0, 14, 14, 14, 0, 0, 0, 13, 13, 13, 0, 0, 0, 12, 12, 12, 0, 0, 0, 11, 11, 11, 0, 0, 0, 10, 10, 10, 0, 0, 0, 9, 9, 9, 0, 0, 0, 8, 8, 8, 0, 0, 0, 7, 7, 7, 0, 0, 0, 6, 6, 6, 0, 0, 0, 5, 5, 5, 0, 0, 0, 4, 4, 4, 0, 0, 0, 3, 3, 3, 0, 0, 0, 2, 2, 2, 0, 0, 7, 2, 2, 2, 0, 0, 6, 1, 1, 1, 0, 0, 7, 3, 3, 3, 0, 0, 6, 2, 2, 2, 0, 0, 5, 1, 1, 1, 0, 0, 7, 4, 4, 4, 0, 0, 6, 3, 3, 3, 0, 0, 5, 2, 2, 2, 0, 0, 4, 1, 1, 1, 0, 0, 7, 5, 5, 5, 0, 0, 6, 4, 4, 4, 0, 0, 5, 3, 3, 3, 0, 0, 4, 2, 2, 2, 0, 0, 3, 1, 1, 1, 0, 0, 7, 6, 6, 6, 0, 0, 6, 5, 5, 5, 0, 0, 5, 4, 4, 4, 0, 0, 4, 3, 3, 3, 0, 0, 3, 2, 2, 2, 0, 0, 2, 1, 1, 1, 0, 0, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 0, 0, 2, 2, 2, 2, 0, 0, 7, 8, 8, 8, 0, 0, 6, 7, 7, 7, 0, 0, 5, 6, 6, 6, 0, 0, 4, 5, 5, 5, 0, 0, 3, 4, 4, 4, 0, 0, 2, 3, 3, 3, 0, 0, 1, 2, 2, 2, 0, 0, 7, 9, 9, 9, 0, 0, 6, 8, 8, 8, 0, 0, 5, 7, 7, 7, 0, 0, 4, 6, 6, 6, 0, 0, 3, 5, 5, 5, 0, 0, 2, 4, 4, 4, 0, 0, 1, 3, 3, 3, 0, 0, 7, 10, 10, 10, 0, 0, 6, 9, 9, 9, 0, 0, 5, 8, 8, 8, 0, 0, 4, 7, 7, 7, 0, 0, 3, 6, 6, 6, 0, 0, 2, 5, 5, 5, 0, 0, 1, 4, 4, 4, 0, 0, 7, 11, 11, 11, 0, 0, 6, 10, 10, 10, 0, 0, 5, 9, 9, 9, 0, 0, 4, 8, 8, 8, 0, 0, 3, 7, 7, 7, 0, 0, 2, 6, 6, 6, 0, 0, 1, 5, 5, 5, 0, 0, 7, 12, 12, 12, 0, 0, 6, 11, 11, 11, 0, 0, 5, 10, 10, 10, 0, 0, 4, 9, 9, 9, 0, 0, 3, 8, 8, 8, 0, 0, 2, 7, 7, 7, 0, 0, 1, 6, 6, 6, 0, 0, 7, 13, 13, 13, 0, 0, 6, 12, 12, 12, 0, 0, 5, 11, 11, 11, 0, 0, 4, 10, 10, 10, 0, 0, 3, 9, 9, 9, 0, 0, 2, 8, 8, 8, 0, 0, 1, 7, 7, 7, 0, 0, 7, 14, 14, 14, 0, 0, 6, 13, 13, 13, 0, 0, 5, 12, 12, 12, 0, 0, 4, 11, 11, 11, 0, 0, 3, 10, 10, 10, 0, 0, 2, 9, 9, 9, 0, 0, 1, 8, 8, 8, 0, 0, 7, 15, 15, 15, 0, 0, 6, 14, 14, 14, 0, 0, 5, 13, 13, 13, 0, 0, 4, 12, 12, 12, 0, 0, 3, 11, 11, 11, 0, 0, 2, 10, 10, 10, 0, 0, 1, 9, 9, 9, 0, 0, 7, 16, 16, 16, 0, 0, 6, 15, 15, 15, 0, 0, 5, 14, 14, 14, 0, 0, 4, 13, 13, 13, 0, 0, 3, 12, 12, 12, 0, 0, 2, 11, 11, 11, 0, 0, 1, 10, 10, 10, 0, 0, 7, 17, 17, 17, 0, 0, 6, 16, 16, 16, 0, 0, 5, 15, 15, 15, 0, 0, 4, 14, 14, 14, 0, 0, 3, 13, 13, 13, 0, 0, 2, 12, 12, 12, 0, 0, 1, 11, 11, 11, 0, 0, 7, 18, 18, 18, 0, 0, 6, 17, 17, 17, 0, 0, 5, 16, 16, 16, 0, 0, 4, 15, 15, 15, 0, 0, 3, 14, 14, 14, 0, 0, 2, 13, 13, 13, 0, 0, 1, 12, 12, 12, 0, 0, 7, 19, 19, 19, 0, 0, 6, 18, 18, 18, 0, 0, 5, 17, 17, 17, 0, 0, 4, 16, 16, 16, 0, 0, 3, 15, 15, 15, 0, 0, 2, 14, 14, 14, 0, 0, 1, 13, 13, 13, 0, 0, 7, 20, 20, 20, 0, 0, 6, 19, 19, 19, 0, 0, 5, 18, 18, 18, 0, 0, 4, 17, 17, 17, 0, 0, 3, 16, 16, 16, 0, 0, 2, 15, 15, 15, 0, 0, 1, 14, 14, 14, 0, 0, 7, 21, 21, 21, 0, 0, 6, 20, 20, 20, 0, 0, 5, 19, 19, 19, 0, 0, 4, 18, 18, 18, 0, 0, 3, 17, 17, 17, 0, 0, 2, 16, 16, 16, 0, 0, 1, 15, 15, 15, 0, 0, 7, 22, 22, 22, 0, 0, 6, 21, 21, 21, 0, 0, 5, 20, 20, 20, 0, 0, 4, 19, 19, 19, 0, 0, 3, 18, 18, 18, 0, 0, 2, 17, 17, 17, 0, 0, 1, 16, 16, 16, 0, 0, 7, 23, 23, 23, 0, 0, 6, 22, 22, 22, 0, 0, 5, 21, 21, 21, 0, 0, 4, 20, 20, 20, 0, 0, 3, 19, 19, 19, 0, 0, 2, 18, 18, 18, 0, 0, 1, 17, 17, 17, 0, 0, 7, 24, 24, 24, 0, 0, 6, 23, 23, 23, 0, 0, 5, 22, 22, 22, 0, 0, 4, 21, 21, 21, 0, 0, 3, 20, 20, 20, 0, 0, 2, 19, 19, 19, 0, 0, 1, 18, 18, 18, 0, 0, 7, 25, 25, 25, 0, 0, 6, 24, 24, 24, 0, 0, 5, 23, 23, 23, 0, 0, 4, 22, 22, 22, 0, 0, 3, 21, 21, 21, 0, 0, 2, 20, 20, 20, 0, 0, 1, 19, 19, 19, 0, 0, 7, 26, 26, 26, 0, 0, 6, 25, 25, 25, 0, 0, 5, 24, 24, 24, 0, 0, 4, 23, 23, 23, 0, 0, 3, 22, 22, 22, 0, 0, 2, 21, 21, 21, 0, 0, 1, 20, 20, 20, 0, 0, 7, 27, 27, 27, 0, 0, 6, 26, 26, 26, 0, 0, 5, 25, 25, 25, 0, 0, 4, 24, 24, 24, 0, 0, 3, 23, 23, 23, 0, 0, 2, 22, 22, 22, 0, 0, 1, 21, 21, 21, 0, 0, 1, 22, 22, 22, 0, 0, 2, 28, 28, 28, 0, 0, 1, 27, 27, 27, 0, 0, 3, 28, 28, 28, 0, 0, 2, 27, 27, 27, 0, 0, 1, 26, 26, 26, 0, 0, 4, 28, 28, 28, 0, 0, 3, 27, 27, 27, 0, 0, 2, 26, 26, 26, 0, 0, 1, 25, 25, 25, 0, 0, 5, 28, 28, 28, 0, 0, 4, 27, 27, 27, 0, 0, 3, 26, 26, 26, 0, 0, 2, 25, 25, 25, 0, 0, 1, 24, 24, 24, 0, 0, 6, 28, 28, 28, 0, 0, 5, 27, 27, 27, 0, 0, 4, 26, 26, 26, 0, 0, 3, 25, 25, 25, 0, 0, 2, 24, 24, 24, 0, 0, 1, 23, 23, 23, 0, 0, 0, 28, 28, 28, 0, 0, 7, 28, 28, 28, 0, 0, 6, 27, 27, 27, 0, 0, 5, 26, 26, 26, 0, 0, 4, 25, 25, 25, 0, 0, 3, 24, 24, 24, 0, 0, 2, 23, 23, 23, 0, 0, 7, 0, 0, 0, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char xgene1_simd_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, 1, 2, 0, 0, 2, 2, 2, 2, 2, 3, 4, 5, 2, 2, 2, 0, 0, 2, 0, 2, 2, 2, 6, 6, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 7}; /* Comb vector for state transitions. */ static const unsigned char xgene1_simd_transitions[] ATTRIBUTE_UNUSED = { 0, 18, 2, 12, 9, 3, 1, 0, 19, 22, 21, 12, 9, 3, 1, 20, 20, 1, 2, 12, 9, 3, 1, 0, 2, 2, 3, 4, 5, 6, 7, 8, 0, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 10, 11, 12, 13, 14, 15, 16, 16, 17, 18, 21, 22, 22, 22, 17, 1, 19, 20}; /* Check vector for state transitions. */ static const unsigned char xgene1_simd_check[] = { 0, 0, 0, 0, 0, 0, 0, 0, 19, 22, 19, 19, 19, 19, 19, 19, 20, 1, 20, 20, 20, 20, 20, 20, 1, 2, 3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 22, 22, 22, 16, 17, 18, 21}; /* Base vector for state transitions. */ static const unsigned char xgene1_simd_base[] = { 0, 17, 25, 26, 27, 28, 29, 30, 31, 39, 40, 41, 42, 43, 44, 45, 53, 54, 55, 8, 16, 56}; /* Vector of min issue delay of insns. */ static const unsigned char xgene1_simd_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 17, 17, 17, 17, 17, 17, 0, 0, 16, 16, 16, 16, 16, 16, 0, 0, 15, 15, 15, 15, 15, 15, 0, 0, 14, 14, 14, 14, 14, 14, 0, 0, 13, 13, 13, 13, 13, 13, 0, 0, 12, 12, 12, 12, 12, 12, 0, 0, 11, 11, 11, 11, 11, 11, 0, 0, 10, 10, 10, 10, 10, 10, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 8, 8, 8, 8, 8, 8, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0, 6, 6, 6, 6, 6, 6, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 4, 4, 4, 4, 4, 4, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 3, 1, 1, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx2t99_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, 1, 0, 1, 2, 0, 3, 4, 5, 6, 7, 7, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 8}; /* Vector for state transitions. */ static const unsigned char thunderx2t99_transitions[] ATTRIBUTE_UNUSED = { 0, 183, 6, 3, 23, 181, 179, 1, 0, 1, 178, 184, 4, 2, 184, 184, 184, 0, 2, 5, 184, 5, 14, 184, 184, 184, 3, 3, 177, 184, 4, 2, 173, 7, 4, 0, 4, 6, 184, 6, 5, 184, 184, 184, 0, 5, 184, 184, 184, 184, 184, 184, 184, 3, 6, 184, 184, 184, 184, 184, 184, 184, 0, 7, 172, 184, 172, 26, 184, 184, 184, 8, 8, 171, 133, 17, 52, 169, 167, 165, 9, 9, 164, 33, 20, 57, 162, 160, 158, 10, 10, 157, 5, 23, 155, 152, 16, 11, 3, 11, 15, 184, 2, 12, 184, 184, 184, 3, 12, 14, 184, 14, 13, 184, 184, 184, 4, 13, 184, 184, 184, 184, 184, 184, 184, 6, 14, 184, 184, 184, 184, 184, 184, 184, 4, 15, 184, 184, 5, 14, 184, 184, 184, 3, 16, 151, 184, 24, 149, 184, 184, 184, 17, 17, 148, 184, 18, 40, 144, 134, 18, 9, 18, 133, 184, 133, 19, 184, 184, 184, 9, 19, 184, 184, 184, 184, 184, 184, 184, 20, 20, 132, 184, 21, 49, 127, 34, 21, 10, 21, 33, 184, 33, 22, 184, 184, 184, 10, 22, 184, 184, 184, 184, 184, 184, 184, 23, 23, 32, 184, 2, 12, 27, 24, 2, 3, 24, 26, 184, 26, 25, 184, 184, 184, 17, 25, 184, 184, 184, 184, 184, 184, 184, 18, 26, 184, 184, 184, 184, 184, 184, 184, 17, 27, 31, 184, 31, 30, 184, 184, 184, 28, 28, 29, 184, 29, 14, 184, 184, 184, 1, 29, 184, 184, 184, 184, 184, 184, 184, 1, 30, 184, 184, 184, 184, 184, 184, 184, 29, 31, 184, 184, 184, 184, 184, 184, 184, 28, 32, 184, 184, 5, 14, 31, 26, 5, 3, 33, 184, 184, 184, 184, 184, 184, 184, 10, 34, 126, 184, 126, 60, 184, 184, 184, 35, 35, 125, 19, 52, 122, 119, 42, 36, 20, 36, 41, 184, 40, 37, 184, 184, 184, 20, 37, 39, 184, 39, 38, 184, 184, 184, 21, 38, 184, 184, 184, 184, 184, 184, 184, 33, 39, 184, 184, 184, 184, 184, 184, 184, 21, 40, 19, 184, 19, 39, 184, 184, 184, 20, 41, 184, 184, 19, 39, 184, 184, 184, 20, 42, 118, 184, 53, 116, 184, 184, 184, 43, 43, 115, 184, 55, 89, 111, 83, 55, 44, 44, 82, 22, 57, 79, 76, 51, 45, 23, 45, 50, 184, 49, 46, 184, 184, 184, 23, 46, 48, 184, 48, 47, 184, 184, 184, 2, 47, 184, 184, 184, 184, 184, 184, 184, 5, 48, 184, 184, 184, 184, 184, 184, 184, 2, 49, 22, 184, 22, 48, 184, 184, 184, 23, 50, 184, 184, 22, 48, 184, 184, 184, 23, 51, 75, 184, 58, 73, 184, 184, 184, 52, 52, 72, 184, 40, 37, 67, 53, 40, 20, 53, 66, 184, 66, 54, 184, 184, 184, 43, 54, 184, 184, 184, 184, 184, 184, 184, 55, 55, 65, 184, 65, 56, 184, 184, 184, 44, 56, 184, 184, 184, 184, 184, 184, 184, 57, 57, 64, 184, 49, 46, 61, 58, 49, 23, 58, 60, 184, 60, 59, 184, 184, 184, 52, 59, 184, 184, 184, 184, 184, 184, 184, 40, 60, 184, 184, 184, 184, 184, 184, 184, 52, 61, 63, 184, 63, 62, 184, 184, 184, 12, 62, 184, 184, 184, 184, 184, 184, 184, 14, 63, 184, 184, 184, 184, 184, 184, 184, 12, 64, 184, 184, 22, 48, 63, 60, 22, 23, 65, 184, 184, 184, 184, 184, 184, 184, 44, 66, 184, 184, 184, 184, 184, 184, 184, 43, 67, 71, 184, 71, 70, 184, 184, 184, 68, 68, 69, 184, 69, 48, 184, 184, 184, 11, 69, 184, 184, 184, 184, 184, 184, 184, 11, 70, 184, 184, 184, 184, 184, 184, 184, 69, 71, 184, 184, 184, 184, 184, 184, 184, 68, 72, 184, 184, 19, 39, 71, 66, 19, 20, 73, 59, 184, 59, 74, 184, 184, 184, 40, 74, 184, 184, 184, 184, 184, 184, 184, 19, 75, 184, 184, 60, 59, 184, 184, 184, 52, 76, 78, 184, 61, 77, 184, 184, 184, 12, 77, 62, 184, 62, 184, 184, 184, 184, 14, 78, 184, 184, 63, 62, 184, 184, 184, 12, 79, 81, 184, 46, 80, 184, 73, 46, 2, 80, 47, 184, 47, 184, 184, 184, 184, 5, 81, 184, 184, 48, 47, 184, 59, 48, 2, 82, 184, 184, 64, 81, 78, 75, 50, 23, 83, 110, 184, 110, 95, 184, 184, 184, 84, 84, 109, 56, 92, 106, 103, 91, 85, 57, 85, 90, 184, 89, 86, 184, 184, 184, 57, 86, 88, 184, 88, 87, 184, 184, 184, 49, 87, 184, 184, 184, 184, 184, 184, 184, 22, 88, 184, 184, 184, 184, 184, 184, 184, 49, 89, 56, 184, 56, 88, 184, 184, 184, 57, 90, 184, 184, 56, 88, 184, 184, 184, 57, 91, 102, 184, 93, 100, 184, 184, 184, 92, 92, 99, 184, 89, 86, 96, 93, 89, 57, 93, 95, 184, 95, 94, 184, 184, 184, 92, 94, 184, 184, 184, 184, 184, 184, 184, 89, 95, 184, 184, 184, 184, 184, 184, 184, 92, 96, 98, 184, 98, 97, 184, 184, 184, 46, 97, 184, 184, 184, 184, 184, 184, 184, 48, 98, 184, 184, 184, 184, 184, 184, 184, 46, 99, 184, 184, 56, 88, 98, 95, 56, 57, 100, 94, 184, 94, 101, 184, 184, 184, 89, 101, 184, 184, 184, 184, 184, 184, 184, 56, 102, 184, 184, 95, 94, 184, 184, 184, 92, 103, 105, 184, 96, 104, 184, 184, 184, 46, 104, 97, 184, 97, 184, 184, 184, 184, 48, 105, 184, 184, 98, 97, 184, 184, 184, 46, 106, 108, 184, 86, 107, 184, 100, 86, 49, 107, 87, 184, 87, 184, 184, 184, 184, 22, 108, 184, 184, 88, 87, 184, 94, 88, 49, 109, 184, 184, 99, 108, 105, 102, 90, 57, 110, 184, 184, 184, 184, 184, 184, 184, 84, 111, 114, 184, 114, 98, 184, 184, 184, 112, 112, 113, 184, 46, 80, 184, 184, 184, 2, 113, 184, 184, 48, 47, 184, 184, 184, 2, 114, 184, 184, 184, 184, 184, 184, 184, 112, 115, 184, 184, 65, 56, 114, 110, 65, 44, 116, 54, 184, 54, 117, 184, 184, 184, 55, 117, 184, 184, 184, 184, 184, 184, 184, 65, 118, 184, 184, 66, 54, 184, 184, 184, 43, 119, 121, 184, 67, 120, 184, 184, 184, 68, 120, 70, 184, 70, 184, 184, 184, 184, 69, 121, 184, 184, 71, 70, 184, 184, 184, 68, 122, 124, 184, 37, 123, 184, 116, 37, 21, 123, 38, 184, 38, 184, 184, 184, 184, 33, 124, 184, 184, 39, 38, 184, 54, 39, 21, 125, 184, 184, 72, 124, 121, 118, 41, 20, 126, 184, 184, 184, 184, 184, 184, 184, 35, 127, 131, 184, 131, 63, 184, 184, 184, 128, 128, 130, 184, 12, 129, 184, 184, 184, 4, 129, 13, 184, 13, 184, 184, 184, 184, 6, 130, 184, 184, 14, 13, 184, 184, 184, 4, 131, 184, 184, 184, 184, 184, 184, 184, 128, 132, 184, 184, 33, 22, 131, 126, 33, 10, 133, 184, 184, 184, 184, 184, 184, 184, 9, 134, 143, 184, 143, 66, 184, 184, 184, 135, 135, 142, 65, 43, 92, 140, 138, 136, 44, 136, 137, 184, 55, 89, 184, 184, 184, 44, 137, 184, 184, 65, 56, 184, 184, 184, 44, 138, 139, 184, 83, 93, 184, 184, 184, 84, 139, 184, 184, 110, 95, 184, 184, 184, 84, 140, 141, 184, 111, 96, 184, 184, 184, 112, 141, 184, 184, 114, 98, 184, 184, 184, 112, 142, 184, 184, 115, 99, 141, 139, 137, 44, 143, 184, 184, 184, 184, 184, 184, 184, 135, 144, 147, 184, 147, 71, 184, 184, 184, 145, 145, 146, 184, 68, 46, 184, 184, 184, 11, 146, 184, 184, 69, 48, 184, 184, 184, 11, 147, 184, 184, 184, 184, 184, 184, 184, 145, 148, 184, 184, 133, 19, 147, 143, 133, 9, 149, 25, 184, 25, 150, 184, 184, 184, 18, 150, 184, 184, 184, 184, 184, 184, 184, 133, 151, 184, 184, 26, 25, 184, 184, 184, 17, 152, 154, 184, 27, 153, 184, 184, 184, 28, 153, 30, 184, 30, 184, 184, 184, 184, 29, 154, 184, 184, 31, 30, 184, 184, 184, 28, 155, 156, 184, 12, 129, 184, 149, 12, 4, 156, 184, 184, 14, 13, 184, 25, 14, 4, 157, 184, 184, 32, 156, 154, 151, 15, 3, 158, 159, 184, 21, 49, 184, 184, 184, 10, 159, 184, 184, 33, 22, 184, 184, 184, 10, 160, 161, 184, 34, 58, 184, 184, 184, 35, 161, 184, 184, 126, 60, 184, 184, 184, 35, 162, 163, 184, 127, 61, 184, 184, 184, 128, 163, 184, 184, 131, 63, 184, 184, 184, 128, 164, 184, 184, 132, 64, 163, 161, 159, 10, 165, 166, 184, 18, 40, 184, 184, 184, 9, 166, 184, 184, 133, 19, 184, 184, 184, 9, 167, 168, 184, 134, 53, 184, 184, 184, 135, 168, 184, 184, 143, 66, 184, 184, 184, 135, 169, 170, 184, 144, 67, 184, 184, 184, 145, 170, 184, 184, 147, 71, 184, 184, 184, 145, 171, 184, 184, 148, 72, 170, 168, 166, 9, 172, 184, 184, 184, 184, 184, 184, 184, 8, 173, 176, 184, 176, 31, 184, 184, 184, 174, 174, 175, 184, 28, 12, 184, 184, 184, 1, 175, 184, 184, 29, 14, 184, 184, 184, 1, 176, 184, 184, 184, 184, 184, 184, 184, 174, 177, 184, 184, 6, 5, 176, 172, 6, 0, 178, 184, 184, 6, 5, 184, 184, 184, 0, 179, 180, 184, 7, 24, 184, 184, 184, 8, 180, 184, 184, 172, 26, 184, 184, 184, 8, 181, 182, 184, 173, 27, 184, 184, 184, 174, 182, 184, 184, 176, 31, 184, 184, 184, 174, 183, 184, 184, 177, 32, 182, 180, 178, 0}; /* Vector of min issue delay of insns. */ static const unsigned char thunderx2t99_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 1, 0, 17, 16, 0, 32, 1, 17, 0, 1, 0, 0, 0, 0, 16, 1, 17, 0, 18, 17, 17, 16, 1, 17, 17, 17, 0, 1, 0, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 17, 16, 0, 32, 2, 34, 0, 34, 34, 34, 32, 1, 33, 18, 34, 0, 18, 0, 17, 16, 0, 32, 1, 17, 0, 1, 0, 0, 0, 0, 16, 1, 17, 0, 18, 17, 17, 16, 0, 16, 0, 0, 0, 1, 0, 17, 16, 1, 49, 17, 17, 0, 2, 0, 0, 0, 0, 32, 1, 17, 0, 18, 17, 34, 32, 1, 33, 17, 17, 0, 3, 0, 51, 48, 0, 32, 2, 34, 0, 18, 17, 34, 32, 2, 50, 35, 51, 0, 19, 17, 51, 48, 1, 32, 0, 0, 0, 17, 17, 17, 16, 0, 16, 1, 17, 0, 0, 0, 0, 0, 0, 32, 1, 17, 0, 2, 0, 34, 32, 2, 34, 34, 34, 0, 18, 17, 34, 32, 0, 32, 1, 17, 0, 18, 0, 17, 16, 0, 32, 1, 17, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 17, 16, 0, 48, 2, 34, 0, 35, 34, 34, 32, 1, 49, 18, 34, 0, 3, 0, 17, 16, 1, 48, 1, 17, 0, 3, 0, 17, 16, 0, 32, 0, 0, 0, 2, 0, 17, 16, 1, 33, 18, 34, 0, 1, 0, 17, 16, 1, 65, 17, 17, 0, 3, 0, 0, 0, 0, 48, 1, 17, 0, 19, 17, 34, 32, 1, 49, 17, 17, 0, 3, 0, 51, 48, 2, 50, 35, 51, 0, 19, 17, 51, 48, 1, 48, 0, 0, 0, 17, 17, 17, 16, 1, 33, 17, 17, 0, 4, 0, 51, 48, 0, 48, 2, 34, 0, 19, 17, 34, 32, 2, 66, 35, 51, 0, 20, 17, 51, 48, 1, 32, 0, 0, 0, 3, 0, 34, 32, 2, 50, 34, 34, 0, 19, 0, 17, 16, 0, 48, 3, 51, 0, 3, 2, 51, 48, 1, 48, 3, 51, 0, 3, 0, 32, 0, 0, 48, 34, 34, 0, 19, 0, 32, 0, 1, 48, 0, 0, 0, 1, 0, 17, 16, 0, 0, 0, 0, 0, 4, 0, 17, 16, 0, 64, 2, 34, 0, 36, 34, 34, 32, 1, 65, 18, 34, 0, 4, 0, 17, 16, 1, 64, 1, 17, 0, 5, 0, 17, 16, 0, 64, 0, 0, 0, 5, 0, 17, 16, 1, 81, 18, 34, 0, 21, 17, 17, 16, 0, 64, 3, 51, 0, 36, 34, 51, 48, 1, 65, 19, 51, 0, 20, 0, 0, 0, 0, 80, 2, 34, 0, 37, 34, 34, 32, 1, 80, 1, 17, 0, 4, 0, 51, 48, 0, 64, 35, 51, 0, 20, 0, 51, 48, 0, 64, 2, 0, 0, 4, 2, 34, 32, 1, 64, 2, 0, 0, 20, 0, 0, 0, 1, 17, 17, 17, 0, 4, 0, 51, 48, 0, 48, 2, 34, 0, 19, 0, 34, 32, 1, 65, 19, 51, 0, 17, 0, 0, 0, 0, 32, 2, 34, 0, 34, 34, 34, 32, 1, 32, 1, 17, 0, 4, 0, 51, 48, 0, 64, 35, 51, 0, 20, 0, 51, 48, 0, 32, 2, 0, 0, 2, 2, 34, 32, 1, 32, 2, 0, 0, 18, 0, 0, 0, 1, 17, 17, 17, 0, 3, 0, 51, 48, 0, 32, 2, 34, 0, 2, 2, 34, 32, 1, 32, 2, 34, 0, 19, 17, 51, 48, 1, 16, 0, 0, 0, 17, 17, 17, 16, 0, 16, 1, 17, 0, 0, 0, 0, 0, 0, 16, 1, 17, 0, 17, 0, 17, 16, 0, 16, 1, 17, 0, 17, 0, 17, 16, 0, 64, 3, 51, 0, 20, 0, 51, 48, 1, 16, 0, 0, 0, 17, 17, 17, 16, 0, 64, 3, 51, 0, 3, 0, 34, 32, 1, 48, 2, 34, 0, 20, 17, 51, 48, 1, 16, 0, 0, 0, 2, 0, 34, 32, 2, 34, 34, 34, 0, 18, 0, 17, 16, 0, 48, 3, 51, 0, 3, 2, 51, 48, 1, 48, 3, 51, 0, 2, 0, 32, 0, 1, 32, 2, 0, 0, 18, 0, 0, 0, 0, 16, 1, 17, 0, 17, 0, 17, 16, 0, 16, 1, 17, 0, 17, 0, 17, 16, 0, 48, 3, 51, 0, 19, 0, 51, 48, 1, 16, 0, 0, 0, 1, 0, 17, 16, 1, 16, 1, 17, 0, 1, 0, 17, 16, 1, 16, 1, 17, 0, 4, 0, 51, 48, 1, 64, 3, 51, 0, 17, 0, 0, 0, 1, 17, 17, 17, 0, 3, 0, 51, 48, 0, 32, 2, 34, 0, 18, 0, 34, 32, 1, 49, 19, 51, 0, 17, 0, 0, 0, 1, 16, 1, 17, 0, 1, 0, 17, 16, 1, 16, 1, 17, 0, 3, 0, 51, 48, 1, 48, 3, 51, 0, 17, 0, 0, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx2t99_advsimd_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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 3, 4, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 5, 5, 5, 5, 5, 0, 0, 6, 6, 6, 6, 7, 7, 0, 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, 8}; /* Vector for state transitions. */ static const unsigned short thunderx2t99_advsimd_transitions[] ATTRIBUTE_UNUSED = { 0, 4, 3, 33, 132, 451, 10, 1, 0, 1, 453, 4, 27, 67, 449, 2, 453, 0, 2, 453, 5, 453, 453, 427, 12, 453, 3, 3, 453, 4, 356, 445, 443, 28, 4, 0, 4, 453, 453, 453, 453, 434, 5, 453, 0, 5, 453, 453, 453, 453, 401, 6, 453, 3, 6, 453, 453, 453, 453, 7, 453, 453, 4, 7, 453, 453, 453, 453, 22, 453, 453, 8, 8, 453, 453, 453, 453, 278, 37, 453, 9, 9, 26, 32, 383, 433, 431, 40, 299, 10, 10, 5, 28, 315, 430, 426, 11, 2, 3, 11, 6, 19, 453, 453, 424, 453, 12, 4, 12, 453, 6, 453, 453, 13, 453, 453, 4, 13, 453, 7, 453, 453, 14, 453, 453, 8, 14, 453, 22, 453, 453, 453, 453, 453, 15, 15, 453, 453, 453, 453, 296, 45, 453, 16, 16, 47, 46, 453, 453, 422, 144, 17, 11, 17, 453, 47, 453, 453, 420, 18, 453, 11, 18, 453, 48, 453, 453, 150, 23, 453, 19, 19, 453, 6, 453, 453, 20, 453, 6, 4, 20, 453, 7, 453, 453, 21, 453, 7, 8, 21, 453, 22, 453, 453, 453, 453, 22, 15, 22, 453, 453, 453, 453, 453, 453, 453, 15, 23, 453, 49, 453, 453, 24, 453, 453, 6, 24, 453, 50, 453, 453, 148, 453, 453, 25, 25, 453, 453, 453, 453, 187, 453, 453, 26, 26, 453, 453, 453, 453, 343, 27, 453, 10, 27, 453, 453, 453, 453, 334, 35, 453, 28, 28, 453, 5, 135, 407, 29, 19, 5, 3, 29, 453, 401, 297, 381, 406, 20, 401, 30, 30, 453, 8, 369, 397, 395, 31, 8, 9, 31, 453, 37, 227, 327, 312, 78, 37, 32, 32, 453, 26, 257, 391, 389, 33, 26, 10, 33, 453, 27, 49, 388, 353, 34, 27, 28, 34, 453, 35, 453, 453, 60, 453, 35, 5, 35, 453, 453, 453, 453, 36, 453, 453, 5, 36, 453, 453, 453, 453, 59, 453, 453, 37, 37, 453, 453, 453, 453, 38, 25, 453, 32, 38, 453, 453, 453, 453, 196, 187, 453, 39, 39, 453, 80, 261, 265, 223, 68, 80, 40, 40, 27, 33, 23, 354, 350, 55, 41, 28, 41, 453, 27, 453, 453, 328, 42, 453, 28, 42, 453, 35, 453, 453, 43, 453, 453, 5, 43, 453, 36, 453, 453, 44, 453, 453, 37, 44, 453, 59, 453, 453, 453, 453, 453, 45, 45, 453, 453, 453, 453, 246, 52, 453, 46, 46, 453, 47, 453, 453, 348, 73, 47, 11, 47, 453, 453, 453, 453, 346, 48, 453, 11, 48, 453, 453, 453, 453, 169, 49, 453, 19, 49, 453, 453, 453, 453, 50, 453, 453, 6, 50, 453, 453, 453, 453, 51, 453, 453, 25, 51, 453, 453, 453, 453, 453, 453, 453, 52, 52, 453, 453, 453, 453, 53, 453, 453, 47, 53, 453, 453, 453, 453, 167, 453, 453, 54, 54, 453, 453, 453, 453, 238, 61, 453, 55, 55, 35, 34, 453, 453, 56, 453, 42, 5, 56, 36, 60, 453, 453, 57, 453, 43, 37, 57, 59, 58, 453, 453, 453, 453, 44, 45, 58, 453, 59, 453, 453, 453, 453, 59, 45, 59, 453, 453, 453, 453, 453, 453, 453, 45, 60, 453, 36, 453, 453, 58, 453, 36, 37, 61, 453, 453, 453, 453, 113, 62, 453, 34, 62, 453, 453, 453, 453, 63, 453, 453, 35, 63, 453, 453, 453, 453, 103, 453, 453, 64, 64, 453, 453, 453, 453, 65, 453, 453, 27, 65, 453, 453, 453, 453, 87, 453, 453, 66, 66, 453, 453, 453, 453, 67, 64, 453, 33, 67, 453, 453, 453, 453, 122, 65, 453, 68, 68, 453, 66, 62, 266, 132, 69, 66, 33, 69, 453, 64, 453, 453, 70, 453, 64, 27, 70, 453, 65, 453, 453, 71, 453, 65, 66, 71, 453, 87, 453, 453, 453, 453, 87, 72, 72, 453, 453, 453, 453, 116, 92, 453, 73, 73, 453, 48, 453, 453, 77, 74, 48, 19, 74, 453, 49, 453, 453, 75, 453, 49, 6, 75, 453, 50, 453, 453, 76, 453, 50, 25, 76, 453, 51, 453, 453, 453, 453, 51, 52, 77, 453, 169, 453, 453, 171, 75, 169, 78, 78, 453, 25, 453, 453, 79, 453, 25, 26, 79, 453, 187, 453, 453, 305, 453, 187, 80, 80, 453, 453, 453, 453, 81, 66, 453, 40, 81, 453, 453, 453, 453, 214, 67, 453, 82, 82, 66, 68, 158, 133, 126, 123, 83, 33, 83, 453, 66, 453, 453, 88, 84, 453, 33, 84, 453, 64, 453, 453, 85, 453, 453, 27, 85, 453, 65, 453, 453, 86, 453, 453, 66, 86, 453, 87, 453, 453, 453, 453, 453, 72, 87, 453, 453, 453, 453, 453, 453, 453, 72, 88, 453, 67, 453, 453, 89, 85, 453, 68, 89, 453, 122, 453, 453, 453, 86, 453, 90, 90, 453, 72, 96, 453, 110, 91, 72, 73, 91, 453, 92, 453, 453, 108, 453, 92, 48, 92, 453, 453, 453, 453, 93, 453, 453, 48, 93, 453, 453, 453, 453, 94, 453, 453, 61, 94, 453, 453, 453, 453, 453, 453, 453, 95, 95, 453, 453, 453, 453, 99, 96, 453, 74, 96, 453, 453, 453, 453, 97, 453, 453, 49, 97, 453, 453, 453, 453, 98, 453, 453, 62, 98, 453, 453, 453, 453, 453, 453, 453, 96, 99, 453, 453, 453, 453, 104, 97, 453, 100, 100, 453, 62, 453, 453, 101, 453, 62, 35, 101, 453, 63, 453, 453, 102, 453, 63, 64, 102, 453, 103, 453, 453, 453, 453, 103, 92, 103, 453, 453, 453, 453, 453, 453, 453, 92, 104, 453, 453, 453, 453, 453, 98, 453, 105, 105, 453, 96, 453, 453, 106, 453, 96, 49, 106, 453, 97, 453, 453, 107, 453, 97, 62, 107, 453, 98, 453, 453, 453, 453, 98, 96, 108, 453, 93, 453, 453, 109, 453, 93, 61, 109, 453, 94, 453, 453, 453, 453, 94, 95, 110, 453, 116, 97, 453, 121, 108, 116, 111, 111, 453, 61, 453, 453, 112, 100, 61, 34, 112, 453, 113, 453, 453, 115, 101, 113, 69, 113, 453, 453, 453, 453, 114, 63, 453, 69, 114, 453, 453, 453, 453, 453, 103, 453, 91, 115, 453, 114, 453, 453, 453, 102, 114, 91, 116, 453, 453, 453, 453, 117, 93, 453, 111, 117, 453, 453, 453, 453, 453, 94, 453, 118, 118, 453, 95, 453, 453, 119, 105, 95, 74, 119, 453, 99, 453, 453, 120, 106, 99, 100, 120, 453, 104, 453, 453, 453, 107, 104, 105, 121, 453, 117, 98, 453, 453, 109, 117, 118, 122, 453, 453, 453, 453, 453, 87, 453, 90, 123, 64, 69, 453, 453, 124, 453, 84, 27, 124, 65, 70, 453, 453, 125, 453, 85, 66, 125, 87, 71, 453, 453, 453, 453, 86, 72, 126, 67, 132, 131, 130, 127, 124, 88, 68, 127, 122, 129, 128, 453, 453, 125, 89, 90, 128, 453, 103, 453, 453, 453, 453, 453, 92, 129, 453, 122, 103, 453, 453, 71, 122, 90, 130, 453, 98, 453, 453, 453, 453, 453, 96, 131, 453, 63, 453, 453, 128, 453, 453, 64, 132, 453, 67, 63, 98, 129, 70, 67, 68, 133, 453, 266, 453, 453, 130, 453, 453, 134, 134, 453, 453, 453, 453, 264, 453, 453, 135, 135, 453, 453, 453, 453, 297, 453, 453, 136, 136, 453, 453, 453, 453, 137, 6, 453, 1, 137, 453, 453, 453, 453, 279, 7, 453, 138, 138, 453, 8, 66, 453, 197, 139, 453, 9, 139, 453, 37, 453, 453, 188, 140, 453, 32, 140, 453, 25, 453, 453, 141, 453, 453, 26, 141, 453, 187, 453, 453, 142, 453, 453, 80, 142, 453, 186, 453, 453, 453, 453, 453, 143, 143, 453, 453, 453, 453, 172, 72, 453, 144, 144, 48, 73, 453, 453, 149, 145, 18, 19, 145, 49, 74, 453, 453, 146, 453, 23, 6, 146, 50, 75, 453, 453, 147, 453, 24, 25, 147, 51, 76, 453, 453, 453, 453, 148, 52, 148, 453, 51, 453, 453, 453, 453, 453, 52, 149, 169, 77, 453, 453, 170, 146, 150, 78, 150, 453, 169, 453, 453, 151, 24, 453, 78, 151, 453, 168, 453, 453, 453, 148, 453, 152, 152, 453, 52, 453, 453, 153, 453, 52, 47, 153, 453, 53, 453, 453, 154, 453, 53, 54, 154, 453, 167, 453, 453, 453, 453, 167, 155, 155, 453, 453, 453, 453, 156, 95, 453, 145, 156, 453, 453, 453, 453, 161, 99, 453, 157, 157, 62, 100, 453, 453, 159, 453, 158, 35, 158, 453, 62, 453, 453, 131, 453, 453, 35, 159, 63, 101, 453, 453, 160, 453, 131, 64, 160, 103, 102, 453, 453, 453, 453, 128, 92, 161, 453, 453, 453, 453, 453, 104, 453, 162, 162, 96, 105, 453, 453, 165, 453, 163, 49, 163, 453, 96, 453, 453, 164, 453, 453, 49, 164, 453, 97, 453, 453, 130, 453, 453, 62, 165, 97, 106, 453, 453, 166, 453, 164, 62, 166, 98, 107, 453, 453, 453, 453, 130, 96, 167, 453, 453, 453, 453, 453, 453, 453, 155, 168, 453, 453, 453, 453, 453, 51, 453, 152, 169, 453, 453, 453, 453, 168, 50, 453, 78, 170, 168, 171, 453, 453, 453, 147, 151, 152, 171, 453, 168, 453, 453, 453, 76, 168, 152, 172, 453, 453, 453, 453, 179, 116, 453, 173, 173, 61, 111, 453, 453, 177, 157, 174, 34, 174, 453, 61, 453, 453, 175, 158, 453, 34, 175, 453, 113, 453, 453, 176, 131, 453, 69, 176, 453, 114, 453, 453, 453, 128, 453, 91, 177, 113, 112, 453, 453, 178, 159, 175, 69, 178, 114, 115, 453, 453, 453, 160, 176, 91, 179, 453, 453, 453, 453, 453, 117, 453, 180, 180, 95, 118, 453, 453, 184, 162, 181, 74, 181, 453, 95, 453, 453, 182, 163, 453, 74, 182, 453, 99, 453, 453, 183, 164, 453, 100, 183, 453, 104, 453, 453, 453, 130, 453, 105, 184, 99, 119, 453, 453, 185, 165, 182, 100, 185, 104, 120, 453, 453, 453, 166, 183, 105, 186, 453, 453, 453, 453, 453, 453, 453, 143, 187, 453, 453, 453, 453, 186, 453, 453, 80, 188, 453, 38, 453, 453, 189, 141, 453, 39, 189, 453, 196, 453, 453, 453, 142, 453, 190, 190, 453, 143, 195, 453, 191, 90, 143, 144, 191, 453, 172, 194, 453, 192, 110, 172, 173, 192, 453, 179, 193, 453, 453, 121, 179, 180, 193, 453, 453, 453, 453, 453, 98, 453, 163, 194, 453, 453, 453, 453, 193, 97, 453, 158, 195, 453, 453, 453, 453, 194, 96, 453, 23, 196, 453, 453, 453, 453, 453, 186, 453, 190, 197, 453, 278, 67, 453, 268, 188, 453, 198, 198, 80, 39, 267, 224, 215, 82, 199, 40, 199, 453, 80, 453, 453, 200, 83, 453, 40, 200, 453, 81, 453, 453, 201, 88, 453, 82, 201, 453, 214, 453, 453, 453, 89, 453, 202, 202, 72, 90, 163, 453, 212, 209, 203, 73, 203, 453, 72, 453, 453, 207, 204, 453, 73, 204, 453, 92, 453, 453, 205, 453, 453, 48, 205, 453, 93, 453, 453, 206, 453, 453, 61, 206, 453, 94, 453, 453, 453, 453, 453, 95, 207, 453, 116, 453, 453, 208, 205, 453, 111, 208, 453, 117, 453, 453, 453, 206, 453, 118, 209, 92, 91, 453, 453, 210, 453, 204, 48, 210, 93, 108, 453, 453, 211, 453, 205, 61, 211, 94, 109, 453, 453, 453, 453, 206, 95, 212, 116, 110, 164, 453, 213, 210, 207, 111, 213, 117, 121, 130, 453, 453, 211, 208, 118, 214, 453, 453, 453, 453, 453, 122, 453, 202, 215, 81, 223, 221, 220, 216, 126, 200, 82, 216, 214, 219, 217, 453, 453, 127, 201, 202, 217, 453, 218, 453, 453, 453, 128, 453, 204, 218, 453, 453, 453, 453, 453, 103, 453, 204, 219, 453, 214, 218, 453, 453, 129, 214, 202, 220, 453, 193, 453, 453, 453, 130, 453, 163, 221, 453, 222, 453, 453, 217, 131, 453, 84, 222, 453, 453, 453, 453, 218, 63, 453, 84, 223, 453, 81, 222, 193, 219, 132, 81, 82, 224, 453, 265, 453, 453, 220, 133, 453, 225, 225, 453, 134, 453, 453, 226, 453, 453, 135, 226, 453, 264, 453, 453, 255, 453, 453, 227, 227, 453, 453, 453, 453, 247, 453, 453, 228, 228, 453, 453, 453, 453, 229, 35, 453, 2, 229, 453, 453, 453, 453, 230, 36, 453, 139, 230, 453, 453, 453, 453, 453, 59, 453, 231, 231, 453, 45, 453, 453, 235, 232, 453, 46, 232, 453, 52, 453, 453, 233, 453, 453, 47, 233, 453, 53, 453, 453, 234, 453, 453, 54, 234, 453, 167, 453, 453, 453, 453, 453, 155, 235, 453, 246, 453, 453, 241, 233, 453, 236, 236, 453, 54, 453, 453, 237, 111, 54, 55, 237, 453, 238, 453, 453, 240, 112, 238, 123, 238, 453, 453, 453, 453, 239, 113, 453, 123, 239, 453, 453, 453, 453, 453, 114, 453, 209, 240, 453, 239, 453, 453, 453, 115, 239, 209, 241, 453, 245, 453, 453, 453, 234, 453, 242, 242, 453, 155, 453, 453, 243, 118, 155, 145, 243, 453, 156, 453, 453, 244, 119, 156, 157, 244, 453, 161, 453, 453, 453, 120, 161, 162, 245, 453, 453, 453, 453, 453, 167, 453, 242, 246, 453, 453, 453, 453, 245, 53, 453, 236, 247, 453, 453, 453, 453, 251, 453, 453, 248, 248, 453, 453, 453, 453, 249, 64, 453, 41, 249, 453, 453, 453, 453, 250, 65, 453, 83, 250, 453, 453, 453, 453, 453, 87, 453, 203, 251, 453, 453, 453, 453, 453, 453, 453, 252, 252, 453, 453, 453, 453, 253, 92, 453, 18, 253, 453, 453, 453, 453, 254, 93, 453, 174, 254, 453, 453, 453, 453, 453, 94, 453, 181, 255, 453, 263, 453, 453, 453, 453, 453, 256, 256, 453, 453, 453, 453, 260, 453, 453, 257, 257, 453, 453, 453, 453, 258, 49, 453, 12, 258, 453, 453, 453, 453, 259, 50, 453, 140, 259, 453, 453, 453, 453, 453, 51, 453, 232, 260, 453, 453, 453, 453, 262, 453, 453, 261, 261, 453, 453, 453, 453, 222, 62, 453, 42, 262, 453, 453, 453, 453, 453, 453, 453, 195, 263, 453, 453, 453, 453, 453, 453, 453, 256, 264, 453, 453, 453, 453, 263, 453, 453, 227, 265, 453, 453, 453, 453, 193, 266, 453, 225, 266, 453, 453, 453, 453, 98, 453, 453, 134, 267, 453, 261, 453, 453, 221, 158, 453, 42, 268, 453, 277, 122, 453, 453, 189, 453, 269, 269, 143, 190, 276, 453, 273, 202, 270, 144, 270, 453, 143, 453, 453, 271, 203, 453, 144, 271, 453, 172, 453, 453, 272, 207, 453, 173, 272, 453, 179, 453, 453, 453, 208, 453, 180, 273, 172, 191, 275, 453, 274, 212, 271, 173, 274, 179, 192, 220, 453, 453, 213, 272, 180, 275, 453, 194, 453, 453, 220, 164, 453, 158, 276, 453, 195, 453, 453, 275, 163, 453, 23, 277, 453, 453, 453, 453, 453, 196, 453, 269, 278, 453, 453, 453, 453, 277, 38, 453, 198, 279, 453, 453, 453, 453, 453, 22, 453, 280, 280, 453, 15, 72, 453, 281, 231, 453, 16, 281, 453, 296, 116, 453, 288, 235, 453, 282, 282, 54, 236, 453, 453, 286, 173, 283, 55, 283, 453, 54, 453, 453, 284, 174, 453, 55, 284, 453, 238, 453, 453, 285, 175, 453, 123, 285, 453, 239, 453, 453, 453, 176, 453, 209, 286, 238, 237, 453, 453, 287, 177, 284, 123, 287, 239, 240, 453, 453, 453, 178, 285, 209, 288, 453, 295, 117, 453, 453, 241, 453, 289, 289, 155, 242, 453, 453, 293, 180, 290, 145, 290, 453, 155, 453, 453, 291, 181, 453, 145, 291, 453, 156, 453, 453, 292, 182, 453, 157, 292, 453, 161, 453, 453, 453, 183, 453, 162, 293, 156, 243, 453, 453, 294, 184, 291, 157, 294, 161, 244, 453, 453, 453, 185, 292, 162, 295, 453, 453, 453, 453, 453, 245, 453, 289, 296, 453, 453, 453, 453, 295, 246, 453, 282, 297, 453, 453, 453, 453, 321, 453, 453, 298, 298, 453, 453, 453, 453, 344, 25, 453, 299, 299, 453, 26, 453, 453, 300, 41, 453, 10, 300, 453, 343, 453, 453, 335, 328, 453, 301, 301, 37, 31, 323, 313, 306, 302, 139, 32, 302, 25, 78, 453, 453, 303, 453, 140, 26, 303, 187, 79, 453, 453, 304, 453, 141, 80, 304, 186, 305, 453, 453, 453, 453, 142, 143, 305, 453, 186, 453, 453, 453, 453, 186, 143, 306, 38, 312, 311, 310, 307, 303, 188, 39, 307, 196, 309, 308, 453, 453, 304, 189, 190, 308, 453, 251, 453, 453, 453, 453, 453, 252, 309, 453, 196, 251, 453, 453, 305, 196, 190, 310, 453, 262, 453, 453, 453, 453, 453, 195, 311, 453, 247, 453, 453, 308, 453, 453, 248, 312, 453, 38, 247, 262, 309, 79, 38, 39, 313, 453, 327, 453, 453, 310, 453, 453, 314, 314, 453, 453, 453, 453, 322, 134, 453, 315, 315, 453, 135, 453, 453, 316, 453, 453, 136, 316, 453, 297, 453, 453, 317, 453, 453, 298, 317, 453, 321, 453, 453, 453, 453, 453, 318, 318, 453, 453, 453, 453, 319, 52, 453, 17, 319, 453, 453, 453, 453, 320, 53, 453, 283, 320, 453, 453, 453, 453, 453, 167, 453, 290, 321, 453, 453, 453, 453, 453, 453, 453, 318, 322, 453, 453, 453, 453, 324, 264, 453, 323, 323, 453, 227, 453, 453, 311, 453, 453, 228, 324, 453, 453, 453, 453, 453, 263, 453, 325, 325, 453, 256, 453, 453, 326, 453, 453, 257, 326, 453, 260, 453, 453, 310, 453, 453, 261, 327, 453, 453, 453, 453, 262, 453, 453, 314, 328, 453, 334, 453, 453, 329, 43, 453, 31, 329, 453, 333, 453, 453, 453, 44, 453, 330, 330, 453, 45, 256, 453, 331, 152, 45, 46, 331, 453, 246, 260, 453, 332, 153, 246, 236, 332, 453, 245, 262, 453, 453, 154, 245, 242, 333, 453, 453, 453, 453, 453, 59, 453, 330, 334, 453, 453, 453, 453, 333, 36, 453, 31, 335, 453, 342, 453, 453, 453, 329, 453, 336, 336, 45, 330, 325, 453, 340, 337, 231, 46, 337, 52, 152, 453, 453, 338, 453, 232, 47, 338, 53, 153, 453, 453, 339, 453, 233, 54, 339, 167, 154, 453, 453, 453, 453, 234, 155, 340, 246, 331, 326, 453, 341, 338, 235, 236, 341, 245, 332, 310, 453, 453, 339, 241, 242, 342, 453, 453, 453, 453, 453, 333, 453, 336, 343, 453, 453, 453, 453, 342, 334, 453, 301, 344, 453, 453, 453, 453, 345, 187, 453, 199, 345, 453, 453, 453, 453, 453, 186, 453, 270, 346, 453, 453, 453, 453, 347, 169, 453, 302, 347, 453, 453, 453, 453, 453, 168, 453, 337, 348, 453, 346, 453, 453, 349, 77, 346, 302, 349, 453, 347, 453, 453, 453, 171, 347, 337, 350, 334, 353, 24, 255, 351, 56, 328, 31, 351, 333, 352, 148, 453, 453, 57, 329, 330, 352, 453, 333, 51, 453, 453, 58, 333, 330, 353, 453, 334, 50, 263, 352, 60, 334, 31, 354, 453, 388, 453, 453, 255, 453, 453, 355, 355, 453, 453, 453, 453, 368, 453, 453, 356, 356, 453, 453, 453, 453, 360, 135, 453, 357, 357, 453, 136, 35, 65, 358, 12, 453, 1, 358, 453, 137, 36, 453, 359, 13, 453, 138, 359, 453, 279, 59, 453, 453, 14, 453, 280, 360, 453, 453, 453, 453, 364, 297, 453, 361, 361, 453, 298, 64, 453, 362, 140, 453, 299, 362, 453, 344, 65, 453, 363, 141, 453, 199, 363, 453, 345, 87, 453, 453, 142, 453, 270, 364, 453, 453, 453, 453, 453, 321, 453, 365, 365, 453, 318, 92, 453, 366, 232, 453, 17, 366, 453, 319, 93, 453, 367, 233, 453, 283, 367, 453, 320, 94, 453, 453, 234, 453, 290, 368, 453, 453, 453, 453, 381, 453, 453, 369, 369, 453, 453, 453, 453, 373, 227, 453, 370, 370, 453, 228, 453, 453, 371, 42, 453, 2, 371, 453, 229, 453, 453, 372, 43, 453, 139, 372, 453, 230, 453, 453, 453, 44, 453, 231, 373, 453, 453, 453, 453, 377, 247, 453, 374, 374, 453, 248, 453, 453, 375, 84, 453, 41, 375, 453, 249, 453, 453, 376, 85, 453, 83, 376, 453, 250, 453, 453, 453, 86, 453, 203, 377, 453, 453, 453, 453, 453, 251, 453, 378, 378, 453, 252, 453, 453, 379, 204, 453, 18, 379, 453, 253, 453, 453, 380, 205, 453, 174, 380, 453, 254, 453, 453, 453, 206, 453, 181, 381, 453, 453, 453, 453, 453, 453, 453, 382, 382, 453, 453, 453, 453, 386, 256, 453, 383, 383, 453, 257, 453, 453, 384, 23, 453, 12, 384, 453, 258, 453, 453, 385, 24, 453, 140, 385, 453, 259, 453, 453, 453, 148, 453, 232, 386, 453, 453, 453, 453, 387, 260, 453, 267, 387, 453, 453, 453, 453, 453, 262, 453, 276, 388, 453, 453, 453, 453, 263, 453, 453, 355, 389, 453, 343, 258, 324, 390, 353, 343, 301, 390, 453, 342, 259, 453, 453, 352, 342, 336, 391, 453, 453, 453, 453, 324, 388, 453, 392, 392, 453, 355, 453, 453, 393, 453, 453, 356, 393, 453, 368, 453, 453, 394, 453, 453, 369, 394, 453, 381, 453, 453, 453, 453, 453, 382, 395, 453, 278, 373, 387, 396, 312, 278, 198, 396, 453, 277, 377, 453, 453, 309, 277, 269, 397, 453, 453, 453, 453, 387, 327, 453, 398, 398, 453, 314, 453, 453, 399, 225, 453, 315, 399, 453, 322, 453, 453, 400, 226, 453, 323, 400, 453, 324, 453, 453, 453, 255, 453, 325, 401, 453, 453, 453, 453, 402, 7, 453, 30, 402, 453, 453, 453, 453, 453, 22, 453, 403, 403, 453, 15, 382, 453, 404, 330, 15, 16, 404, 453, 296, 386, 453, 405, 331, 296, 282, 405, 453, 295, 387, 453, 453, 332, 295, 289, 406, 453, 402, 321, 453, 453, 21, 402, 403, 407, 453, 453, 453, 453, 381, 453, 453, 408, 408, 453, 453, 453, 453, 412, 355, 453, 409, 409, 453, 356, 49, 63, 410, 315, 453, 357, 410, 453, 360, 50, 453, 411, 316, 453, 361, 411, 453, 364, 51, 453, 453, 317, 453, 365, 412, 453, 453, 453, 453, 416, 368, 453, 413, 413, 453, 369, 62, 453, 414, 323, 453, 370, 414, 453, 373, 63, 453, 415, 311, 453, 374, 415, 453, 377, 103, 453, 453, 308, 453, 378, 416, 453, 453, 453, 453, 453, 381, 453, 417, 417, 453, 382, 96, 453, 418, 325, 453, 383, 418, 453, 386, 97, 453, 419, 326, 453, 267, 419, 453, 387, 98, 453, 453, 310, 453, 276, 420, 453, 346, 453, 453, 421, 150, 453, 302, 421, 453, 347, 453, 453, 453, 151, 453, 337, 422, 346, 348, 453, 453, 423, 149, 420, 302, 423, 347, 349, 453, 453, 453, 170, 421, 337, 424, 7, 20, 453, 453, 425, 453, 13, 8, 425, 22, 21, 453, 453, 453, 453, 14, 15, 426, 401, 29, 316, 394, 429, 424, 427, 30, 427, 453, 401, 453, 453, 428, 13, 453, 30, 428, 453, 402, 453, 453, 453, 14, 453, 403, 429, 402, 406, 317, 453, 453, 425, 428, 403, 430, 453, 407, 453, 453, 394, 453, 453, 408, 431, 343, 389, 384, 400, 432, 350, 300, 301, 432, 342, 390, 385, 453, 453, 351, 335, 336, 433, 453, 391, 453, 453, 400, 354, 453, 392, 434, 453, 453, 453, 453, 439, 401, 453, 435, 435, 8, 30, 68, 438, 436, 301, 138, 9, 436, 278, 395, 132, 419, 437, 306, 197, 198, 437, 277, 396, 129, 453, 453, 307, 268, 269, 438, 453, 397, 266, 453, 419, 313, 453, 398, 439, 453, 453, 453, 453, 453, 402, 453, 440, 440, 15, 403, 90, 453, 441, 336, 280, 16, 441, 296, 404, 110, 453, 442, 340, 281, 282, 442, 295, 405, 121, 453, 453, 341, 288, 289, 443, 453, 434, 360, 416, 444, 29, 434, 435, 444, 453, 439, 364, 453, 453, 406, 439, 440, 445, 453, 453, 453, 453, 416, 407, 453, 446, 446, 453, 408, 134, 97, 447, 392, 453, 409, 447, 453, 412, 264, 453, 448, 393, 453, 413, 448, 453, 416, 263, 453, 453, 394, 453, 417, 449, 453, 434, 334, 453, 450, 427, 453, 435, 450, 453, 439, 333, 453, 453, 428, 453, 440, 451, 434, 443, 353, 448, 452, 426, 449, 435, 452, 439, 444, 352, 453, 453, 429, 450, 440}; /* Vector of min issue delay of insns. */ static const unsigned char thunderx2t99_advsimd_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 0, 0, 16, 0, 0, 16, 2, 1, 16, 1, 0, 16, 0, 0, 0, 1, 17, 16, 1, 0, 33, 17, 0, 16, 2, 34, 32, 18, 0, 34, 34, 1, 32, 1, 17, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 0, 2, 2, 32, 18, 0, 32, 34, 1, 32, 2, 5, 81, 18, 0, 17, 68, 0, 16, 0, 3, 48, 0, 0, 16, 51, 0, 16, 3, 3, 48, 1, 0, 32, 34, 1, 0, 2, 2, 32, 16, 0, 32, 85, 17, 0, 2, 37, 81, 18, 0, 48, 51, 2, 48, 3, 3, 48, 35, 0, 34, 34, 1, 32, 1, 17, 16, 1, 0, 49, 17, 0, 16, 2, 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 0, 48, 0, 0, 0, 3, 2, 32, 16, 0, 50, 34, 1, 32, 3, 34, 32, 18, 0, 33, 17, 0, 16, 2, 17, 16, 1, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 48, 17, 0, 16, 3, 2, 32, 18, 0, 48, 34, 1, 32, 3, 5, 81, 18, 0, 33, 68, 0, 16, 1, 3, 48, 0, 0, 17, 51, 0, 16, 3, 19, 48, 1, 0, 51, 51, 2, 48, 3, 51, 48, 35, 0, 51, 85, 18, 48, 2, 36, 64, 18, 0, 34, 68, 1, 32, 1, 19, 48, 1, 0, 0, 34, 1, 0, 0, 2, 32, 16, 0, 0, 85, 17, 0, 3, 5, 81, 16, 0, 50, 85, 17, 32, 3, 2, 32, 16, 0, 65, 51, 0, 16, 4, 51, 48, 35, 0, 83, 51, 2, 48, 4, 34, 32, 18, 0, 82, 34, 1, 32, 4, 17, 16, 1, 0, 81, 17, 0, 16, 4, 0, 0, 0, 0, 64, 34, 1, 0, 5, 2, 32, 16, 0, 80, 85, 17, 0, 4, 20, 64, 1, 0, 48, 51, 0, 0, 3, 3, 48, 32, 0, 48, 51, 2, 0, 3, 5, 81, 32, 0, 48, 51, 0, 0, 2, 2, 32, 16, 0, 32, 34, 1, 0, 1, 17, 16, 1, 0, 17, 17, 0, 16, 0, 0, 0, 0, 0, 64, 17, 0, 16, 4, 2, 32, 18, 0, 80, 34, 1, 32, 5, 5, 81, 18, 0, 82, 85, 17, 32, 5, 1, 16, 1, 0, 80, 21, 16, 16, 4, 0, 64, 0, 0, 64, 68, 1, 0, 4, 36, 64, 18, 0, 82, 68, 1, 32, 5, 37, 81, 18, 0, 65, 68, 0, 16, 4, 68, 64, 52, 0, 84, 68, 3, 64, 5, 85, 81, 69, 0, 81, 68, 0, 16, 4, 3, 48, 32, 0, 80, 51, 2, 0, 5, 5, 81, 32, 0, 83, 85, 18, 48, 5, 21, 81, 1, 0, 64, 68, 3, 0, 5, 4, 64, 48, 0, 80, 85, 20, 0, 5, 4, 64, 16, 0, 80, 85, 17, 0, 5, 0, 64, 0, 0, 64, 51, 0, 0, 5, 3, 48, 0, 0, 81, 51, 0, 16, 5, 21, 81, 1, 0, 80, 85, 16, 0, 5, 20, 64, 1, 0, 81, 85, 16, 16, 4, 4, 64, 0, 0, 80, 68, 0, 0, 5, 5, 81, 0, 0, 80, 5, 16, 0, 5, 17, 81, 1, 0, 0, 34, 1, 0, 0, 2, 32, 16, 0, 0, 85, 17, 0, 0, 0, 0, 0, 0, 0, 5, 16, 0, 5, 5, 81, 35, 0, 80, 5, 16, 0, 5, 5, 81, 69, 0, 80, 51, 2, 48, 5, 0, 0, 0, 0, 80, 68, 3, 80, 4, 51, 48, 36, 0, 50, 34, 1, 48, 2, 17, 16, 2, 0, 33, 18, 0, 32, 1, 0, 16, 1, 0, 32, 17, 0, 16, 2, 2, 32, 18, 0, 32, 34, 1, 32, 2, 5, 81, 18, 0, 17, 68, 0, 16, 0, 3, 48, 0, 0, 0, 51, 2, 0, 0, 3, 48, 32, 0, 0, 85, 18, 0, 3, 5, 81, 35, 0, 0, 51, 0, 0, 3, 3, 48, 1, 0, 48, 85, 16, 16, 2, 4, 64, 16, 0, 32, 68, 1, 0, 2, 5, 81, 16, 0, 17, 68, 0, 16, 1, 20, 64, 1, 0, 0, 51, 2, 0, 4, 3, 48, 35, 0, 0, 51, 2, 0, 0, 5, 81, 32, 0, 17, 85, 16, 16, 0, 4, 64, 48, 0, 64, 68, 3, 64, 5, 4, 64, 52, 0, 0, 68, 3, 0, 0, 5, 81, 64, 0, 34, 85, 17, 32, 3, 21, 81, 1, 0, 49, 51, 0, 16, 0, 5, 81, 0, 0, 48, 85, 16, 0, 1, 20, 64, 1, 0, 0, 51, 0, 0, 4, 3, 48, 1, 0, 80, 51, 0, 16, 5, 5, 81, 1, 0, 0, 51, 0, 0, 0, 5, 81, 0, 0, 17, 85, 16, 16, 0, 4, 64, 0, 0, 64, 68, 0, 16, 5, 4, 64, 1, 0, 80, 85, 16, 16, 0, 4, 64, 0, 0, 0, 85, 16, 0, 2, 37, 81, 18, 0, 34, 34, 1, 32, 2, 1, 16, 1, 0, 32, 21, 16, 16, 1, 0, 64, 0, 0, 16, 4, 0, 0, 1, 0, 81, 0, 0, 81, 85, 16, 80, 5, 20, 64, 4, 0, 65, 68, 0, 64, 2, 17, 81, 1, 0, 16, 1, 0, 16, 0, 0, 0, 0, 0, 16, 17, 0, 16, 1, 1, 16, 1, 0, 16, 21, 16, 16, 0, 0, 64, 0, 0, 64, 68, 0, 16, 4, 4, 64, 18, 0, 80, 68, 1, 32, 5, 5, 81, 18, 0, 80, 68, 0, 16, 5, 5, 81, 1, 0, 0, 68, 1, 0, 0, 4, 64, 16, 0, 0, 85, 17, 0, 0, 0, 64, 0, 0, 0, 5, 16, 0, 1, 17, 81, 1, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 80, 85, 16, 48, 5, 21, 81, 3, 0, 16, 5, 16, 0, 5, 5, 81, 5, 0, 80, 51, 0, 48, 5, 19, 48, 3, 0, 16, 0, 0, 0, 5, 4, 64, 5, 0, 64, 51, 2, 64, 5, 4, 64, 36, 0, 66, 51, 1, 48, 3, 18, 32, 2, 0, 49, 34, 0, 32, 3, 21, 81, 2, 0, 32, 68, 0, 16, 2, 4, 64, 18, 0, 32, 68, 1, 32, 2, 5, 81, 18, 0, 32, 68, 0, 16, 1, 3, 48, 0, 0, 16, 51, 0, 0, 1, 19, 48, 1, 0, 17, 85, 16, 16, 1, 5, 81, 0, 0, 32, 85, 16, 16, 1, 4, 64, 0, 0, 16, 68, 0, 0, 1, 5, 81, 0, 0, 33, 85, 16, 16, 2, 20, 64, 1, 0, 82, 51, 1, 48, 4, 18, 32, 2, 0, 81, 34, 0, 32, 5, 21, 81, 2, 0, 82, 85, 17, 48, 4, 20, 64, 2, 0, 81, 68, 0, 32, 5, 21, 81, 2, 0, 80, 85, 18, 80, 4, 36, 64, 20, 0, 49, 51, 0, 48, 3, 19, 48, 3, 0, 49, 85, 16, 48, 5, 36, 64, 20, 0, 65, 51, 0, 48, 5, 37, 81, 21, 0, 83, 85, 18, 80, 5, 52, 64, 36, 0, 81, 68, 0, 80, 5, 68, 64, 53, 0, 64, 51, 0, 48, 1, 0, 81, 1, 0, 0, 4, 0, 0, 1, 4, 64, 1, 0, 16, 68, 0, 16, 1, 5, 81, 1, 0, 0, 4, 0, 0, 0, 0, 81, 0, 0, 80, 68, 0, 64, 4, 4, 64, 4, 0, 17, 21, 16, 16, 1, 17, 16, 1, 0, 33, 21, 16, 32, 1, 0, 64, 1, 0, 16, 4, 0, 16, 0, 3, 48, 0, 0, 16, 51, 0, 16, 1, 3, 48, 1, 0, 16, 85, 16, 16, 0, 3, 48, 0, 0, 0, 85, 16, 0, 1, 0, 81, 1, 0, 0, 68, 0, 0, 1, 4, 64, 1, 0, 16, 68, 0, 16, 1, 5, 81, 1, 0, 0, 68, 0, 0, 0, 5, 81, 0, 0, 17, 85, 16, 16, 1, 20, 64, 1, 0, 50, 51, 1, 48, 2, 18, 32, 2, 0, 16, 17, 0, 16, 1, 1, 16, 1, 0, 0, 0, 0, 0, 0, 2, 32, 16, 0, 0, 34, 1, 0, 0, 5, 81, 16, 0, 32, 85, 17, 0, 0, 0, 0, 0, 0, 0, 5, 16, 0, 5, 5, 81, 19, 0, 32, 5, 16, 0, 5, 5, 81, 21, 0, 80, 51, 1, 48, 2, 0, 0, 0, 0, 80, 68, 1, 80, 4, 19, 48, 4, 0, 48, 34, 1, 48, 3, 3, 48, 19, 0, 48, 85, 17, 48, 2, 20, 64, 2, 0, 33, 68, 0, 32, 2, 21, 81, 2, 0, 50, 85, 17, 48, 5, 20, 64, 4, 0, 64, 51, 1, 48, 5, 21, 81, 5, 0, 64, 68, 1, 64, 5, 4, 64, 20, 0, 82, 68, 1, 80, 3, 1, 16, 1, 0, 48, 21, 16, 16, 2, 0, 64, 0, 0, 32, 4, 0, 0, 2, 0, 81, 0, 0, 49, 21, 16, 16, 3, 17, 16, 1, 0, 16, 21, 16, 16, 0, 0, 64, 0, 0, 0, 68, 1, 0, 0, 4, 64, 16, 0, 0, 85, 17, 0, 0, 0, 64, 0, 0, 0, 5, 16, 0, 1, 17, 81, 1, 0, 17, 17, 0, 16, 2, 18, 32, 2, 0, 33, 85, 16, 32, 1, 19, 48, 1, 0, 17, 85, 16, 16, 1, 3, 48, 0, 0, 16, 85, 16, 0, 0, 0, 0, 0, 0, 0, 5, 16, 0, 3, 0, 81, 0, 0, 48, 0, 0, 0, 5, 3, 48, 37, 0, 66, 34, 1, 64, 3, 17, 16, 3, 0, 32, 0, 0, 32, 2, 0, 32, 2, 0, 32, 5, 16, 32, 3, 17, 48, 3, 0, 32, 2, 0, 32, 2, 0, 32, 2, 0, 32, 5, 16, 32, 3, 17, 81, 3, 0, 32, 4, 0, 32, 2, 0, 64, 2, 0, 32, 5, 16, 32, 5, 36, 64, 20, 0, 65, 51, 0, 48, 3, 2, 32, 2, 0, 48, 34, 0, 32, 3, 5, 81, 2, 0, 81, 51, 0, 48, 4, 2, 32, 2, 0, 80, 34, 0, 32, 5, 5, 81, 2, 0, 81, 85, 16, 48, 4, 4, 64, 2, 0, 80, 68, 0, 32, 5, 5, 81, 2, 0, 82, 85, 17, 80, 4, 20, 64, 4, 0, 48, 51, 0, 48, 3, 3, 48, 3, 0, 48, 85, 16, 48, 5, 20, 64, 4, 0, 81, 85, 16, 80, 5, 51, 48, 37, 0, 16, 0, 0, 0, 1, 0, 81, 0, 0, 81, 51, 0, 80, 4, 2, 32, 20, 0, 80, 68, 1, 64, 5, 5, 81, 21, 0, 16, 0, 0, 0, 1, 0, 81, 0, 0, 81, 68, 0, 80, 4, 3, 48, 4, 0, 80, 68, 0, 64, 5, 5, 81, 5, 0, 33, 17, 0, 16, 2, 17, 81, 1, 0, 16, 4, 0, 0, 1, 0, 64, 0, 0, 16, 5, 16, 0, 2, 0, 81, 0, 0, 82, 34, 1, 80, 4, 17, 16, 4, 0, 48, 0, 0, 48, 3, 0, 48, 3, 0, 48, 5, 16, 48, 5, 17, 64, 4, 0, 64, 3, 0, 48, 5, 0, 48, 3, 0, 80, 5, 16, 48, 5, 17, 81, 5, 0, 64, 4, 0, 64, 5, 0, 64, 4, 0, 80, 5, 16, 80, 1, 3, 48, 1, 0, 16, 85, 16, 16, 0, 3, 48, 0, 0, 0, 85, 16, 0, 0, 2, 32, 16, 0, 0, 85, 17, 0, 0, 0, 0, 0, 0, 32, 17, 0, 16, 2, 1, 81, 1, 0, 0, 5, 16, 0, 5, 2, 32, 21, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 80, 51, 0, 80, 1, 17, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 16, 0, 5, 0, 64, 5, 0, 17, 21, 16, 16, 0, 0, 64, 0, 0, 0, 4, 0, 0, 0, 0, 81, 0, 0, 16, 0, 0, 0, 1, 0, 81, 0, 0, 81, 17, 0, 80, 4, 0, 0, 4, 0, 80, 4, 0, 64, 5, 0, 81, 5, 0, 16, 1, 0, 16, 1, 0, 81, 1, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx2t99_ldst_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, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 2, 2, 2, 2, 4, 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, 5}; /* Vector for state transitions. */ static const unsigned char thunderx2t99_ldst_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 1, 14, 9, 0, 1, 16, 2, 5, 7, 0, 2, 16, 16, 3, 16, 0, 3, 16, 16, 4, 16, 1, 4, 16, 16, 16, 16, 2, 5, 16, 3, 6, 3, 1, 6, 16, 4, 16, 4, 2, 7, 16, 16, 3, 16, 8, 8, 16, 1, 12, 9, 0, 9, 16, 7, 10, 16, 8, 10, 16, 3, 11, 16, 1, 11, 16, 4, 16, 16, 2, 12, 16, 5, 13, 10, 1, 13, 16, 6, 16, 11, 2, 14, 3, 5, 15, 10, 1, 15, 4, 6, 16, 11, 2}; /* Vector of min issue delay of insns. */ static const unsigned char thunderx2t99_ldst_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 1, 0, 20, 66, 68, 41, 130, 0, 33, 2, 68, 16, 2, 4, 32, 66, 24, 32, 2, 16, 0, 0, 16}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char thunderx2t99_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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 3}; /* Vector for state transitions. */ static const unsigned char thunderx2t99_mult_transitions[] ATTRIBUTE_UNUSED = { 0, 5, 1, 0, 1, 3, 6, 2, 2, 6, 3, 4, 3, 6, 6, 2, 4, 6, 3, 5, 5, 6, 3, 0}; /* Vector of min issue delay of insns. */ static const unsigned char thunderx2t99_mult_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 0, 16, 3, 0, 4, 16, 2, 0, 1, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char tsv110_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, 1, 2, 3, 2, 3, 3, 4, 2, 5, 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, 6, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 7, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8}; /* Vector for state transitions. */ static const unsigned char tsv110_transitions[] ATTRIBUTE_UNUSED = { 0, 3, 35, 32, 2, 20, 3, 1, 0, 1, 37, 37, 37, 37, 37, 37, 37, 2, 2, 37, 37, 37, 37, 37, 37, 37, 0, 3, 18, 18, 15, 37, 4, 37, 37, 0, 4, 13, 13, 10, 37, 5, 37, 37, 0, 5, 8, 8, 6, 37, 37, 37, 37, 0, 6, 7, 7, 37, 37, 37, 37, 37, 0, 7, 2, 2, 37, 37, 37, 37, 37, 0, 8, 9, 9, 7, 37, 37, 37, 37, 0, 9, 37, 37, 2, 37, 37, 37, 37, 0, 10, 11, 11, 37, 37, 6, 37, 37, 0, 11, 12, 12, 37, 37, 7, 37, 37, 0, 12, 37, 37, 37, 37, 2, 37, 37, 0, 13, 14, 14, 11, 37, 8, 37, 37, 0, 14, 37, 37, 12, 37, 9, 37, 37, 0, 15, 16, 16, 37, 37, 10, 37, 37, 0, 16, 17, 17, 37, 37, 11, 37, 37, 0, 17, 37, 37, 37, 37, 12, 37, 37, 0, 18, 19, 19, 16, 37, 13, 37, 37, 0, 19, 37, 37, 17, 37, 14, 37, 37, 0, 20, 4, 30, 27, 37, 21, 4, 37, 0, 21, 5, 25, 22, 37, 37, 5, 37, 0, 22, 6, 23, 37, 37, 37, 6, 37, 0, 23, 7, 24, 37, 37, 37, 7, 37, 0, 24, 2, 37, 37, 37, 37, 2, 37, 0, 25, 8, 26, 23, 37, 37, 8, 37, 0, 26, 9, 37, 24, 37, 37, 9, 37, 0, 27, 10, 28, 37, 37, 22, 10, 37, 0, 28, 11, 29, 37, 37, 23, 11, 37, 0, 29, 12, 37, 37, 37, 24, 12, 37, 0, 30, 13, 31, 28, 37, 25, 13, 37, 0, 31, 14, 37, 29, 37, 26, 14, 37, 0, 32, 15, 33, 37, 37, 27, 15, 37, 0, 33, 16, 34, 37, 37, 28, 16, 37, 0, 34, 17, 37, 37, 37, 29, 17, 37, 0, 35, 18, 36, 33, 37, 30, 18, 37, 0, 36, 19, 37, 34, 37, 31, 19, 37, 0}; /* Vector of min issue delay of insns. */ static const unsigned char tsv110_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 10, 170, 129, 85, 80, 1, 20, 0, 69, 0, 21, 64, 21, 80, 5, 84, 0, 85, 5, 21, 64, 20, 80, 5, 20, 21, 69, 0, 17, 65, 68, 80, 5, 20, 1, 69, 5, 81, 64, 4, 80, 81, 20, 0, 65, 0, 20, 64, 21, 16, 5, 68, 5, 81, 0, 20, 64, 69, 16, 5, 4, 1, 65, 1, 80, 64, 4, 16, 17, 4, 1, 65, 0, 80, 64, 84, 16, 1, 4, 4, 65, 0}; /* Vector translating external insn codes to internal ones.*/ static const unsigned char tsv110_fsu_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, 1, 0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 3, 2, 2, 2, 3, 5, 3, 2, 3, 3, 1, 6}; /* Vector for state transitions. */ static const unsigned char tsv110_fsu_transitions[] ATTRIBUTE_UNUSED = { 0, 2, 4, 4, 3, 1, 0, 1, 5, 2, 2, 5, 5, 0, 2, 5, 5, 5, 5, 5, 0, 3, 5, 5, 5, 5, 5, 2, 4, 5, 2, 5, 5, 2, 0}; /* Vector of min issue delay of insns. */ static const unsigned char tsv110_fsu_min_issue_delay[] ATTRIBUTE_UNUSED = { 0, 0, 65, 65, 85, 10, 168, 17, 64}; #define DFA__ADVANCE_CYCLE 628 struct DFA_chip { unsigned char cortex_a53_automaton_state; unsigned short cortex_a53_advsimd_automaton_state; unsigned short cortex_a57_automaton_state; unsigned char cortex_a57_cx_automaton_state; unsigned char exynos_m1_gp_automaton_state; unsigned char exynos_m1_ls_automaton_state; unsigned short exynos_m1_fp_automaton_state; unsigned char falkor_automaton_state; unsigned char falkor_vfp_automaton_state; unsigned char falkor_mem_automaton_state; unsigned char saphira_automaton_state; unsigned char saphira_vfp_automaton_state; unsigned char saphira_mem_automaton_state; unsigned short thunderx_main_automaton_state; unsigned char thunderx_mult_automaton_state; unsigned char thunderx_divide_automaton_state; unsigned char thunderx_simd_automaton_state; unsigned char xgene1_main_automaton_state; unsigned char xgene1_decoder_automaton_state; unsigned char xgene1_div_automaton_state; unsigned char xgene1_simd_automaton_state; unsigned char thunderx2t99_automaton_state; unsigned short thunderx2t99_advsimd_automaton_state; unsigned char thunderx2t99_ldst_automaton_state; unsigned char thunderx2t99_mult_automaton_state; unsigned char tsv110_automaton_state; unsigned char tsv110_fsu_automaton_state; }; const int max_insn_queue_index = 511; 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: /* cortex_a53_shift */ case 1: /* cortex_a53_shift_reg */ case 2: /* cortex_a53_alu */ case 3: /* cortex_a53_alu_shift */ case 4: /* cortex_a53_alu_shift_reg */ case 5: /* cortex_a53_alu_extr */ case 6: /* cortex_a53_mul */ case 7: /* cortex_a53_div */ case 8: /* cortex_a53_load1 */ case 9: /* cortex_a53_store1 */ case 10: /* cortex_a53_load2 */ case 11: /* cortex_a53_store2 */ case 12: /* cortex_a53_load3plus */ case 13: /* cortex_a53_store3plus */ case 14: /* cortex_a53_branch */ case 23: /* cortex_a53_f_flags */ case 24: /* cortex_a53_f_load_64 */ case 25: /* cortex_a53_f_load_many */ case 26: /* cortex_a53_f_store_64 */ case 27: /* cortex_a53_f_store_many */ case 36: /* cortex_a53_crypto_aese */ case 37: /* cortex_a53_crypto_aesmc */ temp = cortex_a53_min_issue_delay [(cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14) / 4]; temp = (temp >> (8 - ((cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14) % 4 + 1) * 2)) & 3; res = temp; break; case 15: /* cortex_a53_fpalu */ case 16: /* cortex_a53_fconst */ case 17: /* cortex_a53_fpmul */ case 18: /* cortex_a53_fpmac */ case 19: /* cortex_a53_r2f */ case 20: /* cortex_a53_f2r */ case 21: /* cortex_a53_r2f_cvt */ case 22: /* cortex_a53_f2r_cvt */ case 28: /* cortex_a53_advsimd_alu */ case 29: /* cortex_a53_advsimd_alu_q */ case 30: /* cortex_a53_advsimd_mul */ case 31: /* cortex_a53_advsimd_mul_q */ case 32: /* cortex_a53_advsimd_div_s */ case 33: /* cortex_a53_advsimd_div_d */ case 34: /* cortex_a53_advsimd_div_s_q */ case 35: /* cortex_a53_advsimd_divd_q */ case 38: /* cortex_a53_crypto_sha1_fast */ case 39: /* cortex_a53_crypto_sha256_fast */ case 40: /* cortex_a53_crypto_sha1_xor */ case 41: /* cortex_a53_crypto_sha_slow */ temp = cortex_a53_advsimd_min_issue_delay [(cortex_a53_advsimd_translate [insn_code] + chip->cortex_a53_advsimd_automaton_state * 10) / 2]; temp = (temp >> (8 - ((cortex_a53_advsimd_translate [insn_code] + chip->cortex_a53_advsimd_automaton_state * 10) % 2 + 1) * 4)) & 15; res = temp; temp = cortex_a53_min_issue_delay [(cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14) / 4]; temp = (temp >> (8 - ((cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 42: /* cortex_a57_alu */ case 43: /* cortex_a57_alu_shift */ case 44: /* cortex_a57_alu_shift_reg */ case 45: /* cortex_a57_mult32 */ case 46: /* cortex_a57_div */ case 48: /* cortex_a57_branch */ case 49: /* cortex_a57_load1 */ case 50: /* cortex_a57_load3 */ case 51: /* cortex_a57_store1 */ case 52: /* cortex_a57_store3 */ case 92: /* cortex_a57_neon_to_gp */ case 93: /* cortex_a57_neon_load_a */ case 94: /* cortex_a57_neon_load_b */ case 99: /* cortex_a57_neon_store_a */ case 100: /* cortex_a57_neon_store_b */ temp = cortex_a57_min_issue_delay [(cortex_a57_translate [insn_code] + chip->cortex_a57_automaton_state * 16) / 2]; temp = (temp >> (8 - ((cortex_a57_translate [insn_code] + chip->cortex_a57_automaton_state * 16) % 2 + 1) * 4)) & 15; res = temp; break; case 47: /* cortex_a57_block */ case 88: /* cortex_a57_neon_from_gp */ case 89: /* cortex_a57_neon_from_gp_q */ case 95: /* cortex_a57_neon_load_c */ case 96: /* cortex_a57_neon_load_d */ case 97: /* cortex_a57_neon_load_e */ case 98: /* cortex_a57_neon_load_f */ case 101: /* cortex_a57_neon_store_complex */ case 116: /* cortex_a57_call */ temp = cortex_a57_cx_min_issue_delay [(cortex_a57_cx_translate [insn_code] + chip->cortex_a57_cx_automaton_state * 15) / 2]; temp = (temp >> (8 - ((cortex_a57_cx_translate [insn_code] + chip->cortex_a57_cx_automaton_state * 15) % 2 + 1) * 4)) & 15; res = temp; temp = cortex_a57_min_issue_delay [(cortex_a57_translate [insn_code] + chip->cortex_a57_automaton_state * 16) / 2]; temp = (temp >> (8 - ((cortex_a57_translate [insn_code] + chip->cortex_a57_automaton_state * 16) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 53: /* cortex_a57_neon_abd */ case 54: /* cortex_a57_neon_abd_q */ case 55: /* cortex_a57_neon_aba */ case 56: /* cortex_a57_neon_aba_q */ case 57: /* cortex_a57_neon_arith_basic */ case 58: /* cortex_a57_neon_arith_complex */ case 59: /* cortex_a57_neon_multiply */ case 60: /* cortex_a57_neon_multiply_q */ case 61: /* cortex_a57_neon_mla */ case 62: /* cortex_a57_neon_mla_q */ case 63: /* cortex_a57_neon_sat_mla_long */ case 64: /* cortex_a57_neon_shift_acc */ case 65: /* cortex_a57_neon_shift_imm_basic */ case 66: /* cortex_a57_neon_shift_imm_complex */ case 67: /* cortex_a57_neon_shift_reg_basic */ case 68: /* cortex_a57_neon_shift_reg_basic_q */ case 69: /* cortex_a57_neon_shift_reg_complex */ case 70: /* cortex_a57_neon_shift_reg_complex_q */ case 71: /* cortex_a57_neon_fp_negabs */ case 72: /* cortex_a57_neon_fp_arith */ case 73: /* cortex_a57_neon_fp_arith_q */ case 74: /* cortex_a57_neon_fp_reductions_q */ case 75: /* cortex_a57_neon_fp_cvt_int */ case 76: /* cortex_a57_neon_fp_cvt_int_q */ case 77: /* cortex_a57_neon_fp_cvt16 */ case 78: /* cortex_a57_neon_fp_mul */ case 79: /* cortex_a57_neon_fp_mul_q */ case 80: /* cortex_a57_neon_fp_mla */ case 81: /* cortex_a57_neon_fp_mla_q */ case 82: /* cortex_a57_neon_fp_recpe_rsqrte */ case 83: /* cortex_a57_neon_fp_recpe_rsqrte_q */ case 84: /* cortex_a57_neon_fp_recps_rsqrts */ case 85: /* cortex_a57_neon_fp_recps_rsqrts_q */ case 86: /* cortex_a57_neon_bitops */ case 87: /* cortex_a57_neon_bitops_q */ case 90: /* cortex_a57_neon_tbl3_tbl4 */ case 91: /* cortex_a57_neon_zip_q */ case 102: /* cortex_a57_fp_const */ case 103: /* cortex_a57_fp_add_sub */ case 104: /* cortex_a57_fp_mul */ case 105: /* cortex_a57_fp_mac */ case 106: /* cortex_a57_fp_cvt */ case 107: /* cortex_a57_fp_cmp */ case 108: /* cortex_a57_fp_arith */ case 109: /* cortex_a57_fp_cpys */ case 110: /* cortex_a57_fp_divs */ case 111: /* cortex_a57_fp_divd */ case 112: /* cortex_a57_neon_fp_div_q */ case 113: /* cortex_a57_crypto_simple */ case 114: /* cortex_a57_crypto_complex */ case 115: /* cortex_a57_crypto_xor */ temp = cortex_a57_cx_min_issue_delay [(cortex_a57_cx_translate [insn_code] + chip->cortex_a57_cx_automaton_state * 15) / 2]; temp = (temp >> (8 - ((cortex_a57_cx_translate [insn_code] + chip->cortex_a57_cx_automaton_state * 15) % 2 + 1) * 4)) & 15; res = temp; break; case 117: /* exynos_m1_branch */ case 118: /* exynos_m1_call */ case 119: /* exynos_m1_alu */ case 120: /* exynos_m1_alu_p */ case 121: /* exynos_m1_alu_shift */ case 122: /* exynos_m1_alu_shift_reg */ case 123: /* exynos_m1_alu_shift_reg_p */ case 124: /* exynos_m1_mla */ case 125: /* exynos_m1_mlal */ case 126: /* exynos_m1_div */ case 202: /* exynos_m1_crc */ temp = exynos_m1_gp_min_issue_delay [(exynos_m1_gp_translate [insn_code] + chip->exynos_m1_gp_automaton_state * 7) / 4]; temp = (temp >> (8 - ((exynos_m1_gp_translate [insn_code] + chip->exynos_m1_gp_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; break; case 127: /* exynos_m1_load */ case 128: /* exynos_m1_loadm */ case 129: /* exynos_m1_store */ case 130: /* exynos_m1_storem */ case 155: /* exynos_m1_neon_from_gp */ case 157: /* exynos_m1_neon_load */ case 158: /* exynos_m1_neon_load_q */ case 159: /* exynos_m1_neon_load1_1 */ case 160: /* exynos_m1_neon_load1_2 */ case 161: /* exynos_m1_neon_load1_3 */ case 162: /* exynos_m1_neon_load1_4 */ case 164: /* exynos_m1_neon_load2_2 */ case 166: /* exynos_m1_neon_load2_all */ case 167: /* exynos_m1_neon_load3_3 */ case 169: /* exynos_m1_neon_load3_all */ case 170: /* exynos_m1_neon_load4_4 */ case 172: /* exynos_m1_neon_load4_all */ temp = exynos_m1_ls_min_issue_delay [(exynos_m1_ls_translate [insn_code] + chip->exynos_m1_ls_automaton_state * 14) / 2]; temp = (temp >> (8 - ((exynos_m1_ls_translate [insn_code] + chip->exynos_m1_ls_automaton_state * 14) % 2 + 1) * 4)) & 15; res = temp; break; case 131: /* exynos_m1_arith_simple */ case 132: /* exynos_m1_neon_arith_basic */ case 133: /* exynos_m1_neon_arith_complex */ case 134: /* exynos_m1_neon_multiply */ case 135: /* exynos_m1_neon_shift_acc */ case 136: /* exynos_m1_neon_shift_basic */ case 137: /* exynos_m1_neon_shift_complex */ case 138: /* exynos_m1_neon_fp_unary */ case 139: /* exynos_m1_neon_fp_add */ case 140: /* exynos_m1_neon_fp_abd */ case 141: /* exynos_m1_neon_fp_compare */ case 142: /* exynos_m1_neon_fp_reduc */ case 143: /* exynos_m1_neon_fp_reduc_add */ case 144: /* exynos_m1_neon_fp_round */ case 145: /* exynos_m1_neon_fp_cvt */ case 146: /* exynos_m1_neon_fp_mul */ case 147: /* exynos_m1_neon_fp_mla */ case 148: /* exynos_m1_neon_fp_estimate */ case 149: /* exynos_m1_neon_fp_estimatex */ case 150: /* exynos_m1_neon_fp_step */ case 151: /* exynos_m1_neon_bitops */ case 152: /* exynos_m1_neon_bitops_q */ case 153: /* exynos_m1_neon_bitins */ case 154: /* exynos_m1_neon_tbl */ case 183: /* exynos_m1_fp_const */ case 184: /* exynos_m1_fp_add */ case 185: /* exynos_m1_fp_mul */ case 186: /* exynos_m1_fp_mac */ case 187: /* exynos_m1_fp_cvt */ case 190: /* exynos_m1_fp_cmp */ case 193: /* exynos_m1_fp_arith */ case 194: /* exynos_m1_fp_cpy */ case 195: /* exynos_m1_fp_divs */ case 196: /* exynos_m1_fp_divd */ case 197: /* exynos_m1_fp_minmax */ case 198: /* exynos_m1_crypto_simple */ case 199: /* exynos_m1_crypto_complex */ case 200: /* exynos_m1_crypto_poly */ case 201: /* exynos_m1_crypto_polyl */ temp = exynos_m1_fp_min_issue_delay [(exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21) / 2]; temp = (temp >> (8 - ((exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21) % 2 + 1) * 4)) & 15; res = temp; break; case 156: /* exynos_m1_neon_to_gp */ case 163: /* exynos_m1_neon_load1_one */ case 165: /* exynos_m1_neon_load2_one */ case 168: /* exynos_m1_neon_load3_one */ case 171: /* exynos_m1_neon_load4_one */ case 173: /* exynos_m1_neon_store */ case 174: /* exynos_m1_neon_store_q */ case 175: /* exynos_m1_neon_store1_1 */ case 176: /* exynos_m1_neon_store1_2 */ case 177: /* exynos_m1_neon_store1_3 */ case 178: /* exynos_m1_neon_store1_4 */ case 179: /* exynos_m1_neon_store1_one */ case 180: /* exynos_m1_neon_store2 */ case 181: /* exynos_m1_neon_store3 */ case 182: /* exynos_m1_neon_store4 */ case 188: /* exynos_m1_fp_cvt_i */ case 189: /* exynos_m1_i_cvt_fp */ case 191: /* exynos_m1_fp_ccmp */ case 192: /* exynos_m1_fp_sel */ temp = exynos_m1_fp_min_issue_delay [(exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21) / 2]; temp = (temp >> (8 - ((exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21) % 2 + 1) * 4)) & 15; res = temp; temp = exynos_m1_ls_min_issue_delay [(exynos_m1_ls_translate [insn_code] + chip->exynos_m1_ls_automaton_state * 14) / 2]; temp = (temp >> (8 - ((exynos_m1_ls_translate [insn_code] + chip->exynos_m1_ls_automaton_state * 14) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 203: /* falkor_afp_1_vxvy */ case 204: /* falkor_afp_1_vxvy_vxvy */ case 205: /* falkor_afp_2_vxvy */ case 206: /* falkor_afp_2_vxvy_vxvy */ case 207: /* falkor_afp_3_vxvy */ case 208: /* falkor_afp_3_vxvy_vxvy */ case 209: /* falkor_afp_4_vxvy */ case 210: /* falkor_afp_4_vxvy_vxvy */ case 211: /* falkor_afp_5_vxvy_mul */ case 212: /* falkor_afp_5_vxvy_mla */ case 213: /* falkor_afp_5_vxvy_vxvy_mul */ case 214: /* falkor_afp_5_vxvy_vxvy_mla */ case 215: /* falkor_afp_6_vxvy_mul */ case 216: /* falkor_afp_6_vxvy_mla */ case 217: /* falkor_afp_6_vxvy_vxvy_mul */ case 218: /* falkor_afp_6_vxvy_vxvy_mla */ case 219: /* falkor_afp_4_vxvy_vxvy_vxvy */ case 220: /* falkor_afp_6_vx_vy */ case 221: /* falkor_afp_11_vx_vy */ case 222: /* falkor_afp_6_vx_vy_vx_vy */ case 223: /* falkor_afp_11_vx_vy_vx_vy */ case 224: /* falkor_afp_12_vx_vy */ case 225: /* falkor_afp_22_vx_vy */ case 226: /* falkor_afp_12_vx_vy_vx_vy */ case 227: /* falkor_afp_22_vx_vy_vx_vy */ case 228: /* falkor_ai_1_vxvy */ case 229: /* falkor_ai_1_vxvy_vxvy */ case 230: /* falkor_ai_2_vxvy */ case 231: /* falkor_ai_2_vxvy_vxvy */ case 232: /* falkor_ai_3_vxvy */ case 233: /* falkor_ai_4_vxvy */ case 234: /* falkor_ai_3_vxvy_vxvy */ case 235: /* falkor_ai_4_vxvy_mul */ case 236: /* falkor_ai_4_vxvy_mla */ case 237: /* falkor_ai_4_vxvy_vxvy_mul */ case 238: /* falkor_ai_4_vxvy_vxvy_mla */ case 239: /* falkor_ai_4_vxvy_vxvy */ case 240: /* falkor_2_ai_vxvy_vxvy_vxvy_vxvy */ case 241: /* falkor_4_ai_vxvy_vxvy_vxvy_vxvy */ case 254: /* falkor_am_1_vxvy */ case 255: /* falkor_am_1_vxvy_vxvy */ case 256: /* falkor_am_2_vxvy */ case 257: /* falkor_am_4_vxvy_vxvy */ case 258: /* falkor_am_3_vxvy */ case 259: /* falkor_am_3_vxvy_vxvy */ case 260: /* falkor_am_5_vxvy */ case 261: /* falkor_am_5_vxvy_vxvy */ case 262: /* falkor_am_6_vxvy */ case 263: /* falkor_am_6_vxvy_vxvy */ case 264: /* falkor_am_5_vxvy_vxvy_vxvy */ case 265: /* falkor_am_6_vxvy_vxvy_vxvy_vxvy */ case 266: /* falkor_am_7_vxvy_vxvy_vxvy_vxvy_vxvy */ case 273: /* falkor_cry_1_vxvy */ case 274: /* falkor_cry_2_vxvy */ case 275: /* falkor_cry_2_vxvy_vxvy */ case 276: /* falkor_cry_4_vy_vx */ case 277: /* falkor_cry_6_vy_vx */ case 278: /* falkor_cry_3_vxvy_vxvy */ case 281: /* falkor_fpdt_0_vxvy */ case 283: /* falkor_fpdt_1_vxvy */ case 284: /* falkor_fpdt_2_vxvy */ case 285: /* falkor_fpdt_3_vxvy */ case 286: /* falkor_fpdt_4_vxvy */ case 287: /* falkor_fpdt_5_vxvy_mul */ case 288: /* falkor_fpdt_5_vxvy_mla */ case 289: /* falkor_fpdt_6_vxvy_mul */ case 290: /* falkor_fpdt_6_vxvy_mla */ case 291: /* falkor_fpdt_6_vx_vy */ case 292: /* falkor_fpdt_11_vx_vy */ case 293: /* falkor_fpdt_12_vx_vy */ case 294: /* falkor_fpdt_22_vx_vy */ case 297: /* falkor_fpmsc_1_vxvy */ temp = falkor_vfp_min_issue_delay [(falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7) / 4]; temp = (temp >> (8 - ((falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; break; case 242: /* falkor_ald_4_ld */ case 243: /* falkor_ald_4_ld_none */ case 244: /* falkor_ald_4_ld_ld */ case 245: /* falkor_ald_4_ld_ld_none */ case 246: /* falkor_ald_4_ld_ld_ld */ case 247: /* falkor_ald_4_ld_ld_none_none */ case 248: /* falkor_ald_4_ld_ld_ld_ld */ case 267: /* falkor_ast_st_vsd */ case 268: /* falkor_as_0_st_vsd_st_vsd */ case 269: /* falkor_as_0_st_vsd_st_vsd_st_vsd */ case 270: /* falkor_as_0_st_vsd_st_vsd_st_vsd_st_vsd */ case 279: /* falkor_fld_4_ld */ case 280: /* falkor_fld_0_st_vsd */ case 299: /* falkor_ld_3_ld */ case 312: /* falkor_st_0_st_sd */ temp = falkor_mem_min_issue_delay [(falkor_mem_translate [insn_code] + chip->falkor_mem_automaton_state * 11) / 2]; temp = (temp >> (8 - ((falkor_mem_translate [insn_code] + chip->falkor_mem_automaton_state * 11) % 2 + 1) * 4)) & 15; res = temp; break; case 249: /* falkor_alu_1_xyz */ case 250: /* falkor_am_3_gtov */ case 251: /* falkor_am_3_gtov_gtov */ case 252: /* falkor_am_1_gtov_gtov */ case 253: /* falkor_am_3_vtog */ case 271: /* falkor_branch_0_zb */ case 272: /* falkor_call_0_xyzb */ case 282: /* falkor_fpdt_5_vtog */ case 295: /* falkor_fpmsc_3_vtog */ case 296: /* falkor_fpmsc_3_gtov */ case 298: /* falkor_fpmsc_6_gtov */ case 300: /* falkor_misc_1_xyz */ case 301: /* falkor_misc_2_x */ case 302: /* falkor_misc_2_xyz */ case 303: /* falkor_muldiv_4_x_mul */ case 304: /* falkor_muldiv_4_x_mla */ case 305: /* falkor_muldiv_5_x_mul */ case 306: /* falkor_md_11_x_z */ case 307: /* falkor_mvs_1_xyz */ case 308: /* falkor_mvs_1_xyzb */ case 310: /* falkor_other_2_z */ temp = falkor_min_issue_delay [(falkor_translate [insn_code] + chip->falkor_automaton_state * 12) / 4]; temp = (temp >> (8 - ((falkor_translate [insn_code] + chip->falkor_automaton_state * 12) % 4 + 1) * 2)) & 3; res = temp; break; case 309: /* falkor_other_0_nothing */ case 394: /* saphira_other_0_nothing */ case 507: /* thunderx2t99_nothing */ case 510: /* thunderx2t99_regmove */ break; case 311: /* falkor_extra */ temp = falkor_mem_min_issue_delay [(falkor_mem_translate [insn_code] + chip->falkor_mem_automaton_state * 11) / 2]; temp = (temp >> (8 - ((falkor_mem_translate [insn_code] + chip->falkor_mem_automaton_state * 11) % 2 + 1) * 4)) & 15; res = temp; temp = falkor_vfp_min_issue_delay [(falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7) / 4]; temp = (temp >> (8 - ((falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = falkor_min_issue_delay [(falkor_translate [insn_code] + chip->falkor_automaton_state * 12) / 4]; temp = (temp >> (8 - ((falkor_translate [insn_code] + chip->falkor_automaton_state * 12) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 313: /* saphira_afp_1_vxvy */ case 314: /* saphira_afp_2_vxvy */ case 315: /* saphira_afp_3_vxvy */ case 316: /* saphira_afp_4_vxvy */ case 317: /* saphira_afp_5_vxvy_mul */ case 318: /* saphira_afp_5_vxvy_mla */ case 319: /* saphira_afp_6_vxvy_mul */ case 320: /* saphira_afp_6_vxvy_mla */ case 321: /* saphira_afp_4_vxvy_vxvy_vxvy */ case 322: /* saphira_afp_6_vx_vy */ case 323: /* saphira_afp_11_vx_vy */ case 324: /* saphira_afp_6_vx_vy_vx_vy */ case 325: /* saphira_afp_11_vx_vy_vx_vy */ case 326: /* saphira_afp_12_vx_vy */ case 327: /* saphira_afp_22_vx_vy */ case 328: /* saphira_afp_12_vx_vy_vx_vy */ case 329: /* saphira_afp_22_vx_vy_vx_vy */ case 330: /* saphira_ai_1_vxvy */ case 331: /* saphira_ai_2_vxvy */ case 332: /* saphira_ai_3_vxvy */ case 333: /* saphira_ai_4_vxvy */ case 334: /* saphira_ai_4_vxvy_mul */ case 335: /* saphira_ai_4_vxvy_mla */ case 336: /* saphira_2_ai_vxvy_vxvy */ case 349: /* saphira_am_1_vxvy */ case 350: /* saphira_am_2_vxvy */ case 351: /* saphira_am_3_vxvy */ case 352: /* saphira_am_5_vxvy */ case 353: /* saphira_am_6_vxvy */ case 360: /* saphira_cry_1_vxvy */ case 361: /* saphira_cry_2_vxvy */ case 362: /* saphira_cry_2_vxvy_vxvy */ case 363: /* saphira_cry_4_vy_vx */ case 364: /* saphira_cry_5_vy_vx */ case 367: /* saphira_fpdt_0_vxvy */ case 369: /* saphira_fpdt_1_vxvy */ case 370: /* saphira_fpdt_2_vxvy */ case 371: /* saphira_fpdt_3_vxvy */ case 372: /* saphira_fpdt_4_vxvy */ case 373: /* saphira_fpdt_5_vxvy_mul */ case 374: /* saphira_fpdt_5_vxvy_mla */ case 375: /* saphira_fpdt_6_vxvy_mul */ case 376: /* saphira_fpdt_6_vxvy_mla */ case 377: /* saphira_fpdt_6_vx_vy */ case 378: /* saphira_fpdt_11_vx_vy */ case 379: /* saphira_fpdt_12_vx_vy */ case 380: /* saphira_fpdt_22_vx_vy */ case 383: /* saphira_fpmsc_1_vxvy */ temp = saphira_vfp_min_issue_delay [(saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6) / 4]; temp = (temp >> (8 - ((saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; break; case 337: /* saphira_ald_4_ld */ case 338: /* saphira_ald_4_ld_none */ case 339: /* saphira_ald_4_ld_ld */ case 340: /* saphira_ald_4_ld_ld_none */ case 341: /* saphira_ald_4_ld_ld_ld */ case 342: /* saphira_ald_4_ld_ld_none_none */ case 343: /* saphira_ald_4_ld_ld_ld_ld */ case 354: /* saphira_ast_st_vsd */ case 355: /* saphira_as_0_st_vsd_st_vsd */ case 356: /* saphira_as_0_st_vsd_st_vsd_st_vsd */ case 357: /* saphira_as_0_st_vsd_st_vsd_st_vsd_st_vsd */ case 365: /* saphira_fld_4_ld */ case 366: /* saphira_fld_0_st_vsd */ case 385: /* saphira_ld_3_ld */ case 395: /* saphira_other_2_ld */ case 397: /* saphira_st_0_st_sd */ temp = saphira_mem_min_issue_delay [(saphira_mem_translate [insn_code] + chip->saphira_mem_automaton_state * 11) / 2]; temp = (temp >> (8 - ((saphira_mem_translate [insn_code] + chip->saphira_mem_automaton_state * 11) % 2 + 1) * 4)) & 15; res = temp; break; case 344: /* saphira_alu_1_xyz */ case 345: /* saphira_am_3_gtov */ case 346: /* saphira_am_3_gtov_gtov */ case 347: /* saphira_am_1_gtov_gtov */ case 348: /* saphira_am_3_vtog */ case 358: /* saphira_branch_0_zb */ case 359: /* saphira_call_0_xyzb */ case 368: /* saphira_fpdt_5_vtog */ case 381: /* saphira_fpmsc_3_vtog */ case 382: /* saphira_fpmsc_3_gtov */ case 384: /* saphira_fpmsc_6_gtov */ case 386: /* saphira_misc_1_xyzb */ case 387: /* saphira_misc_2_x */ case 388: /* saphira_misc_2_xyzb */ case 389: /* saphira_muldiv_4_x_mul */ case 390: /* saphira_muldiv_4_x_mla */ case 391: /* saphira_muldiv_5_x_mul */ case 392: /* saphira_md_11_x_zb */ case 393: /* saphira_mvs_1_xyzb */ temp = saphira_min_issue_delay [(saphira_translate [insn_code] + chip->saphira_automaton_state * 10) / 4]; temp = (temp >> (8 - ((saphira_translate [insn_code] + chip->saphira_automaton_state * 10) % 4 + 1) * 2)) & 3; res = temp; break; case 396: /* saphira_extra */ temp = saphira_mem_min_issue_delay [(saphira_mem_translate [insn_code] + chip->saphira_mem_automaton_state * 11) / 2]; temp = (temp >> (8 - ((saphira_mem_translate [insn_code] + chip->saphira_mem_automaton_state * 11) % 2 + 1) * 4)) & 15; res = temp; temp = saphira_vfp_min_issue_delay [(saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6) / 4]; temp = (temp >> (8 - ((saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = saphira_min_issue_delay [(saphira_translate [insn_code] + chip->saphira_automaton_state * 10) / 4]; temp = (temp >> (8 - ((saphira_translate [insn_code] + chip->saphira_automaton_state * 10) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 398: /* thunderx_add */ case 399: /* thunderx_shift */ case 400: /* thunderx_arith_shift */ case 401: /* thunderx_csel */ case 405: /* thunderx_store */ case 406: /* thunderx_storepair */ case 407: /* thunderx_load */ case 408: /* thunderx_brj */ case 409: /* thunderx_fadd */ case 410: /* thunderx_fconst */ case 411: /* thunderx_fmov */ case 412: /* thunderx_fabs */ case 413: /* thunderx_fcsel */ case 414: /* thunderx_fmovgpr */ case 415: /* thunderx_fcmp */ case 416: /* thunderx_fmul */ case 421: /* thunderx_frint */ case 422: /* thunderx_f_cvt */ case 423: /* thunderx_64simd_fp_load */ case 424: /* thunderx_128simd_pair_load */ case 425: /* thunderx_simd_fp_store */ case 426: /* thunderx_64neon_storepair */ case 427: /* thunderx_128neon_storepair */ case 428: /* thunderx_neon_ld1 */ case 437: /* thunderx_tbl */ case 438: /* thunderx_tblq */ case 439: /* thunderx_unknown */ temp = thunderx_main_min_issue_delay [thunderx_main_translate [insn_code] + chip->thunderx_main_automaton_state * 9]; res = temp; break; case 402: /* thunderx_mul */ case 403: /* thunderx_crc32 */ temp = thunderx_mult_min_issue_delay [(thunderx_mult_translate [insn_code] + chip->thunderx_mult_automaton_state * 3) / 8]; temp = (temp >> (8 - ((thunderx_mult_translate [insn_code] + chip->thunderx_mult_automaton_state * 3) % 8 + 1) * 1)) & 1; res = temp; temp = thunderx_main_min_issue_delay [thunderx_main_translate [insn_code] + chip->thunderx_main_automaton_state * 9]; if (temp > res) res = temp; break; case 404: /* thunderx_div32 */ case 417: /* thunderx_fdivs */ case 418: /* thunderx_fdivd */ case 419: /* thunderx_fsqrts */ case 420: /* thunderx_fsqrtd */ temp = thunderx_divide_min_issue_delay [thunderx_divide_translate [insn_code] + chip->thunderx_divide_automaton_state * 7]; res = temp; temp = thunderx_main_min_issue_delay [thunderx_main_translate [insn_code] + chip->thunderx_main_automaton_state * 9]; if (temp > res) res = temp; break; case 429: /* thunderx_neon_move */ case 430: /* thunderx_neon_move_q */ case 431: /* thunderx_neon_add */ case 432: /* thunderx_neon_add_q */ case 433: /* thunderx_neon_mult */ case 434: /* thunderx_neon_mult_q */ case 435: /* thunderx_crypto_aese */ case 436: /* thunderx_crypto_aesmc */ temp = thunderx_simd_min_issue_delay [(thunderx_simd_translate [insn_code] + chip->thunderx_simd_automaton_state * 4) / 4]; temp = (temp >> (8 - ((thunderx_simd_translate [insn_code] + chip->thunderx_simd_automaton_state * 4) % 4 + 1) * 2)) & 3; res = temp; temp = thunderx_main_min_issue_delay [thunderx_main_translate [insn_code] + chip->thunderx_main_automaton_state * 9]; if (temp > res) res = temp; break; case 440: /* xgene1_branch */ case 441: /* xgene1_nop */ case 442: /* xgene1_call */ case 445: /* xgene1_fmov */ case 446: /* xgene1_f_mcr */ case 447: /* xgene1_f_mrc */ case 480: /* xgene1_neon_umov */ case 487: /* xgene1_neon_f_add */ case 489: /* xgene1_neon_f_neg */ case 490: /* xgene1_neon_f_round */ case 491: /* xgene1_neon_f_cvt */ case 492: /* xgene1_neon_f_reduc */ case 493: /* xgene1_neon_cls */ case 495: /* xgene1_neon_halve_narrow */ case 496: /* xgene1_neon_shift_acc */ case 497: /* xgene1_neon_fp_compare */ case 499: /* xgene1_neon_tbl1 */ case 500: /* xgene1_neon_tbl2 */ case 501: /* xgene1_neon_permute */ case 503: /* xgene1_neon_fp_recp */ case 504: /* xgene1_neon_fp_recp_s */ case 505: /* xgene1_neon_pmull */ temp = xgene1_decoder_min_issue_delay [(xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) / 8]; temp = (temp >> (8 - ((xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) % 8 + 1) * 1)) & 1; res = temp; break; case 443: /* xgene1_f_load */ case 444: /* xgene1_f_store */ case 448: /* xgene1_load_pair */ case 449: /* xgene1_store_pair */ case 450: /* xgene1_fp_load1 */ case 451: /* xgene1_load1 */ case 452: /* xgene1_store1 */ case 453: /* xgene1_move */ case 454: /* xgene1_alu_cond */ case 455: /* xgene1_alu */ case 456: /* xgene1_shift_rotate */ case 457: /* xgene1_simd */ case 458: /* xgene1_alus */ case 459: /* xgene1_mul32 */ case 460: /* xgene1_widen_mul64 */ case 464: /* xgene1_bfx */ case 465: /* xgene1_bfm */ case 477: /* xgene1_neon_load1 */ case 478: /* xgene1_neon_store1 */ case 494: /* xgene1_neon_st1 */ case 502: /* xgene1_neon_ld1r */ temp = xgene1_decoder_min_issue_delay [(xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) / 8]; temp = (temp >> (8 - ((xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) % 8 + 1) * 1)) & 1; res = temp; temp = xgene1_main_min_issue_delay [(xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11) / 4]; temp = (temp >> (8 - ((xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 461: /* xgene1_div */ temp = xgene1_div_min_issue_delay [xgene1_div_translate [insn_code] + chip->xgene1_div_automaton_state * 6]; res = temp; temp = xgene1_decoder_min_issue_delay [(xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) / 8]; temp = (temp >> (8 - ((xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = xgene1_main_min_issue_delay [(xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11) / 4]; temp = (temp >> (8 - ((xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 462: /* xgene1_fcmp */ case 463: /* xgene1_fcsel */ case 466: /* xgene1_f_rint */ case 467: /* xgene1_f_cvt */ case 468: /* xgene1_f_cvtf2i */ case 469: /* xgene1_f_cvti2f */ case 470: /* xgene1_f_add */ case 474: /* xgene1_f_arith */ case 475: /* xgene1_f_select */ case 476: /* xgene1_neon_dup */ case 479: /* xgene1_neon_logic */ case 481: /* xgene1_neon_ins */ case 482: /* xgene1_neon_shift */ case 483: /* xgene1_neon_arith */ case 484: /* xgene1_neon_abs_diff */ case 485: /* xgene1_neon_mul */ case 486: /* xgene1_fp_abd_diff */ temp = xgene1_simd_min_issue_delay [xgene1_simd_translate [insn_code] + chip->xgene1_simd_automaton_state * 8]; res = temp; temp = xgene1_decoder_min_issue_delay [(xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) / 8]; temp = (temp >> (8 - ((xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 471: /* xgene1_f_divs */ case 472: /* xgene1_f_divd */ case 473: /* xgene1_f_sqrtd */ case 488: /* xgene1_neon_f_div */ case 498: /* xgene1_neon_fp_sqrt */ temp = xgene1_simd_min_issue_delay [xgene1_simd_translate [insn_code] + chip->xgene1_simd_automaton_state * 8]; res = temp; temp = xgene1_div_min_issue_delay [xgene1_div_translate [insn_code] + chip->xgene1_div_automaton_state * 6]; if (temp > res) res = temp; temp = xgene1_decoder_min_issue_delay [(xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) / 8]; temp = (temp >> (8 - ((xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; break; case 506: /* thunderx2t99_branch */ case 508: /* thunderx2t99_mrs */ case 511: /* thunderx2t99_alu_basic */ case 512: /* thunderx2t99_alu_shift */ case 513: /* thunderx2t99_div */ case 516: /* thunderx2t99_countbits */ case 562: /* thunderx2t99_crc */ temp = thunderx2t99_min_issue_delay [(thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) % 2 + 1) * 4)) & 15; res = temp; break; case 509: /* thunderx2t99_multiple */ temp = thunderx2t99_mult_min_issue_delay [(thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4) / 2]; temp = (temp >> (8 - ((thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4) % 2 + 1) * 4)) & 15; res = temp; temp = thunderx2t99_ldst_min_issue_delay [(thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) / 4]; temp = (temp >> (8 - ((thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = thunderx2t99_advsimd_min_issue_delay [(thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = thunderx2t99_min_issue_delay [(thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 514: /* thunderx2t99_madd */ case 515: /* thunderx2t99_mul */ temp = thunderx2t99_mult_min_issue_delay [(thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4) / 2]; temp = (temp >> (8 - ((thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4) % 2 + 1) * 4)) & 15; res = temp; temp = thunderx2t99_min_issue_delay [(thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 517: /* thunderx2t99_load_basic */ case 519: /* thunderx2t99_store_basic */ case 520: /* thunderx2t99_storepair_basic */ case 532: /* thunderx2t99_fp_load_basic */ case 533: /* thunderx2t99_fp_store_basic */ case 548: /* thunderx2t99_asimd_load1 */ case 554: /* thunderx2t99_asimd_store_stp */ case 555: /* thunderx2t99_asimd_store1 */ temp = thunderx2t99_ldst_min_issue_delay [(thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) / 4]; temp = (temp >> (8 - ((thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; break; case 518: /* thunderx2t99_loadpair */ case 547: /* thunderx2t99_asimd_load1_ldp */ temp = thunderx2t99_ldst_min_issue_delay [(thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) / 4]; temp = (temp >> (8 - ((thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; temp = thunderx2t99_min_issue_delay [(thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 521: /* thunderx2t99_fp_simple */ case 522: /* thunderx2t99_fp_addsub */ case 523: /* thunderx2t99_fp_cmp */ case 524: /* thunderx2t99_fp_divsqrt_s */ case 525: /* thunderx2t99_fp_divsqrt_d */ case 526: /* thunderx2t99_fp_mul_mac */ case 527: /* thunderx2t99_frint */ case 528: /* thunderx2t99_fcsel */ case 529: /* thunderx2t99_fp_cvt */ case 530: /* thunderx2t99_fp_mov */ case 531: /* thunderx2t99_fp_mov_to_gen */ case 534: /* thunderx2t99_asimd_int */ case 535: /* thunderx2t99_asimd_reduc_add */ case 536: /* thunderx2t99_asimd_cmp */ case 537: /* thunderx2t99_asimd_logic */ case 538: /* thunderx2t99_asimd_fp_simple */ case 539: /* thunderx2t99_asimd_fp_arith */ case 540: /* thunderx2t99_asimd_fp_conv */ case 541: /* thunderx2t99_asimd_fp_div_s */ case 542: /* thunderx2t99_asimd_fp_div_d */ case 543: /* thunderx2t99_asimd_misc */ case 544: /* thunderx2t99_asimd_recip_step */ case 545: /* thunderx2t99_asimd_lut */ case 546: /* thunderx2t99_asimd_elt_to_gr */ case 560: /* thunderx2t99_aes */ case 561: /* thunderx2t99_sha */ case 563: /* thunderx2t99_pmull */ temp = thunderx2t99_advsimd_min_issue_delay [(thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) % 2 + 1) * 4)) & 15; res = temp; break; case 549: /* thunderx2t99_asimd_load1_onelane */ case 550: /* thunderx2t99_asimd_load1_all */ case 551: /* thunderx2t99_asimd_load2 */ case 552: /* thunderx2t99_asimd_load3 */ case 553: /* thunderx2t99_asimd_load4 */ case 556: /* thunderx2t99_asimd_store1_onelane */ case 557: /* thunderx2t99_asimd_store2 */ case 558: /* thunderx2t99_asimd_store3 */ case 559: /* thunderx2t99_asimd_store4 */ temp = thunderx2t99_ldst_min_issue_delay [(thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) / 4]; temp = (temp >> (8 - ((thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) % 4 + 1) * 2)) & 3; res = temp; temp = thunderx2t99_advsimd_min_issue_delay [(thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; break; case 564: /* tsv110_alu */ case 565: /* tsv110_alus */ case 566: /* tsv110_alu_shift */ case 567: /* tsv110_alus_shift */ case 568: /* tsv110_mult */ case 569: /* tsv110_div */ case 571: /* tsv110_branch */ case 572: /* tsv110_load1 */ case 573: /* tsv110_store1 */ case 602: /* tsv110_neon_ld1_reg1 */ case 603: /* tsv110_neon_ld1_reg2 */ case 604: /* tsv110_neon_ld1_reg3 */ case 605: /* tsv110_neon_ld1_reg4 */ temp = tsv110_min_issue_delay [(tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9) / 4]; temp = (temp >> (8 - ((tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9) % 4 + 1) * 2)) & 3; res = temp; break; case 570: /* tsv110_block */ case 599: /* tsv110_neon_from_gp_q */ case 601: /* tsv110_neon_ld1_lane */ case 606: /* tsv110_neon_ld2 */ case 607: /* tsv110_neon_ld3 */ case 608: /* tsv110_neon_ld4_lane */ case 609: /* tsv110_neon_ld4_reg */ case 612: /* tsv110_neon_store_complex */ case 618: /* tsv110_fp_cvti2f */ case 627: /* tsv110_call */ temp = tsv110_fsu_min_issue_delay [(tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7) / 4]; temp = (temp >> (8 - ((tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; temp = tsv110_min_issue_delay [(tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9) / 4]; temp = (temp >> (8 - ((tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; break; case 574: /* tsv110_neon_abd_aba */ case 575: /* tsv110_neon_abd_aba_q */ case 576: /* tsv110_neon_arith_basic */ case 577: /* tsv110_neon_arith_complex */ case 578: /* tsv110_neon_multiply */ case 579: /* tsv110_neon_multiply_dlong */ case 580: /* tsv110_neon_multiply_q */ case 581: /* tsv110_neon_shift_acc */ case 582: /* tsv110_neon_shift_acc_q */ case 583: /* tsv110_neon_fp_negabs */ case 584: /* tsv110_neon_fp_arith */ case 585: /* tsv110_neon_fp_arith_q */ case 586: /* tsv110_neon_fp_minmax_q */ case 587: /* tsv110_neon_fp_reductions_q */ case 588: /* tsv110_neon_fp_cvt_int */ case 589: /* tsv110_neon_fp_mul */ case 590: /* tsv110_neon_fp_mul_q */ case 591: /* tsv110_neon_fp_mla */ case 592: /* tsv110_neon_fp_recpe_rsqrte */ case 593: /* tsv110_neon_fp_mla_q */ case 594: /* tsv110_neon_fp_recpe_rsqrte_q */ case 595: /* tsv110_neon_bitops */ case 596: /* tsv110_neon_dup */ case 597: /* tsv110_neon_mov */ case 598: /* tsv110_neon_bitops_q */ case 600: /* tsv110_neon_to_gp */ case 610: /* tsv110_neon_store_a */ case 611: /* tsv110_neon_store_b */ case 613: /* tsv110_fp_const */ case 614: /* tsv110_fp_add_sub */ case 615: /* tsv110_fp_mac */ case 616: /* tsv110_fp_cvt */ case 617: /* tsv110_fp_cvtf2i */ case 619: /* tsv110_fp_cmp */ case 620: /* tsv110_fp_arith */ case 621: /* tsv110_fp_divs */ case 622: /* tsv110_fp_sqrts */ case 623: /* tsv110_crypto_aes */ case 624: /* tsv110_crypto_sha1_fast */ case 625: /* tsv110_crypto_sha256_fast */ case 626: /* tsv110_crypto_complex */ temp = tsv110_fsu_min_issue_delay [(tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7) / 4]; temp = (temp >> (8 - ((tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; break; case 628: /* $advance_cycle */ temp = tsv110_fsu_min_issue_delay [(tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7) / 4]; temp = (temp >> (8 - ((tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7) % 4 + 1) * 2)) & 3; res = temp; temp = tsv110_min_issue_delay [(tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9) / 4]; temp = (temp >> (8 - ((tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = thunderx2t99_mult_min_issue_delay [(thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4) / 2]; temp = (temp >> (8 - ((thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = thunderx2t99_ldst_min_issue_delay [(thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) / 4]; temp = (temp >> (8 - ((thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = thunderx2t99_advsimd_min_issue_delay [(thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = thunderx2t99_min_issue_delay [(thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) / 2]; temp = (temp >> (8 - ((thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = xgene1_simd_min_issue_delay [xgene1_simd_translate [insn_code] + chip->xgene1_simd_automaton_state * 8]; if (temp > res) res = temp; temp = xgene1_div_min_issue_delay [xgene1_div_translate [insn_code] + chip->xgene1_div_automaton_state * 6]; if (temp > res) res = temp; temp = xgene1_decoder_min_issue_delay [(xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) / 8]; temp = (temp >> (8 - ((xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = xgene1_main_min_issue_delay [(xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11) / 4]; temp = (temp >> (8 - ((xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = thunderx_simd_min_issue_delay [(thunderx_simd_translate [insn_code] + chip->thunderx_simd_automaton_state * 4) / 4]; temp = (temp >> (8 - ((thunderx_simd_translate [insn_code] + chip->thunderx_simd_automaton_state * 4) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = thunderx_divide_min_issue_delay [thunderx_divide_translate [insn_code] + chip->thunderx_divide_automaton_state * 7]; if (temp > res) res = temp; temp = thunderx_mult_min_issue_delay [(thunderx_mult_translate [insn_code] + chip->thunderx_mult_automaton_state * 3) / 8]; temp = (temp >> (8 - ((thunderx_mult_translate [insn_code] + chip->thunderx_mult_automaton_state * 3) % 8 + 1) * 1)) & 1; if (temp > res) res = temp; temp = thunderx_main_min_issue_delay [thunderx_main_translate [insn_code] + chip->thunderx_main_automaton_state * 9]; if (temp > res) res = temp; temp = saphira_mem_min_issue_delay [(saphira_mem_translate [insn_code] + chip->saphira_mem_automaton_state * 11) / 2]; temp = (temp >> (8 - ((saphira_mem_translate [insn_code] + chip->saphira_mem_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = saphira_vfp_min_issue_delay [(saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6) / 4]; temp = (temp >> (8 - ((saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = saphira_min_issue_delay [(saphira_translate [insn_code] + chip->saphira_automaton_state * 10) / 4]; temp = (temp >> (8 - ((saphira_translate [insn_code] + chip->saphira_automaton_state * 10) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = falkor_mem_min_issue_delay [(falkor_mem_translate [insn_code] + chip->falkor_mem_automaton_state * 11) / 2]; temp = (temp >> (8 - ((falkor_mem_translate [insn_code] + chip->falkor_mem_automaton_state * 11) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = falkor_vfp_min_issue_delay [(falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7) / 4]; temp = (temp >> (8 - ((falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = falkor_min_issue_delay [(falkor_translate [insn_code] + chip->falkor_automaton_state * 12) / 4]; temp = (temp >> (8 - ((falkor_translate [insn_code] + chip->falkor_automaton_state * 12) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = exynos_m1_fp_min_issue_delay [(exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21) / 2]; temp = (temp >> (8 - ((exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = exynos_m1_ls_min_issue_delay [(exynos_m1_ls_translate [insn_code] + chip->exynos_m1_ls_automaton_state * 14) / 2]; temp = (temp >> (8 - ((exynos_m1_ls_translate [insn_code] + chip->exynos_m1_ls_automaton_state * 14) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = exynos_m1_gp_min_issue_delay [(exynos_m1_gp_translate [insn_code] + chip->exynos_m1_gp_automaton_state * 7) / 4]; temp = (temp >> (8 - ((exynos_m1_gp_translate [insn_code] + chip->exynos_m1_gp_automaton_state * 7) % 4 + 1) * 2)) & 3; if (temp > res) res = temp; temp = cortex_a57_cx_min_issue_delay [(cortex_a57_cx_translate [insn_code] + chip->cortex_a57_cx_automaton_state * 15) / 2]; temp = (temp >> (8 - ((cortex_a57_cx_translate [insn_code] + chip->cortex_a57_cx_automaton_state * 15) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = cortex_a57_min_issue_delay [(cortex_a57_translate [insn_code] + chip->cortex_a57_automaton_state * 16) / 2]; temp = (temp >> (8 - ((cortex_a57_translate [insn_code] + chip->cortex_a57_automaton_state * 16) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = cortex_a53_advsimd_min_issue_delay [(cortex_a53_advsimd_translate [insn_code] + chip->cortex_a53_advsimd_automaton_state * 10) / 2]; temp = (temp >> (8 - ((cortex_a53_advsimd_translate [insn_code] + chip->cortex_a53_advsimd_automaton_state * 10) % 2 + 1) * 4)) & 15; if (temp > res) res = temp; temp = cortex_a53_min_issue_delay [(cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14) / 4]; temp = (temp >> (8 - ((cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14) % 4 + 1) * 2)) & 3; 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: /* cortex_a53_shift */ case 1: /* cortex_a53_shift_reg */ case 2: /* cortex_a53_alu */ case 3: /* cortex_a53_alu_shift */ case 4: /* cortex_a53_alu_shift_reg */ case 5: /* cortex_a53_alu_extr */ case 6: /* cortex_a53_mul */ case 7: /* cortex_a53_div */ case 8: /* cortex_a53_load1 */ case 9: /* cortex_a53_store1 */ case 10: /* cortex_a53_load2 */ case 11: /* cortex_a53_store2 */ case 12: /* cortex_a53_load3plus */ case 13: /* cortex_a53_store3plus */ case 14: /* cortex_a53_branch */ case 23: /* cortex_a53_f_flags */ case 24: /* cortex_a53_f_load_64 */ case 25: /* cortex_a53_f_load_many */ case 26: /* cortex_a53_f_store_64 */ case 27: /* cortex_a53_f_store_many */ case 36: /* cortex_a53_crypto_aese */ case 37: /* cortex_a53_crypto_aesmc */ { temp = cortex_a53_transitions [cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->cortex_a53_automaton_state = temp; return -1; } case 15: /* cortex_a53_fpalu */ case 16: /* cortex_a53_fconst */ case 17: /* cortex_a53_fpmul */ case 18: /* cortex_a53_fpmac */ case 19: /* cortex_a53_r2f */ case 20: /* cortex_a53_f2r */ case 21: /* cortex_a53_r2f_cvt */ case 22: /* cortex_a53_f2r_cvt */ case 28: /* cortex_a53_advsimd_alu */ case 29: /* cortex_a53_advsimd_alu_q */ case 30: /* cortex_a53_advsimd_mul */ case 31: /* cortex_a53_advsimd_mul_q */ case 32: /* cortex_a53_advsimd_div_s */ case 33: /* cortex_a53_advsimd_div_d */ case 34: /* cortex_a53_advsimd_div_s_q */ case 35: /* cortex_a53_advsimd_divd_q */ case 38: /* cortex_a53_crypto_sha1_fast */ case 39: /* cortex_a53_crypto_sha256_fast */ case 40: /* cortex_a53_crypto_sha1_xor */ case 41: /* cortex_a53_crypto_sha_slow */ { unsigned short _cortex_a53_advsimd_automaton_state; temp = cortex_a53_advsimd_transitions [cortex_a53_advsimd_translate [insn_code] + chip->cortex_a53_advsimd_automaton_state * 10]; if (temp >= 3510) return internal_min_issue_delay (insn_code, chip); else _cortex_a53_advsimd_automaton_state = temp; temp = cortex_a53_transitions [cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->cortex_a53_automaton_state = temp; chip->cortex_a53_advsimd_automaton_state = _cortex_a53_advsimd_automaton_state; return -1; } case 42: /* cortex_a57_alu */ case 43: /* cortex_a57_alu_shift */ case 44: /* cortex_a57_alu_shift_reg */ case 45: /* cortex_a57_mult32 */ case 46: /* cortex_a57_div */ case 48: /* cortex_a57_branch */ case 49: /* cortex_a57_load1 */ case 50: /* cortex_a57_load3 */ case 51: /* cortex_a57_store1 */ case 52: /* cortex_a57_store3 */ case 92: /* cortex_a57_neon_to_gp */ case 93: /* cortex_a57_neon_load_a */ case 94: /* cortex_a57_neon_load_b */ case 99: /* cortex_a57_neon_store_a */ case 100: /* cortex_a57_neon_store_b */ { temp = cortex_a57_base [chip->cortex_a57_automaton_state] + cortex_a57_translate [insn_code]; if (cortex_a57_check [temp] != chip->cortex_a57_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->cortex_a57_automaton_state = cortex_a57_transitions [temp]; return -1; } case 47: /* cortex_a57_block */ case 88: /* cortex_a57_neon_from_gp */ case 89: /* cortex_a57_neon_from_gp_q */ case 95: /* cortex_a57_neon_load_c */ case 96: /* cortex_a57_neon_load_d */ case 97: /* cortex_a57_neon_load_e */ case 98: /* cortex_a57_neon_load_f */ case 101: /* cortex_a57_neon_store_complex */ case 116: /* cortex_a57_call */ { unsigned char _cortex_a57_cx_automaton_state; temp = cortex_a57_cx_base [chip->cortex_a57_cx_automaton_state] + cortex_a57_cx_translate [insn_code]; if (cortex_a57_cx_check [temp] != chip->cortex_a57_cx_automaton_state) return internal_min_issue_delay (insn_code, chip); else _cortex_a57_cx_automaton_state = cortex_a57_cx_transitions [temp]; temp = cortex_a57_base [chip->cortex_a57_automaton_state] + cortex_a57_translate [insn_code]; if (cortex_a57_check [temp] != chip->cortex_a57_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->cortex_a57_automaton_state = cortex_a57_transitions [temp]; chip->cortex_a57_cx_automaton_state = _cortex_a57_cx_automaton_state; return -1; } case 53: /* cortex_a57_neon_abd */ case 54: /* cortex_a57_neon_abd_q */ case 55: /* cortex_a57_neon_aba */ case 56: /* cortex_a57_neon_aba_q */ case 57: /* cortex_a57_neon_arith_basic */ case 58: /* cortex_a57_neon_arith_complex */ case 59: /* cortex_a57_neon_multiply */ case 60: /* cortex_a57_neon_multiply_q */ case 61: /* cortex_a57_neon_mla */ case 62: /* cortex_a57_neon_mla_q */ case 63: /* cortex_a57_neon_sat_mla_long */ case 64: /* cortex_a57_neon_shift_acc */ case 65: /* cortex_a57_neon_shift_imm_basic */ case 66: /* cortex_a57_neon_shift_imm_complex */ case 67: /* cortex_a57_neon_shift_reg_basic */ case 68: /* cortex_a57_neon_shift_reg_basic_q */ case 69: /* cortex_a57_neon_shift_reg_complex */ case 70: /* cortex_a57_neon_shift_reg_complex_q */ case 71: /* cortex_a57_neon_fp_negabs */ case 72: /* cortex_a57_neon_fp_arith */ case 73: /* cortex_a57_neon_fp_arith_q */ case 74: /* cortex_a57_neon_fp_reductions_q */ case 75: /* cortex_a57_neon_fp_cvt_int */ case 76: /* cortex_a57_neon_fp_cvt_int_q */ case 77: /* cortex_a57_neon_fp_cvt16 */ case 78: /* cortex_a57_neon_fp_mul */ case 79: /* cortex_a57_neon_fp_mul_q */ case 80: /* cortex_a57_neon_fp_mla */ case 81: /* cortex_a57_neon_fp_mla_q */ case 82: /* cortex_a57_neon_fp_recpe_rsqrte */ case 83: /* cortex_a57_neon_fp_recpe_rsqrte_q */ case 84: /* cortex_a57_neon_fp_recps_rsqrts */ case 85: /* cortex_a57_neon_fp_recps_rsqrts_q */ case 86: /* cortex_a57_neon_bitops */ case 87: /* cortex_a57_neon_bitops_q */ case 90: /* cortex_a57_neon_tbl3_tbl4 */ case 91: /* cortex_a57_neon_zip_q */ case 102: /* cortex_a57_fp_const */ case 103: /* cortex_a57_fp_add_sub */ case 104: /* cortex_a57_fp_mul */ case 105: /* cortex_a57_fp_mac */ case 106: /* cortex_a57_fp_cvt */ case 107: /* cortex_a57_fp_cmp */ case 108: /* cortex_a57_fp_arith */ case 109: /* cortex_a57_fp_cpys */ case 110: /* cortex_a57_fp_divs */ case 111: /* cortex_a57_fp_divd */ case 112: /* cortex_a57_neon_fp_div_q */ case 113: /* cortex_a57_crypto_simple */ case 114: /* cortex_a57_crypto_complex */ case 115: /* cortex_a57_crypto_xor */ { temp = cortex_a57_cx_base [chip->cortex_a57_cx_automaton_state] + cortex_a57_cx_translate [insn_code]; if (cortex_a57_cx_check [temp] != chip->cortex_a57_cx_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->cortex_a57_cx_automaton_state = cortex_a57_cx_transitions [temp]; return -1; } case 117: /* exynos_m1_branch */ case 118: /* exynos_m1_call */ case 119: /* exynos_m1_alu */ case 120: /* exynos_m1_alu_p */ case 121: /* exynos_m1_alu_shift */ case 122: /* exynos_m1_alu_shift_reg */ case 123: /* exynos_m1_alu_shift_reg_p */ case 124: /* exynos_m1_mla */ case 125: /* exynos_m1_mlal */ case 126: /* exynos_m1_div */ case 202: /* exynos_m1_crc */ { temp = exynos_m1_gp_transitions [exynos_m1_gp_translate [insn_code] + chip->exynos_m1_gp_automaton_state * 7]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else chip->exynos_m1_gp_automaton_state = temp; return -1; } case 127: /* exynos_m1_load */ case 128: /* exynos_m1_loadm */ case 129: /* exynos_m1_store */ case 130: /* exynos_m1_storem */ case 155: /* exynos_m1_neon_from_gp */ case 157: /* exynos_m1_neon_load */ case 158: /* exynos_m1_neon_load_q */ case 159: /* exynos_m1_neon_load1_1 */ case 160: /* exynos_m1_neon_load1_2 */ case 161: /* exynos_m1_neon_load1_3 */ case 162: /* exynos_m1_neon_load1_4 */ case 164: /* exynos_m1_neon_load2_2 */ case 166: /* exynos_m1_neon_load2_all */ case 167: /* exynos_m1_neon_load3_3 */ case 169: /* exynos_m1_neon_load3_all */ case 170: /* exynos_m1_neon_load4_4 */ case 172: /* exynos_m1_neon_load4_all */ { temp = exynos_m1_ls_base [chip->exynos_m1_ls_automaton_state] + exynos_m1_ls_translate [insn_code]; if (exynos_m1_ls_check [temp] != chip->exynos_m1_ls_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->exynos_m1_ls_automaton_state = exynos_m1_ls_transitions [temp]; return -1; } case 131: /* exynos_m1_arith_simple */ case 132: /* exynos_m1_neon_arith_basic */ case 133: /* exynos_m1_neon_arith_complex */ case 134: /* exynos_m1_neon_multiply */ case 135: /* exynos_m1_neon_shift_acc */ case 136: /* exynos_m1_neon_shift_basic */ case 137: /* exynos_m1_neon_shift_complex */ case 138: /* exynos_m1_neon_fp_unary */ case 139: /* exynos_m1_neon_fp_add */ case 140: /* exynos_m1_neon_fp_abd */ case 141: /* exynos_m1_neon_fp_compare */ case 142: /* exynos_m1_neon_fp_reduc */ case 143: /* exynos_m1_neon_fp_reduc_add */ case 144: /* exynos_m1_neon_fp_round */ case 145: /* exynos_m1_neon_fp_cvt */ case 146: /* exynos_m1_neon_fp_mul */ case 147: /* exynos_m1_neon_fp_mla */ case 148: /* exynos_m1_neon_fp_estimate */ case 149: /* exynos_m1_neon_fp_estimatex */ case 150: /* exynos_m1_neon_fp_step */ case 151: /* exynos_m1_neon_bitops */ case 152: /* exynos_m1_neon_bitops_q */ case 153: /* exynos_m1_neon_bitins */ case 154: /* exynos_m1_neon_tbl */ case 183: /* exynos_m1_fp_const */ case 184: /* exynos_m1_fp_add */ case 185: /* exynos_m1_fp_mul */ case 186: /* exynos_m1_fp_mac */ case 187: /* exynos_m1_fp_cvt */ case 190: /* exynos_m1_fp_cmp */ case 193: /* exynos_m1_fp_arith */ case 194: /* exynos_m1_fp_cpy */ case 195: /* exynos_m1_fp_divs */ case 196: /* exynos_m1_fp_divd */ case 197: /* exynos_m1_fp_minmax */ case 198: /* exynos_m1_crypto_simple */ case 199: /* exynos_m1_crypto_complex */ case 200: /* exynos_m1_crypto_poly */ case 201: /* exynos_m1_crypto_polyl */ { temp = exynos_m1_fp_transitions [exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21]; if (temp >= 1526) return internal_min_issue_delay (insn_code, chip); else chip->exynos_m1_fp_automaton_state = temp; return -1; } case 156: /* exynos_m1_neon_to_gp */ case 163: /* exynos_m1_neon_load1_one */ case 165: /* exynos_m1_neon_load2_one */ case 168: /* exynos_m1_neon_load3_one */ case 171: /* exynos_m1_neon_load4_one */ case 173: /* exynos_m1_neon_store */ case 174: /* exynos_m1_neon_store_q */ case 175: /* exynos_m1_neon_store1_1 */ case 176: /* exynos_m1_neon_store1_2 */ case 177: /* exynos_m1_neon_store1_3 */ case 178: /* exynos_m1_neon_store1_4 */ case 179: /* exynos_m1_neon_store1_one */ case 180: /* exynos_m1_neon_store2 */ case 181: /* exynos_m1_neon_store3 */ case 182: /* exynos_m1_neon_store4 */ case 188: /* exynos_m1_fp_cvt_i */ case 189: /* exynos_m1_i_cvt_fp */ case 191: /* exynos_m1_fp_ccmp */ case 192: /* exynos_m1_fp_sel */ { unsigned short _exynos_m1_fp_automaton_state; temp = exynos_m1_fp_transitions [exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21]; if (temp >= 1526) return internal_min_issue_delay (insn_code, chip); else _exynos_m1_fp_automaton_state = temp; temp = exynos_m1_ls_base [chip->exynos_m1_ls_automaton_state] + exynos_m1_ls_translate [insn_code]; if (exynos_m1_ls_check [temp] != chip->exynos_m1_ls_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->exynos_m1_ls_automaton_state = exynos_m1_ls_transitions [temp]; chip->exynos_m1_fp_automaton_state = _exynos_m1_fp_automaton_state; return -1; } case 203: /* falkor_afp_1_vxvy */ case 204: /* falkor_afp_1_vxvy_vxvy */ case 205: /* falkor_afp_2_vxvy */ case 206: /* falkor_afp_2_vxvy_vxvy */ case 207: /* falkor_afp_3_vxvy */ case 208: /* falkor_afp_3_vxvy_vxvy */ case 209: /* falkor_afp_4_vxvy */ case 210: /* falkor_afp_4_vxvy_vxvy */ case 211: /* falkor_afp_5_vxvy_mul */ case 212: /* falkor_afp_5_vxvy_mla */ case 213: /* falkor_afp_5_vxvy_vxvy_mul */ case 214: /* falkor_afp_5_vxvy_vxvy_mla */ case 215: /* falkor_afp_6_vxvy_mul */ case 216: /* falkor_afp_6_vxvy_mla */ case 217: /* falkor_afp_6_vxvy_vxvy_mul */ case 218: /* falkor_afp_6_vxvy_vxvy_mla */ case 219: /* falkor_afp_4_vxvy_vxvy_vxvy */ case 220: /* falkor_afp_6_vx_vy */ case 221: /* falkor_afp_11_vx_vy */ case 222: /* falkor_afp_6_vx_vy_vx_vy */ case 223: /* falkor_afp_11_vx_vy_vx_vy */ case 224: /* falkor_afp_12_vx_vy */ case 225: /* falkor_afp_22_vx_vy */ case 226: /* falkor_afp_12_vx_vy_vx_vy */ case 227: /* falkor_afp_22_vx_vy_vx_vy */ case 228: /* falkor_ai_1_vxvy */ case 229: /* falkor_ai_1_vxvy_vxvy */ case 230: /* falkor_ai_2_vxvy */ case 231: /* falkor_ai_2_vxvy_vxvy */ case 232: /* falkor_ai_3_vxvy */ case 233: /* falkor_ai_4_vxvy */ case 234: /* falkor_ai_3_vxvy_vxvy */ case 235: /* falkor_ai_4_vxvy_mul */ case 236: /* falkor_ai_4_vxvy_mla */ case 237: /* falkor_ai_4_vxvy_vxvy_mul */ case 238: /* falkor_ai_4_vxvy_vxvy_mla */ case 239: /* falkor_ai_4_vxvy_vxvy */ case 240: /* falkor_2_ai_vxvy_vxvy_vxvy_vxvy */ case 241: /* falkor_4_ai_vxvy_vxvy_vxvy_vxvy */ case 254: /* falkor_am_1_vxvy */ case 255: /* falkor_am_1_vxvy_vxvy */ case 256: /* falkor_am_2_vxvy */ case 257: /* falkor_am_4_vxvy_vxvy */ case 258: /* falkor_am_3_vxvy */ case 259: /* falkor_am_3_vxvy_vxvy */ case 260: /* falkor_am_5_vxvy */ case 261: /* falkor_am_5_vxvy_vxvy */ case 262: /* falkor_am_6_vxvy */ case 263: /* falkor_am_6_vxvy_vxvy */ case 264: /* falkor_am_5_vxvy_vxvy_vxvy */ case 265: /* falkor_am_6_vxvy_vxvy_vxvy_vxvy */ case 266: /* falkor_am_7_vxvy_vxvy_vxvy_vxvy_vxvy */ case 273: /* falkor_cry_1_vxvy */ case 274: /* falkor_cry_2_vxvy */ case 275: /* falkor_cry_2_vxvy_vxvy */ case 276: /* falkor_cry_4_vy_vx */ case 277: /* falkor_cry_6_vy_vx */ case 278: /* falkor_cry_3_vxvy_vxvy */ case 281: /* falkor_fpdt_0_vxvy */ case 283: /* falkor_fpdt_1_vxvy */ case 284: /* falkor_fpdt_2_vxvy */ case 285: /* falkor_fpdt_3_vxvy */ case 286: /* falkor_fpdt_4_vxvy */ case 287: /* falkor_fpdt_5_vxvy_mul */ case 288: /* falkor_fpdt_5_vxvy_mla */ case 289: /* falkor_fpdt_6_vxvy_mul */ case 290: /* falkor_fpdt_6_vxvy_mla */ case 291: /* falkor_fpdt_6_vx_vy */ case 292: /* falkor_fpdt_11_vx_vy */ case 293: /* falkor_fpdt_12_vx_vy */ case 294: /* falkor_fpdt_22_vx_vy */ case 297: /* falkor_fpmsc_1_vxvy */ { temp = falkor_vfp_transitions [falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7]; if (temp >= 10) return internal_min_issue_delay (insn_code, chip); else chip->falkor_vfp_automaton_state = temp; return -1; } case 242: /* falkor_ald_4_ld */ case 243: /* falkor_ald_4_ld_none */ case 244: /* falkor_ald_4_ld_ld */ case 245: /* falkor_ald_4_ld_ld_none */ case 246: /* falkor_ald_4_ld_ld_ld */ case 247: /* falkor_ald_4_ld_ld_none_none */ case 248: /* falkor_ald_4_ld_ld_ld_ld */ case 267: /* falkor_ast_st_vsd */ case 268: /* falkor_as_0_st_vsd_st_vsd */ case 269: /* falkor_as_0_st_vsd_st_vsd_st_vsd */ case 270: /* falkor_as_0_st_vsd_st_vsd_st_vsd_st_vsd */ case 279: /* falkor_fld_4_ld */ case 280: /* falkor_fld_0_st_vsd */ case 299: /* falkor_ld_3_ld */ case 312: /* falkor_st_0_st_sd */ { temp = falkor_mem_base [chip->falkor_mem_automaton_state] + falkor_mem_translate [insn_code]; if (falkor_mem_check [temp] != chip->falkor_mem_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->falkor_mem_automaton_state = falkor_mem_transitions [temp]; return -1; } case 249: /* falkor_alu_1_xyz */ case 250: /* falkor_am_3_gtov */ case 251: /* falkor_am_3_gtov_gtov */ case 252: /* falkor_am_1_gtov_gtov */ case 253: /* falkor_am_3_vtog */ case 271: /* falkor_branch_0_zb */ case 272: /* falkor_call_0_xyzb */ case 282: /* falkor_fpdt_5_vtog */ case 295: /* falkor_fpmsc_3_vtog */ case 296: /* falkor_fpmsc_3_gtov */ case 298: /* falkor_fpmsc_6_gtov */ case 300: /* falkor_misc_1_xyz */ case 301: /* falkor_misc_2_x */ case 302: /* falkor_misc_2_xyz */ case 303: /* falkor_muldiv_4_x_mul */ case 304: /* falkor_muldiv_4_x_mla */ case 305: /* falkor_muldiv_5_x_mul */ case 306: /* falkor_md_11_x_z */ case 307: /* falkor_mvs_1_xyz */ case 308: /* falkor_mvs_1_xyzb */ case 310: /* falkor_other_2_z */ { temp = falkor_transitions [falkor_translate [insn_code] + chip->falkor_automaton_state * 12]; if (temp >= 54) return internal_min_issue_delay (insn_code, chip); else chip->falkor_automaton_state = temp; return -1; } case 309: /* falkor_other_0_nothing */ case 394: /* saphira_other_0_nothing */ case 507: /* thunderx2t99_nothing */ case 510: /* thunderx2t99_regmove */ { return -1; } case 311: /* falkor_extra */ { unsigned char _falkor_mem_automaton_state; unsigned char _falkor_vfp_automaton_state; temp = falkor_mem_base [chip->falkor_mem_automaton_state] + falkor_mem_translate [insn_code]; if (falkor_mem_check [temp] != chip->falkor_mem_automaton_state) return internal_min_issue_delay (insn_code, chip); else _falkor_mem_automaton_state = falkor_mem_transitions [temp]; temp = falkor_vfp_transitions [falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7]; if (temp >= 10) return internal_min_issue_delay (insn_code, chip); else _falkor_vfp_automaton_state = temp; temp = falkor_transitions [falkor_translate [insn_code] + chip->falkor_automaton_state * 12]; if (temp >= 54) return internal_min_issue_delay (insn_code, chip); else chip->falkor_automaton_state = temp; chip->falkor_mem_automaton_state = _falkor_mem_automaton_state; chip->falkor_vfp_automaton_state = _falkor_vfp_automaton_state; return -1; } case 313: /* saphira_afp_1_vxvy */ case 314: /* saphira_afp_2_vxvy */ case 315: /* saphira_afp_3_vxvy */ case 316: /* saphira_afp_4_vxvy */ case 317: /* saphira_afp_5_vxvy_mul */ case 318: /* saphira_afp_5_vxvy_mla */ case 319: /* saphira_afp_6_vxvy_mul */ case 320: /* saphira_afp_6_vxvy_mla */ case 321: /* saphira_afp_4_vxvy_vxvy_vxvy */ case 322: /* saphira_afp_6_vx_vy */ case 323: /* saphira_afp_11_vx_vy */ case 324: /* saphira_afp_6_vx_vy_vx_vy */ case 325: /* saphira_afp_11_vx_vy_vx_vy */ case 326: /* saphira_afp_12_vx_vy */ case 327: /* saphira_afp_22_vx_vy */ case 328: /* saphira_afp_12_vx_vy_vx_vy */ case 329: /* saphira_afp_22_vx_vy_vx_vy */ case 330: /* saphira_ai_1_vxvy */ case 331: /* saphira_ai_2_vxvy */ case 332: /* saphira_ai_3_vxvy */ case 333: /* saphira_ai_4_vxvy */ case 334: /* saphira_ai_4_vxvy_mul */ case 335: /* saphira_ai_4_vxvy_mla */ case 336: /* saphira_2_ai_vxvy_vxvy */ case 349: /* saphira_am_1_vxvy */ case 350: /* saphira_am_2_vxvy */ case 351: /* saphira_am_3_vxvy */ case 352: /* saphira_am_5_vxvy */ case 353: /* saphira_am_6_vxvy */ case 360: /* saphira_cry_1_vxvy */ case 361: /* saphira_cry_2_vxvy */ case 362: /* saphira_cry_2_vxvy_vxvy */ case 363: /* saphira_cry_4_vy_vx */ case 364: /* saphira_cry_5_vy_vx */ case 367: /* saphira_fpdt_0_vxvy */ case 369: /* saphira_fpdt_1_vxvy */ case 370: /* saphira_fpdt_2_vxvy */ case 371: /* saphira_fpdt_3_vxvy */ case 372: /* saphira_fpdt_4_vxvy */ case 373: /* saphira_fpdt_5_vxvy_mul */ case 374: /* saphira_fpdt_5_vxvy_mla */ case 375: /* saphira_fpdt_6_vxvy_mul */ case 376: /* saphira_fpdt_6_vxvy_mla */ case 377: /* saphira_fpdt_6_vx_vy */ case 378: /* saphira_fpdt_11_vx_vy */ case 379: /* saphira_fpdt_12_vx_vy */ case 380: /* saphira_fpdt_22_vx_vy */ case 383: /* saphira_fpmsc_1_vxvy */ { temp = saphira_vfp_transitions [saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6]; if (temp >= 6) return internal_min_issue_delay (insn_code, chip); else chip->saphira_vfp_automaton_state = temp; return -1; } case 337: /* saphira_ald_4_ld */ case 338: /* saphira_ald_4_ld_none */ case 339: /* saphira_ald_4_ld_ld */ case 340: /* saphira_ald_4_ld_ld_none */ case 341: /* saphira_ald_4_ld_ld_ld */ case 342: /* saphira_ald_4_ld_ld_none_none */ case 343: /* saphira_ald_4_ld_ld_ld_ld */ case 354: /* saphira_ast_st_vsd */ case 355: /* saphira_as_0_st_vsd_st_vsd */ case 356: /* saphira_as_0_st_vsd_st_vsd_st_vsd */ case 357: /* saphira_as_0_st_vsd_st_vsd_st_vsd_st_vsd */ case 365: /* saphira_fld_4_ld */ case 366: /* saphira_fld_0_st_vsd */ case 385: /* saphira_ld_3_ld */ case 395: /* saphira_other_2_ld */ case 397: /* saphira_st_0_st_sd */ { temp = saphira_mem_base [chip->saphira_mem_automaton_state] + saphira_mem_translate [insn_code]; if (saphira_mem_check [temp] != chip->saphira_mem_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->saphira_mem_automaton_state = saphira_mem_transitions [temp]; return -1; } case 344: /* saphira_alu_1_xyz */ case 345: /* saphira_am_3_gtov */ case 346: /* saphira_am_3_gtov_gtov */ case 347: /* saphira_am_1_gtov_gtov */ case 348: /* saphira_am_3_vtog */ case 358: /* saphira_branch_0_zb */ case 359: /* saphira_call_0_xyzb */ case 368: /* saphira_fpdt_5_vtog */ case 381: /* saphira_fpmsc_3_vtog */ case 382: /* saphira_fpmsc_3_gtov */ case 384: /* saphira_fpmsc_6_gtov */ case 386: /* saphira_misc_1_xyzb */ case 387: /* saphira_misc_2_x */ case 388: /* saphira_misc_2_xyzb */ case 389: /* saphira_muldiv_4_x_mul */ case 390: /* saphira_muldiv_4_x_mla */ case 391: /* saphira_muldiv_5_x_mul */ case 392: /* saphira_md_11_x_zb */ case 393: /* saphira_mvs_1_xyzb */ { temp = saphira_transitions [saphira_translate [insn_code] + chip->saphira_automaton_state * 10]; if (temp >= 54) return internal_min_issue_delay (insn_code, chip); else chip->saphira_automaton_state = temp; return -1; } case 396: /* saphira_extra */ { unsigned char _saphira_mem_automaton_state; unsigned char _saphira_vfp_automaton_state; temp = saphira_mem_base [chip->saphira_mem_automaton_state] + saphira_mem_translate [insn_code]; if (saphira_mem_check [temp] != chip->saphira_mem_automaton_state) return internal_min_issue_delay (insn_code, chip); else _saphira_mem_automaton_state = saphira_mem_transitions [temp]; temp = saphira_vfp_transitions [saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6]; if (temp >= 6) return internal_min_issue_delay (insn_code, chip); else _saphira_vfp_automaton_state = temp; temp = saphira_transitions [saphira_translate [insn_code] + chip->saphira_automaton_state * 10]; if (temp >= 54) return internal_min_issue_delay (insn_code, chip); else chip->saphira_automaton_state = temp; chip->saphira_mem_automaton_state = _saphira_mem_automaton_state; chip->saphira_vfp_automaton_state = _saphira_vfp_automaton_state; return -1; } case 398: /* thunderx_add */ case 399: /* thunderx_shift */ case 400: /* thunderx_arith_shift */ case 401: /* thunderx_csel */ case 405: /* thunderx_store */ case 406: /* thunderx_storepair */ case 407: /* thunderx_load */ case 408: /* thunderx_brj */ case 409: /* thunderx_fadd */ case 410: /* thunderx_fconst */ case 411: /* thunderx_fmov */ case 412: /* thunderx_fabs */ case 413: /* thunderx_fcsel */ case 414: /* thunderx_fmovgpr */ case 415: /* thunderx_fcmp */ case 416: /* thunderx_fmul */ case 421: /* thunderx_frint */ case 422: /* thunderx_f_cvt */ case 423: /* thunderx_64simd_fp_load */ case 424: /* thunderx_128simd_pair_load */ case 425: /* thunderx_simd_fp_store */ case 426: /* thunderx_64neon_storepair */ case 427: /* thunderx_128neon_storepair */ case 428: /* thunderx_neon_ld1 */ case 437: /* thunderx_tbl */ case 438: /* thunderx_tblq */ case 439: /* thunderx_unknown */ { temp = thunderx_main_base [chip->thunderx_main_automaton_state] + thunderx_main_translate [insn_code]; if (thunderx_main_check [temp] != chip->thunderx_main_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->thunderx_main_automaton_state = thunderx_main_transitions [temp]; return -1; } case 402: /* thunderx_mul */ case 403: /* thunderx_crc32 */ { unsigned char _thunderx_mult_automaton_state; temp = thunderx_mult_transitions [thunderx_mult_translate [insn_code] + chip->thunderx_mult_automaton_state * 3]; if (temp >= 2) return internal_min_issue_delay (insn_code, chip); else _thunderx_mult_automaton_state = temp; temp = thunderx_main_base [chip->thunderx_main_automaton_state] + thunderx_main_translate [insn_code]; if (thunderx_main_check [temp] != chip->thunderx_main_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->thunderx_main_automaton_state = thunderx_main_transitions [temp]; chip->thunderx_mult_automaton_state = _thunderx_mult_automaton_state; return -1; } case 404: /* thunderx_div32 */ case 417: /* thunderx_fdivs */ case 418: /* thunderx_fdivd */ case 419: /* thunderx_fsqrts */ case 420: /* thunderx_fsqrtd */ { unsigned char _thunderx_divide_automaton_state; temp = thunderx_divide_base [chip->thunderx_divide_automaton_state] + thunderx_divide_translate [insn_code]; if (thunderx_divide_check [temp] != chip->thunderx_divide_automaton_state) return internal_min_issue_delay (insn_code, chip); else _thunderx_divide_automaton_state = thunderx_divide_transitions [temp]; temp = thunderx_main_base [chip->thunderx_main_automaton_state] + thunderx_main_translate [insn_code]; if (thunderx_main_check [temp] != chip->thunderx_main_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->thunderx_main_automaton_state = thunderx_main_transitions [temp]; chip->thunderx_divide_automaton_state = _thunderx_divide_automaton_state; return -1; } case 429: /* thunderx_neon_move */ case 430: /* thunderx_neon_move_q */ case 431: /* thunderx_neon_add */ case 432: /* thunderx_neon_add_q */ case 433: /* thunderx_neon_mult */ case 434: /* thunderx_neon_mult_q */ case 435: /* thunderx_crypto_aese */ case 436: /* thunderx_crypto_aesmc */ { unsigned char _thunderx_simd_automaton_state; temp = thunderx_simd_transitions [thunderx_simd_translate [insn_code] + chip->thunderx_simd_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _thunderx_simd_automaton_state = temp; temp = thunderx_main_base [chip->thunderx_main_automaton_state] + thunderx_main_translate [insn_code]; if (thunderx_main_check [temp] != chip->thunderx_main_automaton_state) return internal_min_issue_delay (insn_code, chip); else chip->thunderx_main_automaton_state = thunderx_main_transitions [temp]; chip->thunderx_simd_automaton_state = _thunderx_simd_automaton_state; return -1; } case 440: /* xgene1_branch */ case 441: /* xgene1_nop */ case 442: /* xgene1_call */ case 445: /* xgene1_fmov */ case 446: /* xgene1_f_mcr */ case 447: /* xgene1_f_mrc */ case 480: /* xgene1_neon_umov */ case 487: /* xgene1_neon_f_add */ case 489: /* xgene1_neon_f_neg */ case 490: /* xgene1_neon_f_round */ case 491: /* xgene1_neon_f_cvt */ case 492: /* xgene1_neon_f_reduc */ case 493: /* xgene1_neon_cls */ case 495: /* xgene1_neon_halve_narrow */ case 496: /* xgene1_neon_shift_acc */ case 497: /* xgene1_neon_fp_compare */ case 499: /* xgene1_neon_tbl1 */ case 500: /* xgene1_neon_tbl2 */ case 501: /* xgene1_neon_permute */ case 503: /* xgene1_neon_fp_recp */ case 504: /* xgene1_neon_fp_recp_s */ case 505: /* xgene1_neon_pmull */ { temp = xgene1_decoder_transitions [xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->xgene1_decoder_automaton_state = temp; return -1; } case 443: /* xgene1_f_load */ case 444: /* xgene1_f_store */ case 448: /* xgene1_load_pair */ case 449: /* xgene1_store_pair */ case 450: /* xgene1_fp_load1 */ case 451: /* xgene1_load1 */ case 452: /* xgene1_store1 */ case 453: /* xgene1_move */ case 454: /* xgene1_alu_cond */ case 455: /* xgene1_alu */ case 456: /* xgene1_shift_rotate */ case 457: /* xgene1_simd */ case 458: /* xgene1_alus */ case 459: /* xgene1_mul32 */ case 460: /* xgene1_widen_mul64 */ case 464: /* xgene1_bfx */ case 465: /* xgene1_bfm */ case 477: /* xgene1_neon_load1 */ case 478: /* xgene1_neon_store1 */ case 494: /* xgene1_neon_st1 */ case 502: /* xgene1_neon_ld1r */ { unsigned char _xgene1_decoder_automaton_state; temp = xgene1_decoder_transitions [xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else _xgene1_decoder_automaton_state = temp; temp = xgene1_main_transitions [xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11]; if (temp >= 252) return internal_min_issue_delay (insn_code, chip); else chip->xgene1_main_automaton_state = temp; chip->xgene1_decoder_automaton_state = _xgene1_decoder_automaton_state; return -1; } case 461: /* xgene1_div */ { unsigned char _xgene1_div_automaton_state; unsigned char _xgene1_decoder_automaton_state; temp = xgene1_div_base [chip->xgene1_div_automaton_state] + xgene1_div_translate [insn_code]; if (xgene1_div_check [temp] != chip->xgene1_div_automaton_state) return internal_min_issue_delay (insn_code, chip); else _xgene1_div_automaton_state = xgene1_div_transitions [temp]; temp = xgene1_decoder_transitions [xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else _xgene1_decoder_automaton_state = temp; temp = xgene1_main_transitions [xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11]; if (temp >= 252) return internal_min_issue_delay (insn_code, chip); else chip->xgene1_main_automaton_state = temp; chip->xgene1_div_automaton_state = _xgene1_div_automaton_state; chip->xgene1_decoder_automaton_state = _xgene1_decoder_automaton_state; return -1; } case 462: /* xgene1_fcmp */ case 463: /* xgene1_fcsel */ case 466: /* xgene1_f_rint */ case 467: /* xgene1_f_cvt */ case 468: /* xgene1_f_cvtf2i */ case 469: /* xgene1_f_cvti2f */ case 470: /* xgene1_f_add */ case 474: /* xgene1_f_arith */ case 475: /* xgene1_f_select */ case 476: /* xgene1_neon_dup */ case 479: /* xgene1_neon_logic */ case 481: /* xgene1_neon_ins */ case 482: /* xgene1_neon_shift */ case 483: /* xgene1_neon_arith */ case 484: /* xgene1_neon_abs_diff */ case 485: /* xgene1_neon_mul */ case 486: /* xgene1_fp_abd_diff */ { unsigned char _xgene1_simd_automaton_state; temp = xgene1_simd_base [chip->xgene1_simd_automaton_state] + xgene1_simd_translate [insn_code]; if (xgene1_simd_check [temp] != chip->xgene1_simd_automaton_state) return internal_min_issue_delay (insn_code, chip); else _xgene1_simd_automaton_state = xgene1_simd_transitions [temp]; temp = xgene1_decoder_transitions [xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->xgene1_decoder_automaton_state = temp; chip->xgene1_simd_automaton_state = _xgene1_simd_automaton_state; return -1; } case 471: /* xgene1_f_divs */ case 472: /* xgene1_f_divd */ case 473: /* xgene1_f_sqrtd */ case 488: /* xgene1_neon_f_div */ case 498: /* xgene1_neon_fp_sqrt */ { unsigned char _xgene1_simd_automaton_state; unsigned char _xgene1_div_automaton_state; temp = xgene1_simd_base [chip->xgene1_simd_automaton_state] + xgene1_simd_translate [insn_code]; if (xgene1_simd_check [temp] != chip->xgene1_simd_automaton_state) return internal_min_issue_delay (insn_code, chip); else _xgene1_simd_automaton_state = xgene1_simd_transitions [temp]; temp = xgene1_div_base [chip->xgene1_div_automaton_state] + xgene1_div_translate [insn_code]; if (xgene1_div_check [temp] != chip->xgene1_div_automaton_state) return internal_min_issue_delay (insn_code, chip); else _xgene1_div_automaton_state = xgene1_div_transitions [temp]; temp = xgene1_decoder_transitions [xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->xgene1_decoder_automaton_state = temp; chip->xgene1_simd_automaton_state = _xgene1_simd_automaton_state; chip->xgene1_div_automaton_state = _xgene1_div_automaton_state; return -1; } case 506: /* thunderx2t99_branch */ case 508: /* thunderx2t99_mrs */ case 511: /* thunderx2t99_alu_basic */ case 512: /* thunderx2t99_alu_shift */ case 513: /* thunderx2t99_div */ case 516: /* thunderx2t99_countbits */ case 562: /* thunderx2t99_crc */ { temp = thunderx2t99_transitions [thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9]; if (temp >= 184) return internal_min_issue_delay (insn_code, chip); else chip->thunderx2t99_automaton_state = temp; return -1; } case 509: /* thunderx2t99_multiple */ { unsigned char _thunderx2t99_mult_automaton_state; unsigned char _thunderx2t99_ldst_automaton_state; unsigned short _thunderx2t99_advsimd_automaton_state; temp = thunderx2t99_mult_transitions [thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4]; if (temp >= 6) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_mult_automaton_state = temp; temp = thunderx2t99_ldst_transitions [thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_ldst_automaton_state = temp; temp = thunderx2t99_advsimd_transitions [thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9]; if (temp >= 453) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_advsimd_automaton_state = temp; temp = thunderx2t99_transitions [thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9]; if (temp >= 184) return internal_min_issue_delay (insn_code, chip); else chip->thunderx2t99_automaton_state = temp; chip->thunderx2t99_mult_automaton_state = _thunderx2t99_mult_automaton_state; chip->thunderx2t99_ldst_automaton_state = _thunderx2t99_ldst_automaton_state; chip->thunderx2t99_advsimd_automaton_state = _thunderx2t99_advsimd_automaton_state; return -1; } case 514: /* thunderx2t99_madd */ case 515: /* thunderx2t99_mul */ { unsigned char _thunderx2t99_mult_automaton_state; temp = thunderx2t99_mult_transitions [thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4]; if (temp >= 6) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_mult_automaton_state = temp; temp = thunderx2t99_transitions [thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9]; if (temp >= 184) return internal_min_issue_delay (insn_code, chip); else chip->thunderx2t99_automaton_state = temp; chip->thunderx2t99_mult_automaton_state = _thunderx2t99_mult_automaton_state; return -1; } case 517: /* thunderx2t99_load_basic */ case 519: /* thunderx2t99_store_basic */ case 520: /* thunderx2t99_storepair_basic */ case 532: /* thunderx2t99_fp_load_basic */ case 533: /* thunderx2t99_fp_store_basic */ case 548: /* thunderx2t99_asimd_load1 */ case 554: /* thunderx2t99_asimd_store_stp */ case 555: /* thunderx2t99_asimd_store1 */ { temp = thunderx2t99_ldst_transitions [thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else chip->thunderx2t99_ldst_automaton_state = temp; return -1; } case 518: /* thunderx2t99_loadpair */ case 547: /* thunderx2t99_asimd_load1_ldp */ { unsigned char _thunderx2t99_ldst_automaton_state; temp = thunderx2t99_ldst_transitions [thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_ldst_automaton_state = temp; temp = thunderx2t99_transitions [thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9]; if (temp >= 184) return internal_min_issue_delay (insn_code, chip); else chip->thunderx2t99_automaton_state = temp; chip->thunderx2t99_ldst_automaton_state = _thunderx2t99_ldst_automaton_state; return -1; } case 521: /* thunderx2t99_fp_simple */ case 522: /* thunderx2t99_fp_addsub */ case 523: /* thunderx2t99_fp_cmp */ case 524: /* thunderx2t99_fp_divsqrt_s */ case 525: /* thunderx2t99_fp_divsqrt_d */ case 526: /* thunderx2t99_fp_mul_mac */ case 527: /* thunderx2t99_frint */ case 528: /* thunderx2t99_fcsel */ case 529: /* thunderx2t99_fp_cvt */ case 530: /* thunderx2t99_fp_mov */ case 531: /* thunderx2t99_fp_mov_to_gen */ case 534: /* thunderx2t99_asimd_int */ case 535: /* thunderx2t99_asimd_reduc_add */ case 536: /* thunderx2t99_asimd_cmp */ case 537: /* thunderx2t99_asimd_logic */ case 538: /* thunderx2t99_asimd_fp_simple */ case 539: /* thunderx2t99_asimd_fp_arith */ case 540: /* thunderx2t99_asimd_fp_conv */ case 541: /* thunderx2t99_asimd_fp_div_s */ case 542: /* thunderx2t99_asimd_fp_div_d */ case 543: /* thunderx2t99_asimd_misc */ case 544: /* thunderx2t99_asimd_recip_step */ case 545: /* thunderx2t99_asimd_lut */ case 546: /* thunderx2t99_asimd_elt_to_gr */ case 560: /* thunderx2t99_aes */ case 561: /* thunderx2t99_sha */ case 563: /* thunderx2t99_pmull */ { temp = thunderx2t99_advsimd_transitions [thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9]; if (temp >= 453) return internal_min_issue_delay (insn_code, chip); else chip->thunderx2t99_advsimd_automaton_state = temp; return -1; } case 549: /* thunderx2t99_asimd_load1_onelane */ case 550: /* thunderx2t99_asimd_load1_all */ case 551: /* thunderx2t99_asimd_load2 */ case 552: /* thunderx2t99_asimd_load3 */ case 553: /* thunderx2t99_asimd_load4 */ case 556: /* thunderx2t99_asimd_store1_onelane */ case 557: /* thunderx2t99_asimd_store2 */ case 558: /* thunderx2t99_asimd_store3 */ case 559: /* thunderx2t99_asimd_store4 */ { unsigned char _thunderx2t99_ldst_automaton_state; temp = thunderx2t99_ldst_transitions [thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_ldst_automaton_state = temp; temp = thunderx2t99_advsimd_transitions [thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9]; if (temp >= 453) return internal_min_issue_delay (insn_code, chip); else chip->thunderx2t99_advsimd_automaton_state = temp; chip->thunderx2t99_ldst_automaton_state = _thunderx2t99_ldst_automaton_state; return -1; } case 564: /* tsv110_alu */ case 565: /* tsv110_alus */ case 566: /* tsv110_alu_shift */ case 567: /* tsv110_alus_shift */ case 568: /* tsv110_mult */ case 569: /* tsv110_div */ case 571: /* tsv110_branch */ case 572: /* tsv110_load1 */ case 573: /* tsv110_store1 */ case 602: /* tsv110_neon_ld1_reg1 */ case 603: /* tsv110_neon_ld1_reg2 */ case 604: /* tsv110_neon_ld1_reg3 */ case 605: /* tsv110_neon_ld1_reg4 */ { temp = tsv110_transitions [tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else chip->tsv110_automaton_state = temp; return -1; } case 570: /* tsv110_block */ case 599: /* tsv110_neon_from_gp_q */ case 601: /* tsv110_neon_ld1_lane */ case 606: /* tsv110_neon_ld2 */ case 607: /* tsv110_neon_ld3 */ case 608: /* tsv110_neon_ld4_lane */ case 609: /* tsv110_neon_ld4_reg */ case 612: /* tsv110_neon_store_complex */ case 618: /* tsv110_fp_cvti2f */ case 627: /* tsv110_call */ { unsigned char _tsv110_fsu_automaton_state; temp = tsv110_fsu_transitions [tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else _tsv110_fsu_automaton_state = temp; temp = tsv110_transitions [tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else chip->tsv110_automaton_state = temp; chip->tsv110_fsu_automaton_state = _tsv110_fsu_automaton_state; return -1; } case 574: /* tsv110_neon_abd_aba */ case 575: /* tsv110_neon_abd_aba_q */ case 576: /* tsv110_neon_arith_basic */ case 577: /* tsv110_neon_arith_complex */ case 578: /* tsv110_neon_multiply */ case 579: /* tsv110_neon_multiply_dlong */ case 580: /* tsv110_neon_multiply_q */ case 581: /* tsv110_neon_shift_acc */ case 582: /* tsv110_neon_shift_acc_q */ case 583: /* tsv110_neon_fp_negabs */ case 584: /* tsv110_neon_fp_arith */ case 585: /* tsv110_neon_fp_arith_q */ case 586: /* tsv110_neon_fp_minmax_q */ case 587: /* tsv110_neon_fp_reductions_q */ case 588: /* tsv110_neon_fp_cvt_int */ case 589: /* tsv110_neon_fp_mul */ case 590: /* tsv110_neon_fp_mul_q */ case 591: /* tsv110_neon_fp_mla */ case 592: /* tsv110_neon_fp_recpe_rsqrte */ case 593: /* tsv110_neon_fp_mla_q */ case 594: /* tsv110_neon_fp_recpe_rsqrte_q */ case 595: /* tsv110_neon_bitops */ case 596: /* tsv110_neon_dup */ case 597: /* tsv110_neon_mov */ case 598: /* tsv110_neon_bitops_q */ case 600: /* tsv110_neon_to_gp */ case 610: /* tsv110_neon_store_a */ case 611: /* tsv110_neon_store_b */ case 613: /* tsv110_fp_const */ case 614: /* tsv110_fp_add_sub */ case 615: /* tsv110_fp_mac */ case 616: /* tsv110_fp_cvt */ case 617: /* tsv110_fp_cvtf2i */ case 619: /* tsv110_fp_cmp */ case 620: /* tsv110_fp_arith */ case 621: /* tsv110_fp_divs */ case 622: /* tsv110_fp_sqrts */ case 623: /* tsv110_crypto_aes */ case 624: /* tsv110_crypto_sha1_fast */ case 625: /* tsv110_crypto_sha256_fast */ case 626: /* tsv110_crypto_complex */ { temp = tsv110_fsu_transitions [tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else chip->tsv110_fsu_automaton_state = temp; return -1; } case 628: /* $advance_cycle */ { unsigned char _tsv110_fsu_automaton_state; unsigned char _tsv110_automaton_state; unsigned char _thunderx2t99_mult_automaton_state; unsigned char _thunderx2t99_ldst_automaton_state; unsigned short _thunderx2t99_advsimd_automaton_state; unsigned char _thunderx2t99_automaton_state; unsigned char _xgene1_simd_automaton_state; unsigned char _xgene1_div_automaton_state; unsigned char _xgene1_decoder_automaton_state; unsigned char _xgene1_main_automaton_state; unsigned char _thunderx_simd_automaton_state; unsigned char _thunderx_divide_automaton_state; unsigned char _thunderx_mult_automaton_state; unsigned short _thunderx_main_automaton_state; unsigned char _saphira_mem_automaton_state; unsigned char _saphira_vfp_automaton_state; unsigned char _saphira_automaton_state; unsigned char _falkor_mem_automaton_state; unsigned char _falkor_vfp_automaton_state; unsigned char _falkor_automaton_state; unsigned short _exynos_m1_fp_automaton_state; unsigned char _exynos_m1_ls_automaton_state; unsigned char _exynos_m1_gp_automaton_state; unsigned char _cortex_a57_cx_automaton_state; unsigned short _cortex_a57_automaton_state; unsigned short _cortex_a53_advsimd_automaton_state; temp = tsv110_fsu_transitions [tsv110_fsu_translate [insn_code] + chip->tsv110_fsu_automaton_state * 7]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else _tsv110_fsu_automaton_state = temp; temp = tsv110_transitions [tsv110_translate [insn_code] + chip->tsv110_automaton_state * 9]; if (temp >= 37) return internal_min_issue_delay (insn_code, chip); else _tsv110_automaton_state = temp; temp = thunderx2t99_mult_transitions [thunderx2t99_mult_translate [insn_code] + chip->thunderx2t99_mult_automaton_state * 4]; if (temp >= 6) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_mult_automaton_state = temp; temp = thunderx2t99_ldst_transitions [thunderx2t99_ldst_translate [insn_code] + chip->thunderx2t99_ldst_automaton_state * 6]; if (temp >= 16) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_ldst_automaton_state = temp; temp = thunderx2t99_advsimd_transitions [thunderx2t99_advsimd_translate [insn_code] + chip->thunderx2t99_advsimd_automaton_state * 9]; if (temp >= 453) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_advsimd_automaton_state = temp; temp = thunderx2t99_transitions [thunderx2t99_translate [insn_code] + chip->thunderx2t99_automaton_state * 9]; if (temp >= 184) return internal_min_issue_delay (insn_code, chip); else _thunderx2t99_automaton_state = temp; temp = xgene1_simd_base [chip->xgene1_simd_automaton_state] + xgene1_simd_translate [insn_code]; if (xgene1_simd_check [temp] != chip->xgene1_simd_automaton_state) return internal_min_issue_delay (insn_code, chip); else _xgene1_simd_automaton_state = xgene1_simd_transitions [temp]; temp = xgene1_div_base [chip->xgene1_div_automaton_state] + xgene1_div_translate [insn_code]; if (xgene1_div_check [temp] != chip->xgene1_div_automaton_state) return internal_min_issue_delay (insn_code, chip); else _xgene1_div_automaton_state = xgene1_div_transitions [temp]; temp = xgene1_decoder_transitions [xgene1_decoder_translate [insn_code] + chip->xgene1_decoder_automaton_state * 5]; if (temp >= 5) return internal_min_issue_delay (insn_code, chip); else _xgene1_decoder_automaton_state = temp; temp = xgene1_main_transitions [xgene1_main_translate [insn_code] + chip->xgene1_main_automaton_state * 11]; if (temp >= 252) return internal_min_issue_delay (insn_code, chip); else _xgene1_main_automaton_state = temp; temp = thunderx_simd_transitions [thunderx_simd_translate [insn_code] + chip->thunderx_simd_automaton_state * 4]; if (temp >= 3) return internal_min_issue_delay (insn_code, chip); else _thunderx_simd_automaton_state = temp; temp = thunderx_divide_base [chip->thunderx_divide_automaton_state] + thunderx_divide_translate [insn_code]; if (thunderx_divide_check [temp] != chip->thunderx_divide_automaton_state) return internal_min_issue_delay (insn_code, chip); else _thunderx_divide_automaton_state = thunderx_divide_transitions [temp]; temp = thunderx_mult_transitions [thunderx_mult_translate [insn_code] + chip->thunderx_mult_automaton_state * 3]; if (temp >= 2) return internal_min_issue_delay (insn_code, chip); else _thunderx_mult_automaton_state = temp; temp = thunderx_main_base [chip->thunderx_main_automaton_state] + thunderx_main_translate [insn_code]; if (thunderx_main_check [temp] != chip->thunderx_main_automaton_state) return internal_min_issue_delay (insn_code, chip); else _thunderx_main_automaton_state = thunderx_main_transitions [temp]; temp = saphira_mem_base [chip->saphira_mem_automaton_state] + saphira_mem_translate [insn_code]; if (saphira_mem_check [temp] != chip->saphira_mem_automaton_state) return internal_min_issue_delay (insn_code, chip); else _saphira_mem_automaton_state = saphira_mem_transitions [temp]; temp = saphira_vfp_transitions [saphira_vfp_translate [insn_code] + chip->saphira_vfp_automaton_state * 6]; if (temp >= 6) return internal_min_issue_delay (insn_code, chip); else _saphira_vfp_automaton_state = temp; temp = saphira_transitions [saphira_translate [insn_code] + chip->saphira_automaton_state * 10]; if (temp >= 54) return internal_min_issue_delay (insn_code, chip); else _saphira_automaton_state = temp; temp = falkor_mem_base [chip->falkor_mem_automaton_state] + falkor_mem_translate [insn_code]; if (falkor_mem_check [temp] != chip->falkor_mem_automaton_state) return internal_min_issue_delay (insn_code, chip); else _falkor_mem_automaton_state = falkor_mem_transitions [temp]; temp = falkor_vfp_transitions [falkor_vfp_translate [insn_code] + chip->falkor_vfp_automaton_state * 7]; if (temp >= 10) return internal_min_issue_delay (insn_code, chip); else _falkor_vfp_automaton_state = temp; temp = falkor_transitions [falkor_translate [insn_code] + chip->falkor_automaton_state * 12]; if (temp >= 54) return internal_min_issue_delay (insn_code, chip); else _falkor_automaton_state = temp; temp = exynos_m1_fp_transitions [exynos_m1_fp_translate [insn_code] + chip->exynos_m1_fp_automaton_state * 21]; if (temp >= 1526) return internal_min_issue_delay (insn_code, chip); else _exynos_m1_fp_automaton_state = temp; temp = exynos_m1_ls_base [chip->exynos_m1_ls_automaton_state] + exynos_m1_ls_translate [insn_code]; if (exynos_m1_ls_check [temp] != chip->exynos_m1_ls_automaton_state) return internal_min_issue_delay (insn_code, chip); else _exynos_m1_ls_automaton_state = exynos_m1_ls_transitions [temp]; temp = exynos_m1_gp_transitions [exynos_m1_gp_translate [insn_code] + chip->exynos_m1_gp_automaton_state * 7]; if (temp >= 38) return internal_min_issue_delay (insn_code, chip); else _exynos_m1_gp_automaton_state = temp; temp = cortex_a57_cx_base [chip->cortex_a57_cx_automaton_state] + cortex_a57_cx_translate [insn_code]; if (cortex_a57_cx_check [temp] != chip->cortex_a57_cx_automaton_state) return internal_min_issue_delay (insn_code, chip); else _cortex_a57_cx_automaton_state = cortex_a57_cx_transitions [temp]; temp = cortex_a57_base [chip->cortex_a57_automaton_state] + cortex_a57_translate [insn_code]; if (cortex_a57_check [temp] != chip->cortex_a57_automaton_state) return internal_min_issue_delay (insn_code, chip); else _cortex_a57_automaton_state = cortex_a57_transitions [temp]; temp = cortex_a53_advsimd_transitions [cortex_a53_advsimd_translate [insn_code] + chip->cortex_a53_advsimd_automaton_state * 10]; if (temp >= 3510) return internal_min_issue_delay (insn_code, chip); else _cortex_a53_advsimd_automaton_state = temp; temp = cortex_a53_transitions [cortex_a53_translate [insn_code] + chip->cortex_a53_automaton_state * 14]; if (temp >= 15) return internal_min_issue_delay (insn_code, chip); else chip->cortex_a53_automaton_state = temp; chip->tsv110_fsu_automaton_state = _tsv110_fsu_automaton_state; chip->tsv110_automaton_state = _tsv110_automaton_state; chip->thunderx2t99_mult_automaton_state = _thunderx2t99_mult_automaton_state; chip->thunderx2t99_ldst_automaton_state = _thunderx2t99_ldst_automaton_state; chip->thunderx2t99_advsimd_automaton_state = _thunderx2t99_advsimd_automaton_state; chip->thunderx2t99_automaton_state = _thunderx2t99_automaton_state; chip->xgene1_simd_automaton_state = _xgene1_simd_automaton_state; chip->xgene1_div_automaton_state = _xgene1_div_automaton_state; chip->xgene1_decoder_automaton_state = _xgene1_decoder_automaton_state; chip->xgene1_main_automaton_state = _xgene1_main_automaton_state; chip->thunderx_simd_automaton_state = _thunderx_simd_automaton_state; chip->thunderx_divide_automaton_state = _thunderx_divide_automaton_state; chip->thunderx_mult_automaton_state = _thunderx_mult_automaton_state; chip->thunderx_main_automaton_state = _thunderx_main_automaton_state; chip->saphira_mem_automaton_state = _saphira_mem_automaton_state; chip->saphira_vfp_automaton_state = _saphira_vfp_automaton_state; chip->saphira_automaton_state = _saphira_automaton_state; chip->falkor_mem_automaton_state = _falkor_mem_automaton_state; chip->falkor_vfp_automaton_state = _falkor_vfp_automaton_state; chip->falkor_automaton_state = _falkor_automaton_state; chip->exynos_m1_fp_automaton_state = _exynos_m1_fp_automaton_state; chip->exynos_m1_ls_automaton_state = _exynos_m1_ls_automaton_state; chip->exynos_m1_gp_automaton_state = _exynos_m1_gp_automaton_state; chip->cortex_a57_cx_automaton_state = _cortex_a57_cx_automaton_state; chip->cortex_a57_automaton_state = _cortex_a57_automaton_state; chip->cortex_a53_advsimd_automaton_state = _cortex_a53_advsimd_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 *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 (as_a (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 *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 *insn, rtx_insn *insn2) { struct DFA_chip DFA_chip; int insn_code, insn2_code, transition; gcc_checking_assert (insn != 0); insn_code = dfa_insn_code (insn); if (insn_code >= DFA__ADVANCE_CYCLE) return 0; gcc_checking_assert (insn2 != 0); 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 short default_latencies[] = { 2, 2, 3, 3, 3, 3, 4, 4, 4, 2, 4, 2, 6, 2, 0, 4, 2, 4, 8, 2, 4, 4, 5, 5, 3, 4, 0, 0, 4, 4, 4, 4, 14, 29, 14, 29, 3, 3, 3, 3, 4, 5, 2, 3, 3, 3, 10, 1, 0, 5, 5, 0, 0, 5, 5, 7, 8, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 5, 6, 4, 6, 6, 10, 6, 6, 10, 5, 5, 9, 9, 6, 6, 10, 10, 4, 4, 9, 9, 7, 7, 7, 6, 7, 9, 11, 9, 11, 0, 0, 0, 4, 6, 6, 10, 6, 7, 4, 4, 12, 16, 20, 3, 6, 6, 1, 0, 1, 1, 1, 2, 2, 2, 3, 4, 13, 4, 6, 1, 3, 1, 2, 3, 4, 4, 2, 4, 2, 4, 3, 1, 5, 10, 4, 4, 5, 6, 5, 1, 6, 2, 3, 2, 2, 4, 9, 5, 6, 6, 6, 7, 8, 7, 10, 7, 6, 12, 9, 7, 14, 9, 8, 1, 3, 1, 2, 3, 4, 7, 7, 16, 17, 2, 4, 5, 6, 4, 13, 9, 4, 7, 4, 2, 2, 15, 22, 2, 2, 6, 2, 4, 2, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 4, 6, 11, 6, 11, 12, 22, 12, 22, 1, 1, 2, 2, 3, 4, 3, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 1, 3, 3, 1, 3, 1, 1, 2, 4, 3, 3, 5, 5, 6, 6, 5, 6, 7, 0, 0, 0, 0, 0, 0, 1, 2, 2, 4, 6, 3, 4, 0, 0, 5, 1, 2, 3, 4, 5, 5, 6, 6, 6, 11, 12, 22, 3, 3, 1, 6, 3, 1, 2, 2, 4, 4, 5, 11, 1, 1, 0, 2, 1, 0, 1, 2, 3, 4, 5, 5, 6, 6, 4, 6, 11, 6, 11, 12, 22, 12, 22, 1, 2, 3, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 1, 3, 3, 1, 3, 1, 2, 3, 5, 6, 0, 0, 0, 0, 0, 0, 1, 2, 2, 4, 5, 4, 0, 0, 5, 1, 2, 3, 4, 5, 5, 6, 6, 6, 11, 12, 22, 3, 3, 1, 6, 3, 1, 2, 2, 4, 4, 5, 11, 1, 0, 2, 1, 0, 1, 1, 2, 2, 4, 4, 22, 1, 1, 3, 1, 4, 1, 2, 1, 3, 2, 3, 6, 12, 22, 17, 31, 4, 6, 4, 4, 1, 1, 2, 6, 2, 3, 4, 5, 6, 7, 5, 3, 160, 320, 1, 1, 1, 1, 10, 4, 2, 10, 4, 6, 2, 10, 5, 1, 1, 1, 1, 2, 2, 1, 4, 5, 34, 10, 3, 1, 2, 5, 3, 11, 14, 5, 22, 28, 28, 2, 3, 3, 11, 5, 2, 7, 14, 3, 3, 6, 5, 5, 5, 2, 2, 5, 5, 5, 2, 4, 6, 6, 3, 2, 4, 8, 3, 10, 3, 5, 5, 1, 0, 0, 1, 0, 1, 2, 13, 5, 4, 3, 4, 5, 1, 1, 5, 6, 5, 16, 23, 6, 7, 4, 7, 4, 5, 4, 1, 7, 5, 7, 5, 5, 6, 7, 16, 23, 5, 6, 8, 6, 5, 4, 5, 5, 5, 7, 8, 1, 1, 1, 1, 1, 1, 5, 7, 4, 5, 1, 1, 2, 2, 3, 10, 1, 0, 4, 0, 4, 4, 2, 4, 4, 2, 8, 4, 4, 2, 4, 4, 2, 4, 2, 5, 5, 7, 3, 7, 3, 2, 2, 2, 2, 4, 3, 8, 6, 6, 7, 7, 8, 9, 9, 11, 0, 0, 0, 2, 5, 7, 3, 4, 5, 4, 2, 12, 24, 3, 2, 2, 5, 1, }; static int internal_insn_latency (int insn_code ATTRIBUTE_UNUSED, int insn2_code ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED, rtx_insn *insn2 ATTRIBUTE_UNUSED) { switch (insn_code) { case 0: switch (insn2_code) { case 2: return 0; case 0: return 1; case 1: return 1; case 3: return 1; case 4: return 1; case 5: return 1; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 19: return 0; case 14: return 0; } break; case 1: switch (insn2_code) { case 2: return 0; case 0: return 1; case 1: return 1; case 3: return 1; case 4: return 1; case 5: return 1; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 19: return 0; case 14: return 0; } break; case 2: switch (insn2_code) { case 2: return 1; case 3: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 4: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 5: return 2; case 0: return 2; case 1: return 2; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 19: return 0; case 21: return 2; case 14: return 0; } break; case 3: switch (insn2_code) { case 2: return 1; case 3: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 4: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 5: return 2; case 0: return 2; case 1: return 2; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 19: return 0; case 21: return 2; case 14: return 0; } break; case 4: switch (insn2_code) { case 2: return 1; case 3: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 4: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 5: return 2; case 0: return 2; case 1: return 2; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 19: return 0; case 21: return 2; case 14: return 0; } break; case 5: switch (insn2_code) { case 2: return 1; case 3: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 4: if (arm_no_early_alu_shift_dep (insn, insn2)) return 1; return 2; case 5: return 2; case 0: return 2; case 1: return 2; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 0; break; case 19: return 0; case 21: return 2; case 14: return 0; } break; case 6: switch (insn2_code) { case 6: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; case 2: return 2; case 3: return 3; case 4: return 3; case 5: return 3; case 0: return 3; case 1: return 3; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 19: return 1; case 21: return 3; } break; case 8: switch (insn2_code) { case 2: return 2; case 3: return 3; case 4: return 3; case 5: return 3; case 0: return 3; case 1: return 3; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; if (arm_early_store_addr_dep_ptr (insn, insn2)) return 3; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; if (arm_early_store_addr_dep_ptr (insn, insn2)) return 3; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; if (arm_early_store_addr_dep_ptr (insn, insn2)) return 3; break; case 8: if (arm_early_load_addr_dep_ptr (insn, insn2)) return 3; break; case 10: if (arm_early_load_addr_dep_ptr (insn, insn2)) return 3; break; case 12: if (arm_early_load_addr_dep_ptr (insn, insn2)) return 3; break; case 19: return 1; case 21: return 3; } break; case 10: switch (insn2_code) { case 2: return 3; case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 19: return 1; case 21: return 3; } break; case 12: switch (insn2_code) { case 9: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 11: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; case 13: if (arm_no_early_store_addr_dep (insn, insn2)) return 1; break; } break; case 15: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; } break; case 16: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; } break; case 17: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; } break; case 18: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 4; break; } break; case 19: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; } break; case 21: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; } break; case 24: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; } break; case 25: switch (insn2_code) { case 18: if (aarch_accumulator_forwarding (insn, insn2)) return 1; break; } break; case 36: switch (insn2_code) { case 37: if (aarch_crypto_can_dual_issue (insn, insn2)) return 0; break; } break; case 42: switch (insn2_code) { case 42: return 1; case 43: return 1; case 44: return 1; case 49: return 1; case 50: return 1; case 116: return 1; case 48: return 1; } break; case 43: switch (insn2_code) { case 42: return 2; case 43: return 2; case 44: return 2; case 49: return 2; case 50: return 2; case 116: return 1; case 48: return 1; } break; case 44: switch (insn2_code) { case 42: return 2; case 43: return 2; case 44: return 2; case 49: return 2; case 50: return 2; case 116: return 1; case 48: return 1; } break; case 45: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 46: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 47: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 48: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 49: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 50: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 51: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 52: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 53: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 54: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 55: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 56: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 57: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 58: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 59: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 60: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 61: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 62: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 63: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 64: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 65: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 66: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 67: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 68: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 69: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 70: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 71: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 72: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 73: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 74: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 75: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 76: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 77: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 78: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 79: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 80: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 81: switch (insn2_code) { case 61: return 5; case 62: return 5; case 63: return 5; case 80: return 5; case 81: return 5; case 116: return 1; case 48: return 1; } break; case 82: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 83: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 84: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 85: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 86: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 87: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 88: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 89: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 90: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 91: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 92: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 93: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 94: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 95: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 96: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 97: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 98: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 99: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 100: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 101: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 102: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 103: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 104: switch (insn2_code) { case 105: return 5; case 116: return 1; case 48: return 1; } break; case 105: switch (insn2_code) { case 105: return 5; case 116: return 1; case 48: return 1; } break; case 106: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 107: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 108: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 109: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 110: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 111: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 112: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 113: switch (insn2_code) { case 116: return 1; case 48: return 1; case 113: if (aarch_crypto_can_dual_issue (insn, insn2)) return 0; break; } break; case 114: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 115: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 116: switch (insn2_code) { case 116: return 1; case 48: return 1; } break; case 117: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 118: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 119: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 120: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 121: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 122: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 123: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 124: switch (insn2_code) { case 124: return 1; case 125: return 1; case 118: return 1; case 117: return 1; } break; case 125: switch (insn2_code) { case 124: return 1; case 125: return 1; case 118: return 1; case 117: return 1; } break; case 126: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 127: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 128: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 129: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 130: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 131: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 132: switch (insn2_code) { case 132: return 1; case 136: return 1; case 135: return 1; case 137: return 1; case 151: return 1; case 152: return 1; case 153: return 1; case 154: return 1; case 118: return 1; case 117: return 1; } break; case 133: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 134: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 135: switch (insn2_code) { case 132: return 3; case 136: return 3; case 135: return 3; case 137: return 3; case 151: return 3; case 152: return 3; case 153: return 3; case 154: return 3; case 118: return 1; case 117: return 1; } break; case 136: switch (insn2_code) { case 132: return 1; case 136: return 1; case 135: return 1; case 137: return 1; case 151: return 1; case 152: return 1; case 153: return 1; case 154: return 1; case 118: return 1; case 117: return 1; } break; case 137: switch (insn2_code) { case 132: return 3; case 136: return 3; case 135: return 3; case 137: return 3; case 151: return 3; case 152: return 3; case 153: return 3; case 154: return 3; case 118: return 1; case 117: return 1; } break; case 138: switch (insn2_code) { case 138: return 1; case 118: return 1; case 117: return 1; } break; case 139: switch (insn2_code) { case 139: return 3; case 146: return 3; case 147: return 3; case 150: return 3; case 118: return 1; case 117: return 1; } break; case 140: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 141: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 142: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 143: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 144: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 145: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 146: switch (insn2_code) { case 139: return 4; case 146: return 4; case 147: return 4; case 150: return 4; case 118: return 1; case 117: return 1; } break; case 147: switch (insn2_code) { case 139: return 5; case 146: return 5; case 147: return 5; case 150: return 5; case 118: return 1; case 117: return 1; } break; case 148: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 149: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 150: switch (insn2_code) { case 139: return 5; case 146: return 5; case 147: return 5; case 150: return 5; case 118: return 1; case 117: return 1; } break; case 151: switch (insn2_code) { case 132: return 1; case 136: return 1; case 135: return 1; case 137: return 1; case 151: return 1; case 152: return 1; case 153: return 1; case 154: return 1; case 118: return 1; case 117: return 1; } break; case 152: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 153: switch (insn2_code) { case 132: return 1; case 136: return 1; case 135: return 1; case 137: return 1; case 151: return 1; case 152: return 1; case 153: return 1; case 154: return 1; case 118: return 1; case 117: return 1; } break; case 154: switch (insn2_code) { case 132: return 1; case 136: return 1; case 135: return 1; case 137: return 1; case 151: return 1; case 152: return 1; case 153: return 1; case 154: return 1; case 118: return 1; case 117: return 1; } break; case 155: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 156: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 157: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 158: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 159: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 160: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 161: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 162: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 163: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 164: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 165: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 166: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 167: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 168: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 169: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 170: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 171: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 172: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 173: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 174: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 175: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 176: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 177: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 178: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 179: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 180: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 181: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 182: switch (insn2_code) { case 129: return 1; case 130: return 1; case 173: return 1; case 174: return 1; case 175: return 1; case 176: return 1; case 177: return 1; case 178: return 1; case 179: return 1; case 180: return 1; case 181: return 1; case 182: return 1; case 127: return 1; case 128: return 1; case 157: return 1; case 158: return 1; case 159: return 1; case 160: return 1; case 161: return 1; case 162: return 1; case 163: return 1; case 164: return 1; case 165: return 1; case 166: return 1; case 167: return 1; case 168: return 1; case 169: return 1; case 170: return 1; case 171: return 1; case 172: return 1; case 118: return 1; case 117: return 1; } break; case 183: switch (insn2_code) { case 183: return 1; case 193: return 1; case 194: return 1; case 192: return 1; case 118: return 1; case 117: return 1; } break; case 184: switch (insn2_code) { case 184: return 3; case 185: return 3; case 186: return 3; case 118: return 1; case 117: return 1; } break; case 185: switch (insn2_code) { case 184: return 4; case 185: return 4; case 186: return 4; case 118: return 1; case 117: return 1; } break; case 186: switch (insn2_code) { case 184: return 5; case 185: return 5; case 186: return 5; case 118: return 1; case 117: return 1; } break; case 187: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 188: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 189: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 190: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 191: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 192: switch (insn2_code) { case 183: return 3; case 193: return 3; case 194: return 3; case 192: return 3; case 118: return 1; case 117: return 1; } break; case 193: switch (insn2_code) { case 183: return 1; case 193: return 1; case 194: return 1; case 192: return 1; case 118: return 1; case 117: return 1; } break; case 194: switch (insn2_code) { case 183: return 1; case 193: return 1; case 194: return 1; case 192: return 1; case 118: return 1; case 117: return 1; } break; case 195: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 196: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 197: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 198: switch (insn2_code) { case 198: if (aarch_crypto_can_dual_issue (insn, insn2)) return 0; return 1; case 199: return 1; case 200: return 1; case 201: return 1; case 118: return 1; case 117: return 1; } break; case 199: switch (insn2_code) { case 198: return 5; case 199: return 5; case 200: return 5; case 201: return 5; case 118: return 1; case 117: return 1; } break; case 200: switch (insn2_code) { case 198: return 1; case 199: return 1; case 200: return 1; case 201: return 1; case 118: return 1; case 117: return 1; } break; case 201: switch (insn2_code) { case 198: return 3; case 199: return 3; case 200: return 3; case 201: return 3; case 118: return 1; case 117: return 1; } break; case 202: switch (insn2_code) { case 118: return 1; case 117: return 1; } break; case 211: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 212: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 213: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 214: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 215: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 216: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 217: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 218: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 235: switch (insn2_code) { case 236: return 1; case 238: return 1; case 304: return 1; } break; case 236: switch (insn2_code) { case 236: return 1; case 238: return 1; case 304: return 1; } break; case 237: switch (insn2_code) { case 236: return 1; case 238: return 1; case 304: return 1; } break; case 238: switch (insn2_code) { case 236: return 1; case 238: return 1; case 304: return 1; } break; case 287: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 288: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 289: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 290: switch (insn2_code) { case 212: return 3; case 214: return 3; case 216: return 3; case 218: return 3; case 288: return 3; case 290: return 3; } break; case 303: switch (insn2_code) { case 236: return 1; case 238: return 1; case 304: return 1; } break; case 304: switch (insn2_code) { case 236: return 1; case 238: return 1; case 304: return 1; } break; case 305: switch (insn2_code) { case 236: return 1; case 238: return 1; case 304: return 1; } break; case 317: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 318: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 319: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 320: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 334: switch (insn2_code) { case 335: return 1; case 390: return 1; } break; case 335: switch (insn2_code) { case 335: return 1; case 390: return 1; } break; case 373: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 374: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 375: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 376: switch (insn2_code) { case 318: return 3; case 320: return 3; case 374: return 3; case 376: return 3; } break; case 389: switch (insn2_code) { case 335: return 1; case 390: return 1; } break; case 390: switch (insn2_code) { case 335: return 1; case 390: return 1; } break; case 391: switch (insn2_code) { case 335: return 1; case 390: return 1; } break; case 430: switch (insn2_code) { case 430: return 2; case 432: return 2; case 434: return 2; } break; case 432: switch (insn2_code) { case 430: return 4; case 432: return 4; case 434: return 4; } break; case 434: switch (insn2_code) { case 430: return 6; case 432: return 6; case 434: return 6; } break; case 458: switch (insn2_code) { case 454: return 2; case 440: return 2; } break; case 564: switch (insn2_code) { case 564: return 1; case 566: return 1; case 627: return 1; case 571: return 1; } break; case 565: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 566: switch (insn2_code) { case 564: return 2; case 566: return 2; case 627: return 1; case 571: return 1; } break; case 567: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 568: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 569: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 570: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 571: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 572: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 573: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 574: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 575: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 576: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 577: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 578: switch (insn2_code) { case 591: return 3; case 593: return 3; case 627: return 1; case 571: return 1; } break; case 579: switch (insn2_code) { case 591: return 3; case 593: return 3; case 627: return 1; case 571: return 1; } break; case 580: switch (insn2_code) { case 591: return 3; case 593: return 3; case 627: return 1; case 571: return 1; } break; case 581: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 582: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 583: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 584: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 585: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 586: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 587: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 588: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 589: switch (insn2_code) { case 591: return 3; case 593: return 3; case 627: return 1; case 571: return 1; } break; case 590: switch (insn2_code) { case 591: return 3; case 593: return 3; case 627: return 1; case 571: return 1; } break; case 591: switch (insn2_code) { case 591: return 3; case 593: return 3; case 627: return 1; case 571: return 1; } break; case 592: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 593: switch (insn2_code) { case 591: return 3; case 593: return 3; case 627: return 1; case 571: return 1; } break; case 594: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 595: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 596: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 597: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 598: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 599: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 600: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 601: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 602: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 603: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 604: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 605: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 606: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 607: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 608: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 609: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 610: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 611: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 612: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 613: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 614: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 615: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 616: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 617: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 618: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 619: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 620: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 621: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 622: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 623: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 624: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 625: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 626: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; case 627: switch (insn2_code) { case 627: return 1; case 571: return 1; } break; } return default_latencies[insn_code]; } int insn_latency (rtx_insn *insn, rtx_insn *insn2) { int insn_code, insn2_code; gcc_checking_assert (insn != 0); insn_code = dfa_insn_code (insn); if (insn_code >= DFA__ADVANCE_CYCLE) return 0; gcc_checking_assert (insn2 != 0); 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) { switch (insn_code) { case 0: { return 2; } break; case 1: { return 2; } break; case 2: { return 3; } break; case 3: { return 3; } break; case 4: { return 3; } break; case 5: { return 3; } break; case 6: { return 4; } break; case 8: { return 4; } break; case 10: { return 4; } break; case 12: { return 6; } break; case 15: { return 4; } break; case 16: { return 2; } break; case 17: { return 4; } break; case 18: { return 8; } break; case 19: { return 2; } break; case 21: { return 4; } break; case 24: { return 3; } break; case 25: { return 4; } break; case 36: { return 3; } break; case 42: { return 2; } break; case 43: { return 3; } break; case 44: { return 3; } break; case 45: { return 3; } break; case 46: { return 10; } break; case 47: { return 1; } break; case 48: { return 1; } break; case 49: { return 5; } break; case 50: { return 5; } break; case 51: { return 1; } break; case 52: { return 1; } break; case 53: { return 5; } break; case 54: { return 5; } break; case 55: { return 7; } break; case 56: { return 8; } break; case 57: { return 4; } break; case 58: { return 5; } break; case 59: { return 6; } break; case 60: { return 7; } break; case 61: { return 6; } break; case 62: { return 7; } break; case 63: { return 6; } break; case 64: { return 7; } break; case 65: { return 4; } break; case 66: { return 5; } break; case 67: { return 4; } break; case 68: { return 5; } break; case 69: { return 5; } break; case 70: { return 6; } break; case 71: { return 4; } break; case 72: { return 6; } break; case 73: { return 6; } break; case 74: { return 10; } break; case 75: { return 6; } break; case 76: { return 6; } break; case 77: { return 10; } break; case 78: { return 5; } break; case 79: { return 5; } break; case 80: { return 9; } break; case 81: { return 9; } break; case 82: { return 6; } break; case 83: { return 6; } break; case 84: { return 10; } break; case 85: { return 10; } break; case 86: { return 4; } break; case 87: { return 4; } break; case 88: { return 9; } break; case 89: { return 9; } break; case 90: { return 7; } break; case 91: { return 7; } break; case 92: { return 7; } break; case 93: { return 6; } break; case 94: { return 7; } break; case 95: { return 9; } break; case 96: { return 11; } break; case 97: { return 9; } break; case 98: { return 11; } break; case 99: { return 1; } break; case 100: { return 1; } break; case 101: { return 1; } break; case 102: { return 4; } break; case 103: { return 6; } break; case 104: { return 6; } break; case 105: { return 10; } break; case 106: { return 6; } break; case 107: { return 7; } break; case 108: { return 4; } break; case 109: { return 4; } break; case 110: { return 12; } break; case 111: { return 16; } break; case 112: { return 20; } break; case 113: { return 3; } break; case 114: { return 6; } break; case 115: { return 6; } break; case 116: { return 1; } break; case 117: { return 1; } break; case 118: { return 1; } break; case 119: { return 1; } break; case 120: { return 1; } break; case 121: { return 2; } break; case 122: { return 2; } break; case 123: { return 2; } break; case 124: { return 3; } break; case 125: { return 4; } break; case 126: { return 13; } break; case 127: { return 4; } break; case 128: { return 6; } break; case 129: { return 1; } break; case 130: { return 3; } break; case 131: { return 1; } break; case 132: { return 2; } break; case 133: { return 3; } break; case 134: { return 4; } break; case 135: { return 4; } break; case 136: { return 2; } break; case 137: { return 4; } break; case 138: { return 2; } break; case 139: { return 4; } break; case 140: { return 3; } break; case 141: { return 1; } break; case 142: { return 5; } break; case 143: { return 10; } break; case 144: { return 4; } break; case 145: { return 4; } break; case 146: { return 5; } break; case 147: { return 6; } break; case 148: { return 5; } break; case 149: { return 1; } break; case 150: { return 6; } break; case 151: { return 2; } break; case 152: { return 3; } break; case 153: { return 2; } break; case 154: { return 2; } break; case 155: { return 4; } break; case 156: { return 9; } break; case 157: { return 5; } break; case 158: { return 6; } break; case 159: { return 6; } break; case 160: { return 6; } break; case 161: { return 7; } break; case 162: { return 8; } break; case 163: { return 7; } break; case 164: { return 10; } break; case 165: { return 7; } break; case 166: { return 6; } break; case 167: { return 12; } break; case 168: { return 9; } break; case 169: { return 7; } break; case 170: { return 14; } break; case 171: { return 9; } break; case 172: { return 8; } break; case 173: { return 1; } break; case 174: { return 3; } break; case 175: { return 1; } break; case 176: { return 2; } break; case 177: { return 3; } break; case 178: { return 4; } break; case 179: { return 7; } break; case 180: { return 7; } break; case 181: { return 16; } break; case 182: { return 17; } break; case 183: { return 2; } break; case 184: { return 4; } break; case 185: { return 5; } break; case 186: { return 6; } break; case 187: { return 4; } break; case 188: { return 13; } break; case 189: { return 9; } break; case 190: { return 4; } break; case 191: { return 7; } break; case 192: { return 4; } break; case 193: { return 2; } break; case 194: { return 2; } break; case 195: { return 15; } break; case 196: { return 22; } break; case 197: { return 2; } break; case 198: { return 2; } break; case 199: { return 6; } break; case 200: { return 2; } break; case 201: { return 4; } break; case 202: { return 2; } break; case 211: { return 5; } break; case 212: { return 5; } break; case 213: { return 5; } break; case 214: { return 5; } break; case 215: { return 6; } break; case 216: { return 6; } break; case 217: { return 6; } break; case 218: { return 6; } break; case 235: { return 4; } break; case 236: { return 4; } break; case 237: { return 4; } break; case 238: { return 4; } break; case 287: { return 5; } break; case 288: { return 5; } break; case 289: { return 6; } break; case 290: { return 6; } break; case 303: { return 4; } break; case 304: { return 4; } break; case 305: { return 5; } break; case 317: { return 5; } break; case 318: { return 5; } break; case 319: { return 6; } break; case 320: { return 6; } break; case 334: { return 4; } break; case 335: { return 4; } break; case 373: { return 5; } break; case 374: { return 5; } break; case 375: { return 6; } break; case 376: { return 6; } break; case 389: { return 4; } break; case 390: { return 4; } break; case 391: { return 5; } break; case 430: { return 3; } break; case 432: { return 5; } break; case 434: { return 7; } break; case 458: { return 2; } break; case 564: { return 1; } break; case 565: { return 1; } break; case 566: { return 2; } break; case 567: { return 2; } break; case 568: { return 3; } break; case 569: { return 10; } break; case 570: { return 1; } break; case 571: { return 1; } break; case 572: { return 4; } break; case 573: { return 1; } break; case 574: { return 4; } break; case 575: { return 4; } break; case 576: { return 2; } break; case 577: { return 4; } break; case 578: { return 4; } break; case 579: { return 3; } break; case 580: { return 8; } break; case 581: { return 4; } break; case 582: { return 4; } break; case 583: { return 2; } break; case 584: { return 4; } break; case 585: { return 4; } break; case 586: { return 2; } break; case 587: { return 4; } break; case 588: { return 2; } break; case 589: { return 5; } break; case 590: { return 5; } break; case 591: { return 7; } break; case 592: { return 3; } break; case 593: { return 7; } break; case 594: { return 3; } break; case 595: { return 2; } break; case 596: { return 2; } break; case 597: { return 2; } break; case 598: { return 2; } break; case 599: { return 4; } break; case 600: { return 3; } break; case 601: { return 8; } break; case 602: { return 6; } break; case 603: { return 6; } break; case 604: { return 7; } break; case 605: { return 7; } break; case 606: { return 8; } break; case 607: { return 9; } break; case 608: { return 9; } break; case 609: { return 11; } break; case 610: { return 1; } break; case 611: { return 1; } break; case 612: { return 1; } break; case 613: { return 2; } break; case 614: { return 5; } break; case 615: { return 7; } break; case 616: { return 3; } break; case 617: { return 4; } break; case 618: { return 5; } break; case 619: { return 4; } break; case 620: { return 2; } break; case 621: { return 12; } break; case 622: { return 24; } break; case 623: { return 3; } break; case 624: { return 2; } break; case 625: { return 2; } break; case 626: { return 5; } break; case 627: { return 1; } break; } return default_latencies[insn_code]; } int maximal_insn_latency (rtx_insn *insn) { int insn_code; gcc_checking_assert (insn != 0); insn_code = dfa_insn_code (insn); if (insn_code >= DFA__ADVANCE_CYCLE) return 0; return internal_maximal_insn_latency (insn_code); } void print_reservation (FILE *f, rtx_insn *insn ATTRIBUTE_UNUSED) { static const char *const reservation_names[] = { "cortex_a53_slot_any", "(cortex_a53_slot_any+cortex_a53_hazard)", "cortex_a53_slot_any", "cortex_a53_slot_any", "(cortex_a53_slot_any+cortex_a53_hazard)", "cortex_a53_slot1|cortex_a53_single_issue", "(cortex_a53_slot_any+cortex_a53_imul)", "cortex_a53_slot0,cortex_a53_idiv*2", "(cortex_a53_slot_any+cortex_a53_ls_agen),cortex_a53_load", "(cortex_a53_slot_any+cortex_a53_ls_agen),cortex_a53_store", "(cortex_a53_single_issue+cortex_a53_ls_agen),(cortex_a53_load+cortex_a53_slot0),cortex_a53_load", "(cortex_a53_slot_any+cortex_a53_ls_agen),cortex_a53_store", "(cortex_a53_single_issue+cortex_a53_ls_agen),(cortex_a53_load+cortex_a53_slot0),cortex_a53_load", "(cortex_a53_slot_any+cortex_a53_ls_agen),(cortex_a53_store+cortex_a53_slot0),cortex_a53_store", "(cortex_a53_slot_any+cortex_a53_branch)", "cortex_a53_slot_any,cortex_a53_fp_alu", "cortex_a53_slot_any,cortex_a53_fp_alu", "cortex_a53_slot_any,cortex_a53_fp_mul", "cortex_a53_slot_any,cortex_a53_fp_mul,nothing*3,cortex_a53_fp_alu", "cortex_a53_slot_any,cortex_a53_fp_alu", "cortex_a53_slot_any,cortex_a53_fp_alu", "cortex_a53_slot_any,cortex_a53_fp_alu", "cortex_a53_slot_any,cortex_a53_fp_alu", "cortex_a53_slot_any", "(cortex_a53_slot_any+cortex_a53_ls_agen),cortex_a53_load", "(cortex_a53_single_issue+cortex_a53_ls_agen),(cortex_a53_load+cortex_a53_slot0),cortex_a53_load", "(cortex_a53_slot_any+cortex_a53_ls_agen),cortex_a53_store", "(cortex_a53_slot_any+cortex_a53_ls_agen),(cortex_a53_store+cortex_a53_slot0),cortex_a53_store", "cortex_a53_slot_any,cortex_a53_fp_alu", "cortex_a53_slot0,cortex_a53_fp_alu_q", "cortex_a53_slot_any,cortex_a53_fp_mul", "cortex_a53_slot0,cortex_a53_fp_mul_q", "cortex_a53_slot0,cortex_a53_fp_mul,cortex_a53_fp_div", "cortex_a53_slot0,cortex_a53_fp_mul,cortex_a53_fp_div", "cortex_a53_single_issue,cortex_a53_fp_mul_q,cortex_a53_fp_div_q", "cortex_a53_single_issue,cortex_a53_fp_mul_q,cortex_a53_fp_div_q", "cortex_a53_slot0", "cortex_a53_slot_any", "cortex_a53_slot_any,cortex_a53_crypto", "cortex_a53_slot0,cortex_a53_crypto", "cortex_a53_slot0,cortex_a53_crypto", "cortex_a53_slot0,cortex_a53_crypto", "ca57_sx1|ca57_sx2", "ca57_mx", "ca57_mx", "ca57_mx", "ca57_mx_issue,ca57_mx_block*3", "ca57_block", "ca57_bx", "ca57_load_model", "ca57_ls_issue*2,ca57_load_model", "ca57_store_model", "ca57_ls_issue*2,ca57_store_model", "ca57_cx1|ca57_cx2", "(ca57_cx1+ca57_cx2)", "ca57_cx2", "(ca57_cx2+(ca57_cx2_issue,ca57_cx2))", "ca57_cx1|ca57_cx2", "ca57_cx1|ca57_cx2", "ca57_cx1", "(ca57_cx1+(ca57_cx1_issue,ca57_cx1))", "ca57_cx1", "(ca57_cx1+(ca57_cx1_issue,ca57_cx1))", "ca57_cx1", "ca57_cx2", "ca57_cx2", "ca57_cx2", "ca57_cx2", "(ca57_cx2+(ca57_cx2_issue,ca57_cx2))", "ca57_cx2", "(ca57_cx2+(ca57_cx2_issue,ca57_cx2))", "ca57_cx1|ca57_cx2", "ca57_cx1|ca57_cx2", "(ca57_cx1+ca57_cx2)", "(ca57_cx1+ca57_cx2),ca57_cx1|ca57_cx2", "ca57_cx1|ca57_cx2", "(ca57_cx1+ca57_cx2)", "(ca57_cx1_issue+ca57_cx2_issue),ca57_cx1|ca57_cx2", "ca57_cx1|ca57_cx2", "(ca57_cx1+ca57_cx2)", "(ca57_cx1,ca57_cx1)|(ca57_cx2,ca57_cx2)", "(ca57_cx1+ca57_cx2),ca57_cx1,ca57_cx2", "ca57_cx1|ca57_cx2", "(ca57_cx1+ca57_cx2)", "ca57_cx1|ca57_cx2", "(ca57_cx1+ca57_cx2)", "ca57_cx1|ca57_cx2", "(ca57_cx1+ca57_cx2)", "((ca57_ls_issue+ca57_cx1_issue),ca57_cx1)|((ca57_ls_issue+ca57_cx2_issue),ca57_cx2)", "(((ca57_ls_issue+ca57_cx1_issue),ca57_cx1)+((ca57_ls_issue+ca57_cx2_issue),ca57_cx2))", "((ca57_cx1_issue,ca57_cx1)+(ca57_cx2_issue,ca57_cx2))", "((ca57_cx1_issue,ca57_cx1)+(ca57_cx2_issue,ca57_cx2))", "((ca57_ls_issue+ca57_sx1_issue),ca57_sx1)|((ca57_ls_issue+ca57_sx2_issue),ca57_sx2)", "ca57_load_model", "ca57_ls_issue,(ca57_ls_issue+ca57_ldr),ca57_ldr*2", "(ca57_load_model+(ca57_cx1|ca57_cx2))", "(ca57_cx1_issue+ca57_cx2_issue),(ca57_ls_issue+ca57_ls_issue),ca57_ldr*2", "(ca57_load_model+(ca57_cx1|ca57_cx2))", "(ca57_cx1_issue+ca57_cx2_issue),(ca57_ls_issue+ca57_ls_issue),ca57_ldr*2", "ca57_store_model", "ca57_store_model", "ca57_block*2", "ca57_cx1|ca57_cx2", "ca57_cx1|ca57_cx2", "ca57_cx1|ca57_cx2", "(ca57_cx1,nothing,nothing,ca57_cx1)|(ca57_cx2,nothing,nothing,ca57_cx2)", "ca57_cx1|ca57_cx2", "ca57_cx2", "ca57_cx1|ca57_cx2", "ca57_cx1|ca57_cx2", "ca57_cx2_block*5", "ca57_cx2_block*3", "ca57_cx2_block*3", "ca57_cx1", "ca57_cx1*2", "ca57_cx1*2|ca57_cx2*2", "(ca57_sx1_issue+ca57_sx2_issue+ca57_cx1_issue+ca57_cx2_issue+ca57_mx_issue+ca57_bx_issue+ca57_ls_issue)", "em1_br", "em1_alu", "em1_alu", "em1_c", "em1_alu", "em1_alu*2", "em1_alu,em1_c", "em1_c", "em1_alu,em1_c", "em1_c", "em1_ld", "em1_ld*3", "em1_st", "em1_st*3", "em1_nmisc", "em1_nalu", "em1_nmisc", "em1_nmisc", "em1_nalu1", "em1_nalu", "em1_nalu1", "em1_nalu", "em1_fadd", "em1_nmisc", "em1_nmisc", "em1_nmisc*4", "em1_nalu*2,em1_fadd", "em1_fcvt", "em1_fcvt", "em1_fmac", "em1_fmac", "em1_fcvt", "em1_nmisc", "em1_fmac", "em1_nalu", "em1_nalu,em1_nalu", "em1_nalu1", "em1_nalu1", "em1_st", "em1_lfst", "em1_ld", "em1_ld,em1_ld", "em1_ld", "em1_ld*2", "em1_ld*3", "em1_ld*4", "em1_ld*2,em1_nalu", "em1_ld*5", "em1_ld*2,em1_nalu*2", "em1_ld*2", "em1_ld*6", "em1_ld*4,em1_nalu*3", "em1_ld*3", "em1_ld*7", "em1_ld*4,em1_nalu*4", "em1_ld*4", "em1_sfst", "em1_sfst*2", "em1_sfst", "em1_sfst*2", "em1_sfst*3", "em1_sfst*4", "em1_sfst", "em1_sfst,em1_fst", "em1_sfst*3,em1_fst*2,em1_nalu", "em1_sfst*4,em1_fst*2,em1_nalu", "em1_nalu", "em1_fadd", "em1_fmac", "em1_fmac", "em1_fcvt", "em1_fcvt,em1_lfst", "em1_st,em1_fcvt", "em1_nmisc", "em1_st,em1_nmisc", "(em1_st+em1_nalu0)", "em1_nalu", "em1_nalu", "em1_fvar*9", "em1_fvar*9", "em1_nmisc*2", "em1_ncrypt", "em1_ncrypt", "em1_ncrypt", "em1_ncrypt", "em1_c", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy),falkor_vxvy", "(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy),(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy),(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy),(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy),(falkor_vx+falkor_vy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy),(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy),(falkor_vxvy+falkor_vxvy)", "falkor_ld", "falkor_ld", "falkor_ld,falkor_ld", "falkor_ld,falkor_ld", "falkor_ld,falkor_ld,falkor_ld", "falkor_ld,falkor_ld", "falkor_ld,falkor_ld,falkor_ld,falkor_ld", "falkor_xyz", "falkor_gtov", "falkor_gtov,falkor_gtov", "falkor_gtov*2", "falkor_vtog", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy),falkor_vxvy", "(falkor_vxvy+falkor_vxvy),(falkor_vxvy+falkor_vxvy)", "(falkor_vxvy+falkor_vxvy),(falkor_vxvy+falkor_vxvy),falkor_vxvy", "(falkor_st+falkor_vsd)", "(falkor_st+falkor_vsd),(falkor_st+falkor_vsd)", "(falkor_st+falkor_vsd),(falkor_st+falkor_vsd),(falkor_st+falkor_vsd)", "(falkor_st+falkor_vsd),(falkor_st+falkor_vsd),(falkor_st+falkor_vsd),(falkor_st+falkor_vsd)", "falkor_zb", "falkor_xyzb", "falkor_vxvy", "falkor_vxvy", "(falkor_vxvy+falkor_vxvy)", "(falkor_vy+falkor_vx)", "(falkor_vy+falkor_vx)", "(falkor_vxvy+falkor_vxvy)", "falkor_ld", "(falkor_st+falkor_vsd)", "falkor_vxvy", "falkor_vtog", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "falkor_vxvy", "(falkor_vx+falkor_vy)", "(falkor_vx+falkor_vy)", "falkor_vxvy", "falkor_vxvy", "falkor_vtog", "falkor_gtov", "falkor_vxvy", "falkor_gtov", "falkor_ld", "falkor_xyz", "falkor_x", "falkor_xyz", "falkor_x", "falkor_x", "falkor_x", "(falkor_x+falkor_z)", "falkor_xyz", "falkor_xyzb", "nothing", "falkor_z", "(falkor_x+falkor_y+falkor_z+falkor_b+falkor_vx+falkor_vy+falkor_ld+falkor_st+falkor_sd+falkor_vsd+falkor_gtov+falkor_vtog)", "(falkor_st+falkor_sd)", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "(saphira_vxvy+saphira_vxvy),saphira_vxvy", "(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy),(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy),(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy),(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy),(saphira_vx+saphira_vy)", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy,saphira_vxvy", "saphira_ld", "saphira_ld", "saphira_ld,saphira_ld", "saphira_ld,saphira_ld", "saphira_ld,saphira_ld,saphira_ld", "saphira_ld,saphira_ld", "saphira_ld,saphira_ld,saphira_ld,saphira_ld", "saphira_xyzb", "saphira_gtov", "saphira_gtov,saphira_gtov", "saphira_gtov,saphira_gtov", "saphira_vtog", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_st", "saphira_st,saphira_st", "saphira_st,saphira_st,saphira_st", "saphira_st,saphira_st,saphira_st,saphira_st", "saphira_zb", "saphira_xyzb", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_ld", "saphira_st", "saphira_vxvy", "saphira_vtog", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "saphira_vxvy", "(saphira_vx+saphira_vy)", "(saphira_vx+saphira_vy)", "saphira_vxvy", "saphira_vxvy", "saphira_vtog", "saphira_gtov", "saphira_vxvy", "saphira_gtov", "saphira_ld", "saphira_xyzb", "saphira_x", "saphira_xyzb", "saphira_x", "saphira_x", "saphira_x", "(saphira_x+saphira_zb)", "saphira_xyzb", "nothing", "saphira_ld", "(saphira_x+saphira_y+saphira_z+saphira_b+saphira_vx+saphira_vy+saphira_ld+saphira_st+saphira_gtov+saphira_vtog)", "saphira_st", "thunderx_pipe0|thunderx_pipe1", "thunderx_pipe0|thunderx_pipe1", "thunderx_pipe0|thunderx_pipe1", "thunderx_pipe0|thunderx_pipe1", "(thunderx_pipe1+thunderx_mult)", "(thunderx_pipe1+thunderx_mult)", "(thunderx_pipe1+thunderx_divide),thunderx_divide*21", "thunderx_pipe0", "(thunderx_pipe0+thunderx_pipe1)", "thunderx_pipe0", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe1", "(thunderx_pipe1+thunderx_divide),thunderx_divide*8", "(thunderx_pipe1+thunderx_divide),thunderx_divide*18", "(thunderx_pipe1+thunderx_divide),thunderx_divide*13", "(thunderx_pipe1+thunderx_divide),thunderx_divide*27", "thunderx_pipe1", "thunderx_pipe1", "thunderx_pipe0", "(thunderx_pipe0+thunderx_pipe1)", "thunderx_pipe0", "(thunderx_pipe0+thunderx_pipe1)", "((thunderx_pipe0+thunderx_pipe1))*2", "thunderx_pipe0", "(thunderx_pipe1+thunderx_simd)", "(thunderx_pipe1+thunderx_simd),thunderx_simd", "(thunderx_pipe1+thunderx_simd)", "(thunderx_pipe1+thunderx_simd),thunderx_simd", "(thunderx_pipe1+thunderx_simd)", "(thunderx_pipe1+thunderx_simd),thunderx_simd", "(thunderx_pipe1+thunderx_simd),thunderx_simd", "(thunderx_pipe1+thunderx_simd),thunderx_simd", "((thunderx_pipe1+thunderx_pipe0))*160", "((thunderx_pipe1+thunderx_pipe0))*320", "(thunderx_pipe0+thunderx_pipe1)", "xgene1_decode1op", "xgene1_decode1op", "xgene1_decode2op", "xgene1_decode2op,xgene1_ld", "xgene1_decode2op,xgene1_st", "xgene1_decode1op", "xgene1_decodeIsolated", "xgene1_decode2op", "xgene1_decodeIsolated,xgene1_ld*2", "xgene1_decodeIsolated,xgene1_st*2", "xgene1_decode1op,xgene1_ld", "xgene1_decode1op,xgene1_ld", "xgene1_decode1op,xgene1_st", "xgene1_decode1op,xgene1_IXn", "xgene1_decode1op,xgene1_IXn", "xgene1_decode1op,xgene1_IXn", "xgene1_decode1op,xgene1_IXB,xgene1_IXB_compl", "xgene1_decode1op,xgene1_IXB,xgene1_IXB_compl", "xgene1_decode1op,xgene1_IXB,xgene1_IXB_compl", "xgene1_decode2op,(xgene1_IXB+xgene1_multiply),xgene1_multiply,nothing,xgene1_IXB_compl", "xgene1_decode2op,(xgene1_IXB+xgene1_multiply),xgene1_multiply,nothing*2,xgene1_IXB_compl", "xgene1_decode1op,(xgene1_IXB+xgene1_divide*7)", "xgene1_decode1op,(xgene1_fsu+xgene1_fcmp*3)", "xgene1_decode1op,xgene1_fsu", "xgene1_decode1op,xgene1_IXn", "xgene1_decode1op,xgene1_IXB,xgene1_IXB_compl", "xgene1_decode1op,xgene1_fsu", "xgene1_decode1op,xgene1_fsu", "xgene1_decodeIsolated,xgene1_fsu", "xgene1_decodeIsolated,xgene1_fsu", "xgene1_decode1op,xgene1_fsu", "xgene1_decode1op,((xgene1_fp_divide+xgene1_fsu))*8,xgene1_fp_divide*14", "xgene1_decode1op,((xgene1_fp_divide+xgene1_fsu))*11,xgene1_fp_divide*17", "xgene1_decode1op,((xgene1_fp_divide+xgene1_fsu))*17,xgene1_fp_divide*11", "xgene1_decode1op,xgene1_fsu", "xgene1_decode1op,xgene1_fsu", "xgene1_decode1op,xgene1_fsu", "xgene1_decode2op,xgene1_ld", "xgene1_decode2op,xgene1_st", "xgene1_decode1op,xgene1_fsu", "xgene1_decodeIsolated", "xgene1_decodeIsolated,xgene1_fsu", "xgene1_decode1op,xgene1_fsu", "xgene1_decode1op,xgene1_fsu", "xgene1_decode2op,xgene1_fsu*2", "xgene1_decode2op,xgene1_fsu*2", "xgene1_decode1op,xgene1_fsu", "xgene1_decode1op", "xgene1_decode1op,(xgene1_fsu+xgene1_fp_divide)", "xgene1_decode1op", "xgene1_decode1op", "xgene1_decode1op", "xgene1_decode1op", "xgene1_decode1op", "xgene1_decodeIsolated,xgene1_st", "xgene1_decodeIsolated", "xgene1_decode2op", "xgene1_decode1op", "xgene1_decode1op,(xgene1_fsu+xgene1_fp_divide)", "xgene1_decode2op", "xgene1_decodeIsolated", "xgene1_decode2op", "xgene1_decode1op,xgene1_ld", "xgene1_decode1op", "xgene1_decode1op", "xgene1_decode2op", "thunderx2t99_i2", "nothing", "thunderx2t99_i2", "(thunderx2t99_i0+thunderx2t99_i1+thunderx2t99_i2+thunderx2t99_ls0+thunderx2t99_ls1+thunderx2t99_sd+thunderx2t99_i1m1+thunderx2t99_i1m2+thunderx2t99_i1m3+thunderx2t99_f0+thunderx2t99_f1)", "nothing", "thunderx2t99_i012", "thunderx2t99_i012,thunderx2t99_i012", "thunderx2t99_i1*3", "thunderx2t99_i1,thunderx2t99_i1m1,thunderx2t99_i1m2,thunderx2t99_i1m3,thunderx2t99_i012", "thunderx2t99_i1,thunderx2t99_i1m1,thunderx2t99_i1m2,thunderx2t99_i1m3", "thunderx2t99_i1", "thunderx2t99_ls01", "thunderx2t99_i012,thunderx2t99_ls01", "thunderx2t99_ls01,thunderx2t99_sd", "thunderx2t99_ls01,thunderx2t99_sd", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f0*3|thunderx2t99_f1*3", "thunderx2t99_f0*5|thunderx2t99_f1*5", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_ls01", "thunderx2t99_ls01,thunderx2t99_sd", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_f01", "thunderx2t99_i012,thunderx2t99_ls01", "thunderx2t99_ls01", "thunderx2t99_l01delay,thunderx2t99_f01", "thunderx2t99_l01delay,thunderx2t99_f01", "thunderx2t99_l01delay,thunderx2t99_f01", "thunderx2t99_l01delay,thunderx2t99_f01", "thunderx2t99_l01delay,thunderx2t99_f01", "thunderx2t99_ls01,thunderx2t99_sd", "thunderx2t99_ls01", "thunderx2t99_ls01,thunderx2t99_f01", "thunderx2t99_ls01,thunderx2t99_f01", "thunderx2t99_ls01,thunderx2t99_f01", "thunderx2t99_ls01,thunderx2t99_f01", "thunderx2t99_f1", "thunderx2t99_f1", "thunderx2t99_i1", "thunderx2t99_f1", "tsv110_alu1|tsv110_alu2|tsv110_alu3", "tsv110_alu2|tsv110_alu3", "tsv110_mdu", "tsv110_alu2|tsv110_alu3", "tsv110_mdu", "tsv110_mdu", "tsv110_block", "tsv110_alu2|tsv110_alu3", "tsv110_ls1|tsv110_ls2", "tsv110_ls1|tsv110_ls2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1", "tsv110_fsu1", "tsv110_fsu1", "tsv110_fsu1", "tsv110_fsu1", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "(tsv110_alu1+tsv110_fsu1)|(tsv110_alu1+tsv110_fsu2)", "tsv110_fsu1", "(tsv110_ls1+tsv110_fsu1)|(tsv110_ls1+tsv110_fsu2)|(tsv110_ls2+tsv110_fsu1)|(tsv110_ls2+tsv110_fsu2)", "tsv110_ls1|tsv110_ls2", "tsv110_ls1|tsv110_ls2", "tsv110_ls1|tsv110_ls2", "tsv110_ls1|tsv110_ls2", "(tsv110_ls1+tsv110_fsu1)|(tsv110_ls1+tsv110_fsu2)|(tsv110_ls2+tsv110_fsu1)|(tsv110_ls2+tsv110_fsu2)", "(tsv110_ls1+tsv110_fsu1)|(tsv110_ls1+tsv110_fsu2)|(tsv110_ls2+tsv110_fsu1)|(tsv110_ls2+tsv110_fsu2)", "(tsv110_ls1+tsv110_fsu1)|(tsv110_ls1+tsv110_fsu2)|(tsv110_ls2+tsv110_fsu1)|(tsv110_ls2+tsv110_fsu2)", "(tsv110_ls1+tsv110_fsu1)|(tsv110_ls1+tsv110_fsu2)|(tsv110_ls2+tsv110_fsu1)|(tsv110_ls2+tsv110_fsu2)", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_block*2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1", "(tsv110_alu1+tsv110_fsu1)|(tsv110_alu1+tsv110_fsu2)", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1", "tsv110_fsu2", "tsv110_fsu1", "tsv110_fsu1|tsv110_fsu2", "tsv110_fsu1", "tsv110_fsu1", "(tsv110_alu1_issue+tsv110_alu2_issue+tsv110_alu3_issue+tsv110_fsu1_issue+tsv110_fsu2_issue+tsv110_mdu_issue+tsv110_ls1_issue+tsv110_ls2_issue)", "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 *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 *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); }