A              ­ёZ0єйеNov  4 202510:13:50HOST64sm_86







.version 9.0
.target sm_86
.address_size 64

.global .align 1 .b8 kmask_iq2xs[8] = {1, 2, 4, 8, 16, 32, 64, 128};
.global .align 1 .b8 ksigns_iq2xs[128] = {0, 129, 130, 3, 132, 5, 6, 135, 136, 9, 10, 139, 12, 141, 142, 15, 144, 17, 18, 147, 20, 149, 150, 23, 24, 153, 154, 27, 156, 29, 30, 159, 160, 33, 34, 163, 36, 165, 166, 39, 40, 169, 170, 43, 172, 45, 46, 175, 48, 177, 178, 51, 180, 53, 54, 183, 184, 57, 58, 187, 60, 189, 190, 63, 192, 65, 66, 195, 68, 197, 198, 71, 72, 201, 202, 75, 204, 77, 78, 207, 80, 209, 210, 83, 212, 85, 86, 215, 216, 89, 90, 219, 92, 221, 222, 95, 96, 225, 226, 99, 228, 101, 102, 231, 232, 105, 106, 235, 108, 237, 238, 111, 240, 113, 114, 243, 116, 245, 246, 119, 120, 249, 250, 123, 252, 125, 126, 255};
.global .align 8 .b8 ksigns64[1024] = {0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 255, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 255, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 255, 0, 0, 0, 0, 255, 255, 0, 255, 0, 0, 0, 255, 0, 0, 255, 255, 0, 0, 0, 0, 255, 0, 255, 255, 0, 0, 0, 255, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 255, 255, 0, 0, 0, 255, 0, 0, 0, 0, 255, 0, 0, 255, 0, 0, 0, 255, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 0, 0, 0, 255, 0, 255, 0, 255, 0, 0, 255, 0, 255, 255, 0, 255, 0, 0, 255, 255, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 255, 0, 0, 255, 255, 0, 0, 255, 0, 255, 0, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 255, 255, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 255, 255, 0, 0, 0, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 0, 0, 255, 0, 255, 0, 255, 255, 0, 0, 255, 0, 255, 255, 255, 255, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 255, 255, 0, 255, 0, 255, 0, 0, 0, 0, 255, 255, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 0, 0, 0, 255, 255, 255, 0, 255, 0, 0, 255, 255, 255, 255, 0, 255, 0, 255, 0, 0, 0, 0, 255, 255, 0, 0, 255, 0, 0, 0, 255, 255, 0, 255, 0, 255, 0, 0, 255, 255, 0, 255, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 0, 255, 255, 0, 0, 0, 255, 255, 0, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 0, 255, 0, 0, 0, 255, 255, 255, 0, 255, 255, 0, 0, 255, 255, 255, 0, 0, 0, 255, 0, 255, 255, 255, 0, 0, 255, 255, 0, 255, 255, 255, 0, 255, 0, 0, 255, 255, 255, 255, 0, 0, 255, 0, 255, 255, 255, 255, 0, 255, 0, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 255, 0, 0, 255, 0, 0, 0, 0, 255, 0, 255, 255, 0, 0, 0, 0, 255, 255, 0, 0, 255, 0, 0, 0, 255, 0, 255, 0, 255, 0, 0, 0, 255, 255, 0, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 255, 0, 0, 0, 0, 255, 0, 0, 255, 0, 255, 0, 0, 255, 0, 0, 255, 255, 0, 255, 0, 255, 0, 0, 255, 255, 255, 255, 0, 255, 0, 0, 255, 0, 0, 0, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 0, 0, 255, 0, 0, 255, 255, 255, 0, 0, 255, 0, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 255, 0, 255, 0, 255, 0, 0, 0, 255, 0, 255, 255, 0, 255, 0, 0, 255, 0, 255, 255, 255, 255, 0, 0, 255, 0, 255, 0, 0, 0, 255, 0, 255, 0, 255, 255, 255, 0, 255, 0, 255, 0, 255, 0, 0, 255, 255, 0, 255, 0, 255, 0, 255, 255, 255, 0, 255, 0, 255, 255, 0, 0, 0, 255, 255, 0, 255, 255, 255, 0, 0, 255, 255, 0, 255, 0, 0, 255, 0, 255, 255, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 0, 0, 255, 255, 255, 0, 255, 0, 255, 0, 255, 255, 255, 0, 255, 255, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 255, 255, 0, 255, 0, 0, 0, 0, 255, 255, 255, 0, 255, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 0, 0, 0, 255, 0, 0, 255, 255, 255, 255, 0, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 255, 255, 255, 0, 0, 255, 255, 255, 0, 0, 0, 255, 0, 255, 255, 255, 255, 0, 0, 255, 0, 255, 255, 0, 0, 255, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 0, 255, 255, 255, 0, 0, 255, 255, 0, 255, 255, 0, 255, 0, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 255, 0, 0, 255, 255, 255, 0, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 255, 0, 255, 255, 255, 0, 255, 0, 255, 0, 255, 255, 255, 255, 0, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 255, 0, 0, 255, 255, 255, 255, 255, 0, 255, 0, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255};
.global .align 8 .b8 iq2xxs_grid[2048] = {8, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 43, 43, 43, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 43, 43, 8, 43, 8, 8, 8, 8, 43, 8, 43, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 43, 25, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 43, 8, 43, 8, 8, 8, 43, 8, 8, 43, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 25, 43, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 25, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 25, 8, 43, 43, 25, 8, 8, 8, 25, 43, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 43, 43, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 43, 8, 25, 25, 8, 43, 8, 8, 8, 43, 8, 43, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 43, 8, 8, 8, 43, 43, 8, 8, 8, 25, 25, 8, 43, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 43, 43, 25, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 25, 43, 8, 43, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 43, 8, 43, 25, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 43, 25, 25, 8, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 25, 8, 8, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 8, 8, 43, 43, 25, 43, 25, 8, 25, 8, 25, 25, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 43, 8, 8, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 25, 8, 43, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 43, 8, 8, 43, 8, 8, 43, 8, 25, 43, 43, 8, 25, 8, 43, 8, 8, 43, 8, 25, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 43, 8, 8, 8, 43, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 43, 25, 25, 25, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 8, 25, 43, 25, 25, 25, 43, 8, 8, 8, 25, 43, 43, 25, 43, 8, 8, 43, 8, 8, 8, 43, 43, 8, 8, 8, 43, 8, 8, 43, 43, 8, 8, 25, 25, 43, 8, 43, 43, 8, 8, 25, 8, 25, 43, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 25, 8, 43, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 43, 8, 25, 43, 8, 8, 25, 43, 25, 25, 25, 43, 8, 8, 25, 8, 43, 43, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 25, 43, 25, 43, 8, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 43, 25, 25, 25, 43, 8, 25, 25, 8, 43, 25, 25, 43, 8, 25, 43, 8, 8, 43, 25, 43, 8, 25, 25, 25, 8, 25, 43, 43, 8, 25, 8, 8, 25, 43, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 43, 8, 43, 8, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 25, 8, 25, 43, 43, 25, 8, 25, 25, 25, 8, 25, 43, 43, 8, 25, 25, 8, 8, 25, 43, 8, 25, 25, 25, 43, 8, 25, 43, 8, 25, 25, 25, 43, 43, 8, 8, 25, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 25, 8, 25, 25, 25, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 25, 43, 25, 8, 8, 43, 25, 25, 8, 25, 43, 25, 8, 43, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 8, 43, 8, 8, 43, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 43, 43, 25, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 25, 25, 25, 25, 25, 8, 43, 25, 8, 43, 25, 8, 43, 8, 43, 25, 8, 8, 43, 25, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 25, 43, 25, 8, 8, 25, 8, 25, 25, 43, 25, 43, 8, 25, 8, 25, 25, 43, 25, 8, 25, 8, 43, 25, 25, 43, 25, 43, 8, 8, 25, 8, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 8, 43, 43, 43, 8, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 43, 8, 8, 43, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 43, 25, 8, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 43, 25, 8, 25, 25, 25, 8, 43, 8, 25, 25, 43, 25, 25, 8, 43, 25, 43, 8, 8, 43, 25, 8, 43, 8, 8, 8, 25, 43, 25, 8, 43, 8, 8, 43, 25, 43, 25, 8, 43, 43, 8, 8, 8, 8, 43, 8, 43, 8, 25, 8, 8, 25, 43, 8, 43, 25, 8, 25, 8, 43, 43, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 25, 43, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 25, 8, 43, 43, 8, 8, 25, 43, 43, 25, 25, 8, 25, 8, 25, 43, 8, 8, 8, 43, 25, 8, 25, 43, 25, 25, 8, 25, 43, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 43, 8, 43, 8, 8, 25, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 25, 8, 25, 25, 25, 25, 25, 43, 25, 8, 8, 43, 8, 43, 25, 43, 8, 8, 43, 8, 25, 43, 25, 43, 43, 8, 8, 8, 8, 8, 43, 43, 8, 8, 25, 25, 8, 8, 43, 43, 25, 25, 8, 43, 8, 8, 43, 43, 25, 43, 8, 8, 25, 8, 43, 43, 8, 8, 8, 8, 43, 8, 43, 43, 8, 43, 25, 8, 8, 25, 43, 43, 8, 8, 25, 25, 8, 43, 43, 43, 8, 25, 8, 8, 25, 43, 43, 43};
.global .align 8 .b8 iq2xs_grid[4096] = {8, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 25, 43, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 43, 43, 25, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 43, 43, 25, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 25, 25, 25, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 43, 43, 8, 43, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 43, 25, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 43, 8, 8, 25, 43, 25, 8, 8, 8, 25, 8, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 43, 43, 8, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 25, 25, 43, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 43, 25, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 43, 43, 8, 43, 8, 8, 43, 43, 43, 43, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 25, 8, 8, 43, 25, 43, 8, 8, 25, 43, 8, 43, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 43, 8, 43, 43, 8, 8, 8, 43, 43, 8, 43, 43, 8, 8, 43, 25, 25, 43, 43, 43, 8, 8, 8, 8, 43, 43, 43, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 8, 43, 43, 43, 25, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 25, 8, 43, 25, 25, 43, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 43, 25, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 43, 25, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 8, 25, 43, 8, 25, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 43, 8, 25, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 43, 25, 8, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 43, 25, 43, 25, 25, 43, 25, 8, 25, 8, 25, 25, 43, 43, 25, 8, 25, 43, 43, 43, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 43, 8, 43, 43, 8, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 43, 43, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 43, 8, 25, 25, 8, 43, 8, 25, 25, 43, 25, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 43, 8, 43, 8, 43, 8, 43, 8, 8, 8, 8, 43, 43, 8, 43, 8, 8, 43, 43, 43, 43, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 25, 43, 43, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 43, 8, 25, 25, 25, 25, 43, 8, 25, 43, 25, 43, 25, 25, 43, 8, 25, 8, 8, 8, 43, 25, 43, 8, 43, 43, 25, 8, 43, 25, 43, 8, 43, 25, 43, 43, 43, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 43, 8, 8, 8, 43, 43, 8, 43, 43, 8, 8, 8, 43, 43, 8, 8, 8, 43, 8, 8, 43, 43, 8, 25, 25, 25, 25, 8, 43, 43, 8, 8, 43, 8, 43, 8, 43, 43, 8, 43, 8, 43, 43, 8, 43, 43, 8, 8, 43, 43, 25, 25, 43, 43, 8, 8, 8, 25, 43, 25, 43, 43, 8, 8, 43, 8, 8, 43, 43, 43, 8, 8, 8, 43, 8, 43, 43, 43, 8, 43, 8, 8, 43, 43, 43, 43, 8, 8, 43, 8, 43, 43, 43, 43, 8, 43, 43, 8, 43, 43, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 25, 43, 8, 43, 43, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 25, 25, 43, 43, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 43, 43, 25, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 43, 43, 8, 8, 43, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 8, 25, 25, 25, 8, 43, 8, 25, 43, 8, 43, 25, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 25, 25, 43, 43, 25, 25, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 43, 43, 8, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 25, 25, 25, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 43, 43, 43, 43, 43, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 25, 8, 8, 43, 8, 25, 25, 25, 25, 8, 43, 43, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 25, 25, 8, 43, 8, 43, 25, 25, 25, 25, 25, 8, 43, 8, 43, 25, 25, 25, 8, 43, 43, 25, 43, 25, 25, 25, 25, 8, 43, 43, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 25, 25, 8, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 25, 43, 25, 43, 8, 43, 25, 25, 43, 43, 25, 8, 25, 43, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 43, 8, 8, 25, 25, 43, 25, 25, 25, 25, 8, 43, 43, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 43, 25, 43, 8, 43, 25, 8, 8, 43, 25, 43, 25, 8, 43, 8, 8, 43, 25, 25, 43, 43, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 25, 43, 8, 43, 8, 43, 25, 43, 43, 8, 25, 43, 8, 43, 25, 43, 8, 25, 43, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 43, 25, 25, 8, 8, 25, 43, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 8, 25, 25, 25, 43, 25, 25, 25, 8, 25, 25, 25, 43, 25, 8, 25, 43, 43, 25, 25, 43, 25, 25, 8, 8, 8, 8, 43, 43, 25, 43, 43, 43, 25, 8, 43, 43, 25, 25, 25, 43, 8, 25, 43, 43, 25, 43, 25, 8, 8, 43, 43, 43, 25, 8, 25, 25, 25, 43, 43, 43, 25, 43, 8, 43, 25, 43, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 43, 43, 43, 43, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 43, 8, 8, 43, 8, 8, 8, 43, 8, 43, 43, 43, 8, 8, 8, 43, 43, 43, 43, 43, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 43, 25, 8, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 43, 25, 43, 25, 25, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 43, 8, 43, 8, 8, 43, 8, 8, 8, 43, 43, 8, 8, 43, 43, 8, 8, 43, 43, 8, 8, 43, 8, 8, 43, 43, 43, 8, 8, 43, 8, 43, 43, 43, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 43, 8, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 25, 8, 43, 25, 43, 8, 43, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 25, 8, 25, 25, 25, 8, 43, 25, 25, 43, 43, 25, 25, 8, 43, 8, 43, 25, 8, 43, 25, 8, 43, 43, 43, 43, 25, 43, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 43, 8, 8, 8, 43, 8, 43, 25, 25, 43, 8, 8, 43, 8, 43, 43, 43, 25, 25, 8, 43, 8, 43, 8, 8, 8, 43, 8, 43, 8, 43, 43, 8, 8, 43, 8, 43, 8, 43, 8, 43, 43, 43, 8, 43, 8, 43, 43, 25, 8, 8, 25, 43, 8, 43, 43, 8, 43, 8, 43, 43, 8, 43, 8, 8, 8, 43, 43, 43, 8, 43, 8, 43, 8, 43, 43, 43, 8, 43, 43, 25, 25, 43, 43, 43, 8, 43, 8, 43, 43, 43, 43, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 43, 25, 25, 25, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 43, 8, 43, 8, 25, 8, 25, 43, 8, 25, 43, 25, 25, 8, 25, 43, 43, 25, 25, 25, 43, 8, 25, 43, 25, 43, 8, 43, 43, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 25, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 43, 25, 25, 8, 25, 25, 43, 25, 43, 43, 8, 25, 25, 25, 43, 8, 8, 25, 43, 25, 25, 25, 43, 43, 8, 25, 43, 25, 25, 25, 43, 25, 8, 8, 25, 43, 25, 25, 43, 25, 8, 25, 25, 8, 43, 25, 43, 43, 25, 43, 43, 8, 43, 25, 43, 25, 43, 8, 25, 25, 43, 25, 43, 25, 25, 25, 8, 43, 43, 25, 43, 8, 8, 43, 25, 43, 43, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 43, 8, 8, 8, 8, 8, 43, 43, 8, 43, 8, 8, 8, 8, 43, 43, 43, 43, 8, 8, 8, 8, 43, 43, 8, 8, 43, 8, 8, 8, 43, 43, 43, 43, 43, 8, 8, 8, 43, 43, 8, 8, 43, 43, 8, 8, 43, 43, 25, 8, 25, 25, 25, 8, 43, 43, 25, 43, 25, 25, 25, 8, 43, 43, 43, 25, 43, 43, 25, 8, 43, 43, 8, 8, 8, 8, 43, 8, 43, 43, 43, 8, 8, 8, 43, 8, 43, 43, 8, 43, 8, 8, 43, 8, 43, 43, 43, 43, 43, 8, 43, 8, 43, 43, 8, 8, 8, 43, 43, 8, 43, 43, 8, 8, 43, 43, 43, 8, 43, 43, 8, 8, 8, 25, 8, 25, 43, 43, 25, 25, 25, 43, 8, 25, 43, 43, 25, 25, 43, 25, 43, 25, 43, 43, 8, 43, 25, 43, 43, 25, 43, 43, 43, 43, 8, 8, 8, 43, 43, 43, 8, 8, 43, 8, 8, 43, 43, 43, 43, 8, 43, 8, 8, 43, 43, 43, 8, 43, 43, 8, 8, 43, 43, 43, 8, 8, 43, 43, 8, 43, 43, 43, 8, 43, 43, 43, 8, 43, 43, 43, 8, 25, 8, 8, 25, 43, 43, 43, 8, 25, 8, 43, 25, 43, 43, 43, 43, 25, 8, 43, 25, 43, 43, 43, 8, 43, 43, 8, 43, 43, 43, 43, 43, 43, 43, 8, 43, 43, 43, 43, 25, 8, 25, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43};
.global .align 8 .b8 iq2s_grid[8192] = {8, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 43, 25, 43, 25, 8, 8, 8, 8, 25, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 25, 25, 43, 43, 8, 8, 8, 8, 43, 43, 43, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 25, 25, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 8, 43, 43, 25, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 43, 8, 25, 43, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 8, 8, 25, 8, 43, 43, 25, 8, 8, 8, 8, 25, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 43, 43, 43, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 43, 25, 8, 25, 43, 8, 8, 8, 25, 43, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 25, 25, 25, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 25, 25, 8, 43, 43, 8, 8, 8, 43, 43, 8, 43, 43, 8, 8, 8, 8, 25, 25, 43, 43, 8, 8, 8, 43, 8, 43, 43, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 43, 25, 43, 8, 8, 25, 8, 8, 25, 43, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 25, 8, 25, 8, 8, 25, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 43, 8, 43, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 43, 25, 8, 43, 8, 25, 8, 8, 25, 43, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 25, 8, 8, 8, 43, 25, 43, 8, 25, 8, 8, 25, 8, 43, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 43, 43, 8, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 43, 25, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 25, 25, 43, 8, 25, 25, 8, 8, 8, 43, 43, 8, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 25, 43, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 43, 8, 25, 25, 25, 25, 8, 8, 25, 25, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 43, 8, 8, 43, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 8, 8, 8, 43, 8, 43, 25, 25, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 8, 43, 43, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 43, 25, 8, 8, 43, 25, 8, 8, 25, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 25, 25, 8, 25, 43, 25, 8, 8, 8, 43, 8, 25, 43, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 8, 8, 8, 43, 25, 43, 25, 8, 8, 25, 8, 8, 43, 43, 25, 8, 8, 8, 25, 8, 43, 43, 25, 8, 8, 8, 8, 25, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 43, 25, 25, 8, 8, 43, 8, 8, 25, 43, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 25, 25, 43, 8, 8, 43, 8, 8, 43, 43, 43, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 43, 8, 25, 25, 8, 43, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 8, 43, 25, 25, 8, 43, 8, 8, 25, 8, 43, 25, 8, 43, 8, 8, 8, 25, 43, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 25, 25, 8, 43, 8, 43, 8, 8, 8, 25, 25, 43, 8, 43, 8, 8, 43, 43, 43, 43, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 43, 8, 25, 8, 25, 43, 8, 8, 25, 25, 25, 8, 25, 43, 8, 8, 8, 43, 25, 8, 25, 43, 8, 8, 25, 8, 43, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 8, 43, 8, 25, 25, 43, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 8, 25, 25, 25, 25, 43, 8, 8, 8, 8, 43, 25, 25, 43, 8, 8, 25, 8, 8, 43, 25, 43, 8, 8, 8, 8, 25, 43, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 25, 8, 25, 8, 43, 43, 8, 8, 8, 25, 25, 8, 43, 43, 8, 8, 43, 8, 43, 8, 43, 43, 8, 8, 8, 43, 43, 8, 43, 43, 8, 8, 43, 43, 43, 8, 43, 43, 8, 8, 8, 8, 25, 25, 43, 43, 8, 8, 25, 43, 25, 43, 43, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 43, 25, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 8, 43, 8, 43, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 25, 8, 8, 43, 43, 25, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 43, 25, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 25, 8, 8, 43, 25, 43, 8, 8, 25, 8, 25, 8, 43, 43, 8, 8, 25, 8, 8, 25, 43, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 43, 43, 8, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 43, 25, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 43, 8, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 43, 25, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 25, 25, 8, 25, 8, 25, 25, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 25, 8, 25, 8, 25, 8, 43, 25, 25, 8, 25, 8, 8, 25, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 25, 8, 25, 25, 8, 43, 25, 8, 25, 8, 8, 43, 8, 43, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 25, 43, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 25, 25, 25, 8, 43, 8, 25, 8, 25, 8, 43, 8, 43, 8, 25, 8, 8, 25, 43, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 25, 8, 8, 25, 8, 43, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 8, 8, 25, 25, 8, 25, 43, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 8, 43, 43, 8, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 43, 25, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 43, 8, 25, 25, 8, 25, 25, 8, 25, 25, 25, 25, 8, 25, 25, 8, 8, 43, 25, 25, 8, 25, 25, 8, 25, 8, 43, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 43, 8, 8, 43, 8, 25, 25, 8, 25, 25, 8, 43, 8, 25, 25, 8, 8, 43, 8, 43, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 8, 25, 25, 43, 8, 25, 25, 8, 8, 8, 43, 43, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 25, 25, 25, 8, 25, 43, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 43, 8, 25, 8, 25, 25, 25, 8, 25, 25, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 25, 25, 8, 8, 25, 43, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 25, 25, 25, 25, 8, 25, 25, 8, 25, 25, 25, 25, 8, 8, 43, 8, 25, 25, 25, 25, 8, 25, 8, 25, 25, 25, 25, 25, 8, 8, 25, 25, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 8, 25, 25, 8, 8, 43, 25, 25, 8, 8, 43, 8, 8, 43, 25, 25, 8, 25, 8, 25, 8, 43, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 8, 8, 8, 43, 8, 43, 25, 25, 8, 25, 8, 8, 25, 43, 25, 25, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 8, 43, 43, 25, 25, 8, 43, 43, 43, 43, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 43, 25, 8, 8, 8, 43, 25, 8, 25, 43, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 8, 43, 25, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 43, 8, 8, 25, 8, 43, 25, 8, 25, 25, 8, 25, 8, 43, 25, 8, 8, 43, 8, 25, 8, 43, 25, 8, 25, 8, 25, 25, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 8, 43, 25, 8, 43, 25, 8, 25, 8, 8, 43, 8, 43, 25, 8, 8, 25, 8, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 43, 8, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 8, 43, 8, 8, 25, 43, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 8, 25, 25, 8, 25, 43, 25, 8, 8, 8, 43, 8, 25, 43, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 25, 43, 43, 25, 25, 43, 25, 8, 43, 8, 43, 43, 25, 43, 25, 8, 8, 25, 8, 8, 43, 43, 25, 8, 8, 8, 25, 8, 43, 43, 25, 8, 8, 8, 8, 25, 43, 43, 25, 8, 43, 25, 25, 25, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 43, 8, 43, 25, 25, 8, 8, 8, 43, 8, 25, 43, 25, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 8, 25, 25, 43, 8, 8, 8, 43, 8, 43, 43, 43, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 8, 43, 8, 25, 25, 8, 8, 43, 8, 25, 25, 25, 25, 8, 8, 43, 8, 8, 25, 43, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 8, 43, 43, 8, 43, 8, 8, 43, 8, 8, 25, 25, 43, 8, 8, 43, 8, 43, 43, 43, 43, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 43, 8, 25, 8, 25, 8, 43, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 8, 43, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 8, 43, 8, 8, 25, 25, 8, 43, 8, 25, 25, 8, 25, 25, 8, 43, 8, 25, 8, 25, 25, 25, 8, 43, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 8, 43, 25, 25, 8, 43, 8, 25, 8, 8, 43, 25, 8, 43, 8, 8, 25, 8, 43, 25, 8, 43, 8, 8, 8, 25, 43, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 8, 43, 43, 8, 8, 43, 8, 43, 8, 43, 8, 43, 8, 43, 8, 43, 8, 8, 43, 43, 8, 43, 8, 43, 8, 43, 43, 43, 8, 43, 8, 43, 8, 8, 25, 8, 25, 43, 8, 43, 8, 8, 8, 25, 25, 43, 8, 43, 8, 8, 43, 8, 43, 43, 8, 43, 8, 43, 43, 8, 43, 43, 8, 43, 8, 8, 43, 43, 43, 43, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 43, 25, 8, 8, 8, 25, 43, 8, 25, 43, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 25, 25, 25, 8, 8, 25, 43, 8, 8, 43, 25, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 25, 43, 8, 8, 25, 43, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 43, 8, 8, 25, 8, 25, 43, 8, 25, 25, 8, 25, 8, 25, 43, 8, 8, 43, 8, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 25, 43, 8, 8, 25, 25, 25, 8, 25, 43, 8, 8, 8, 43, 25, 8, 25, 43, 8, 25, 8, 8, 43, 8, 25, 43, 8, 8, 25, 8, 43, 8, 25, 43, 8, 8, 8, 25, 43, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 8, 25, 25, 8, 8, 25, 25, 43, 8, 8, 43, 8, 8, 25, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 8, 43, 8, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 8, 25, 25, 25, 25, 43, 8, 43, 25, 43, 25, 25, 25, 43, 8, 8, 8, 8, 43, 25, 25, 43, 8, 25, 8, 8, 8, 43, 25, 43, 8, 8, 25, 8, 8, 43, 25, 43, 8, 8, 8, 25, 8, 43, 25, 43, 8, 8, 8, 8, 25, 43, 25, 43, 8, 25, 43, 25, 25, 43, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 8, 25, 25, 8, 8, 8, 43, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 8, 25, 25, 8, 8, 43, 43, 8, 25, 8, 8, 25, 8, 43, 43, 8, 8, 25, 8, 25, 8, 43, 43, 8, 8, 8, 25, 25, 8, 43, 43, 8, 43, 43, 8, 43, 8, 43, 43, 8, 43, 43, 43, 43, 8, 43, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 8, 25, 8, 8, 25, 43, 43, 8, 8, 8, 25, 8, 25, 43, 43, 8, 25, 25, 25, 43, 25, 43, 43, 8, 43, 43, 8, 8, 43, 43, 43, 8, 43, 8, 43, 8, 43, 43, 43, 8, 8, 25, 43, 25, 43, 43, 43, 8, 8, 43, 8, 43, 43, 43, 43, 8, 43, 43, 8, 43, 43, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 8, 25, 8, 8, 8, 8, 8, 25, 43, 25, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 8, 25, 8, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 25, 8, 43, 25, 8, 8, 8, 8, 25, 43, 43, 25, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 25, 43, 25, 43, 8, 8, 8, 8, 25, 8, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 25, 8, 8, 43, 25, 8, 8, 8, 25, 43, 8, 43, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 25, 25, 25, 43, 8, 8, 8, 25, 8, 43, 25, 43, 8, 8, 8, 25, 25, 8, 43, 43, 8, 8, 8, 25, 8, 25, 43, 43, 8, 8, 8, 25, 8, 8, 8, 8, 25, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 43, 25, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 43, 8, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 25, 25, 43, 8, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 8, 8, 25, 43, 8, 25, 25, 25, 8, 8, 25, 25, 25, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 25, 8, 8, 8, 43, 25, 8, 8, 25, 43, 8, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 25, 8, 43, 8, 43, 25, 8, 8, 25, 25, 8, 25, 43, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 25, 8, 8, 43, 43, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 25, 8, 43, 25, 8, 43, 8, 8, 25, 8, 25, 43, 8, 43, 8, 8, 25, 8, 8, 8, 25, 43, 8, 8, 25, 25, 25, 8, 25, 43, 8, 8, 25, 8, 43, 8, 25, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 25, 8, 8, 43, 25, 43, 8, 8, 25, 25, 8, 8, 43, 43, 8, 8, 25, 8, 25, 8, 43, 43, 8, 8, 25, 8, 8, 8, 8, 8, 25, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 43, 43, 8, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 25, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 43, 8, 43, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 25, 8, 25, 8, 43, 43, 8, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 25, 8, 25, 25, 25, 25, 25, 8, 25, 8, 25, 8, 43, 25, 25, 8, 25, 8, 25, 25, 8, 43, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 43, 8, 8, 43, 8, 25, 8, 25, 25, 25, 8, 43, 8, 25, 8, 25, 8, 43, 8, 43, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 25, 8, 25, 43, 25, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 25, 25, 25, 25, 8, 25, 25, 8, 25, 8, 43, 25, 8, 25, 25, 8, 25, 25, 8, 43, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 8, 25, 43, 8, 8, 25, 25, 25, 8, 25, 25, 25, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 25, 25, 8, 25, 25, 8, 25, 25, 25, 25, 8, 25, 8, 25, 25, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 25, 8, 25, 43, 43, 43, 25, 25, 25, 8, 25, 25, 8, 8, 43, 25, 25, 8, 25, 8, 25, 8, 43, 25, 25, 8, 25, 8, 8, 25, 43, 25, 25, 8, 25, 8, 8, 8, 8, 43, 25, 8, 25, 43, 8, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 25, 25, 8, 25, 8, 43, 25, 8, 25, 8, 25, 25, 8, 43, 25, 8, 25, 8, 8, 43, 8, 43, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 25, 8, 8, 8, 43, 43, 25, 8, 25, 25, 25, 43, 43, 43, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 43, 8, 25, 25, 43, 8, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 8, 25, 43, 8, 25, 8, 8, 43, 8, 25, 25, 25, 25, 8, 8, 43, 8, 25, 8, 43, 25, 8, 8, 43, 8, 25, 25, 8, 43, 8, 8, 43, 8, 25, 8, 25, 43, 8, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 8, 25, 43, 8, 8, 25, 8, 43, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 8, 43, 8, 25, 8, 43, 8, 25, 25, 8, 25, 25, 8, 43, 8, 25, 8, 25, 25, 25, 8, 43, 8, 25, 8, 8, 43, 25, 8, 43, 8, 25, 8, 25, 8, 43, 8, 43, 8, 25, 8, 8, 25, 43, 8, 43, 8, 25, 8, 8, 8, 8, 25, 43, 8, 25, 43, 8, 8, 8, 25, 43, 8, 25, 25, 25, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 25, 43, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 8, 43, 8, 25, 43, 8, 25, 25, 8, 8, 25, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 25, 8, 8, 8, 43, 25, 43, 8, 25, 43, 25, 25, 43, 25, 43, 8, 25, 25, 8, 8, 8, 43, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 25, 8, 8, 25, 8, 43, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 8, 8, 8, 25, 25, 43, 8, 8, 8, 8, 8, 25, 25, 25, 25, 8, 8, 8, 8, 25, 25, 8, 43, 8, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 25, 25, 8, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 8, 8, 25, 25, 8, 8, 43, 8, 8, 8, 25, 25, 43, 8, 43, 8, 8, 8, 25, 25, 25, 25, 43, 8, 8, 8, 25, 25, 8, 43, 43, 8, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 25, 8, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 25, 8, 8, 25, 25, 25, 43, 8, 25, 8, 8, 25, 25, 8, 8, 25, 25, 8, 8, 25, 25, 43, 8, 25, 25, 8, 8, 25, 25, 25, 25, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 25, 25, 8, 25, 43, 25, 8, 8, 25, 25, 8, 8, 8, 43, 8, 8, 25, 25, 43, 8, 8, 43, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 25, 25, 8, 43, 8, 43, 8, 8, 25, 25, 25, 8, 25, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 8, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 25, 8, 25, 25, 8, 8, 25, 8, 25, 8, 25, 25, 43, 8, 25, 8, 25, 8, 25, 25, 25, 25, 25, 8, 25, 8, 25, 25, 8, 43, 25, 8, 25, 8, 25, 25, 25, 8, 43, 8, 25, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 25, 25, 25, 8, 25, 25, 8, 25, 25, 8, 43, 8, 25, 25, 8, 25, 25, 25, 8, 25, 25, 25, 8, 25, 25, 8, 25, 25, 25, 25, 8, 25, 25, 8, 8, 43, 25, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 25, 25, 8, 25, 8, 43, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 8, 8, 43, 8, 25, 25, 25, 25, 8, 8, 43, 8, 25, 25, 8, 43, 8, 8, 43, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 25, 8, 25, 25, 8, 43, 8, 25, 25, 8, 8, 43, 8, 43, 8, 25, 25, 25, 8, 8, 25, 43, 8, 25, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 8, 25, 25, 43, 8, 25, 25, 25, 43, 43, 25, 43, 8, 25, 25, 8, 8, 8, 43, 43, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 8, 25, 8, 8, 8, 25, 25, 25, 43, 25, 8, 8, 8, 25, 25, 25, 25, 43, 8, 8, 8, 25, 25, 25, 8, 8, 25, 8, 8, 25, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 25, 25, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 25, 25, 25, 8, 25, 43, 8, 8, 25, 25, 25, 8, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 25, 8, 25, 25, 25, 25, 25, 8, 25, 8, 25, 25, 25, 8, 43, 8, 25, 8, 25, 25, 25, 25, 8, 25, 25, 8, 25, 25, 25, 8, 25, 25, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 25, 8, 8, 43, 8, 25, 25, 25, 8, 25, 8, 43, 8, 25, 25, 25, 8, 8, 25, 43, 8, 25, 25, 25, 8, 8, 8, 8, 25, 25, 25, 25, 43, 8, 8, 8, 25, 25, 25, 25, 25, 25, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 25, 25, 25, 25, 25, 8, 25, 8, 25, 25, 25, 25, 8, 25, 25, 8, 25, 25, 25, 25, 8, 8, 43, 8, 25, 25, 25, 25, 25, 8, 8, 25, 25, 25, 25, 25, 8, 25, 8, 25, 25, 25, 25, 25, 8, 8, 25, 25, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 25, 43, 25, 43, 8, 43, 25, 25, 25, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 25, 43, 8, 8, 8, 8, 43, 25, 25, 25, 25, 8, 8, 8, 43, 25, 25, 8, 43, 8, 8, 8, 43, 25, 25, 25, 8, 25, 8, 8, 43, 25, 25, 8, 25, 25, 8, 8, 43, 25, 25, 8, 8, 43, 8, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 25, 25, 8, 25, 8, 25, 8, 43, 25, 25, 8, 8, 25, 25, 8, 43, 25, 25, 43, 43, 25, 25, 8, 43, 25, 25, 8, 8, 8, 43, 8, 43, 25, 25, 25, 8, 8, 8, 25, 43, 25, 25, 8, 25, 8, 8, 25, 43, 25, 25, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 8, 43, 43, 25, 25, 25, 43, 25, 8, 43, 43, 25, 25, 25, 25, 8, 43, 43, 43, 25, 25, 8, 43, 43, 43, 43, 43, 25, 25, 25, 8, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 8, 43, 25, 43, 25, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 25, 43, 8, 25, 8, 8, 8, 43, 25, 25, 25, 25, 8, 8, 8, 43, 25, 8, 43, 25, 8, 8, 8, 43, 25, 25, 8, 43, 8, 8, 8, 43, 25, 8, 25, 43, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 25, 25, 25, 8, 25, 8, 8, 43, 25, 8, 43, 8, 25, 8, 8, 43, 25, 25, 8, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 43, 25, 8, 8, 43, 25, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 8, 25, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 25, 43, 8, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 25, 8, 43, 8, 8, 25, 8, 43, 25, 25, 8, 25, 8, 25, 8, 43, 25, 8, 25, 25, 8, 25, 8, 43, 25, 8, 8, 43, 8, 25, 8, 43, 25, 25, 8, 8, 25, 25, 8, 43, 25, 8, 25, 8, 25, 25, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 25, 8, 8, 8, 43, 25, 8, 43, 25, 25, 43, 25, 43, 25, 8, 43, 25, 8, 25, 8, 8, 43, 8, 43, 25, 8, 8, 25, 8, 43, 8, 43, 25, 8, 8, 8, 25, 43, 8, 43, 25, 43, 25, 25, 25, 43, 8, 43, 25, 25, 8, 43, 43, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 25, 43, 25, 8, 43, 8, 8, 8, 25, 43, 25, 25, 8, 25, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 25, 43, 25, 8, 8, 43, 8, 8, 25, 43, 25, 25, 8, 8, 25, 8, 25, 43, 25, 8, 25, 8, 25, 8, 25, 43, 25, 8, 8, 25, 25, 8, 25, 43, 25, 8, 8, 8, 43, 8, 25, 43, 25, 25, 8, 8, 8, 25, 25, 43, 25, 8, 25, 8, 8, 25, 25, 43, 25, 8, 8, 25, 8, 25, 25, 43, 25, 8, 8, 8, 25, 25, 25, 43, 25, 43, 43, 8, 25, 25, 25, 43, 25, 8, 43, 43, 25, 25, 25, 43, 25, 43, 8, 25, 43, 25, 25, 43, 25, 8, 8, 8, 8, 43, 25, 43, 25, 8, 25, 25, 43, 43, 25, 43, 25, 25, 8, 8, 8, 8, 43, 43, 25, 8, 25, 8, 8, 8, 43, 43, 25, 8, 8, 25, 8, 8, 43, 43, 25, 25, 25, 43, 25, 8, 43, 43, 25, 8, 43, 25, 43, 8, 43, 43, 25, 8, 8, 8, 8, 25, 43, 43, 25, 43, 43, 43, 8, 25, 43, 43, 25, 43, 8, 8, 25, 43, 43, 43, 25, 25, 8, 43, 43, 43, 43, 43, 25, 8, 8, 8, 8, 8, 8, 8, 43, 43, 8, 8, 8, 8, 8, 8, 43, 25, 25, 8, 8, 8, 8, 8, 43, 8, 43, 8, 8, 8, 8, 8, 43, 25, 8, 25, 8, 8, 8, 8, 43, 8, 25, 25, 8, 8, 8, 8, 43, 25, 43, 25, 8, 8, 8, 8, 43, 8, 8, 43, 8, 8, 8, 8, 43, 25, 25, 43, 8, 8, 8, 8, 43, 25, 8, 8, 25, 8, 8, 8, 43, 8, 25, 8, 25, 8, 8, 8, 43, 8, 8, 25, 25, 8, 8, 8, 43, 43, 8, 25, 25, 8, 8, 8, 43, 25, 25, 25, 25, 8, 8, 8, 43, 8, 43, 25, 25, 8, 8, 8, 43, 25, 8, 43, 25, 8, 8, 8, 43, 8, 8, 8, 43, 8, 8, 8, 43, 25, 25, 8, 43, 8, 8, 8, 43, 25, 8, 25, 43, 8, 8, 8, 43, 8, 25, 25, 43, 8, 8, 8, 43, 25, 8, 8, 8, 25, 8, 8, 43, 8, 25, 8, 8, 25, 8, 8, 43, 25, 43, 8, 8, 25, 8, 8, 43, 8, 8, 25, 8, 25, 8, 8, 43, 43, 8, 25, 8, 25, 8, 8, 43, 25, 25, 25, 8, 25, 8, 8, 43, 8, 43, 25, 8, 25, 8, 8, 43, 25, 8, 43, 8, 25, 8, 8, 43, 8, 25, 43, 8, 25, 8, 8, 43, 8, 8, 8, 25, 25, 8, 8, 43, 43, 8, 8, 25, 25, 8, 8, 43, 25, 25, 8, 25, 25, 8, 8, 43, 8, 43, 8, 25, 25, 8, 8, 43, 25, 8, 25, 25, 25, 8, 8, 43, 8, 25, 25, 25, 25, 8, 8, 43, 25, 8, 8, 43, 25, 8, 8, 43, 8, 25, 8, 43, 25, 8, 8, 43, 8, 8, 25, 43, 25, 8, 8, 43, 25, 43, 43, 43, 25, 8, 8, 43, 8, 8, 8, 8, 43, 8, 8, 43, 25, 25, 8, 8, 43, 8, 8, 43, 43, 43, 8, 8, 43, 8, 8, 43, 25, 8, 25, 8, 43, 8, 8, 43, 8, 25, 25, 8, 43, 8, 8, 43, 25, 8, 8, 25, 43, 8, 8, 43, 8, 25, 8, 25, 43, 8, 8, 43, 8, 8, 25, 25, 43, 8, 8, 43, 25, 8, 8, 8, 8, 25, 8, 43, 8, 25, 8, 8, 8, 25, 8, 43, 43, 25, 8, 8, 8, 25, 8, 43, 25, 43, 8, 8, 8, 25, 8, 43, 8, 8, 25, 8, 8, 25, 8, 43, 43, 8, 25, 8, 8, 25, 8, 43, 25, 25, 25, 8, 8, 25, 8, 43, 8, 43, 25, 8, 8, 25, 8, 43, 25, 8, 43, 8, 8, 25, 8, 43, 8, 8, 8, 25, 8, 25, 8, 43, 43, 8, 8, 25, 8, 25, 8, 43, 25, 25, 8, 25, 8, 25, 8, 43, 8, 43, 8, 25, 8, 25, 8, 43, 25, 8, 25, 25, 8, 25, 8, 43, 8, 25, 25, 25, 8, 25, 8, 43, 8, 8, 43, 25, 8, 25, 8, 43, 25, 8, 8, 43, 8, 25, 8, 43, 8, 25, 8, 43, 8, 25, 8, 43, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 8, 8, 25, 25, 8, 43, 43, 8, 8, 8, 25, 25, 8, 43, 25, 25, 8, 8, 25, 25, 8, 43, 8, 43, 8, 8, 25, 25, 8, 43, 25, 8, 25, 8, 25, 25, 8, 43, 8, 25, 25, 8, 25, 25, 8, 43, 8, 8, 43, 8, 25, 25, 8, 43, 25, 8, 8, 25, 25, 25, 8, 43, 8, 25, 8, 25, 25, 25, 8, 43, 8, 8, 25, 25, 25, 25, 8, 43, 8, 8, 8, 43, 25, 25, 8, 43, 43, 43, 8, 43, 25, 25, 8, 43, 25, 8, 8, 8, 43, 25, 8, 43, 8, 25, 8, 8, 43, 25, 8, 43, 8, 8, 25, 8, 43, 25, 8, 43, 25, 43, 43, 8, 43, 25, 8, 43, 8, 8, 8, 25, 43, 25, 8, 43, 8, 8, 8, 8, 8, 43, 8, 43, 25, 25, 8, 8, 8, 43, 8, 43, 25, 8, 25, 8, 8, 43, 8, 43, 8, 25, 25, 8, 8, 43, 8, 43, 25, 8, 8, 25, 8, 43, 8, 43, 8, 25, 8, 25, 8, 43, 8, 43, 8, 8, 25, 25, 8, 43, 8, 43, 43, 8, 43, 43, 8, 43, 8, 43, 25, 8, 8, 8, 25, 43, 8, 43, 8, 25, 8, 8, 25, 43, 8, 43, 8, 8, 8, 25, 25, 43, 8, 43, 25, 25, 43, 25, 25, 43, 8, 43, 43, 8, 43, 8, 43, 43, 8, 43, 8, 43, 25, 25, 43, 43, 8, 43, 43, 43, 25, 25, 43, 43, 8, 43, 43, 8, 8, 43, 43, 43, 8, 43, 43, 8, 43, 43, 43, 43, 8, 43, 25, 8, 8, 8, 8, 8, 25, 43, 8, 25, 8, 8, 8, 8, 25, 43, 25, 43, 8, 8, 8, 8, 25, 43, 8, 8, 25, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 25, 43, 25, 25, 25, 8, 8, 8, 25, 43, 8, 43, 25, 8, 8, 8, 25, 43, 8, 25, 43, 8, 8, 8, 25, 43, 8, 8, 8, 25, 8, 8, 25, 43, 43, 8, 8, 25, 8, 8, 25, 43, 25, 25, 8, 25, 8, 8, 25, 43, 8, 43, 8, 25, 8, 8, 25, 43, 25, 8, 25, 25, 8, 8, 25, 43, 8, 25, 25, 25, 8, 8, 25, 43, 8, 8, 43, 25, 8, 8, 25, 43, 25, 8, 8, 43, 8, 8, 25, 43, 8, 25, 8, 43, 8, 8, 25, 43, 8, 8, 25, 43, 8, 8, 25, 43, 8, 8, 8, 8, 25, 8, 25, 43, 25, 25, 8, 8, 25, 8, 25, 43, 25, 8, 25, 8, 25, 8, 25, 43, 8, 25, 25, 8, 25, 8, 25, 43, 25, 8, 8, 25, 25, 8, 25, 43, 8, 25, 8, 25, 25, 8, 25, 43, 8, 8, 25, 25, 25, 8, 25, 43, 43, 43, 25, 25, 25, 8, 25, 43, 25, 8, 8, 8, 43, 8, 25, 43, 8, 25, 8, 8, 43, 8, 25, 43, 8, 8, 25, 8, 43, 8, 25, 43, 8, 8, 8, 25, 43, 8, 25, 43, 43, 25, 43, 43, 43, 8, 25, 43, 8, 8, 8, 8, 8, 25, 25, 43, 43, 8, 8, 8, 8, 25, 25, 43, 25, 25, 8, 8, 8, 25, 25, 43, 8, 43, 8, 8, 8, 25, 25, 43, 25, 8, 25, 8, 8, 25, 25, 43, 8, 25, 25, 8, 8, 25, 25, 43, 8, 8, 43, 8, 8, 25, 25, 43, 25, 8, 8, 25, 8, 25, 25, 43, 8, 25, 8, 25, 8, 25, 25, 43, 8, 8, 25, 25, 8, 25, 25, 43, 8, 8, 8, 43, 8, 25, 25, 43, 43, 25, 25, 43, 8, 25, 25, 43, 25, 8, 8, 8, 25, 25, 25, 43, 8, 25, 8, 8, 25, 25, 25, 43, 8, 8, 25, 8, 25, 25, 25, 43, 8, 8, 8, 25, 25, 25, 25, 43, 8, 43, 25, 43, 25, 25, 25, 43, 25, 8, 43, 43, 25, 25, 25, 43, 8, 8, 8, 8, 43, 25, 25, 43, 43, 25, 8, 25, 43, 25, 25, 43, 8, 25, 43, 25, 43, 25, 25, 43, 25, 8, 8, 8, 8, 43, 25, 43, 8, 25, 8, 8, 8, 43, 25, 43, 8, 8, 25, 8, 8, 43, 25, 43, 43, 25, 43, 8, 8, 43, 25, 43, 8, 8, 8, 25, 8, 43, 25, 43, 25, 43, 43, 43, 8, 43, 25, 43, 8, 8, 8, 8, 25, 43, 25, 43, 25, 43, 8, 25, 25, 43, 25, 43, 43, 8, 25, 25, 25, 43, 25, 43, 8, 8, 25, 43, 43, 43, 25, 43, 8, 8, 8, 8, 8, 8, 43, 43, 25, 25, 8, 8, 8, 8, 43, 43, 43, 43, 8, 8, 8, 8, 43, 43, 8, 25, 25, 8, 8, 8, 43, 43, 43, 8, 43, 8, 8, 8, 43, 43, 43, 43, 43, 8, 8, 8, 43, 43, 25, 8, 8, 25, 8, 8, 43, 43, 8, 25, 8, 25, 8, 8, 43, 43, 8, 8, 25, 25, 8, 8, 43, 43, 43, 8, 43, 43, 8, 8, 43, 43, 43, 43, 43, 43, 8, 8, 43, 43, 8, 8, 8, 25, 25, 8, 43, 43, 25, 25, 43, 25, 25, 8, 43, 43, 43, 8, 8, 8, 43, 8, 43, 43, 43, 43, 8, 8, 43, 8, 43, 43, 43, 8, 43, 8, 43, 8, 43, 43, 8, 43, 43, 8, 43, 8, 43, 43, 43, 43, 43, 8, 43, 8, 43, 43, 43, 8, 8, 43, 43, 8, 43, 43, 8, 43, 8, 43, 43, 8, 43, 43, 43, 43, 8, 43, 43, 8, 43, 43, 8, 43, 43, 43, 43, 8, 43, 43, 25, 8, 8, 8, 8, 25, 43, 43, 8, 25, 8, 8, 8, 25, 43, 43, 8, 8, 25, 8, 8, 25, 43, 43, 8, 8, 8, 25, 8, 25, 43, 43, 25, 43, 8, 43, 8, 25, 43, 43, 8, 25, 43, 43, 8, 25, 43, 43, 8, 8, 8, 8, 25, 25, 43, 43, 25, 43, 25, 8, 25, 25, 43, 43, 25, 8, 25, 25, 43, 25, 43, 43, 43, 43, 8, 8, 8, 43, 43, 43, 8, 43, 43, 8, 8, 43, 43, 43, 43, 8, 43, 43, 8, 43, 43, 43, 8, 25, 25, 25, 25, 43, 43, 43, 43, 25, 8, 43, 25, 43, 43, 43, 8, 43, 8, 8, 43, 43, 43, 43, 43, 43, 8, 8, 43, 43, 43, 43, 8, 8, 43, 8, 43, 43, 43, 43, 43, 8, 43, 8, 43, 43, 43, 43, 8, 43, 43, 8, 43, 43, 43, 43, 8, 43, 8, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43};
.global .align 4 .b8 iq3xxs_grid[1024] = {4, 4, 4, 4, 20, 4, 4, 4, 36, 4, 4, 4, 12, 12, 4, 4, 28, 12, 4, 4, 62, 12, 4, 4, 4, 20, 4, 4, 20, 20, 4, 4, 12, 28, 4, 4, 20, 36, 4, 4, 28, 62, 4, 4, 44, 62, 4, 4, 12, 4, 12, 4, 28, 4, 12, 4, 4, 12, 12, 4, 20, 12, 12, 4, 12, 20, 12, 4, 44, 20, 12, 4, 4, 28, 12, 4, 20, 28, 12, 4, 12, 36, 12, 4, 36, 44, 12, 4, 4, 62, 12, 4, 4, 4, 20, 4, 20, 4, 20, 4, 36, 4, 20, 4, 12, 12, 20, 4, 4, 20, 20, 4, 20, 20, 20, 4, 12, 28, 20, 4, 28, 28, 20, 4, 62, 28, 20, 4, 12, 44, 20, 4, 62, 44, 20, 4, 44, 62, 20, 4, 12, 4, 28, 4, 62, 4, 28, 4, 4, 12, 28, 4, 20, 12, 28, 4, 44, 20, 28, 4, 4, 62, 28, 4, 28, 12, 36, 4, 62, 28, 36, 4, 36, 36, 36, 4, 62, 44, 36, 4, 28, 62, 36, 4, 44, 62, 36, 4, 12, 4, 44, 4, 62, 4, 44, 4, 20, 28, 44, 4, 20, 44, 44, 4, 44, 28, 52, 4, 36, 52, 52, 4, 4, 12, 62, 4, 36, 12, 62, 4, 52, 12, 62, 4, 28, 36, 62, 4, 12, 52, 62, 4, 12, 4, 4, 12, 28, 4, 4, 12, 4, 12, 4, 12, 20, 12, 4, 12, 12, 20, 4, 12, 28, 20, 4, 12, 4, 28, 4, 12, 20, 28, 4, 12, 36, 28, 4, 12, 62, 36, 4, 12, 4, 44, 4, 12, 4, 4, 12, 12, 20, 4, 12, 12, 12, 12, 12, 12, 4, 20, 12, 12, 20, 20, 12, 12, 12, 4, 20, 12, 28, 4, 20, 12, 4, 12, 20, 12, 20, 12, 20, 12, 12, 20, 20, 12, 4, 28, 20, 12, 20, 62, 20, 12, 4, 4, 28, 12, 20, 4, 28, 12, 4, 20, 28, 12, 12, 28, 28, 12, 52, 36, 28, 12, 52, 52, 28, 12, 12, 4, 36, 12, 44, 4, 36, 12, 4, 44, 36, 12, 4, 20, 44, 12, 36, 20, 44, 12, 52, 36, 44, 12, 12, 62, 44, 12, 44, 4, 52, 12, 20, 20, 62, 12, 4, 36, 62, 12, 4, 4, 4, 20, 20, 4, 4, 20, 12, 12, 4, 20, 28, 12, 4, 20, 4, 20, 4, 20, 20, 20, 4, 20, 52, 20, 4, 20, 12, 28, 4, 20, 20, 36, 4, 20, 12, 4, 12, 20, 28, 4, 12, 20, 44, 4, 12, 20, 4, 12, 12, 20, 20, 12, 12, 20, 12, 20, 12, 20, 4, 28, 12, 20, 28, 52, 12, 20, 62, 52, 12, 20, 4, 62, 12, 20, 4, 4, 20, 20, 20, 4, 20, 20, 12, 12, 20, 20, 62, 12, 20, 20, 4, 20, 20, 20, 20, 20, 20, 20, 62, 28, 20, 20, 4, 36, 20, 20, 44, 44, 20, 20, 12, 4, 28, 20, 4, 12, 28, 20, 36, 12, 28, 20, 4, 62, 28, 20, 36, 62, 28, 20, 44, 28, 36, 20, 28, 44, 36, 20, 28, 4, 44, 20, 62, 20, 44, 20, 12, 36, 44, 20, 36, 62, 44, 20, 12, 4, 62, 20, 28, 4, 62, 20, 52, 12, 62, 20, 44, 36, 62, 20, 12, 4, 4, 28, 4, 12, 4, 28, 20, 12, 4, 28, 12, 20, 4, 28, 28, 20, 4, 28, 4, 44, 4, 28, 44, 52, 4, 28, 20, 62, 4, 28, 4, 4, 12, 28, 20, 4, 12, 28, 4, 20, 12, 28, 12, 28, 12, 28, 36, 36, 12, 28, 52, 36, 12, 28, 12, 4, 20, 28, 28, 4, 20, 28, 4, 12, 20, 28, 44, 20, 20, 28, 20, 44, 20, 28, 20, 62, 20, 28, 12, 12, 28, 28, 28, 28, 28, 28, 4, 28, 36, 28, 62, 36, 36, 28, 20, 62, 36, 28, 4, 4, 44, 28, 52, 4, 44, 28, 20, 20, 44, 28, 44, 44, 44, 28, 36, 12, 52, 28, 52, 28, 52, 28, 28, 52, 52, 28, 28, 28, 62, 28, 4, 52, 62, 28, 36, 4, 4, 36, 62, 12, 4, 36, 44, 28, 4, 36, 62, 28, 4, 36, 28, 44, 4, 36, 62, 44, 4, 36, 36, 62, 12, 36, 4, 20, 20, 36, 62, 28, 20, 36, 4, 36, 20, 36, 4, 52, 20, 36, 52, 52, 20, 36, 62, 4, 28, 36, 44, 36, 28, 36, 36, 4, 36, 36, 12, 44, 36, 36, 36, 52, 36, 36, 44, 20, 44, 36, 28, 36, 44, 36, 4, 62, 44, 36, 44, 4, 62, 36, 4, 12, 62, 36, 20, 12, 62, 36, 4, 28, 62, 36, 20, 12, 4, 44, 12, 36, 4, 44, 4, 62, 4, 44, 4, 4, 12, 44, 52, 4, 12, 44, 52, 20, 12, 44, 44, 44, 12, 44, 36, 12, 20, 44, 20, 28, 20, 44, 20, 62, 20, 44, 20, 4, 28, 44, 28, 44, 28, 44, 4, 12, 36, 44, 28, 20, 36, 44, 62, 20, 36, 44, 20, 62, 36, 44, 20, 4, 44, 44, 12, 28, 44, 44, 4, 44, 52, 44, 36, 20, 62, 44, 20, 36, 62, 44, 36, 20, 4, 52, 36, 36, 4, 52, 52, 36, 4, 52, 36, 52, 4, 52, 12, 20, 12, 52, 12, 52, 12, 52, 62, 12, 20, 52, 36, 52, 20, 52, 4, 28, 28, 52, 52, 28, 28, 52, 36, 36, 36, 52, 44, 4, 44, 52, 20, 44, 44, 52, 28, 28, 52, 52, 28, 4, 62, 52, 12, 20, 62, 52, 28, 4, 4, 62, 44, 4, 4, 62, 62, 4, 4, 62, 4, 12, 4, 62, 20, 28, 4, 62, 20, 44, 4, 62, 52, 20, 12, 62, 4, 36, 12, 62, 20, 12, 20, 62, 44, 36, 20, 62, 20, 44, 20, 62, 4, 4, 28, 62, 44, 12, 28, 62, 28, 28, 28, 62, 4, 52, 28, 62, 12, 20, 36, 62, 12, 36, 36, 62, 4, 4, 44, 62, 20, 4, 44, 62, 36, 20, 44, 62, 4, 28, 52, 62};
.global .align 4 .b8 iq3s_grid[2048] = {1, 1, 1, 1, 3, 1, 1, 1, 5, 1, 1, 1, 11, 1, 1, 1, 15, 1, 1, 1, 1, 3, 1, 1, 3, 3, 1, 1, 5, 3, 1, 1, 9, 3, 1, 1, 13, 3, 1, 1, 1, 5, 1, 1, 3, 5, 1, 1, 11, 5, 1, 1, 7, 7, 1, 1, 1, 9, 1, 1, 5, 9, 1, 1, 11, 9, 1, 1, 15, 9, 1, 1, 3, 11, 1, 1, 7, 11, 1, 1, 1, 13, 1, 1, 5, 13, 1, 1, 3, 15, 1, 1, 9, 15, 1, 1, 15, 15, 1, 1, 1, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 9, 1, 3, 1, 1, 3, 3, 1, 3, 3, 3, 1, 11, 3, 3, 1, 1, 5, 3, 1, 7, 5, 3, 1, 15, 5, 3, 1, 3, 7, 3, 1, 11, 7, 3, 1, 9, 9, 3, 1, 3, 13, 3, 1, 11, 13, 3, 1, 5, 15, 3, 1, 1, 1, 5, 1, 3, 1, 5, 1, 11, 1, 5, 1, 15, 1, 5, 1, 1, 3, 5, 1, 7, 3, 5, 1, 13, 3, 5, 1, 3, 5, 5, 1, 11, 5, 5, 1, 1, 7, 5, 1, 9, 7, 5, 1, 5, 9, 5, 1, 11, 9, 5, 1, 15, 9, 5, 1, 3, 11, 5, 1, 7, 11, 5, 1, 1, 15, 5, 1, 7, 15, 5, 1, 7, 1, 7, 1, 3, 3, 7, 1, 11, 3, 7, 1, 1, 5, 7, 1, 5, 5, 7, 1, 3, 7, 7, 1, 7, 7, 7, 1, 13, 7, 7, 1, 9, 9, 7, 1, 1, 11, 7, 1, 5, 11, 7, 1, 15, 13, 7, 1, 3, 15, 7, 1, 11, 15, 7, 1, 1, 1, 9, 1, 7, 3, 9, 1, 15, 3, 9, 1, 3, 5, 9, 1, 9, 5, 9, 1, 5, 7, 9, 1, 1, 9, 9, 1, 7, 9, 9, 1, 3, 11, 9, 1, 1, 15, 9, 1, 5, 1, 11, 1, 9, 1, 11, 1, 1, 5, 11, 1, 5, 5, 11, 1, 13, 5, 11, 1, 7, 7, 11, 1, 3, 9, 11, 1, 11, 9, 11, 1, 15, 9, 11, 1, 13, 13, 11, 1, 7, 15, 11, 1, 13, 1, 13, 1, 3, 3, 13, 1, 7, 3, 13, 1, 3, 7, 13, 1, 5, 11, 13, 1, 3, 15, 13, 1, 1, 1, 15, 1, 5, 1, 15, 1, 9, 1, 15, 1, 1, 5, 15, 1, 5, 5, 15, 1, 13, 5, 15, 1, 7, 7, 15, 1, 1, 11, 15, 1, 9, 11, 15, 1, 1, 1, 1, 3, 3, 1, 1, 3, 5, 1, 1, 3, 9, 1, 1, 3, 1, 3, 1, 3, 3, 3, 1, 3, 7, 3, 1, 3, 11, 3, 1, 3, 15, 3, 1, 3, 1, 5, 1, 3, 5, 5, 1, 3, 3, 7, 1, 3, 9, 7, 1, 3, 13, 7, 1, 3, 9, 11, 1, 3, 13, 11, 1, 3, 3, 13, 1, 3, 5, 15, 1, 3, 1, 1, 3, 3, 3, 1, 3, 3, 7, 1, 3, 3, 13, 1, 3, 3, 1, 3, 3, 3, 9, 3, 3, 3, 3, 5, 3, 3, 1, 7, 3, 3, 7, 7, 3, 3, 3, 9, 3, 3, 1, 11, 3, 3, 5, 11, 3, 3, 1, 15, 3, 3, 13, 15, 3, 3, 1, 1, 5, 3, 5, 3, 5, 3, 11, 3, 5, 3, 15, 3, 5, 3, 1, 5, 5, 3, 9, 5, 5, 3, 5, 7, 5, 3, 1, 9, 5, 3, 7, 9, 5, 3, 11, 11, 5, 3, 1, 13, 5, 3, 5, 15, 5, 3, 3, 1, 7, 3, 9, 1, 7, 3, 15, 1, 7, 3, 1, 3, 7, 3, 7, 3, 7, 3, 3, 5, 7, 3, 15, 5, 7, 3, 1, 7, 7, 3, 9, 7, 7, 3, 3, 9, 7, 3, 5, 13, 7, 3, 1, 15, 7, 3, 7, 1, 9, 3, 11, 1, 9, 3, 5, 3, 9, 3, 9, 3, 9, 3, 3, 7, 9, 3, 7, 7, 9, 3, 5, 9, 9, 3, 13, 9, 9, 3, 1, 11, 9, 3, 9, 11, 9, 3, 3, 1, 11, 3, 1, 3, 11, 3, 7, 3, 11, 3, 3, 5, 11, 3, 1, 7, 11, 3, 5, 7, 11, 3, 3, 11, 11, 3, 1, 5, 13, 3, 9, 5, 13, 3, 15, 5, 13, 3, 9, 9, 13, 3, 13, 9, 13, 3, 3, 1, 15, 3, 7, 1, 15, 3, 1, 3, 15, 3, 5, 3, 15, 3, 3, 5, 15, 3, 11, 7, 15, 3, 3, 9, 15, 3, 5, 13, 15, 3, 1, 15, 15, 3, 1, 1, 1, 5, 3, 1, 1, 5, 7, 1, 1, 5, 11, 1, 1, 5, 15, 1, 1, 5, 1, 3, 1, 5, 5, 3, 1, 5, 9, 3, 1, 5, 13, 3, 1, 5, 3, 5, 1, 5, 7, 5, 1, 5, 15, 5, 1, 5, 1, 7, 1, 5, 5, 7, 1, 5, 3, 9, 1, 5, 7, 9, 1, 5, 11, 9, 1, 5, 1, 11, 1, 5, 5, 11, 1, 5, 15, 13, 1, 5, 1, 15, 1, 5, 7, 15, 1, 5, 11, 15, 1, 5, 1, 1, 3, 5, 5, 1, 3, 5, 1, 3, 3, 5, 7, 3, 3, 5, 15, 3, 3, 5, 5, 5, 3, 5, 11, 5, 3, 5, 3, 7, 3, 5, 9, 7, 3, 5, 5, 9, 3, 5, 3, 11, 3, 5, 3, 1, 5, 5, 9, 1, 5, 5, 15, 1, 5, 5, 3, 5, 5, 5, 7, 5, 5, 5, 1, 7, 5, 5, 15, 7, 5, 5, 3, 9, 5, 5, 7, 11, 5, 5, 15, 11, 5, 5, 3, 15, 5, 5, 9, 15, 5, 5, 1, 1, 7, 5, 5, 1, 7, 5, 11, 1, 7, 5, 3, 3, 7, 5, 5, 5, 7, 5, 9, 5, 7, 5, 3, 7, 7, 5, 7, 7, 7, 5, 5, 9, 7, 5, 1, 11, 7, 5, 13, 13, 7, 5, 3, 1, 9, 5, 15, 1, 9, 5, 1, 5, 9, 5, 7, 5, 9, 5, 5, 7, 9, 5, 11, 7, 9, 5, 3, 9, 9, 5, 5, 15, 9, 5, 11, 15, 9, 5, 9, 1, 11, 5, 3, 3, 11, 5, 5, 5, 11, 5, 15, 7, 11, 5, 1, 9, 11, 5, 7, 11, 11, 5, 1, 15, 11, 5, 1, 1, 13, 5, 5, 1, 13, 5, 15, 1, 13, 5, 3, 5, 13, 5, 11, 11, 13, 5, 3, 13, 13, 5, 11, 1, 15, 5, 3, 3, 15, 5, 13, 5, 15, 5, 1, 7, 15, 5, 7, 9, 15, 5, 1, 11, 15, 5, 5, 1, 1, 7, 3, 3, 1, 7, 7, 3, 1, 7, 11, 3, 1, 7, 15, 3, 1, 7, 5, 5, 1, 7, 3, 7, 1, 7, 7, 7, 1, 7, 11, 7, 1, 7, 5, 9, 1, 7, 9, 9, 1, 7, 15, 9, 1, 7, 3, 11, 1, 7, 7, 13, 1, 7, 3, 15, 1, 7, 3, 1, 3, 7, 7, 1, 3, 7, 11, 1, 3, 7, 9, 3, 3, 7, 3, 5, 3, 7, 7, 5, 3, 7, 1, 9, 3, 7, 1, 13, 3, 7, 5, 15, 3, 7, 13, 15, 3, 7, 1, 1, 5, 7, 5, 3, 5, 7, 1, 5, 5, 7, 5, 7, 5, 7, 9, 7, 5, 7, 1, 11, 5, 7, 3, 1, 7, 7, 1, 3, 7, 7, 9, 3, 7, 7, 3, 5, 7, 7, 7, 5, 7, 7, 15, 5, 7, 7, 1, 7, 7, 7, 3, 9, 7, 7, 7, 9, 7, 7, 15, 9, 7, 7, 11, 11, 7, 7, 7, 15, 7, 7, 7, 1, 9, 7, 3, 3, 9, 7, 13, 3, 9, 7, 5, 5, 9, 7, 3, 7, 9, 7, 5, 11, 9, 7, 1, 13, 9, 7, 9, 13, 9, 7, 3, 1, 11, 7, 1, 3, 11, 7, 5, 3, 11, 7, 11, 5, 11, 7, 5, 7, 11, 7, 9, 9, 11, 7, 13, 11, 11, 7, 7, 15, 11, 7, 13, 3, 13, 7, 3, 9, 13, 7, 3, 1, 15, 7, 7, 1, 15, 7, 1, 5, 15, 7, 5, 5, 15, 7, 11, 7, 15, 7, 1, 1, 1, 9, 9, 1, 1, 9, 5, 3, 1, 9, 1, 5, 1, 9, 9, 5, 1, 9, 15, 5, 1, 9, 5, 7, 1, 9, 3, 9, 1, 9, 1, 11, 1, 9, 1, 15, 1, 9, 5, 1, 3, 9, 15, 1, 3, 9, 3, 3, 3, 9, 7, 3, 3, 9, 5, 5, 3, 9, 1, 7, 3, 9, 11, 7, 3, 9, 7, 9, 3, 9, 3, 11, 3, 9, 11, 11, 3, 9, 3, 1, 5, 9, 7, 1, 5, 9, 1, 3, 5, 9, 11, 3, 5, 9, 3, 5, 5, 9, 7, 7, 5, 9, 1, 9, 5, 9, 15, 11, 5, 9, 5, 13, 5, 9, 1, 15, 5, 9, 9, 1, 7, 9, 3, 3, 7, 9, 7, 3, 7, 9, 1, 5, 7, 9, 5, 5, 7, 9, 3, 7, 7, 9, 11, 7, 7, 9, 1, 1, 9, 9, 5, 1, 9, 9, 9, 5, 9, 9, 15, 7, 9, 9, 1, 9, 9, 9, 3, 15, 9, 9, 11, 1, 11, 9, 15, 1, 11, 9, 3, 5, 11, 9, 5, 13, 11, 9, 7, 3, 13, 9, 9, 7, 13, 9, 1, 13, 13, 9, 1, 3, 15, 9, 11, 3, 15, 9, 1, 7, 15, 9, 7, 9, 15, 9, 3, 11, 15, 9, 5, 1, 1, 11, 1, 3, 1, 11, 9, 3, 1, 11, 5, 5, 1, 11, 1, 9, 1, 11, 9, 9, 1, 11, 15, 9, 1, 11, 5, 11, 1, 11, 13, 13, 1, 11, 9, 15, 1, 11, 3, 1, 3, 11, 7, 1, 3, 11, 11, 1, 3, 11, 5, 3, 3, 11, 3, 5, 3, 11, 5, 7, 3, 11, 5, 15, 3, 11, 1, 1, 5, 11, 3, 3, 5, 11, 7, 5, 5, 11, 1, 7, 5, 11, 13, 7, 5, 11, 7, 11, 5, 11, 5, 1, 7, 11, 15, 1, 7, 11, 1, 3, 7, 11, 15, 5, 7, 11, 9, 9, 7, 11, 3, 11, 7, 11, 11, 13, 7, 11, 7, 15, 7, 11, 3, 1, 9, 11, 9, 1, 9, 11, 1, 5, 9, 11, 5, 7, 9, 11, 13, 9, 9, 11, 5, 3, 11, 11, 13, 5, 11, 11, 3, 11, 11, 11, 7, 11, 11, 11, 5, 9, 13, 11, 5, 1, 15, 11, 9, 1, 15, 11, 5, 5, 15, 11, 3, 3, 1, 13, 7, 3, 1, 13, 11, 3, 1, 13, 3, 7, 1, 13, 7, 7, 1, 13, 1, 13, 1, 13, 1, 1, 3, 13, 1, 5, 3, 13, 15, 5, 3, 13, 9, 13, 3, 13, 5, 3, 5, 13, 9, 7, 5, 13, 5, 9, 5, 13, 11, 11, 5, 13, 5, 13, 5, 13, 1, 15, 5, 13, 1, 1, 7, 13, 9, 3, 7, 13, 3, 5, 7, 13, 1, 9, 7, 13, 11, 5, 9, 13, 7, 9, 9, 13, 5, 13, 9, 13, 1, 1, 11, 13, 7, 1, 11, 13, 9, 7, 11, 13, 1, 13, 11, 13, 11, 1, 13, 13, 1, 9, 13, 13, 3, 3, 15, 13, 7, 3, 15, 13, 1, 1, 1, 15, 9, 1, 1, 15, 15, 1, 1, 15, 1, 5, 1, 15, 5, 5, 1, 15, 13, 7, 1, 15, 1, 9, 1, 15, 9, 11, 1, 15, 5, 13, 1, 15, 5, 1, 3, 15, 3, 3, 3, 15, 9, 5, 3, 15, 7, 9, 3, 15, 11, 9, 3, 15, 3, 1, 5, 15, 9, 1, 5, 15, 1, 3, 5, 15, 13, 3, 5, 15, 3, 5, 5, 15, 1, 7, 5, 15, 3, 11, 5, 15, 5, 1, 7, 15, 5, 7, 7, 15, 11, 7, 7, 15, 7, 11, 7, 15, 3, 1, 9, 15, 11, 1, 9, 15, 7, 3, 9, 15, 1, 5, 9, 15, 1, 11, 9, 15, 5, 5, 11, 15, 5, 9, 11, 15, 5, 1, 13, 15, 3, 7, 13, 15, 1, 1, 15, 15};
.global .align 1 .b8 kvalues_iq4nl[16] = {129, 152, 173, 191, 207, 221, 234, 246, 1, 13, 25, 38, 53, 69, 89, 113};
.global .align 1 .b8 kvalues_mxfp4[16] = {0, 1, 2, 3, 4, 6, 8, 12, 0, 255, 254, 253, 252, 250, 248, 244};
.global .align 4 .b8 iq1s_grid_gpu[8192] = {0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 2, 0, 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, 2, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 0, 0, 0, 2, 2, 0, 0, 2, 0, 2, 0, 2, 2, 2, 0, 2, 1, 1, 1, 2, 0, 0, 2, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 16, 1, 0, 0, 17, 1, 0, 0, 17, 0, 1, 0, 16, 1, 1, 0, 18, 1, 1, 0, 17, 2, 1, 0, 18, 2, 1, 0, 17, 1, 2, 0, 17, 0, 0, 1, 18, 1, 0, 1, 17, 2, 0, 1, 18, 0, 1, 1, 17, 1, 1, 1, 18, 2, 1, 1, 17, 0, 2, 1, 16, 1, 2, 1, 18, 1, 2, 1, 16, 2, 2, 1, 17, 1, 0, 2, 17, 0, 1, 2, 16, 1, 1, 2, 18, 1, 1, 2, 17, 1, 2, 2, 32, 0, 0, 0, 34, 0, 0, 0, 32, 2, 0, 0, 34, 2, 0, 0, 33, 1, 1, 0, 32, 0, 2, 0, 34, 0, 2, 0, 32, 2, 2, 0, 34, 2, 2, 0, 33, 1, 0, 1, 33, 0, 1, 1, 33, 2, 1, 1, 32, 1, 2, 1, 33, 2, 2, 1, 32, 0, 0, 2, 34, 0, 0, 2, 32, 2, 0, 2, 34, 2, 0, 2, 33, 0, 1, 2, 33, 1, 1, 2, 33, 2, 1, 2, 32, 0, 2, 2, 34, 0, 2, 2, 32, 2, 2, 2, 34, 2, 2, 2, 1, 16, 1, 0, 0, 17, 1, 0, 2, 17, 1, 0, 1, 17, 2, 0, 1, 16, 0, 1, 1, 18, 0, 1, 1, 17, 1, 1, 2, 18, 1, 1, 0, 17, 2, 1, 1, 17, 2, 1, 1, 16, 1, 2, 1, 18, 1, 2, 1, 17, 2, 2, 17, 16, 0, 0, 16, 17, 0, 0, 17, 17, 0, 0, 18, 17, 0, 0, 17, 17, 1, 0, 16, 18, 1, 0, 18, 18, 1, 0, 17, 18, 2, 0, 16, 16, 0, 1, 17, 17, 0, 1, 18, 18, 0, 1, 16, 16, 1, 1, 17, 16, 1, 1, 16, 17, 1, 1, 17, 17, 1, 1, 18, 17, 1, 1, 17, 18, 1, 1, 16, 16, 2, 1, 18, 16, 2, 1, 17, 17, 2, 1, 16, 18, 2, 1, 18, 18, 2, 1, 17, 16, 0, 2, 17, 16, 1, 2, 17, 17, 1, 2, 16, 18, 1, 2, 18, 18, 1, 2, 17, 16, 2, 2, 16, 17, 2, 2, 17, 17, 2, 2, 18, 17, 2, 2, 17, 18, 2, 2, 32, 17, 1, 0, 33, 18, 1, 0, 33, 16, 0, 1, 32, 17, 0, 1, 32, 16, 1, 1, 34, 16, 1, 1, 33, 17, 1, 1, 32, 18, 1, 1, 32, 16, 2, 1, 33, 16, 2, 1, 34, 17, 2, 1, 33, 18, 2, 1, 33, 17, 0, 2, 33, 16, 1, 2, 32, 17, 1, 2, 33, 18, 1, 2, 0, 32, 0, 0, 2, 32, 0, 0, 0, 34, 0, 0, 2, 34, 0, 0, 1, 33, 1, 0, 0, 32, 2, 0, 2, 32, 2, 0, 0, 34, 2, 0, 2, 34, 2, 0, 1, 33, 0, 1, 1, 32, 1, 1, 2, 33, 1, 1, 1, 33, 2, 1, 0, 32, 0, 2, 2, 32, 0, 2, 0, 34, 0, 2, 2, 34, 0, 2, 1, 33, 1, 2, 0, 32, 2, 2, 2, 32, 2, 2, 0, 34, 2, 2, 2, 34, 2, 2, 17, 33, 0, 0, 17, 32, 1, 0, 16, 33, 1, 0, 17, 34, 1, 0, 16, 33, 2, 0, 17, 33, 2, 0, 17, 32, 0, 1, 16, 32, 1, 1, 17, 32, 1, 1, 17, 33, 1, 1, 17, 32, 2, 1, 16, 33, 2, 1, 17, 34, 2, 1, 17, 32, 1, 2, 16, 33, 1, 2, 18, 33, 1, 2, 17, 34, 1, 2, 17, 33, 2, 2, 32, 32, 0, 0, 34, 32, 0, 0, 32, 34, 0, 0, 34, 34, 0, 0, 33, 33, 1, 0, 32, 32, 2, 0, 34, 32, 2, 0, 32, 34, 2, 0, 34, 34, 2, 0, 33, 33, 0, 1, 33, 32, 1, 1, 33, 34, 1, 1, 33, 32, 2, 1, 33, 33, 2, 1, 32, 32, 0, 2, 34, 32, 0, 2, 33, 33, 0, 2, 32, 34, 0, 2, 34, 34, 0, 2, 33, 33, 1, 2, 32, 32, 2, 2, 34, 32, 2, 2, 32, 34, 2, 2, 34, 34, 2, 2, 0, 0, 17, 0, 1, 0, 17, 0, 0, 1, 17, 0, 1, 2, 17, 0, 0, 1, 18, 0, 1, 1, 18, 0, 1, 0, 16, 1, 0, 1, 16, 1, 0, 0, 17, 1, 1, 1, 17, 1, 0, 2, 17, 1, 1, 0, 18, 1, 0, 1, 18, 1, 1, 1, 18, 1, 1, 2, 18, 1, 1, 0, 17, 2, 0, 1, 17, 2, 2, 1, 17, 2, 1, 0, 18, 2, 1, 1, 18, 2, 17, 0, 16, 0, 16, 1, 16, 0, 18, 1, 16, 0, 17, 2, 16, 0, 16, 0, 17, 0, 18, 0, 17, 0, 17, 1, 17, 0, 16, 2, 17, 0, 17, 0, 18, 0, 16, 1, 18, 0, 17, 2, 18, 0, 17, 1, 16, 1, 18, 2, 16, 1, 16, 0, 17, 1, 17, 0, 17, 1, 18, 0, 17, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 17, 1, 17, 2, 17, 1, 16, 0, 18, 1, 17, 1, 18, 1, 16, 1, 16, 2, 18, 0, 17, 2, 17, 1, 17, 2, 17, 0, 18, 2, 16, 1, 18, 2, 33, 0, 17, 0, 32, 1, 17, 0, 34, 1, 17, 0, 33, 1, 18, 0, 32, 0, 16, 1, 34, 1, 16, 1, 33, 2, 16, 1, 34, 0, 17, 1, 33, 1, 17, 1, 32, 2, 17, 1, 34, 2, 17, 1, 32, 1, 18, 1, 34, 1, 18, 1, 33, 1, 16, 2, 33, 0, 17, 2, 32, 1, 17, 2, 34, 1, 17, 2, 33, 1, 18, 2, 1, 16, 16, 0, 2, 17, 16, 0, 1, 18, 16, 0, 0, 17, 17, 0, 1, 17, 17, 0, 0, 18, 17, 0, 1, 18, 17, 0, 1, 16, 18, 0, 2, 17, 18, 0, 1, 16, 16, 1, 1, 17, 16, 1, 2, 17, 16, 1, 0, 18, 16, 1, 2, 18, 16, 1, 1, 16, 17, 1, 0, 17, 17, 1, 1, 17, 17, 1, 2, 17, 17, 1, 1, 18, 17, 1, 2, 16, 18, 1, 1, 17, 18, 1, 0, 18, 18, 1, 0, 17, 16, 2, 1, 18, 16, 2, 0, 16, 17, 2, 0, 17, 17, 2, 1, 17, 17, 2, 0, 18, 17, 2, 1, 18, 17, 2, 2, 18, 17, 2, 1, 16, 18, 2, 0, 17, 18, 2, 1, 17, 18, 2, 1, 18, 18, 2, 18, 16, 16, 0, 17, 17, 16, 0, 18, 18, 16, 0, 17, 16, 17, 0, 16, 17, 17, 0, 17, 17, 17, 0, 18, 17, 17, 0, 17, 18, 17, 0, 16, 16, 18, 0, 18, 16, 18, 0, 17, 17, 18, 0, 16, 18, 18, 0, 18, 18, 18, 0, 17, 16, 16, 1, 16, 17, 16, 1, 17, 17, 16, 1, 18, 17, 16, 1, 17, 16, 17, 1, 18, 16, 17, 1, 16, 17, 17, 1, 17, 17, 17, 1, 18, 17, 17, 1, 17, 18, 17, 1, 18, 18, 17, 1, 17, 16, 18, 1, 16, 17, 18, 1, 17, 17, 18, 1, 18, 17, 18, 1, 17, 18, 18, 1, 16, 16, 16, 2, 18, 16, 16, 2, 16, 17, 16, 2, 17, 17, 16, 2, 16, 18, 16, 2, 18, 18, 16, 2, 16, 16, 17, 2, 17, 16, 17, 2, 16, 17, 17, 2, 17, 17, 17, 2, 18, 17, 17, 2, 17, 18, 17, 2, 18, 18, 17, 2, 16, 16, 18, 2, 18, 16, 18, 2, 17, 17, 18, 2, 33, 16, 16, 0, 32, 17, 16, 0, 33, 17, 16, 0, 34, 17, 16, 0, 33, 17, 17, 0, 34, 17, 17, 0, 32, 18, 17, 0, 34, 18, 17, 0, 33, 16, 18, 0, 34, 17, 18, 0, 32, 16, 16, 1, 34, 16, 16, 1, 32, 17, 16, 1, 33, 17, 16, 1, 32, 18, 16, 1, 34, 18, 16, 1, 33, 16, 17, 1, 33, 17, 17, 1, 34, 17, 17, 1, 32, 18, 17, 1, 33, 18, 17, 1, 33, 16, 18, 1, 32, 17, 18, 1, 33, 17, 18, 1, 32, 18, 18, 1, 33, 18, 18, 1, 34, 18, 18, 1, 34, 17, 16, 2, 34, 18, 16, 2, 34, 16, 17, 2, 33, 17, 17, 2, 32, 17, 18, 2, 33, 18, 18, 2, 1, 32, 17, 0, 2, 33, 17, 0, 1, 33, 18, 0, 1, 32, 16, 1, 0, 33, 16, 1, 2, 33, 16, 1, 1, 34, 16, 1, 0, 32, 17, 1, 1, 33, 17, 1, 0, 34, 17, 1, 2, 34, 17, 1, 0, 32, 18, 1, 1, 32, 18, 1, 0, 33, 18, 1, 2, 33, 18, 1, 1, 34, 18, 1, 1, 33, 16, 2, 1, 32, 17, 2, 0, 33, 17, 2, 1, 33, 18, 2, 16, 32, 17, 0, 18, 32, 17, 0, 17, 33, 17, 0, 18, 34, 17, 0, 17, 32, 18, 0, 17, 33, 18, 0, 18, 32, 16, 1, 16, 33, 16, 1, 17, 33, 16, 1, 16, 34, 16, 1, 17, 32, 17, 1, 16, 33, 17, 1, 17, 33, 17, 1, 18, 33, 17, 1, 17, 34, 17, 1, 18, 34, 17, 1, 16, 32, 18, 1, 17, 33, 18, 1, 18, 34, 18, 1, 17, 34, 16, 2, 17, 32, 17, 2, 18, 32, 17, 2, 17, 33, 17, 2, 16, 34, 17, 2, 17, 32, 18, 2, 18, 33, 18, 2, 17, 34, 18, 2, 33, 34, 16, 0, 34, 33, 17, 0, 32, 33, 18, 0, 34, 33, 18, 0, 32, 33, 16, 1, 34, 33, 16, 1, 33, 34, 16, 1, 32, 32, 17, 1, 34, 32, 17, 1, 33, 33, 17, 1, 32, 34, 17, 1, 33, 32, 18, 1, 34, 33, 18, 1, 33, 34, 18, 1, 33, 33, 16, 2, 33, 32, 17, 2, 34, 33, 17, 2, 34, 34, 17, 2, 0, 0, 32, 0, 2, 0, 32, 0, 0, 2, 32, 0, 2, 2, 32, 0, 1, 1, 33, 0, 0, 0, 34, 0, 2, 0, 34, 0, 1, 1, 34, 0, 0, 2, 34, 0, 2, 2, 34, 0, 1, 1, 32, 1, 1, 0, 33, 1, 1, 2, 33, 1, 1, 0, 34, 1, 1, 1, 34, 1, 0, 0, 32, 2, 2, 0, 32, 2, 0, 2, 32, 2, 2, 2, 32, 2, 1, 1, 33, 2, 0, 0, 34, 2, 2, 0, 34, 2, 1, 1, 34, 2, 0, 2, 34, 2, 2, 2, 34, 2, 17, 1, 32, 0, 17, 0, 33, 0, 16, 1, 33, 0, 17, 2, 33, 0, 17, 1, 34, 0, 18, 0, 32, 1, 16, 1, 32, 1, 17, 2, 32, 1, 17, 1, 33, 1, 16, 2, 33, 1, 18, 2, 33, 1, 17, 0, 34, 1, 16, 1, 34, 1, 17, 1, 34, 1, 18, 1, 34, 1, 17, 1, 32, 2, 16, 0, 33, 2, 18, 1, 33, 2, 17, 2, 33, 2, 17, 1, 34, 2, 33, 0, 32, 0, 32, 2, 32, 0, 34, 2, 32, 0, 33, 0, 33, 0, 33, 1, 33, 0, 32, 0, 34, 0, 34, 0, 34, 0, 32, 2, 34, 0, 34, 2, 34, 0, 33, 1, 32, 1, 33, 0, 33, 1, 34, 1, 33, 1, 33, 2, 33, 1, 33, 1, 34, 1, 33, 0, 32, 2, 32, 2, 32, 2, 34, 2, 32, 2, 33, 0, 33, 2, 33, 1, 33, 2, 32, 0, 34, 2, 34, 0, 34, 2, 32, 2, 34, 2, 34, 2, 34, 2, 1, 17, 32, 0, 0, 17, 33, 0, 2, 17, 33, 0, 1, 18, 33, 0, 1, 17, 34, 0, 0, 17, 32, 1, 1, 17, 32, 1, 2, 17, 32, 1, 1, 18, 32, 1, 2, 16, 33, 1, 1, 17, 33, 1, 0, 18, 33, 1, 2, 18, 33, 1, 2, 17, 34, 1, 1, 17, 32, 2, 1, 16, 33, 2, 0, 17, 33, 2, 1, 18, 33, 2, 1, 16, 34, 2, 1, 17, 34, 2, 17, 18, 32, 0, 17, 17, 33, 0, 17, 16, 34, 0, 17, 18, 34, 0, 16, 16, 32, 1, 17, 17, 32, 1, 16, 18, 32, 1, 17, 16, 33, 1, 16, 17, 33, 1, 17, 17, 33, 1, 17, 18, 33, 1, 18, 16, 34, 1, 17, 17, 34, 1, 16, 18, 34, 1, 17, 18, 32, 2, 16, 16, 33, 2, 16, 17, 33, 2, 17, 17, 33, 2, 16, 18, 33, 2, 18, 18, 33, 2, 17, 16, 34, 2, 16, 17, 34, 2, 18, 17, 34, 2, 17, 18, 34, 2, 33, 17, 32, 0, 32, 16, 33, 0, 34, 16, 33, 0, 33, 18, 33, 0, 33, 17, 34, 0, 33, 16, 32, 1, 33, 18, 32, 1, 33, 17, 33, 1, 32, 16, 34, 1, 33, 16, 34, 1, 33, 18, 34, 1, 32, 17, 32, 2, 34, 17, 32, 2, 32, 16, 33, 2, 34, 18, 33, 2, 0, 32, 32, 0, 2, 32, 32, 0, 0, 34, 32, 0, 2, 34, 32, 0, 1, 33, 33, 0, 0, 32, 34, 0, 2, 32, 34, 0, 0, 34, 34, 0, 2, 34, 34, 0, 1, 33, 32, 1, 1, 32, 33, 1, 0, 33, 33, 1, 1, 33, 34, 1, 0, 32, 32, 2, 2, 32, 32, 2, 0, 34, 32, 2, 2, 34, 32, 2, 0, 32, 34, 2, 2, 32, 34, 2, 0, 34, 34, 2, 2, 34, 34, 2, 17, 34, 32, 0, 17, 32, 33, 0, 16, 33, 33, 0, 17, 34, 33, 0, 17, 33, 34, 0, 18, 33, 32, 1, 17, 34, 32, 1, 18, 32, 33, 1, 17, 33, 33, 1, 17, 32, 34, 1, 16, 33, 34, 1, 18, 33, 34, 1, 17, 34, 34, 1, 17, 33, 32, 2, 16, 32, 33, 2, 18, 33, 33, 2, 17, 34, 33, 2, 16, 33, 34, 2, 17, 33, 34, 2, 32, 32, 32, 0, 34, 32, 32, 0, 32, 34, 32, 0, 34, 34, 32, 0, 32, 32, 34, 0, 34, 32, 34, 0, 32, 34, 34, 0, 34, 34, 34, 0, 33, 33, 32, 1, 33, 32, 33, 1, 34, 33, 33, 1, 33, 34, 33, 1, 33, 33, 34, 1, 32, 32, 32, 2, 34, 32, 32, 2, 32, 34, 32, 2, 34, 34, 32, 2, 33, 33, 33, 2, 32, 32, 34, 2, 34, 32, 34, 2, 32, 34, 34, 2, 34, 34, 34, 2, 1, 1, 0, 16, 1, 0, 1, 16, 2, 1, 1, 16, 1, 1, 2, 16, 1, 2, 0, 17, 2, 0, 1, 17, 1, 1, 1, 17, 0, 2, 1, 17, 2, 2, 1, 17, 1, 0, 2, 17, 0, 1, 2, 17, 2, 1, 2, 17, 0, 1, 1, 18, 1, 2, 1, 18, 1, 0, 2, 18, 2, 1, 2, 18, 16, 0, 0, 16, 17, 0, 0, 16, 16, 1, 0, 16, 18, 1, 0, 16, 17, 2, 0, 16, 18, 0, 1, 16, 17, 1, 1, 16, 18, 1, 1, 16, 16, 2, 1, 16, 18, 2, 1, 16, 17, 0, 2, 16, 18, 1, 2, 16, 17, 2, 2, 16, 17, 1, 0, 17, 16, 2, 0, 17, 18, 2, 0, 17, 17, 0, 1, 17, 16, 1, 1, 17, 17, 1, 1, 17, 18, 1, 1, 17, 17, 2, 1, 17, 18, 2, 1, 17, 17, 1, 2, 17, 16, 2, 2, 17, 18, 2, 2, 17, 17, 0, 0, 18, 16, 1, 0, 18, 18, 1, 0, 18, 16, 0, 1, 18, 18, 0, 1, 18, 17, 1, 1, 18, 16, 0, 2, 18, 17, 0, 2, 18, 18, 0, 2, 18, 33, 1, 0, 16, 33, 0, 1, 16, 32, 1, 1, 16, 34, 1, 1, 16, 33, 1, 2, 16, 33, 0, 0, 17, 34, 0, 1, 17, 33, 1, 1, 17, 34, 2, 1, 17, 32, 1, 2, 17, 33, 2, 2, 17, 33, 2, 0, 18, 32, 1, 1, 18, 33, 1, 2, 18, 1, 16, 0, 16, 1, 17, 1, 16, 1, 18, 1, 16, 1, 18, 2, 16, 1, 17, 0, 17, 0, 18, 0, 17, 2, 18, 0, 17, 1, 16, 1, 17, 0, 17, 1, 17, 1, 17, 1, 17, 2, 17, 1, 17, 1, 16, 2, 17, 2, 16, 2, 17, 1, 17, 2, 17, 0, 18, 2, 17, 2, 18, 2, 17, 1, 16, 0, 18, 2, 17, 0, 18, 1, 18, 0, 18, 0, 16, 1, 18, 2, 16, 1, 18, 1, 17, 1, 18, 0, 16, 2, 18, 1, 16, 2, 18, 1, 18, 2, 18, 17, 16, 0, 16, 18, 16, 0, 16, 17, 17, 0, 16, 18, 18, 0, 16, 17, 16, 1, 16, 16, 17, 1, 16, 17, 17, 1, 16, 18, 17, 1, 16, 17, 18, 1, 16, 16, 16, 2, 16, 17, 17, 2, 16, 18, 18, 2, 16, 17, 16, 0, 17, 16, 17, 0, 17, 17, 17, 0, 17, 18, 17, 0, 17, 17, 18, 0, 17, 16, 16, 1, 17, 17, 16, 1, 17, 16, 17, 1, 17, 17, 17, 1, 17, 18, 17, 1, 17, 16, 18, 1, 17, 17, 18, 1, 17, 17, 16, 2, 17, 16, 17, 2, 17, 17, 17, 2, 17, 18, 17, 2, 17, 17, 18, 2, 17, 18, 16, 0, 18, 16, 17, 0, 18, 17, 17, 0, 18, 16, 18, 0, 18, 17, 16, 1, 18, 16, 17, 1, 18, 17, 17, 1, 18, 18, 17, 1, 18, 17, 18, 1, 18, 18, 18, 1, 18, 17, 17, 2, 18, 16, 18, 2, 18, 18, 18, 2, 18, 33, 16, 0, 16, 33, 17, 0, 16, 33, 18, 0, 16, 32, 17, 1, 16, 33, 17, 1, 16, 32, 18, 1, 16, 34, 18, 1, 16, 33, 16, 2, 16, 32, 17, 2, 16, 33, 18, 2, 16, 32, 16, 0, 17, 34, 16, 0, 17, 33, 17, 0, 17, 32, 18, 0, 17, 32, 16, 1, 17, 33, 16, 1, 17, 34, 16, 1, 17, 33, 17, 1, 17, 34, 17, 1, 17, 33, 18, 1, 17, 34, 16, 2, 17, 33, 17, 2, 17, 32, 18, 2, 17, 33, 16, 0, 18, 33, 17, 0, 18, 34, 18, 0, 18, 32, 17, 1, 18, 33, 17, 1, 18, 33, 16, 2, 18, 32, 17, 2, 18, 34, 17, 2, 18, 1, 33, 0, 16, 1, 32, 1, 16, 1, 33, 1, 16, 2, 34, 1, 16, 1, 33, 2, 16, 2, 32, 0, 17, 1, 34, 0, 17, 0, 32, 1, 17, 1, 33, 1, 17, 0, 34, 1, 17, 1, 32, 2, 17, 0, 33, 2, 17, 2, 33, 2, 17, 1, 34, 2, 17, 1, 33, 0, 18, 1, 32, 1, 18, 0, 33, 1, 18, 2, 33, 1, 18, 1, 34, 1, 18, 1, 33, 2, 18, 17, 32, 0, 16, 17, 33, 0, 16, 18, 33, 0, 16, 18, 34, 0, 16, 16, 32, 1, 16, 16, 33, 1, 16, 17, 33, 1, 16, 16, 34, 1, 16, 17, 32, 2, 16, 16, 33, 2, 16, 18, 33, 2, 16, 16, 32, 0, 17, 17, 33, 0, 17, 18, 34, 0, 17, 17, 32, 1, 17, 18, 32, 1, 17, 16, 33, 1, 17, 17, 33, 1, 17, 18, 33, 1, 17, 17, 34, 1, 17, 16, 32, 2, 17, 18, 32, 2, 17, 17, 33, 2, 17, 18, 33, 2, 17, 18, 34, 2, 17, 18, 33, 0, 18, 17, 34, 0, 18, 18, 32, 1, 18, 17, 33, 1, 18, 18, 33, 1, 18, 16, 34, 1, 18, 17, 32, 2, 18, 16, 33, 2, 18, 18, 33, 2, 18, 17, 34, 2, 18, 34, 33, 1, 16, 32, 33, 0, 17, 34, 33, 0, 17, 33, 34, 0, 17, 33, 33, 1, 17, 32, 34, 1, 17, 34, 34, 1, 17, 32, 33, 2, 17, 33, 34, 2, 17, 32, 33, 1, 18, 33, 33, 2, 18, 1, 0, 16, 16, 0, 1, 16, 16, 1, 1, 16, 16, 2, 1, 16, 16, 1, 2, 16, 16, 2, 0, 17, 16, 1, 1, 17, 16, 2, 2, 17, 16, 1, 0, 18, 16, 0, 1, 18, 16, 1, 2, 18, 16, 0, 0, 16, 17, 1, 1, 16, 17, 0, 2, 16, 17, 1, 0, 17, 17, 0, 1, 17, 17, 1, 1, 17, 17, 2, 1, 17, 17, 1, 2, 17, 17, 1, 1, 18, 17, 0, 2, 18, 17, 2, 1, 16, 18, 1, 2, 16, 18, 1, 1, 17, 18, 0, 2, 17, 18, 0, 0, 18, 18, 1, 0, 18, 18, 2, 1, 18, 18, 1, 2, 18, 18, 17, 1, 16, 16, 16, 2, 16, 16, 17, 2, 16, 16, 18, 2, 16, 16, 17, 0, 17, 16, 16, 1, 17, 16, 17, 1, 17, 16, 18, 1, 17, 16, 16, 2, 17, 16, 17, 2, 17, 16, 16, 0, 18, 16, 17, 1, 18, 16, 18, 1, 18, 16, 16, 2, 18, 16, 18, 2, 18, 16, 17, 0, 16, 17, 16, 1, 16, 17, 17, 1, 16, 17, 18, 1, 16, 17, 17, 2, 16, 17, 16, 0, 17, 17, 17, 0, 17, 17, 18, 0, 17, 17, 16, 1, 17, 17, 17, 1, 17, 17, 18, 1, 17, 17, 16, 2, 17, 17, 17, 2, 17, 17, 18, 2, 17, 17, 17, 0, 18, 17, 16, 1, 18, 17, 17, 1, 18, 17, 18, 1, 18, 17, 17, 2, 18, 17, 18, 0, 16, 18, 17, 1, 16, 18, 17, 0, 17, 18, 16, 1, 17, 18, 17, 1, 17, 18, 18, 1, 17, 18, 17, 2, 17, 18, 16, 0, 18, 18, 17, 1, 18, 18, 18, 2, 18, 18, 33, 0, 16, 16, 34, 1, 16, 16, 34, 0, 17, 16, 33, 1, 17, 16, 34, 2, 17, 16, 33, 0, 18, 16, 32, 1, 18, 16, 34, 0, 16, 17, 33, 1, 16, 17, 34, 2, 16, 17, 33, 0, 17, 17, 32, 1, 17, 17, 33, 1, 17, 17, 34, 1, 17, 17, 33, 2, 17, 17, 34, 0, 18, 17, 33, 1, 18, 17, 33, 1, 16, 18, 32, 0, 17, 18, 34, 0, 17, 18, 33, 1, 17, 18, 33, 2, 17, 18, 34, 2, 17, 18, 32, 1, 18, 18, 0, 17, 16, 16, 1, 17, 16, 16, 1, 16, 17, 16, 0, 17, 17, 16, 1, 17, 17, 16, 2, 17, 17, 16, 0, 18, 17, 16, 1, 18, 17, 16, 1, 16, 18, 16, 1, 17, 18, 16, 0, 18, 18, 16, 2, 18, 18, 16, 1, 16, 16, 17, 0, 17, 16, 17, 1, 17, 16, 17, 2, 17, 16, 17, 1, 18, 16, 17, 2, 18, 16, 17, 0, 16, 17, 17, 1, 16, 17, 17, 0, 17, 17, 17, 1, 17, 17, 17, 2, 17, 17, 17, 0, 18, 17, 17, 1, 18, 17, 17, 2, 18, 17, 17, 1, 16, 18, 17, 2, 16, 18, 17, 0, 17, 18, 17, 1, 17, 18, 17, 2, 17, 18, 17, 1, 18, 18, 17, 0, 16, 16, 18, 0, 18, 16, 18, 2, 18, 16, 18, 1, 16, 17, 18, 0, 17, 17, 18, 1, 17, 17, 18, 2, 17, 17, 18, 1, 18, 17, 18, 1, 16, 18, 18, 0, 17, 18, 18, 1, 17, 18, 18, 2, 18, 18, 18, 17, 16, 16, 16, 18, 16, 16, 16, 16, 17, 16, 16, 17, 17, 16, 16, 18, 17, 16, 16, 17, 18, 16, 16, 16, 16, 17, 16, 17, 16, 17, 16, 18, 16, 17, 16, 16, 17, 17, 16, 17, 17, 17, 16, 18, 17, 17, 16, 17, 18, 17, 16, 18, 18, 17, 16, 17, 16, 18, 16, 16, 17, 18, 16, 17, 17, 18, 16, 18, 17, 18, 16, 17, 18, 18, 16, 16, 16, 16, 17, 17, 16, 16, 17, 18, 16, 16, 17, 16, 17, 16, 17, 17, 17, 16, 17, 18, 17, 16, 17, 16, 18, 16, 17, 17, 18, 16, 17, 16, 16, 17, 17, 17, 16, 17, 17, 18, 16, 17, 17, 16, 17, 17, 17, 17, 17, 17, 17, 18, 17, 17, 17, 16, 18, 17, 17, 17, 18, 17, 17, 18, 18, 17, 17, 16, 16, 18, 17, 17, 16, 18, 17, 16, 17, 18, 17, 17, 17, 18, 17, 18, 17, 18, 17, 16, 18, 18, 17, 17, 18, 18, 17, 18, 18, 18, 17, 17, 16, 16, 18, 16, 17, 16, 18, 17, 17, 16, 18, 17, 18, 16, 18, 18, 18, 16, 18, 16, 16, 17, 18, 17, 16, 17, 18, 16, 17, 17, 18, 17, 17, 17, 18, 18, 17, 17, 18, 16, 18, 17, 18, 17, 18, 17, 18, 17, 16, 18, 18, 16, 17, 18, 18, 17, 17, 18, 18, 18, 17, 18, 18, 17, 18, 18, 18, 32, 16, 16, 16, 33, 16, 16, 16, 34, 16, 16, 16, 32, 17, 16, 16, 34, 17, 16, 16, 32, 18, 16, 16, 33, 18, 16, 16, 33, 16, 17, 16, 32, 17, 17, 16, 33, 17, 17, 16, 32, 18, 17, 16, 33, 18, 17, 16, 32, 16, 18, 16, 33, 16, 18, 16, 34, 16, 18, 16, 32, 17, 18, 16, 33, 17, 18, 16, 34, 17, 18, 16, 32, 18, 18, 16, 33, 18, 18, 16, 33, 16, 16, 17, 33, 17, 16, 17, 34, 17, 16, 17, 32, 18, 16, 17, 33, 18, 16, 17, 34, 18, 16, 17, 32, 16, 17, 17, 33, 16, 17, 17, 34, 16, 17, 17, 32, 17, 17, 17, 33, 17, 17, 17, 34, 17, 17, 17, 32, 18, 17, 17, 33, 18, 17, 17, 34, 18, 17, 17, 33, 16, 18, 17, 32, 17, 18, 17, 33, 17, 18, 17, 33, 18, 18, 17, 34, 16, 16, 18, 33, 17, 16, 18, 34, 17, 16, 18, 32, 18, 16, 18, 33, 18, 16, 18, 34, 18, 16, 18, 33, 16, 17, 18, 33, 17, 17, 18, 34, 18, 17, 18, 34, 16, 18, 18, 33, 17, 18, 18, 34, 17, 18, 18, 32, 18, 18, 18, 33, 18, 18, 18, 0, 33, 16, 16, 1, 33, 16, 16, 2, 33, 16, 16, 1, 34, 16, 16, 0, 32, 17, 16, 1, 33, 17, 16, 0, 34, 17, 16, 1, 32, 18, 16, 2, 34, 18, 16, 1, 33, 16, 17, 0, 34, 16, 17, 2, 34, 16, 17, 1, 32, 17, 17, 0, 33, 17, 17, 1, 33, 17, 17, 2, 33, 17, 17, 0, 34, 17, 17, 1, 34, 17, 17, 0, 32, 18, 17, 2, 32, 18, 17, 0, 33, 18, 17, 1, 33, 18, 17, 2, 32, 16, 18, 1, 34, 16, 18, 0, 32, 17, 18, 2, 32, 17, 18, 1, 33, 17, 18, 0, 34, 17, 18, 1, 32, 18, 18, 1, 34, 18, 18, 17, 32, 16, 16, 18, 32, 16, 16, 17, 33, 16, 16, 18, 34, 16, 16, 17, 32, 17, 16, 16, 33, 17, 16, 17, 33, 17, 16, 18, 33, 17, 16, 17, 34, 17, 16, 17, 33, 18, 16, 17, 32, 16, 17, 16, 33, 16, 17, 17, 33, 16, 17, 18, 33, 16, 17, 17, 34, 16, 17, 16, 32, 17, 17, 17, 32, 17, 17, 18, 32, 17, 17, 16, 33, 17, 17, 17, 33, 17, 17, 18, 33, 17, 17, 16, 34, 17, 17, 17, 34, 17, 17, 18, 34, 17, 17, 17, 32, 18, 17, 16, 33, 18, 17, 17, 33, 18, 17, 18, 33, 18, 17, 17, 34, 18, 17, 17, 32, 16, 18, 17, 33, 16, 18, 17, 34, 16, 18, 17, 32, 17, 18, 16, 33, 17, 18, 17, 33, 17, 18, 18, 33, 17, 18, 16, 34, 17, 18, 17, 34, 17, 18, 17, 33, 18, 18, 32, 33, 16, 16, 32, 34, 16, 16, 33, 33, 17, 16, 34, 34, 17, 16, 32, 32, 18, 16, 33, 33, 18, 16, 34, 33, 18, 16, 33, 34, 18, 16, 33, 33, 16, 17, 32, 34, 16, 17, 33, 34, 16, 17, 33, 32, 17, 17, 33, 33, 17, 17, 34, 33, 17, 17, 32, 34, 17, 17, 33, 34, 17, 17, 34, 32, 18, 17, 33, 33, 18, 17, 32, 34, 18, 17, 34, 34, 18, 17, 33, 32, 16, 18, 34, 34, 16, 18, 34, 32, 17, 18, 33, 33, 17, 18, 34, 33, 17, 18, 32, 34, 17, 18, 34, 34, 17, 18, 33, 32, 18, 18, 1, 1, 32, 16, 0, 1, 33, 16, 2, 1, 33, 16, 1, 2, 33, 16, 1, 1, 34, 16, 0, 1, 32, 17, 0, 0, 33, 17, 1, 1, 33, 17, 2, 1, 33, 17, 0, 2, 33, 17, 2, 2, 33, 17, 1, 0, 34, 17, 0, 1, 34, 17, 2, 1, 34, 17, 1, 2, 34, 17, 1, 0, 32, 18, 2, 1, 33, 18, 1, 1, 34, 18, 17, 0, 32, 16, 16, 1, 32, 16, 18, 1, 32, 16, 17, 2, 32, 16, 18, 0, 33, 16, 17, 1, 33, 16, 17, 0, 34, 16, 18, 0, 34, 16, 18, 1, 34, 16, 17, 2, 34, 16, 17, 1, 32, 17, 17, 2, 32, 17, 17, 0, 33, 17, 17, 1, 33, 17, 18, 1, 33, 17, 17, 2, 33, 17, 17, 1, 34, 17, 18, 1, 34, 17, 18, 2, 34, 17, 16, 1, 32, 18, 18, 2, 32, 18, 18, 0, 33, 18, 17, 1, 33, 18, 17, 0, 34, 18, 18, 1, 34, 18, 17, 2, 34, 18, 33, 0, 33, 16, 34, 1, 33, 16, 33, 2, 33, 16, 32, 0, 32, 17, 33, 0, 32, 17, 34, 1, 32, 17, 33, 1, 33, 17, 34, 1, 33, 17, 32, 2, 33, 17, 32, 0, 34, 17, 33, 1, 32, 18, 33, 0, 33, 18, 34, 1, 33, 18, 33, 1, 34, 18, 1, 16, 33, 16, 2, 16, 33, 16, 1, 17, 33, 16, 2, 17, 33, 16, 2, 18, 33, 16, 1, 16, 34, 16, 2, 17, 34, 16, 1, 18, 34, 16, 0, 16, 32, 17, 2, 16, 32, 17, 1, 17, 32, 17, 0, 18, 32, 17, 2, 18, 32, 17, 1, 16, 33, 17, 0, 17, 33, 17, 1, 17, 33, 17, 2, 17, 33, 17, 1, 18, 33, 17, 2, 18, 33, 17, 0, 16, 34, 17, 2, 16, 34, 17, 1, 17, 34, 17, 0, 17, 32, 18, 1, 17, 32, 18, 1, 18, 32, 18, 0, 16, 33, 18, 2, 16, 33, 18, 0, 17, 33, 18, 1, 17, 33, 18, 2, 17, 33, 18, 0, 18, 33, 18, 2, 18, 33, 18, 1, 16, 34, 18, 0, 17, 34, 18, 1, 18, 34, 18, 17, 17, 32, 16, 16, 18, 32, 16, 18, 18, 32, 16, 17, 16, 33, 16, 17, 17, 33, 16, 18, 17, 33, 16, 17, 18, 33, 16, 16, 17, 32, 17, 17, 17, 32, 17, 18, 17, 32, 17, 17, 18, 32, 17, 16, 16, 33, 17, 17, 16, 33, 17, 16, 17, 33, 17, 17, 17, 33, 17, 18, 17, 33, 17, 17, 18, 33, 17, 17, 16, 34, 17, 16, 17, 34, 17, 17, 17, 34, 17, 18, 17, 34, 17, 17, 18, 34, 17, 18, 17, 32, 18, 17, 18, 32, 18, 18, 18, 32, 18, 17, 16, 33, 18, 17, 17, 33, 18, 18, 17, 33, 18, 17, 18, 33, 18, 18, 18, 33, 18, 18, 16, 34, 18, 17, 17, 34, 18, 18, 17, 34, 18, 16, 18, 34, 18, 34, 16, 32, 16, 33, 18, 32, 16, 33, 17, 33, 16, 32, 16, 34, 16, 34, 17, 34, 16, 32, 18, 34, 16, 33, 18, 34, 16, 32, 16, 32, 17, 33, 17, 32, 17, 32, 18, 32, 17, 34, 18, 32, 17, 33, 16, 33, 17, 32, 17, 33, 17, 33, 17, 33, 17, 34, 17, 33, 17, 32, 18, 33, 17, 34, 18, 33, 17, 32, 16, 34, 17, 33, 17, 34, 17, 32, 18, 34, 17, 32, 16, 32, 18, 34, 16, 32, 18, 33, 17, 32, 18, 34, 18, 32, 18, 32, 17, 33, 18, 34, 17, 33, 18, 32, 18, 33, 18, 33, 18, 33, 18, 32, 16, 34, 18, 32, 17, 34, 18, 34, 17, 34, 18, 34, 18, 34, 18, 2, 33, 33, 16, 1, 34, 33, 16, 1, 33, 34, 16, 1, 32, 32, 17, 2, 32, 33, 17, 1, 33, 33, 17, 2, 34, 33, 17, 1, 32, 34, 17, 1, 34, 34, 17, 1, 33, 32, 18, 1, 32, 33, 18, 0, 34, 33, 18, 2, 33, 34, 18, 17, 32, 32, 16, 16, 33, 32, 16, 16, 32, 33, 16, 17, 33, 33, 16, 17, 32, 34, 16, 16, 33, 34, 16, 18, 33, 34, 16, 17, 34, 34, 16, 16, 32, 32, 17, 17, 32, 32, 17, 17, 33, 32, 17, 18, 33, 32, 17, 16, 34, 32, 17, 17, 32, 33, 17, 16, 33, 33, 17, 17, 33, 33, 17, 18, 33, 33, 17, 17, 34, 33, 17, 16, 32, 34, 17, 17, 33, 34, 17, 18, 34, 34, 17, 18, 32, 32, 18, 16, 33, 32, 18, 18, 34, 32, 18, 17, 33, 33, 18, 17, 32, 34, 18, 16, 33, 34, 18, 17, 33, 34, 18, 17, 34, 34, 18, 33, 32, 33, 16, 34, 33, 33, 16, 32, 34, 33, 16, 33, 32, 32, 17, 32, 33, 32, 17, 33, 34, 32, 17, 32, 32, 33, 17, 33, 33, 33, 17, 32, 34, 33, 17, 34, 34, 33, 17, 32, 33, 34, 17, 33, 33, 34, 17, 33, 34, 34, 17, 34, 33, 32, 18, 32, 33, 33, 18, 32, 34, 33, 18, 34, 34, 33, 18, 34, 33, 34, 18, 0, 0, 0, 32, 2, 0, 0, 32, 0, 2, 0, 32, 2, 2, 0, 32, 0, 0, 2, 32, 2, 0, 2, 32, 0, 2, 2, 32, 2, 2, 2, 32, 1, 1, 0, 33, 0, 0, 1, 33, 1, 0, 1, 33, 0, 1, 1, 33, 2, 1, 1, 33, 1, 2, 1, 33, 1, 1, 2, 33, 0, 0, 0, 34, 2, 0, 0, 34, 0, 2, 0, 34, 2, 2, 0, 34, 1, 1, 1, 34, 0, 0, 2, 34, 2, 0, 2, 34, 0, 2, 2, 34, 2, 2, 2, 34, 17, 1, 0, 32, 17, 0, 1, 32, 16, 1, 1, 32, 18, 1, 1, 32, 17, 2, 1, 32, 17, 1, 2, 32, 17, 0, 0, 33, 16, 1, 0, 33, 17, 2, 0, 33, 16, 0, 1, 33, 18, 0, 1, 33, 17, 1, 1, 33, 18, 1, 1, 33, 16, 2, 1, 33, 17, 2, 1, 33, 16, 1, 2, 33, 18, 1, 2, 33, 17, 2, 2, 33, 17, 1, 0, 34, 17, 2, 0, 34, 16, 1, 1, 34, 18, 1, 1, 34, 17, 2, 1, 34, 17, 1, 2, 34, 32, 0, 0, 32, 34, 0, 0, 32, 32, 2, 0, 32, 34, 2, 0, 32, 33, 1, 1, 32, 32, 0, 2, 32, 34, 0, 2, 32, 32, 2, 2, 32, 34, 2, 2, 32, 33, 0, 1, 33, 32, 1, 1, 33, 33, 2, 1, 33, 33, 1, 2, 33, 32, 0, 0, 34, 34, 0, 0, 34, 32, 2, 0, 34, 34, 2, 0, 34, 33, 1, 1, 34, 32, 0, 2, 34, 34, 0, 2, 34, 32, 2, 2, 34, 34, 2, 2, 34, 0, 17, 1, 32, 1, 18, 1, 32, 1, 16, 0, 33, 0, 17, 0, 33, 1, 16, 1, 33, 1, 17, 1, 33, 2, 18, 1, 33, 1, 16, 2, 33, 0, 17, 2, 33, 1, 18, 2, 33, 0, 17, 1, 34, 1, 18, 1, 34, 17, 16, 0, 32, 17, 18, 0, 32, 18, 16, 1, 32, 17, 17, 1, 32, 18, 18, 1, 32, 18, 17, 2, 32, 17, 18, 2, 32, 16, 16, 0, 33, 17, 16, 0, 33, 17, 17, 0, 33, 16, 18, 0, 33, 17, 16, 1, 33, 16, 17, 1, 33, 17, 17, 1, 33, 18, 17, 1, 33, 17, 18, 1, 33, 18, 18, 1, 33, 17, 17, 2, 33, 18, 17, 2, 33, 16, 18, 2, 33, 18, 18, 2, 33, 17, 16, 0, 34, 16, 17, 0, 34, 18, 17, 0, 34, 17, 18, 0, 34, 16, 16, 1, 34, 18, 16, 1, 34, 17, 17, 1, 34, 16, 18, 1, 34, 18, 17, 2, 34, 33, 16, 1, 32, 34, 17, 1, 32, 33, 18, 1, 32, 33, 17, 2, 32, 33, 16, 0, 33, 32, 17, 0, 33, 33, 18, 0, 33, 34, 18, 0, 33, 32, 16, 1, 33, 33, 17, 1, 33, 33, 18, 1, 33, 34, 18, 1, 33, 33, 16, 2, 33, 34, 17, 2, 33, 34, 18, 2, 33, 33, 17, 0, 34, 33, 16, 1, 34, 34, 18, 1, 34, 32, 17, 2, 34, 0, 32, 0, 32, 2, 32, 0, 32, 0, 34, 0, 32, 2, 34, 0, 32, 1, 33, 1, 32, 0, 32, 2, 32, 2, 32, 2, 32, 0, 34, 2, 32, 2, 34, 2, 32, 1, 32, 0, 33, 1, 33, 0, 33, 1, 32, 1, 33, 0, 33, 1, 33, 1, 34, 1, 33, 1, 33, 2, 33, 1, 34, 2, 33, 0, 32, 0, 34, 2, 32, 0, 34, 0, 34, 0, 34, 2, 34, 0, 34, 1, 33, 1, 34, 0, 32, 2, 34, 2, 32, 2, 34, 0, 34, 2, 34, 2, 34, 2, 34, 17, 33, 0, 32, 18, 33, 0, 32, 17, 32, 1, 32, 16, 33, 1, 32, 18, 33, 1, 32, 17, 33, 2, 32, 17, 32, 0, 33, 16, 33, 0, 33, 18, 33, 0, 33, 17, 34, 0, 33, 16, 32, 1, 33, 18, 32, 1, 33, 17, 33, 1, 33, 18, 34, 1, 33, 17, 32, 2, 33, 16, 33, 2, 33, 17, 33, 0, 34, 18, 33, 1, 34, 17, 34, 1, 34, 17, 33, 2, 34, 32, 32, 0, 32, 34, 32, 0, 32, 32, 34, 0, 32, 34, 34, 0, 32, 33, 33, 1, 32, 32, 32, 2, 32, 34, 32, 2, 32, 32, 34, 2, 32, 34, 34, 2, 32, 33, 33, 0, 33, 33, 32, 1, 33, 32, 33, 1, 33, 34, 33, 1, 33, 32, 32, 0, 34, 34, 32, 0, 34, 32, 34, 0, 34, 34, 34, 0, 34, 33, 33, 1, 34, 32, 32, 2, 34, 34, 32, 2, 34, 32, 34, 2, 34, 34, 34, 2, 34, 1, 1, 16, 32, 1, 0, 17, 32, 2, 1, 17, 32, 0, 2, 17, 32, 1, 2, 17, 32, 1, 1, 18, 32, 1, 0, 16, 33, 2, 1, 16, 33, 1, 2, 16, 33, 1, 1, 17, 33, 0, 2, 17, 33, 2, 2, 17, 33, 1, 2, 18, 33, 2, 2, 18, 33, 1, 1, 16, 34, 1, 0, 17, 34, 0, 1, 17, 34, 2, 1, 17, 34, 1, 2, 17, 34, 1, 1, 18, 34, 17, 0, 16, 32, 16, 1, 16, 32, 18, 1, 16, 32, 17, 2, 16, 32, 16, 0, 17, 32, 17, 1, 17, 32, 16, 2, 17, 32, 18, 2, 17, 32, 17, 0, 18, 32, 16, 1, 18, 32, 18, 1, 18, 32, 17, 2, 18, 32, 16, 0, 16, 33, 17, 1, 16, 33, 16, 0, 17, 33, 17, 0, 17, 33, 16, 1, 17, 33, 17, 1, 17, 33, 18, 1, 17, 33, 17, 2, 17, 33, 18, 0, 18, 33, 17, 1, 18, 33, 16, 1, 16, 34, 18, 1, 16, 34, 18, 0, 17, 34, 17, 1, 17, 34, 16, 2, 17, 34, 17, 0, 18, 34, 16, 1, 18, 34, 18, 1, 18, 34, 17, 2, 18, 34, 33, 1, 16, 32, 33, 0, 17, 32, 32, 1, 17, 32, 33, 2, 17, 32, 33, 1, 18, 32, 32, 1, 16, 33, 34, 1, 16, 33, 33, 2, 16, 33, 32, 0, 17, 33, 34, 0, 17, 33, 33, 1, 17, 33, 32, 2, 17, 33, 34, 1, 18, 33, 33, 2, 18, 33, 33, 1, 16, 34, 32, 1, 17, 34, 34, 1, 17, 34, 33, 2, 18, 34, 1, 16, 16, 32, 0, 17, 16, 32, 2, 17, 16, 32, 0, 16, 17, 32, 1, 17, 17, 32, 0, 18, 17, 32, 2, 17, 18, 32, 0, 16, 16, 33, 2, 18, 16, 33, 1, 16, 17, 33, 0, 17, 17, 33, 1, 17, 17, 33, 2, 17, 17, 33, 0, 18, 17, 33, 1, 18, 17, 33, 0, 16, 18, 33, 1, 16, 18, 33, 2, 16, 18, 33, 1, 17, 18, 33, 0, 17, 16, 34, 2, 17, 16, 34, 2, 16, 17, 34, 0, 17, 17, 34, 1, 17, 17, 34, 0, 18, 17, 34, 1, 16, 18, 34, 1, 18, 18, 34, 16, 16, 16, 32, 17, 17, 16, 32, 16, 18, 16, 32, 18, 18, 16, 32, 16, 16, 17, 32, 17, 16, 17, 32, 16, 17, 17, 32, 17, 17, 17, 32, 18, 17, 17, 32, 17, 18, 17, 32, 17, 16, 18, 32, 17, 17, 18, 32, 17, 18, 18, 32, 18, 18, 18, 32, 17, 16, 16, 33, 16, 17, 16, 33, 17, 17, 16, 33, 18, 17, 16, 33, 17, 18, 16, 33, 16, 16, 17, 33, 17, 16, 17, 33, 18, 16, 17, 33, 16, 17, 17, 33, 17, 17, 17, 33, 18, 17, 17, 33, 16, 18, 17, 33, 17, 18, 17, 33, 18, 18, 17, 33, 17, 16, 18, 33, 16, 17, 18, 33, 17, 17, 18, 33, 18, 17, 18, 33, 17, 18, 18, 33, 17, 16, 16, 34, 17, 17, 16, 34, 16, 18, 16, 34, 17, 16, 17, 34, 18, 16, 17, 34, 16, 17, 17, 34, 17, 17, 17, 34, 18, 17, 17, 34, 17, 18, 17, 34, 18, 18, 17, 34, 16, 16, 18, 34, 18, 16, 18, 34, 17, 17, 18, 34, 16, 18, 18, 34, 18, 18, 18, 34, 33, 16, 16, 32, 32, 17, 16, 32, 32, 16, 17, 32, 33, 17, 17, 32, 33, 18, 17, 32, 32, 16, 18, 32, 34, 17, 18, 32, 33, 18, 18, 32, 33, 17, 16, 33, 32, 18, 16, 33, 33, 18, 16, 33, 33, 16, 17, 33, 34, 16, 17, 33, 33, 17, 17, 33, 34, 17, 17, 33, 33, 18, 17, 33, 33, 17, 18, 33, 32, 18, 18, 33, 34, 16, 16, 34, 32, 17, 16, 34, 33, 18, 16, 34, 34, 18, 16, 34, 34, 16, 17, 34, 32, 17, 17, 34, 33, 17, 17, 34, 32, 17, 18, 34, 34, 17, 18, 34, 33, 18, 18, 34, 1, 33, 16, 32, 2, 33, 17, 32, 1, 34, 17, 32, 1, 33, 18, 32, 1, 32, 16, 33, 2, 33, 16, 33, 0, 32, 17, 33, 2, 32, 17, 33, 1, 33, 17, 33, 2, 33, 17, 33, 2, 34, 17, 33, 0, 33, 18, 33, 1, 33, 18, 33, 1, 33, 16, 34, 1, 32, 17, 34, 2, 33, 17, 34, 1, 34, 17, 34, 1, 33, 18, 34, 16, 33, 16, 32, 18, 33, 16, 32, 17, 34, 16, 32, 16, 32, 17, 32, 18, 32, 17, 32, 17, 33, 17, 32, 16, 34, 17, 32, 18, 34, 17, 32, 16, 32, 18, 32, 17, 32, 18, 32, 16, 33, 18, 32, 18, 33, 18, 32, 16, 32, 16, 33, 18, 32, 16, 33, 17, 33, 16, 33, 16, 34, 16, 33, 18, 34, 16, 33, 17, 32, 17, 33, 16, 33, 17, 33, 17, 33, 17, 33, 18, 33, 17, 33, 17, 34, 17, 33, 18, 32, 18, 33, 17, 33, 18, 33, 18, 33, 18, 33, 18, 34, 18, 33, 17, 32, 16, 34, 16, 33, 16, 34, 16, 32, 17, 34, 18, 32, 17, 34, 17, 33, 17, 34, 18, 34, 17, 34, 17, 32, 18, 34, 18, 33, 18, 34, 33, 33, 16, 32, 33, 33, 17, 32, 33, 33, 18, 32, 32, 33, 16, 33, 34, 33, 16, 33, 33, 34, 16, 33, 32, 32, 17, 33, 33, 33, 17, 33, 32, 34, 17, 33, 33, 32, 18, 33, 33, 33, 16, 34, 33, 32, 17, 34, 32, 33, 17, 34, 33, 33, 17, 34, 34, 33, 17, 34, 0, 0, 32, 32, 2, 0, 32, 32, 0, 2, 32, 32, 2, 2, 32, 32, 1, 1, 33, 32, 0, 0, 34, 32, 2, 0, 34, 32, 0, 2, 34, 32, 2, 2, 34, 32, 1, 1, 32, 33, 1, 0, 33, 33, 0, 1, 33, 33, 2, 1, 33, 33, 1, 2, 33, 33, 0, 0, 32, 34, 2, 0, 32, 34, 0, 2, 32, 34, 2, 2, 32, 34, 1, 1, 33, 34, 0, 0, 34, 34, 2, 0, 34, 34, 0, 2, 34, 34, 2, 2, 34, 34, 17, 1, 32, 32, 17, 2, 32, 32, 17, 0, 33, 32, 16, 1, 33, 32, 18, 1, 33, 32, 17, 2, 33, 32, 18, 2, 33, 32, 18, 1, 32, 33, 17, 2, 32, 33, 17, 0, 33, 33, 17, 1, 33, 33, 16, 2, 33, 33, 18, 2, 33, 33, 17, 0, 34, 33, 16, 1, 34, 33, 17, 1, 32, 34, 16, 0, 33, 34, 18, 0, 33, 34, 18, 1, 33, 34, 17, 2, 33, 34, 34, 0, 32, 32, 32, 2, 32, 32, 34, 2, 32, 32, 32, 0, 33, 32, 33, 2, 33, 32, 34, 0, 34, 32, 32, 2, 34, 32, 34, 2, 34, 32, 33, 1, 32, 33, 33, 0, 33, 33, 34, 1, 33, 33, 33, 2, 33, 33, 33, 1, 34, 33, 32, 0, 32, 34, 34, 0, 32, 34, 32, 2, 32, 34, 34, 2, 32, 34, 33, 1, 33, 34, 32, 0, 34, 34, 34, 0, 34, 34, 32, 2, 34, 34, 34, 2, 34, 34, 1, 18, 33, 32, 1, 17, 34, 32, 1, 16, 32, 33, 0, 17, 32, 33, 0, 16, 33, 33, 0, 17, 33, 33, 1, 17, 33, 33, 0, 18, 33, 33, 2, 18, 33, 33, 1, 16, 34, 33, 1, 17, 34, 33, 2, 17, 34, 33, 0, 18, 34, 33, 1, 18, 34, 33, 1, 17, 32, 34, 18, 17, 32, 32, 17, 18, 32, 32, 16, 16, 33, 32, 18, 16, 33, 32, 17, 17, 33, 32, 16, 18, 33, 32, 18, 17, 34, 32, 17, 18, 34, 32, 18, 16, 32, 33, 17, 17, 32, 33, 17, 16, 33, 33, 16, 17, 33, 33, 17, 17, 33, 33, 18, 17, 33, 33, 17, 18, 33, 33, 17, 17, 34, 33, 18, 18, 34, 33, 17, 16, 32, 34, 16, 17, 32, 34, 17, 17, 32, 34, 18, 17, 32, 34, 17, 18, 32, 34, 18, 16, 33, 34, 17, 17, 33, 34, 16, 18, 33, 34, 33, 17, 32, 32, 33, 16, 33, 32, 34, 17, 33, 32, 34, 18, 33, 32, 33, 16, 34, 32, 33, 17, 34, 32, 32, 17, 32, 33, 34, 17, 32, 33, 34, 18, 32, 33, 34, 16, 33, 33, 33, 17, 33, 33, 34, 17, 33, 33, 32, 18, 33, 33, 32, 16, 34, 33, 34, 16, 34, 33, 34, 17, 32, 34, 32, 16, 33, 34, 33, 17, 33, 34, 34, 17, 33, 34, 33, 18, 33, 34, 33, 16, 34, 34, 32, 17, 34, 34, 34, 17, 34, 34, 0, 32, 32, 32, 2, 32, 32, 32, 0, 34, 32, 32, 2, 34, 32, 32, 0, 32, 34, 32, 2, 32, 34, 32, 0, 34, 34, 32, 2, 34, 34, 32, 1, 32, 33, 33, 0, 33, 33, 33, 2, 33, 33, 33, 1, 34, 33, 33, 0, 32, 32, 34, 2, 32, 32, 34, 0, 34, 32, 34, 2, 34, 32, 34, 1, 33, 33, 34, 0, 32, 34, 34, 2, 32, 34, 34, 0, 34, 34, 34, 2, 34, 34, 34, 17, 33, 32, 32, 16, 33, 33, 32, 17, 34, 33, 32, 17, 32, 34, 32, 17, 33, 34, 32, 17, 32, 32, 33, 16, 32, 33, 33, 17, 33, 33, 33, 18, 34, 33, 33, 17, 32, 34, 33, 18, 33, 34, 33, 17, 34, 34, 33, 16, 32, 33, 34, 18, 33, 33, 34, 32, 32, 32, 32, 34, 32, 32, 32, 32, 34, 32, 32, 34, 34, 32, 32, 32, 32, 34, 32, 34, 32, 34, 32, 32, 34, 34, 32, 34, 34, 34, 32, 33, 32, 33, 33, 32, 33, 33, 33, 34, 33, 33, 33, 32, 32, 32, 34, 34, 32, 32, 34, 32, 34, 32, 34, 34, 34, 32, 34, 33, 33, 33, 34, 32, 32, 34, 34, 34, 32, 34, 34, 32, 34, 34, 34, 34, 34, 34, 34};


.entry _Z15reduce_rows_f32ILb0EEvPKfPfi(
.param .u64 _Z15reduce_rows_f32ILb0EEvPKfPfi_param_0,
.param .u64 _Z15reduce_rows_f32ILb0EEvPKfPfi_param_1,
.param .u32 _Z15reduce_rows_f32ILb0EEvPKfPfi_param_2
)
{
.reg .pred %p<25>;
.reg .f32 %f<123>;
.reg .b32 %r<71>;
.reg .b64 %rd<23>;

.shared .align 4 .b8 _ZZ15reduce_rows_f32ILb0EEvPKfPfiE5s_sum[128];

ld.param.u64 %rd3, [_Z15reduce_rows_f32ILb0EEvPKfPfi_param_0];
ld.param.u64 %rd2, [_Z15reduce_rows_f32ILb0EEvPKfPfi_param_1];
ld.param.u32 %r16, [_Z15reduce_rows_f32ILb0EEvPKfPfi_param_2];
cvta.to.global.u64 %rd1, %rd3;
mov.u32 %r1, %ctaid.x;
mov.u32 %r2, %tid.x;
setp.lt.s32 %p1, %r2, %r16;
@%p1 bra $L__BB0_2;
bra.uni $L__BB0_1;

$L__BB0_2:
mul.lo.s32 %r3, %r1, %r16;
mov.f32 %f62, 0f00000000;
mov.u32 %r4, %ntid.x;
mov.f32 %f113, %f62;
mov.f32 %f114, %f62;
mov.f32 %f115, %f62;
mov.f32 %f116, %f62;
mov.f32 %f117, %f62;
mov.f32 %f118, %f62;
mov.f32 %f119, %f62;
mov.f32 %f104, %f62;
mov.u32 %r70, %r2;

$L__BB0_3:
setp.ge.s32 %p2, %r70, %r16;
mov.f32 %f105, %f62;
@%p2 bra $L__BB0_5;

add.s32 %r17, %r70, %r3;
mul.wide.s32 %rd4, %r17, 4;
add.s64 %rd5, %rd1, %rd4;
ld.global.nc.f32 %f105, [%rd5];

$L__BB0_5:
add.s32 %r6, %r70, %r4;
setp.ge.s32 %p3, %r6, %r16;
mov.f32 %f107, 0f00000000;
mov.f32 %f106, %f107;
@%p3 bra $L__BB0_7;

add.s32 %r18, %r6, %r3;
mul.wide.s32 %rd6, %r18, 4;
add.s64 %rd7, %rd1, %rd6;
ld.global.nc.f32 %f106, [%rd7];

$L__BB0_7:
add.s32 %r7, %r6, %r4;
setp.ge.s32 %p4, %r7, %r16;
@%p4 bra $L__BB0_9;

add.s32 %r19, %r7, %r3;
mul.wide.s32 %rd8, %r19, 4;
add.s64 %rd9, %rd1, %rd8;
ld.global.nc.f32 %f107, [%rd9];

$L__BB0_9:
add.s32 %r8, %r7, %r4;
setp.ge.s32 %p5, %r8, %r16;
mov.f32 %f109, 0f00000000;
mov.f32 %f108, %f109;
@%p5 bra $L__BB0_11;

add.s32 %r20, %r8, %r3;
mul.wide.s32 %rd10, %r20, 4;
add.s64 %rd11, %rd1, %rd10;
ld.global.nc.f32 %f108, [%rd11];

$L__BB0_11:
add.s32 %r9, %r8, %r4;
setp.ge.s32 %p6, %r9, %r16;
@%p6 bra $L__BB0_13;

add.s32 %r21, %r9, %r3;
mul.wide.s32 %rd12, %r21, 4;
add.s64 %rd13, %rd1, %rd12;
ld.global.nc.f32 %f109, [%rd13];

$L__BB0_13:
add.s32 %r10, %r9, %r4;
setp.ge.s32 %p7, %r10, %r16;
mov.f32 %f111, 0f00000000;
mov.f32 %f110, %f111;
@%p7 bra $L__BB0_15;

add.s32 %r22, %r10, %r3;
mul.wide.s32 %rd14, %r22, 4;
add.s64 %rd15, %rd1, %rd14;
ld.global.nc.f32 %f110, [%rd15];

$L__BB0_15:
add.s32 %r11, %r10, %r4;
setp.ge.s32 %p8, %r11, %r16;
@%p8 bra $L__BB0_17;

add.s32 %r23, %r11, %r3;
mul.wide.s32 %rd16, %r23, 4;
add.s64 %rd17, %rd1, %rd16;
ld.global.nc.f32 %f111, [%rd17];

$L__BB0_17:
add.s32 %r12, %r11, %r4;
setp.ge.s32 %p9, %r12, %r16;
mov.f32 %f112, 0f00000000;
@%p9 bra $L__BB0_19;

add.s32 %r24, %r12, %r3;
mul.wide.s32 %rd18, %r24, 4;
add.s64 %rd19, %rd1, %rd18;
ld.global.nc.f32 %f112, [%rd19];

$L__BB0_19:
add.ftz.f32 %f104, %f105, %f104;
add.ftz.f32 %f119, %f106, %f119;
add.ftz.f32 %f118, %f107, %f118;
add.ftz.f32 %f117, %f108, %f117;
add.ftz.f32 %f116, %f109, %f116;
add.ftz.f32 %f115, %f110, %f115;
add.ftz.f32 %f114, %f111, %f114;
add.ftz.f32 %f113, %f112, %f113;
mad.lo.s32 %r70, %r4, 7, %r6;
setp.lt.s32 %p10, %r70, %r16;
@%p10 bra $L__BB0_3;

add.ftz.f32 %f120, %f104, 0f00000000;
bra.uni $L__BB0_21;

$L__BB0_1:
mov.f32 %f113, 0f00000000;
mov.f32 %f114, %f113;
mov.f32 %f115, %f113;
mov.f32 %f116, %f113;
mov.f32 %f117, %f113;
mov.f32 %f118, %f113;
mov.f32 %f119, %f113;
mov.f32 %f120, %f113;

$L__BB0_21:
add.ftz.f32 %f71, %f120, %f119;
add.ftz.f32 %f72, %f71, %f118;
add.ftz.f32 %f73, %f72, %f117;
add.ftz.f32 %f74, %f73, %f116;
add.ftz.f32 %f75, %f74, %f115;
add.ftz.f32 %f76, %f75, %f114;
add.ftz.f32 %f77, %f76, %f113;
mov.b32 %r25, %f77;
mov.u32 %r26, 31;
mov.u32 %r27, 16;
mov.u32 %r28, -1;
shfl.sync.bfly.b32 %r29|%p11, %r25, %r27, %r26, %r28;
mov.b32 %f78, %r29;
add.ftz.f32 %f79, %f77, %f78;
mov.b32 %r30, %f79;
mov.u32 %r31, 8;
shfl.sync.bfly.b32 %r32|%p12, %r30, %r31, %r26, %r28;
mov.b32 %f80, %r32;
add.ftz.f32 %f81, %f79, %f80;
mov.b32 %r33, %f81;
mov.u32 %r34, 4;
shfl.sync.bfly.b32 %r35|%p13, %r33, %r34, %r26, %r28;
mov.b32 %f82, %r35;
add.ftz.f32 %f83, %f81, %f82;
mov.b32 %r36, %f83;
mov.u32 %r37, 2;
shfl.sync.bfly.b32 %r38|%p14, %r36, %r37, %r26, %r28;
mov.b32 %f84, %r38;
add.ftz.f32 %f85, %f83, %f84;
mov.b32 %r39, %f85;
mov.u32 %r40, 1;
shfl.sync.bfly.b32 %r41|%p15, %r39, %r40, %r26, %r28;
mov.b32 %f86, %r41;
add.ftz.f32 %f122, %f85, %f86;
mov.u32 %r14, %ntid.x;
setp.lt.u32 %p16, %r14, 33;
@%p16 bra $L__BB0_27;

and.b32 %r15, %r2, 31;
setp.ne.s32 %p17, %r15, 0;
@%p17 bra $L__BB0_24;

shr.u32 %r42, %r2, 3;
and.b32 %r43, %r42, 536870908;
mov.u32 %r44, _ZZ15reduce_rows_f32ILb0EEvPKfPfiE5s_sum;
add.s32 %r45, %r44, %r43;
st.shared.f32 [%r45], %f122;

$L__BB0_24:
bar.sync 0;
shr.s32 %r46, %r14, 31;
shr.u32 %r47, %r46, 27;
add.s32 %r48, %r14, %r47;
shr.s32 %r49, %r48, 5;
setp.ge.s32 %p18, %r15, %r49;
mov.f32 %f121, 0f00000000;
@%p18 bra $L__BB0_26;

shl.b32 %r50, %r15, 2;
mov.u32 %r51, _ZZ15reduce_rows_f32ILb0EEvPKfPfiE5s_sum;
add.s32 %r52, %r51, %r50;
ld.shared.f32 %f121, [%r52];

$L__BB0_26:
mov.b32 %r53, %f121;
mov.u32 %r54, 31;
mov.u32 %r55, 16;
mov.u32 %r56, -1;
shfl.sync.bfly.b32 %r57|%p19, %r53, %r55, %r54, %r56;
mov.b32 %f88, %r57;
add.ftz.f32 %f89, %f121, %f88;
mov.b32 %r58, %f89;
mov.u32 %r59, 8;
shfl.sync.bfly.b32 %r60|%p20, %r58, %r59, %r54, %r56;
mov.b32 %f90, %r60;
add.ftz.f32 %f91, %f89, %f90;
mov.b32 %r61, %f91;
mov.u32 %r62, 4;
shfl.sync.bfly.b32 %r63|%p21, %r61, %r62, %r54, %r56;
mov.b32 %f92, %r63;
add.ftz.f32 %f93, %f91, %f92;
mov.b32 %r64, %f93;
mov.u32 %r65, 2;
shfl.sync.bfly.b32 %r66|%p22, %r64, %r65, %r54, %r56;
mov.b32 %f94, %r66;
add.ftz.f32 %f95, %f93, %f94;
mov.b32 %r67, %f95;
mov.u32 %r68, 1;
shfl.sync.bfly.b32 %r69|%p23, %r67, %r68, %r54, %r56;
mov.b32 %f96, %r69;
add.ftz.f32 %f122, %f95, %f96;

$L__BB0_27:
setp.ne.s32 %p24, %r2, 0;
@%p24 bra $L__BB0_29;

cvta.to.global.u64 %rd20, %rd2;
mul.wide.s32 %rd21, %r1, 4;
add.s64 %rd22, %rd20, %rd21;
st.global.f32 [%rd22], %f122;

$L__BB0_29:
ret;

}

   ELFA        О            Ј      (}      V @ 8  @    .shstrtab .strtab .symtab .symtab_shndx .note.nv.tkinfo .note.nv.cuinfo .nv.info .text._Z15reduce_rows_f32ILb0EEvPKfPfi .nv.info._Z15reduce_rows_f32ILb0EEvPKfPfi .nv.shared._Z15reduce_rows_f32ILb0EEvPKfPfi .nv.global.init .nv.constant4 .nv.constant0._Z15reduce_rows_f32ILb0EEvPKfPfi .rel.nv.constant0._Z15reduce_rows_f32ILb0EEvPKfPfi .debug_frame .rel.nv.constant4 .rel.debug_frame .rela.debug_frame .nv.callgraph .nv.prototype .nv.rel.action  .shstrtab .strtab .symtab .symtab_shndx .note.nv.tkinfo .note.nv.cuinfo .nv.info _Z15reduce_rows_f32ILb0EEvPKfPfi .text._Z15reduce_rows_f32ILb0EEvPKfPfi .nv.info._Z15reduce_rows_f32ILb0EEvPKfPfi .nv.shared._Z15reduce_rows_f32ILb0EEvPKfPfi .nv.global.init kmask_iq2xs .nv.constant4 ksigns_iq2xs ksigns64 iq2xxs_grid iq2xs_grid iq2s_grid iq3xxs_grid iq3s_grid kvalues_iq4nl kvalues_mxfp4 iq1s_grid_gpu .rel.nv.constant0._Z15reduce_rows_f32ILb0EEvPKfPfi .nv.constant0._Z15reduce_rows_f32ILb0EEvPKfPfi .debug_frame .rel.nv.constant4 .rel.debug_frame .rela.debug_frame .nv.callgraph .nv.prototype .nv.rel.action                             )                     9                     R             	      s                     Ф                     №                           h                                     (h             '                   0                  <                  G                   Q     <             ]     @             g    h             u    h                  H              Ф                    ѓ                    5   	                 Q   
                 џџџџ$       џџџџџџџџ |џџџџ( џ((   џџџџ4                        	            ( ј               а  NVIDIA Corp              6   f    ptxas Cuda compilation tools, release 13.0, V13.0.97 Build system must define TOOLS_VERSION_EXTENDED -arch sm_86         ш  NVIDIA Corp  V    /    &                   7    5  
    `          №         №!           №! џ L _  )( џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ((   0  P  p    p    А  а  №     P           џџџџ    ўџџџ    §џџџ    ќџџџ    s          % 6P             H             @             8             0             (                                                  
             	                 D                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     z  
      ф y       !   " Йz  F   
   т Ey  0     ф y      %   b z   \  pb№ к G  `      ъ x      џ  т/ x      џ  т x      џ  т r џ       ф r џ       т Gy       ъ Ey p     т/ x      џ  т x      џ  т x      џ  т r џ       Ф r џ       ф r         Ш z    џрџ тx      џ  т z  \  pbђ ф z    џрџ фz  \  pbє ф z  \  pbі Ф z    џрџ ф r џ       ф z	    џрџ т $ \   т        ф z	    џрџ т $Њ \   тЈ        т $К \   т И        т % X   т z!    џрџ Ф z  \  pb№ т %І X   т z#!    џрџ т      Є  %Ж X   т z 	 \  pbђ т Љ     т z  \  pbє ф z # \  pbј т Й     b	 z ! \  pbі т $ \   т         Ъ $ \  	 т/        т $Њ \   тЈ        т $Ъ
 \  # тШ        т $К \  ! т И	        т x      џ  т r џ       т x      џ  т % X   Ш % X   т      & %І X   т      & %Ж X  	 т Љ     & %Ц

 X   т Й     ( Щ
     " z         Ъ $x    Ъ z  \  pb№ т !r       тO !r       т !r       т!r       т!r       т !r       т !r       т !r       Ъ G   ќџџџџ ъ Ay        ъ !rџ       ф Ay         ъ !r       т z         ф r  џ   pRє т !r       т x !   p`№ Ц !r       Ш !r       Ш !r       Ш !r       Ш !r       Ъ       $ !r       Ъ       $ !r       Ъ      $ !r       Ъ  @    $ !r       Ъ       $ !r       т G  P     ъ x    џР ф xџ     Ш z    џ( Ш xџ     Ц  џ      ф r    pbђ ф   ќџџџР ф r џ       Ц          ш {          ь      H   (       $ !r       Ъ       $ !r       Ъ      $ !r       Ъ 	 @    $ !r		       Ъ  	      $ !r	        ф M)         ъ x        Ъ %v Z   Ъ y     т My         ъ Gy  №џџџџџ Р y           Р y           Р y           Р y           Р y           Р y           Р y           Р y           Р y           Р         џ      џ џ     џџџ        џ    џџ џ      џџ     џџџ    џ   џ   џџ  џ     џ џ    џџ џ   џ  џџ    џ џџ   џ џџџ   џџџџџ        џ  џџ   џ    џ  џ   џџ  џ  џ  џ џ   џ џ џ  џ џџ џ  џџџџ џ      џџ   џ  џџ  џ џ џџ  џџџ џџ     џџџ  џџ џџџ    џџџџ   џџџџџ  џ     џ џџ    џ   џ   џ  џџ   џ џ  џ  џ  џ џ  џ џ џџ  џ џџџџ  џ     џ џ  џ  џ џ џ џ џ џ џџџ џ џ    џџ џ џџ џџ џ   џџџ џ  џџџџ џ џ    џџ  џ   џџ џ џ  џџ џџџ  џџ    џ џџ џџ џ џџ   џџ џџ  џџџ џџ џ   џџџ џџ  џџџ   џ џџџ  џџ џџџ џ  џџџџ  џ џџџџ џ џџџџџ џџџџџџџ        џџџ     џ  џ    џ џџ    џџ  џ   џ џ џ   џџ џџ   џџџџџ   џ    џ  џ џ  џ  џџ џ џ  џџџџ џ  џ   џџ  џџџ џџ  џ  џџџ  џ џџџџ  џџ    џ џ џ   џ џџ џ  џ џџџџ  џ џ   џ џ џџџ џ џ џ  џџ џ џ џџџ џ џџ   џџ џџџ  џџ џ  џ џџ џ џџ џџ џџ  џџџ џ џ џџџ џџ џџџџ џџџџџџџ џ      џџ џ    џџџ џ   џџџџџ   џџ   џ  џџџџ џ  џџ  џџ  џџ џџџ  џџџ   џ џџџџ  џ џџ  џ џ џџ џџ џ џџџ  џџ џџ џ џџ џџџ џџџ џџџџџџџ џџ     џџџџџ   џџџ  џ  џџџ џџ  џџџџ  џ џџџ џ џ џџџџ џџ џџџџџџџ џџџ    џџџџ џ  џџџџџ џ џџџџџџџ џџџџ   џџџџџџџ џџџџџ  џџџџџџ џџџџџџџџ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++$>$>,>,$$,>$>,>,,>>,>$>$$$$>,$>$,>$,>,,,,,4$44>$>4>$>4>$>$,>4$44$,$,$,$,4$,>,,4>$>4$,4>4>>>$,,$>$>,$,$,>,$,$>,>>4>,$>,,4>$$4$,,>$>$$>$,4,,,,,$44444>4>$$>$,$>$,$>,$$>$$>$$$4$44$>$,$$$$$,$$$4$$,,$$,$>,$,>$>$>$>$,$,>,,4,4,,,,$,,>,,,,$,$,>$,>$,,,,,,4,$>,$>,$4$$44$4$44444>4$44444$$$4,,4,,444>4>4>,>>>>>,>4>$>>,$>,>>,>>4>$>$$>,>,>$,>4>																																																																																																																																																																																																																															                                                               "      "  !    "    " ! ! ! !   "    " ! !!  "  "                          ! !    "!  !"!! ! !        "  "  !       " " !  !!      " " !    ""!    ! " ! !     ! !" !!"!    "    "  ""  !!    "   " "" !! ! !"! !!   "  !!  " "" !!  "  """                                          !    " !   "!" ! " "!!  "!                                !   ! " ! "   " ! "  " ! "!!" !! ! !""""! !  ! !   !!"  ! ""    !!"!  !!    ! "   !  !!" !!!"" !""  !" !"!" "!  ! "!  !"!!"  " !! "! "!!"!!! "!""            !   "  " "  " "   !! ""        !  " "" ""   ! ! ! "     !!! """"  !!!"!      "  ! ! !!   " " "  " "" ! ! !"!!!!"!    " ! !!!  "" " """   ! ! ! "      !! !!" ! !!""  ! " "    !!!!""" !!!!!""""!   ! "! !! !" ! ! !! "!"!"  "  !"!        "  "  !!   "  "  "" "" !  ! !!!"      " "   " " """""   ! !! "! !" ! "  !!! "!"!"""!  !!!"!!"!"    "    "  ""    " " "  "" """ !! ! !"!!!"!!!"   "   " "" !!!  "" " """""                               ! !  "!!  " !" !!  !                         ! ! !  ! "! !  " !    !"!"!"! ! ! "  !! "!  !"!  "   ! "  !!"!   !!"!  ! ! "  !!" !!  ! "   !!!"  !!"! "  !!" !!""! ! "! !" !! """ !!" !!!                         ! "" !"!  " !"!  !"!" !!  " !!"               !" " !! ! ! !" !" !!!" !" !" !" !"! !!"!" !"!!""!" ! !!!"  ! " "! ""  !!! ""    !! "   ! " "  !" !!!"! !!!"   !!!""" !!!" !" !!!""! ! "!!""  !!"!!"!! "!"! !!"! "!"" !! """! """ !!"! """!   !!!"    !!! !! " """  !"      !! " """   !!!!"""   !! """! !"!!!   !  " !!"! !  "! ! !"!!"!!!!!"""       ! !!!!! """     !! !!! !!" ""   !!!!    !!!!!!"""""   !!!!!""""" ! !! """ "!"  !   " !! !!!"! !"! "!" "  " ! "  !"! !!! " """""!!"!!"   !!!"! """!  ! "!!"  !  !!! "!"!"""    ! ! "  !!!!!!!"! "!"""  ! " !! "!"!"""! !"!! "!!   ! !"   !!!! "!""! !"!!"!"""!  !! "!""!"!"                     !  ! ! !!!!   "  "  " ""  " " ""          ! ! ! ! !!!!!!!! " """""    "      "  !    "    " ! ! !!!!!   ""  "  "" "!"  "" " """    !  !!!!! !! ""          ! ! ! !!!!!!!!!!! " " " """"""! " ! ! ! !  !! !" ! !!!!!"!!!"!"!! "!""" "        "  "  !       " "   !! ! ! !!"!!!"!   "  " " "" "!"  " " """"!  !    ! ! !   !! !! !" ! ! !!!"! !!!! "!"""!"    "    "  ""  !!    "   " "" !! !! ! !!"!!   ""  " " """ "!!"  "" " """""         !!!! !!!!" " """"                !! ! !!!!! !!"" """ """"! !    ! !  !"!!!  !" !!! !"!!!!" """!"           !!! !!! !! !!!! """ "" """              !!!!!!!!!!!!!!!!!!!"""""""""""""""!     ! !   " ! !! !!!!!"!!!"!!!!! !"" "!""""" "!" """!"! ! " !  !!!  ! !!!!!"! !!!!!" "!"""!"! ! "     ! " "     ! !  ! !!!"!"! !!!!!!!"! !!!!!"! "!" " "!""" "!"!! !! !!  !!"!!!"!  !!!! "!! !!!"! " !"!!""!"            !   "  "  " "  ! !! !!!!!!   "  "  " "!"  "" "" """"     ! ! ! ! !  ! ! !!!!!!!! "!"! " !" !"!"!""      "    ! !! " "  " "" ! !! !!"!!!!!!"!   ""  "  "" "!!"  """ "" """""! "  !  ! !! !!!! !!!!"!"!"! "!"! "    ! ! ! ! " "  ! !!!!!!!!!!!"!"! " " " " "!"!"!"!  !! "! "! !" !"   !" !" !"!!!!!"!! !! "!""!" " !"!!""!"!!"!"" """""        "  "    "  "  "" ""  !! !!!!!!"!!   "  " " "" "!!"  "" "" """"""!  !! "!  " !"   ! !!!!!"!! "!!"!""! !"!!"    "    "  ""    " " "  "" """ ! !! !!!"!!!   ""  " " """ "!!!"  """ "" """"""" @­ПЯнъі&5EYq  џў§ќњјє 	
 !"Ѓ$ЅІ'(ЉЊ+Ќ-.Џ0БВ3Д56ЗИ9:Л<НО?РABУDХЦGHЩЪKЬMNЯPбвSдUVзиYZл\но_`стcфefчшijыlэюo№qrѓtѕіwxљњ{ќ}~џ                                                                                      @       М                                                   ќ      `                                                   `      (                          O                           p                              )                     ј      Є                              9                                                         I      p                М      $                             y      p@               р      Ф                                p                Є                                   ­    p                Ш                                   \  	   @               и      А                           n  	   @               	                                 п                     	      X                              э      B               №	      t                            R                            	           &               Я                           Јh                             Ѓ      C               (}                                         Ј                      р       р                    	                      ш
      ш
                                         Јh      (i                   Ј                      р       р              