diff --git a/MCLZ8/Code/Z80_As_Debugger/MCLZ8.ino b/MCLZ8/Code/Z80_As_Debugger/MCLZ8.ino new file mode 100644 index 0000000..d99f00f --- /dev/null +++ b/MCLZ8/Code/Z80_As_Debugger/MCLZ8.ino @@ -0,0 +1,3742 @@ +// +// +// File Name : MCLZ8.c +// Used on : +// Author : Ted Fried, MicroCore Labs +// Creation : 4/20/2022 +// +// Description: +// ============ +// +// Zilog Z80 emulator running on a Teensy 4.1. +// +//------------------------------------------------------------------------ +// +// Modification History: +// ===================== +// +// Revision 1 4/20/2022 +// Initial revision +// +// +//------------------------------------------------------------------------ +// +// Copyright (c) 2022 Ted Fried +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +// +//------------------------------------------------------------------------ + + + +#include + + +// Need for Command-line Code +#include + + + +// Teensy 4.1 pin assignments +// +#define PIN_RESET 23 // In-Buffer 1/8 +#define PIN_CLK 21 // In-Buffer 2/8 +#define PIN_NMI 19 // In-Buffer 3/8 +#define PIN_INTR 20 // In-Buffer 4/8 +#define PIN_WAIT 22 // In-Buffer 5/8 + +#define PIN_M1 12 // Out-direct +#define PIN_HALT 24 // Out-direct +#define PIN_RD 25 // Out-direct +#define PIN_WR 26 // Out-direct +#define PIN_MREQ 27 // Out-direct +#define PIN_IOREQ 28 // Out-direct +#define PIN_RFSH 29 // Out-direct + + +#define PIN_ADDR15 30 // Out-direct +#define PIN_ADDR14 31 // Out-direct +#define PIN_ADDR13 32 // Out-direct +#define PIN_ADDR12 33 // Out-direct +#define PIN_ADDR11 34 // Out-direct +#define PIN_ADDR10 35 // Out-direct +#define PIN_ADDR9 36 // Out-direct +#define PIN_ADDR8 37 // Out-direct + +#define PIN_AD7_OUT 10 // Out-Buffer +#define PIN_AD6_OUT 9 // Out-Buffer +#define PIN_AD5_OUT 8 // Out-Buffer +#define PIN_AD4_OUT 7 // Out-Buffer +#define PIN_AD3_OUT 6 // Out-Buffer +#define PIN_AD2_OUT 5 // Out-Buffer +#define PIN_AD1_OUT 4 // Out-Buffer +#define PIN_AD0_OUT 3 // Out-Buffer +#define PIN_DATA_OE_n 2 // Out-Buffer +#define PIN_ADDR_LATCH_n 11 // Out-direct + +#define PIN_AD7_IN 39 // In-Buffer +#define PIN_AD6_IN 40 // In-Buffer +#define PIN_AD5_IN 41 // In-Buffer +#define PIN_AD4_IN 14 // In-Buffer +#define PIN_AD3_IN 15 // In-Buffer +#define PIN_AD2_IN 16 // In-Buffer +#define PIN_AD1_IN 17 // In-Buffer +#define PIN_AD0_IN 18 // In-Buffer + + +// -------------------------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------- + +#define OPCODE_READ_M1 0x07 +#define MEM_WRITE_BYTE 0x02 +#define MEM_READ_BYTE 0x03 +#define IO_WRITE_BYTE 0x04 +#define IO_READ_BYTE 0x05 +#define INTERRUPT_ACK 0x09 + + +#define flag_s ( (register_f & 0x80)==0 ? 0 : 1 ) +#define flag_z ( (register_f & 0x40)==0 ? 0 : 1 ) +#define flag_h ( (register_f & 0x10)==0 ? 0 : 1 ) +#define flag_p ( (register_f & 0x04)==0 ? 0 : 1 ) +#define flag_n ( (register_f & 0x02)==0 ? 0 : 1 ) +#define flag_c ( (register_f & 0x01)==0 ? 0 : 1 ) + + +#define REGISTER_BC ( (register_b<<8) | register_c ) +#define REGISTER_DE ( (register_d<<8) | register_e ) +#define REGISTER_HL ( (register_h<<8) | register_l ) +#define REGISTER_AF ( (register_a<<8) | register_f ) +#define REGISTER_IX ( (register_ixh<<8) | register_ixl ) +#define REGISTER_IY ( (register_iyh<<8) | register_iyl ) + +#define REG_BC 1 +#define REG_DE 2 +#define REG_HL 3 +#define REG_AF 4 +#define REG_IX 5 +#define REG_IY 6 + + +// -------------------------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------- + + +uint8_t clock_counter=0; +uint8_t pause_interrupts=0; +uint8_t temp8=0; +uint8_t opcode_byte=0; +uint8_t opcode_second_byte=0; +uint8_t debounce_refresh=0; +uint8_t last_instruction_set_a_prefix=0; +uint8_t and_opcode=0; +uint8_t prefix_dd=0; +uint8_t prefix_fd=0; +uint8_t prefix_cb=0; +uint8_t inc_dec=0; +uint8_t with_carry=0; +uint8_t CB_opcode=0; +uint8_t cp_opcode=0; +uint8_t halt_in_progress=0; +uint8_t assert_iack_type0=0; +uint8_t cb_prefix_offset=0; +uint8_t register_a = 0; +uint8_t register_b = 0; +uint8_t register_c = 0; +uint8_t register_d = 0; +uint8_t register_e = 0; +uint8_t register_f = 0; +uint8_t register_h = 0; +uint8_t register_l = 0; +uint8_t register_a2 = 0; +uint8_t register_b2 = 0; +uint8_t register_c2 = 0; +uint8_t register_d2 = 0; +uint8_t register_e2 = 0; +uint8_t register_f2 = 0; +uint8_t register_h2 = 0; +uint8_t register_l2 = 0; +uint8_t register_iff1 = 0; +uint8_t register_iff2 = 0; +uint8_t register_im = 0; +uint8_t register_i = 0; +uint8_t register_r = 0; +uint8_t register_ixh = 0; +uint8_t register_ixl = 0; +uint8_t register_iyh = 0; +uint8_t register_iyl = 0; +uint8_t special = 0; +uint8_t nmi_latched=0; +uint8_t mode=0; +int incomingByte; + + +uint16_t register_sp = 0; +uint16_t register_pc = 0; +uint16_t temp16=0; + +uint32_t direct_nmi=0; +uint32_t direct_nmi_d=0; +uint32_t direct_wait=0; +uint32_t direct_intr=0; +uint32_t direct_reset=0; +uint32_t GPIO6_raw_data=0; + +// Internal RAM for acceleration +uint8_t internal_RAM[65536]; + +char opcodebuf[24]; + + + +// Arrays which hold the Z80 clock cycles for each opcode +uint8_t Opcode_Timing_Main[256] = {0x0,0x6,0x3,0x2,0x0,0x0,0x3,0x0,0x0,0x7,0x3,0x2,0x0,0x0,0x3,0x0,0x4,0x6,0x3,0x2,0x0,0x0,0x3,0x0,0x8,0x7,0x3,0x2,0x0,0x0,0x3,0x0,0x3,0x6,0xc,0x2,0x0,0x0,0x3,0x0,0x3,0x7,0xc,0x2,0x0,0x0,0x3,0x0,0x3,0x6,0x9,0x2,0x7,0x7,0x6,0x0,0x3,0x7,0x9,0x2,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x3,0x3,0x3,0x3,0x3,0x3,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x1,0x6,0x6,0x6,0x6,0x7,0x3,0x7,0x1,0x6,0x6,0x0,0x6,0xd,0x3,0x7,0x1,0x6,0x6,0x7,0x6,0x7,0x3,0x7,0x1,0x0,0x6,0x7,0x6,0x0,0x3,0x7,0x1,0x6,0x6,0xf,0x6,0x7,0x3,0x7,0x1,0x0,0x6,0x0,0x6,0x0,0x3,0x7,0x1,0x6,0x6,0x0,0x6,0x7,0x3,0x7,0x1,0x2,0x6,0x0,0x6,0x0,0x3,0x7 }; +uint8_t Opcode_Timing_ED[256] = {0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x5,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0xe,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0xe,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x4,0x8,0x8,0xb,0x10,0x4,0xa,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0xc,0xc,0xc,0xc,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0x4 }; +uint8_t Opcode_Timing_DDFD[256] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa,0x10,0x6,0x4,0x4,0x7,0x0,0x0,0xb,0x10,0x6,0x4,0x4,0x7,0x0,0x0,0x0,0x0,0x0,0x13,0x13,0xf,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x4,0x4,0x4,0x4,0x4,0x4,0xf,0x4,0x4,0x4,0x4,0x4,0x4,0x4,0xf,0x4,0xf,0xf,0xf,0xf,0xf,0xf,0x0,0xf,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x4,0x4,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa,0x0,0x13,0x0,0xb,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x0 }; + + +// Pre-calculated 8-bit parity +uint8_t Parity_Array[256] = {4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4,4,0,0,4,0,4,4,0,4,0,0,4,0,4,4,0,0,4,4,0,4,0,0,4 }; + + +// Teensy 4.1 GPIO register mapping for address and data busses +uint32_t gpio7_low_array[0x100] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,0x400,0x400,0x400,0x400,0x400,0x400,0x400,0x20000,0x20000,0x20000,0x20000,0x20000,0x20000,0x20000,0x20000,0x20400,0x20400,0x20400,0x20400,0x20400,0x20400,0x20400,0x20400,0x10000,0x10000,0x10000,0x10000,0x10000,0x10000,0x10000,0x10000,0x10400,0x10400,0x10400,0x10400,0x10400,0x10400,0x10400,0x10400,0x30000,0x30000,0x30000,0x30000,0x30000,0x30000,0x30000,0x30000,0x30400,0x30400,0x30400,0x30400,0x30400,0x30400,0x30400,0x30400,0x800,0x800,0x800,0x800,0x800,0x800,0x800,0x800,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0x20800,0x20800,0x20800,0x20800,0x20800,0x20800,0x20800,0x20800,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x20c00,0x10800,0x10800,0x10800,0x10800,0x10800,0x10800,0x10800,0x10800,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x10c00,0x30800,0x30800,0x30800,0x30800,0x30800,0x30800,0x30800,0x30800,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x30c00,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x1,0x401,0x401,0x401,0x401,0x401,0x401,0x401,0x401,0x20001,0x20001,0x20001,0x20001,0x20001,0x20001,0x20001,0x20001,0x20401,0x20401,0x20401,0x20401,0x20401,0x20401,0x20401,0x20401,0x10001,0x10001,0x10001,0x10001,0x10001,0x10001,0x10001,0x10001,0x10401,0x10401,0x10401,0x10401,0x10401,0x10401,0x10401,0x10401,0x30001,0x30001,0x30001,0x30001,0x30001,0x30001,0x30001,0x30001,0x30401,0x30401,0x30401,0x30401,0x30401,0x30401,0x30401,0x30401,0x801,0x801,0x801,0x801,0x801,0x801,0x801,0x801,0xc01,0xc01,0xc01,0xc01,0xc01,0xc01,0xc01,0xc01,0x20801,0x20801,0x20801,0x20801,0x20801,0x20801,0x20801,0x20801,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x20c01,0x10801,0x10801,0x10801,0x10801,0x10801,0x10801,0x10801,0x10801,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x10c01,0x30801,0x30801,0x30801,0x30801,0x30801,0x30801,0x30801,0x30801,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01,0x30c01 }; +uint32_t gpio9_low_array[0x100] = {0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160,0x0,0x20,0x40,0x60,0x100,0x120,0x140,0x160 }; +uint32_t gpio7_high_array[0x100] = {0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x0,0x80000,0x40000,0xc0000,0x10000000,0x10080000,0x10040000,0x100c0000,0x20000000,0x20080000,0x20040000,0x200c0000,0x30000000,0x30080000,0x30040000,0x300c0000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000,0x1000,0x81000,0x41000,0xc1000,0x10001000,0x10081000,0x10041000,0x100c1000,0x20001000,0x20081000,0x20041000,0x200c1000,0x30001000,0x30081000,0x30041000,0x300c1000 }; +uint32_t gpio8_high_array[0x100] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x400000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0x800000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000,0xc00000 }; +uint32_t gpio9_high_array[0x100] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80 }; +uint8_t read_data_array[0x10000] = { 0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x0,0x0,0x1,0x1,0x10,0x10,0x11,0x11,0x8,0x8,0x9,0x9,0x18,0x18,0x19,0x19,0x40,0x40,0x41,0x41,0x50,0x50,0x51,0x51,0x48,0x48,0x49,0x49,0x58,0x58,0x59,0x59,0x20,0x20,0x21,0x21,0x30,0x30,0x31,0x31,0x28,0x28,0x29,0x29,0x38,0x38,0x39,0x39,0x60,0x60,0x61,0x61,0x70,0x70,0x71,0x71,0x68,0x68,0x69,0x69,0x78,0x78,0x79,0x79,0x2,0x2,0x3,0x3,0x12,0x12,0x13,0x13,0xa,0xa,0xb,0xb,0x1a,0x1a,0x1b,0x1b,0x42,0x42,0x43,0x43,0x52,0x52,0x53,0x53,0x4a,0x4a,0x4b,0x4b,0x5a,0x5a,0x5b,0x5b,0x22,0x22,0x23,0x23,0x32,0x32,0x33,0x33,0x2a,0x2a,0x2b,0x2b,0x3a,0x3a,0x3b,0x3b,0x62,0x62,0x63,0x63,0x72,0x72,0x73,0x73,0x6a,0x6a,0x6b,0x6b,0x7a,0x7a,0x7b,0x7b,0x4,0x4,0x5,0x5,0x14,0x14,0x15,0x15,0xc,0xc,0xd,0xd,0x1c,0x1c,0x1d,0x1d,0x44,0x44,0x45,0x45,0x54,0x54,0x55,0x55,0x4c,0x4c,0x4d,0x4d,0x5c,0x5c,0x5d,0x5d,0x24,0x24,0x25,0x25,0x34,0x34,0x35,0x35,0x2c,0x2c,0x2d,0x2d,0x3c,0x3c,0x3d,0x3d,0x64,0x64,0x65,0x65,0x74,0x74,0x75,0x75,0x6c,0x6c,0x6d,0x6d,0x7c,0x7c,0x7d,0x7d,0x6,0x6,0x7,0x7,0x16,0x16,0x17,0x17,0xe,0xe,0xf,0xf,0x1e,0x1e,0x1f,0x1f,0x46,0x46,0x47,0x47,0x56,0x56,0x57,0x57,0x4e,0x4e,0x4f,0x4f,0x5e,0x5e,0x5f,0x5f,0x26,0x26,0x27,0x27,0x36,0x36,0x37,0x37,0x2e,0x2e,0x2f,0x2f,0x3e,0x3e,0x3f,0x3f,0x66,0x66,0x67,0x67,0x76,0x76,0x77,0x77,0x6e,0x6e,0x6f,0x6f,0x7e,0x7e,0x7f,0x7f,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff,0x80,0x80,0x81,0x81,0x90,0x90,0x91,0x91,0x88,0x88,0x89,0x89,0x98,0x98,0x99,0x99,0xc0,0xc0,0xc1,0xc1,0xd0,0xd0,0xd1,0xd1,0xc8,0xc8,0xc9,0xc9,0xd8,0xd8,0xd9,0xd9,0xa0,0xa0,0xa1,0xa1,0xb0,0xb0,0xb1,0xb1,0xa8,0xa8,0xa9,0xa9,0xb8,0xb8,0xb9,0xb9,0xe0,0xe0,0xe1,0xe1,0xf0,0xf0,0xf1,0xf1,0xe8,0xe8,0xe9,0xe9,0xf8,0xf8,0xf9,0xf9,0x82,0x82,0x83,0x83,0x92,0x92,0x93,0x93,0x8a,0x8a,0x8b,0x8b,0x9a,0x9a,0x9b,0x9b,0xc2,0xc2,0xc3,0xc3,0xd2,0xd2,0xd3,0xd3,0xca,0xca,0xcb,0xcb,0xda,0xda,0xdb,0xdb,0xa2,0xa2,0xa3,0xa3,0xb2,0xb2,0xb3,0xb3,0xaa,0xaa,0xab,0xab,0xba,0xba,0xbb,0xbb,0xe2,0xe2,0xe3,0xe3,0xf2,0xf2,0xf3,0xf3,0xea,0xea,0xeb,0xeb,0xfa,0xfa,0xfb,0xfb,0x84,0x84,0x85,0x85,0x94,0x94,0x95,0x95,0x8c,0x8c,0x8d,0x8d,0x9c,0x9c,0x9d,0x9d,0xc4,0xc4,0xc5,0xc5,0xd4,0xd4,0xd5,0xd5,0xcc,0xcc,0xcd,0xcd,0xdc,0xdc,0xdd,0xdd,0xa4,0xa4,0xa5,0xa5,0xb4,0xb4,0xb5,0xb5,0xac,0xac,0xad,0xad,0xbc,0xbc,0xbd,0xbd,0xe4,0xe4,0xe5,0xe5,0xf4,0xf4,0xf5,0xf5,0xec,0xec,0xed,0xed,0xfc,0xfc,0xfd,0xfd,0x86,0x86,0x87,0x87,0x96,0x96,0x97,0x97,0x8e,0x8e,0x8f,0x8f,0x9e,0x9e,0x9f,0x9f,0xc6,0xc6,0xc7,0xc7,0xd6,0xd6,0xd7,0xd7,0xce,0xce,0xcf,0xcf,0xde,0xde,0xdf,0xdf,0xa6,0xa6,0xa7,0xa7,0xb6,0xb6,0xb7,0xb7,0xae,0xae,0xaf,0xaf,0xbe,0xbe,0xbf,0xbf,0xe6,0xe6,0xe7,0xe7,0xf6,0xf6,0xf7,0xf7,0xee,0xee,0xef,0xef,0xfe,0xfe,0xff,0xff }; + + + +typedef struct { + uint16_t pc; + uint16_t sp; + uint8_t a; + uint8_t f; + uint8_t b; + uint8_t c; + uint8_t d; + uint8_t e; + uint8_t h; + uint8_t l; + uint8_t ixh; + uint8_t ixl; + uint8_t iyh; + uint8_t iyl; + uint8_t a2; + uint8_t f2; + uint8_t b2; + uint8_t c2; + uint8_t d2; + uint8_t e2; + uint8_t h2; + uint8_t l2; + uint8_t r; + uint8_t i; + uint8_t im; + uint8_t iff1; + uint8_t iff2; + uint8_t opcode; +} cpu_status; + +uint8_t cpu_status_ctr; +uint16_t temp_pc; +uint8_t temp_r; + +#define STAT_BUF_SIZE 32 + +cpu_status stat_buf[STAT_BUF_SIZE]; + + +// -------------------------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------- +// +// Begin Z80 Bus Interface Unit +// +// -------------------------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------- + +// Setup Teensy 4.1 IO's +// +void setup() { + + pinMode(PIN_RESET, INPUT); + pinMode(PIN_CLK, INPUT); + pinMode(PIN_NMI, INPUT); + pinMode(PIN_INTR, INPUT); + pinMode(PIN_WAIT, INPUT); + + pinMode(PIN_M1, OUTPUT); + pinMode(PIN_HALT, OUTPUT); + pinMode(PIN_RD, OUTPUT); + pinMode(PIN_WR, OUTPUT); + pinMode(PIN_MREQ, OUTPUT); + pinMode(PIN_IOREQ, OUTPUT); + pinMode(PIN_RFSH, OUTPUT); + + + pinMode(PIN_ADDR15, OUTPUT); + pinMode(PIN_ADDR14, OUTPUT); + pinMode(PIN_ADDR13, OUTPUT); + pinMode(PIN_ADDR12, OUTPUT); + pinMode(PIN_ADDR11, OUTPUT); + pinMode(PIN_ADDR10, OUTPUT); + pinMode(PIN_ADDR9, OUTPUT); + pinMode(PIN_ADDR8, OUTPUT); + + pinMode(PIN_AD7_OUT, OUTPUT); + pinMode(PIN_AD6_OUT, OUTPUT); + pinMode(PIN_AD5_OUT, OUTPUT); + pinMode(PIN_AD4_OUT, OUTPUT); + pinMode(PIN_AD3_OUT, OUTPUT); + pinMode(PIN_AD2_OUT, OUTPUT); + pinMode(PIN_AD1_OUT, OUTPUT); + pinMode(PIN_AD0_OUT, OUTPUT); + pinMode(PIN_DATA_OE_n, OUTPUT); + pinMode(PIN_ADDR_LATCH_n, OUTPUT); + + pinMode(PIN_AD7_IN, INPUT); + pinMode(PIN_AD6_IN, INPUT); + pinMode(PIN_AD5_IN, INPUT); + pinMode(PIN_AD4_IN, INPUT); + pinMode(PIN_AD3_IN, INPUT); + pinMode(PIN_AD2_IN, INPUT); + pinMode(PIN_AD1_IN, INPUT); + pinMode(PIN_AD0_IN, INPUT); + + digitalWriteFast(PIN_M1,0x1); + digitalWriteFast(PIN_HALT,0x1); + digitalWriteFast(PIN_RD,0x1); + digitalWriteFast(PIN_WR,0x1); + digitalWriteFast(PIN_MREQ,0x1); + digitalWriteFast(PIN_IOREQ,0x1); + digitalWriteFast(PIN_RFSH,0x1); + digitalWriteFast(PIN_ADDR_LATCH_n,0x1); + + cpu_status_ctr = 0; + + Serial.begin(9600); + Serial.println("Setup complete"); +} + + +// ---------------------------------------------------------- +// Address range check +// Return: 0x0 - All external memory accesses +// 0x1 - Reads and writes are cycle accurate using internal memory with writes passing through to motherboard +// 0x2 - Reads accelerated using internal memory and writes are cycle accurate and pass through to motherboard +// 0x3 - All read and write accesses use accelerated internal memory +// ---------------------------------------------------------- +inline uint8_t internal_address_check(uint16_t local_address) { + + /* + if ( (local_address >= 0x0000) && (local_address <= 0x37DF) ) return mode; // TRS-80 Model III - ROM A, B, C + if ( (local_address >= 0x3C00) && (local_address <= 0x3FFF) ) return 0x0; // TRS-80 Model III - 1KB Video RAM + if ( (local_address >= 0x4000) && (local_address <= 0xFFFF) ) return mode; // TRS-80 Model III - 48KB DRAM + return 0x0; + */ + + return mode; // commented out TRS80 stuff... this core is for a generic Z80 emulation... this function would + // need to be customized for use in a specific application (for example if you were using this function + // to bypass RAM or ROM on an arcade machine, you'd have to use a memory map to change the ranges + // I may change the debug serial loop so that it accepts ranges and allows you to move memory + // around and make this function dynamic in that way. +} + + +// ------------------------------------------------- +// Wait for the CLK rising edge +// ------------------------------------------------- +inline void wait_for_CLK_rising_edge() { + + while ( (GPIO6_DR&0x08000000) != 0) {} // First ensure clock is at a low level + do { GPIO6_raw_data = GPIO6_DR; } while ( (GPIO6_raw_data&0x08000000) == 0); // Then poll for the first instance where clock is not low + + if (debounce_refresh==1) { digitalWriteFast(PIN_RFSH,0x1); debounce_refresh=0;} + + direct_nmi = (GPIO6_raw_data&0x00010000); + direct_intr = (GPIO6_raw_data&0x04000000); + if (direct_nmi_d!=0 && direct_nmi==0) nmi_latched=1; // Latch NMI on both CLK edges + direct_nmi_d = direct_nmi; + + return;} + +// ------------------------------------------------- +// Wait for the CLK falling edge +// ------------------------------------------------- +inline void wait_for_CLK_falling_edge() { + + if (clock_counter>0) clock_counter--; // Count down clock_counter here at end of each instruction + + while ( (GPIO6_DR&0x08000000) == 0) {} // First ensure clock is at a high level + do { } while ( (GPIO6_DR&0x08000000) != 0); // Then poll for the first instance where clock is not high + + GPIO6_raw_data = GPIO6_DR; // Store slightly-delayed version of GPIO6 in a global register + direct_wait = (GPIO6_raw_data&0x01000000); + direct_reset = (GPIO6_raw_data&0x02000000); + + direct_nmi = (GPIO6_raw_data&0x00010000); + if (direct_nmi_d!=0 && direct_nmi==0) nmi_latched=1; // Latch NMI on both CLK edges + direct_nmi_d = direct_nmi; + + return; +} + +// ------------------------------------------------- +// Initiate a Z80 Bus Cycle +// ------------------------------------------------- +inline uint8_t BIU_Bus_Cycle(uint8_t biu_operation, uint16_t local_address , uint8_t local_data) { + register uint8_t read_cycle=0; + register uint8_t read_data=0; + register uint32_t read_data_raw=0; + register uint32_t writeback_data7=0; + register uint32_t writeback_data8=0; + register uint32_t writeback_data9=0; + + register uint32_t gpio7_out=0; + register uint32_t gpio8_out=0; + register uint32_t gpio9_out=0; + register uint8_t local_address_high=0; + register uint8_t local_address_low=0; + register uint8_t m1_cycle=0; + uint8_t local_mode=0; + + + // For non-IO cycles, check address for the acceleration mode + // + if ((biu_operation!=IO_WRITE_BYTE) && (biu_operation!=IO_READ_BYTE) ) local_mode = internal_address_check(local_address); else local_mode=0; + + + read_cycle = (biu_operation & 0x1); + if ( (biu_operation==OPCODE_READ_M1) || ( biu_operation==INTERRUPT_ACK) ) m1_cycle=0; else m1_cycle=2; + + + if (local_mode>1 && ((biu_operation==OPCODE_READ_M1)||(biu_operation==MEM_READ_BYTE)) ) return internal_RAM[local_address]; // Mode 2, 3 Reads + if (local_mode>2 && local_address>=0x4000 && biu_operation==MEM_WRITE_BYTE ) {internal_RAM[local_address] = local_data; return 0xEE; } // Mode 3 Writes + + + + + noInterrupts(); // Disable Teensy interupts so the Z80 bus cycle can complete without interruption + digitalWriteFast(PIN_ADDR_LATCH_n,0x1); // Allow address to propagate through '373 latch + + + + // Pre-calculate before the clock edge to gain speed + // + local_address_high = (local_address)>>8; + local_address_low = (0x00FF&local_address); + gpio7_out = gpio7_high_array[local_address_high] | gpio7_low_array[local_address_low]; + gpio8_out = gpio8_high_array[local_address_high] ; + gpio9_out = gpio9_high_array[local_address_high] | gpio9_low_array[local_address_low]; + + writeback_data7 = (0xCFF0E3FC & GPIO7_DR) | m1_cycle; + writeback_data9 = (0xFFFFFE1F & GPIO9_DR); + writeback_data8 = (0xFF3FFFFF & GPIO8_DR); + + + // Address phase is common for all bus cycle types - Lower byte of address is multiplexed with data so needs to be externally latched + // ----------------------------------------------------------------------------------------------------------------------------------------- + wait_for_CLK_rising_edge(); GPIO7_DR = writeback_data7 | gpio7_out; // T1 Rising + GPIO8_DR = writeback_data8 | gpio8_out; + GPIO9_DR = writeback_data9 | gpio9_out | 0x80000010; // disable PIN_RFSH and PIN_DATA_OE_n + + + + // Opcode fetch - M1 type - 4 cycles + // ----------------------------------------------------------------------------- + if (biu_operation == OPCODE_READ_M1) { + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_MREQ,0x0); // T1 Falling + digitalWriteFast(PIN_RD,0x0); + //digitalWriteFast(PIN_ADDR_LATCH_n,0x0); + + wait_for_CLK_falling_edge(); while (direct_wait==0) { wait_for_CLK_falling_edge(); } // T2 Falling + + // Pre-calculate before the next clock edge to gain speed + // + local_address_high = register_i; + local_address_low = register_r; + gpio7_out = gpio7_high_array[local_address_high] | gpio7_low_array[local_address_low]; + gpio8_out = gpio8_high_array[local_address_high] ; + gpio9_out = gpio9_high_array[local_address_high] | gpio9_low_array[local_address_low]; + + writeback_data7 = (0xCFF0E3FC & GPIO7_DR) | 0x2; // drive M1 high again + writeback_data8 = (0xFF3FFFFF & GPIO8_DR); + writeback_data9 = (0xFFFFFE1F & GPIO9_DR); + + + wait_for_CLK_rising_edge(); read_data_raw = GPIO6_raw_data; // T3 Rising -- Read data sampled on this edge + + // Drive Refresh address + // + GPIO9_DR = writeback_data9 | gpio9_out; + GPIO8_DR = writeback_data8 | gpio8_out; + GPIO7_DR = writeback_data7 | gpio7_out; + + digitalWriteFast(PIN_MREQ,0x1); + digitalWriteFast(PIN_RFSH,0x0); + digitalWriteFast(PIN_RD,0x1); + digitalWriteFast(PIN_M1,0x1); + + + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_MREQ,0x0); // T3 Falling + read_data = read_data_array[ (read_data_raw>>16) ]; // Read the Z80 bus data, re-arranging bits through read_data_array + + + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_MREQ,0x1); // T4 Falling + debounce_refresh=1; + interrupts(); + + if (local_mode>0) read_data = internal_RAM[local_address]; // Mode 1 Reads + + return read_data; + } + + + // Memory Read/Write - 3 cycles + // ----------------------------------------------------------------------------- + else if ( (biu_operation==MEM_READ_BYTE) || (biu_operation==MEM_WRITE_BYTE) ) { + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_ADDR_LATCH_n,0x0); // T1 Falling + digitalWriteFast(PIN_MREQ,0x0); + digitalWriteFast(PIN_RD,!read_cycle); + + digitalWriteFast(PIN_AD7_OUT, (local_data & 0x80) ); + digitalWriteFast(PIN_AD6_OUT, (local_data & 0x40) ); + digitalWriteFast(PIN_AD5_OUT, (local_data & 0x20) ); + digitalWriteFast(PIN_AD4_OUT, (local_data & 0x10) ); + digitalWriteFast(PIN_AD3_OUT, (local_data & 0x08) ); + digitalWriteFast(PIN_AD2_OUT, (local_data & 0x04) ); + digitalWriteFast(PIN_AD1_OUT, (local_data & 0x02) ); + digitalWriteFast(PIN_AD0_OUT, (local_data & 0x01) ); + digitalWriteFast(PIN_DATA_OE_n, read_cycle); + + + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_WR,read_cycle); // T2 Falling + while (direct_wait==0) { wait_for_CLK_falling_edge(); } + + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_MREQ,0x1); // T3 Falling -- Read data sampled on this edge + digitalWriteFast(PIN_RD,0x1); + digitalWriteFast(PIN_WR,0x1); + read_data = read_data_array[ (GPIO6_raw_data>>16) ]; // Read the Z80 bus data, re-arranging bits through read_data_array + + interrupts(); + + if ( (local_address>=0x4000) && read_cycle==0) internal_RAM[local_address] = local_data; // Mode 1 Writes -- Always write to internal RAM + if (local_mode>0) read_data = internal_RAM[local_address]; // Mode 1 Reads + + return read_data; + } + + + // IO Read/Write - 3 cycles with one additional wait state + // ----------------------------------------------------------------------------- + else if ( (biu_operation==IO_READ_BYTE) || (biu_operation==IO_WRITE_BYTE) ) { + + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_ADDR_LATCH_n,0x0); // T1 Falling + digitalWriteFast(PIN_AD7_OUT, (local_data & 0x80) ); + digitalWriteFast(PIN_AD6_OUT, (local_data & 0x40) ); + digitalWriteFast(PIN_AD5_OUT, (local_data & 0x20) ); + digitalWriteFast(PIN_AD4_OUT, (local_data & 0x10) ); + digitalWriteFast(PIN_AD3_OUT, (local_data & 0x08) ); + digitalWriteFast(PIN_AD2_OUT, (local_data & 0x04) ); + digitalWriteFast(PIN_AD1_OUT, (local_data & 0x02) ); + digitalWriteFast(PIN_AD0_OUT, (local_data & 0x01) ); + digitalWriteFast(PIN_DATA_OE_n, read_cycle); + + + wait_for_CLK_rising_edge(); digitalWriteFast(PIN_IOREQ,0x0); // T2 Rising + digitalWriteFast(PIN_RD,!read_cycle); + digitalWriteFast(PIN_WR,read_cycle); + + + wait_for_CLK_rising_edge(); // Tw Rising + wait_for_CLK_rising_edge(); // T3 Rising + wait_for_CLK_falling_edge(); while (direct_wait==0) { wait_for_CLK_falling_edge(); } // T3 Falling -- Read data sampled on this edge + digitalWriteFast(PIN_IOREQ,0x1); + digitalWriteFast(PIN_RD,0x1); + digitalWriteFast(PIN_WR,0x1); + read_data = read_data_array[ (GPIO6_raw_data>>16) ]; // Read the Z80 bus data, re-arranging bits through read_data_array + interrupts(); + return read_data; + } + + + // Interrupt Acknowledge - 4 cycle M1 type but with two additional wait states + // ----------------------------------------------------------------------------- + else if (biu_operation==INTERRUPT_ACK) { + wait_for_CLK_rising_edge(); // T2 Rising + wait_for_CLK_rising_edge(); // Tw1 Rising + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_IOREQ,0x0); // Tw1 Falling + + wait_for_CLK_falling_edge(); while (direct_wait==0) { wait_for_CLK_falling_edge(); } // Tw2 Falling + + // Pre-calculate before the next clock edge to gain speed + // + local_address_high = register_i; + local_address_low = register_r; + gpio7_out = gpio7_high_array[local_address_high] | gpio7_low_array[local_address_low]; + gpio8_out = gpio8_high_array[local_address_high] | 0x00040000 ; // Also set IOREQ_n high + gpio9_out = gpio9_high_array[local_address_high] | gpio9_low_array[local_address_low]; + + writeback_data7 = (0xCFF0E3FC & GPIO7_DR) | 0x2; // drive M1 high again + writeback_data9 = (0xFFFFFE1F & GPIO9_DR); // Read in current GPIOx register value and clear the bits we intend to update + writeback_data8 = (0xFF3FFFFF & GPIO8_DR); // Read in current GPIOx register value and clear the bits we intend to update + + + wait_for_CLK_rising_edge(); read_data_raw = GPIO6_raw_data; // T3 Rising -- Read data sampled on this edge + + // Drive Refresh address + // + GPIO9_DR = writeback_data9 | gpio9_out; + GPIO8_DR = writeback_data8 | gpio8_out; + GPIO7_DR = writeback_data7 | gpio7_out; + + digitalWriteFast(PIN_M1,0x1); + digitalWriteFast(PIN_RFSH,0x0); + digitalWriteFast(PIN_IOREQ,0x1); + + + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_MREQ,0x0); // T3 Falling + read_data = read_data_array[ (read_data_raw>>16) ]; // Read the Z80 bus data, re-arranging bits through read_data_array + + + wait_for_CLK_falling_edge(); digitalWriteFast(PIN_MREQ,0x1); // T4 Falling + debounce_refresh=1; + interrupts(); + return read_data; + } + + + +return 0xEE; + +} + + +// -------------------------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------- +// +// End Z80 Bus Interface Unit +// +// -------------------------------------------------------------------------------------------------- +// -------------------------------------------------------------------------------------------------- + + +uint16_t Sign_Extend(uint8_t local_data) { if ((0x0080&local_data)!=0) return (0xFF00|local_data); else return (0x00FF&local_data); } + + +// ------------------------------------------------------ +// Z80 Reset routine +// ------------------------------------------------------ +// +void reset_sequence() { + + while (direct_reset==0) { wait_for_CLK_falling_edge(); } // Stay here until RESET is de-aserted + + clock_counter=0; // Debounce prefix, cycle counter, and nmi + last_instruction_set_a_prefix=0; + prefix_dd = 0; + prefix_fd = 0; + prefix_cb = 0; + pause_interrupts=0; + halt_in_progress=0; + nmi_latched=0; + direct_nmi_d=0; + + register_iff1 = 0; // Reset registers + register_iff2 = 0; + register_i = 0; + register_r = 0; + register_im = 0; + register_pc = 0; + register_sp = 0xFFFF; + register_a = 0x00; + register_f = 0xFF; + + wait_for_CLK_rising_edge(); + return; +} + + +// ------------------------------------------------------ +// Fetch an opcode byte - M1 cycle +// ------------------------------------------------------ +uint8_t Fetch_opcode() { + uint8_t local_byte; + + if (assert_iack_type0==1) local_byte = BIU_Bus_Cycle(INTERRUPT_ACK , 0x0000 , 0x00 ); + else local_byte = BIU_Bus_Cycle(OPCODE_READ_M1 , register_pc , 0x00 ); + + assert_iack_type0=0; + register_pc++; + register_r = (register_r&0x80) | (0x7F&(register_r+1)); + + return local_byte; +} + + +// ------------------------------------------------------ +// Read and Write data from BIU +// ------------------------------------------------------ +uint8_t Read_byte(uint16_t local_address) { + uint8_t local_byte; + local_byte = BIU_Bus_Cycle(MEM_READ_BYTE , local_address , 0x00 ); + return local_byte; +} + +uint16_t Read_word(uint16_t local_address) { + uint8_t local_byte1; + uint8_t local_byte2; + local_byte1 = BIU_Bus_Cycle(MEM_READ_BYTE , local_address , 0x00 ); + local_byte2 = BIU_Bus_Cycle(MEM_READ_BYTE , local_address+1 , 0x00 ); + return (local_byte1 | (local_byte2<<8)); +} + +void Write_byte(uint16_t local_address , uint8_t local_data) { + BIU_Bus_Cycle(MEM_WRITE_BYTE , local_address , local_data ); + return; +} + +void Write_word(uint16_t local_address , uint16_t local_data) { + BIU_Bus_Cycle(MEM_WRITE_BYTE , local_address , local_data ); + BIU_Bus_Cycle(MEM_WRITE_BYTE , local_address+1 , local_data>>8 ); + return; +} + +void Writeback_Reg16(uint8_t local_reg , uint16_t local_data) { + switch (local_reg) { + case REG_BC: register_b=(local_data>>8); register_c=(0xFF&local_data); break; + case REG_DE: register_d=(local_data>>8); register_e=(0xFF&local_data); break; + case REG_HL: register_h=(local_data>>8); register_l=(0xFF&local_data); break; + case REG_AF: register_a=(local_data>>8); register_f=(0xFF&local_data); break; + case REG_IX: register_ixh=(local_data>>8); register_ixl=(0xFF&local_data); break; + case REG_IY: register_iyh=(local_data>>8); register_iyl=(0xFF&local_data); break; + } + return; +} + + +// ------------------------------------------------------ +// Prefix Opcodes +// ------------------------------------------------------ +void opcode_0xDD () { + prefix_dd=1; + last_instruction_set_a_prefix=1; + clock_counter = clock_counter + Opcode_Timing_DDFD[opcode_byte]; + return; +} + +void opcode_0xFD () { + prefix_fd=1; + last_instruction_set_a_prefix=1; + clock_counter = clock_counter + Opcode_Timing_DDFD[opcode_byte]; + return; +} + + +void opcode_0x00 () { return; } // NOP + + +// ------------------------------------------------------ +// Stack +// ------------------------------------------------------ +void Push(uint16_t local_data) { + register_sp--; + BIU_Bus_Cycle(MEM_WRITE_BYTE , register_sp , local_data>>8 ); // High Byte + register_sp--; + BIU_Bus_Cycle(MEM_WRITE_BYTE , register_sp , local_data ); // Low Byte + return; +} + +uint16_t Pop() { + uint8_t local_data_low; + uint8_t local_data_high; + + local_data_low = BIU_Bus_Cycle(MEM_READ_BYTE , register_sp , 0x00 ); // Low Byte + register_sp++; + local_data_high = BIU_Bus_Cycle(MEM_READ_BYTE , register_sp , 0x00 ); // High Byte + register_sp++; + return( (local_data_high<<8) | local_data_low); +} +void opcode_0xC5() { Push(REGISTER_BC); return; } // push bc +void opcode_0xD5() { Push(REGISTER_DE); return; } // push de +void opcode_0xE5() { if (prefix_dd==1) Push(REGISTER_IX); else if (prefix_fd==1) Push(REGISTER_IY); else Push(REGISTER_HL); return; } // push hl +void opcode_0xF5() { Push(REGISTER_AF); return; } // push af + +void opcode_0xF1() { uint16_t local_data = Pop(); register_a =(local_data>>8); register_f =(local_data&0xFF); return; } // pop af +void opcode_0xC1() { uint16_t local_data = Pop(); register_b =(local_data>>8); register_c =(local_data&0xFF); return; } // pop bc +void opcode_0xD1() { uint16_t local_data = Pop(); register_d =(local_data>>8); register_e =(local_data&0xFF); return; } // pop de +void opcode_0xE1() { uint16_t local_data = Pop(); if (prefix_dd==1) { register_ixh=(local_data>>8); register_ixl=(local_data&0xFF);} // pop ix + else if (prefix_fd==1) { register_iyh=(local_data>>8); register_iyl=(local_data&0xFF);} // pop iy + else { register_h =(local_data>>8); register_l =(local_data&0xFF);} return; } // pop hl + + + + + + +// ------------------------------------------------------ +// Flags/Complements +// ------------------------------------------------------ + +void opcode_0x3F() { temp8 = register_f & 0x01; // Store old C Flag + register_f = register_f & 0xC4; // Clear H, C, N, 5,3 + if (temp8==1) register_f = register_f | 0x10; // Set H + if (temp8==0) register_f = register_f | 0x01; // Compliiment C Flag + register_f = register_f | (register_a&0x28); + return; } // ccf + + +void opcode_0x2F() { register_a = 0xFF ^ register_a; // Compliment register a + register_f = register_f | 0x12; // Set N and H Flags + register_f = register_f & 0xD7; // Clear Flags 5,3 + register_f = register_f | (register_a&0x28); + return; } // cpl + + +void opcode_0x37() { register_f = register_f | 0x01; // Set C + register_f = register_f & 0xC5; // Clear Flags H, N, 5,3 + register_f = register_f | (register_a&0x28); + return; } // scf + + + +// ------------------------------------------------------ +// Interrupt enables and modes +// ------------------------------------------------------ +void opcode_0xED46() { register_im=0; return; } // IM0 +void opcode_0xED56() { register_im=1; return; } // IM1 +void opcode_0xED5E() { register_im=2; return; } // IM2 +void opcode_0xFB() { register_iff1=1; register_iff2=1; last_instruction_set_a_prefix=0; return; } // ei +void opcode_0xF3() { register_iff1=0; register_iff2=0; return; } // di + + +// ------------------------------------------------------ +// Exchanges +// ------------------------------------------------------ +void opcode_0x08() { temp8=register_a; register_a=register_a2; register_a2=temp8; temp8=register_f; register_f=register_f2; register_f2=temp8; return; } // ex af,af' +void opcode_0xEB() { temp8=register_d; register_d=register_h; register_h=temp8; temp8=register_e; register_e=register_l; register_l=temp8; return; } // ex de hl + +void opcode_0xD9() { temp8=register_b; register_b=register_b2; register_b2=temp8; temp8=register_c; register_c=register_c2; register_c2=temp8; // exx bc bc' + temp8=register_d; register_d=register_d2; register_d2=temp8; temp8=register_e; register_e=register_e2; register_e2=temp8; // de de' + temp8=register_h; register_h=register_h2; register_h2=temp8; temp8=register_l; register_l=register_l2; register_l2=temp8; return; } // hl hl' + +void opcode_0xE3() { if (prefix_dd==1) { temp8=Read_byte(register_sp); Write_byte(register_sp ,register_ixl); register_ixl=temp8; // ex (sp),ix + temp8=Read_byte(register_sp+1); Write_byte(register_sp+1,register_ixh); register_ixh=temp8; } else + if (prefix_fd==1) { temp8=Read_byte(register_sp); Write_byte(register_sp ,register_iyl); register_iyl=temp8; // ex (sp),iy + temp8=Read_byte(register_sp+1); Write_byte(register_sp+1,register_iyh); register_iyh=temp8; } else + + { temp8=Read_byte(register_sp); Write_byte(register_sp ,register_l); register_l=temp8; // ex (sp),hl + temp8=Read_byte(register_sp+1); Write_byte(register_sp+1,register_h); register_h=temp8; } return; } + + +// ------------------------------------------------------ +// Jumps, Calls, Returns +// ------------------------------------------------------ +void Jump_Not_Taken8() { + Fetch_opcode(); + return; +} +void Jump_Not_Taken16() { + Fetch_opcode(); + Fetch_opcode(); + return; +} +void Jump_Taken8() { + uint16_t local_displacement; + + local_displacement = Sign_Extend(Fetch_opcode()); + register_pc = (register_pc) + local_displacement; + return; +} +void Jump_Taken16() { + uint16_t local_displacement; + + local_displacement = Fetch_opcode(); + register_pc = (Fetch_opcode()<<8) | local_displacement; + return; +} +void opcode_0x18() { clock_counter=clock_counter+5; Jump_Taken8(); return; } // jr * - Disp8 +void opcode_0x20() { if (flag_z == 0) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr nz,* - Disp8 +void opcode_0x28() { if (flag_z == 1) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr z,* - Disp8 +void opcode_0x30() { if (flag_c == 0) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr nc,* - Disp8 +void opcode_0x38() { if (flag_c == 1) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // jr c,* - Disp8 +void opcode_0x10() { register_b--; if (register_b != 0) {clock_counter=clock_counter+5; Jump_Taken8();} else Jump_Not_Taken8(); return; } // djnz * - Disp8 + +void opcode_0xC2() { if (flag_z == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp nz,** +void opcode_0xCA() { if (flag_z == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp z,** +void opcode_0xD2() { if (flag_c == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp nc,** +void opcode_0xDA() { if (flag_c == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp c,** +void opcode_0xE2() { if (flag_p == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp po,** +void opcode_0xEA() { if (flag_p == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp pe,** +void opcode_0xF2() { if (flag_s == 0) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp p,** +void opcode_0xFA() { if (flag_s == 1) Jump_Taken16(); else Jump_Not_Taken16(); return; } // jp m,** + +void opcode_0xC3() { Jump_Taken16(); return; } // jp ** +void opcode_0xE9() { if (prefix_dd==1) register_pc = (REGISTER_IX); else if (prefix_fd==1) register_pc = (REGISTER_IY); else register_pc = (REGISTER_HL); return; } // jp ix or iy, or (hl) + +void opcode_0xC4() { if (flag_z == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call nz,** +void opcode_0xCC() { if (flag_z == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call z,** +void opcode_0xD4() { if (flag_c == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call nc,** +void opcode_0xDC() { if (flag_c == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call c,** +void opcode_0xE4() { if (flag_p == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call po,** +void opcode_0xEC() { if (flag_p == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call pe,** +void opcode_0xF4() { if (flag_s == 0) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call p,** +void opcode_0xFC() { if (flag_s == 1) { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); } else Jump_Not_Taken16(); return; } // call m,** +void opcode_0xCD() { clock_counter=clock_counter+7; Push(register_pc+2); Jump_Taken16(); return; } // call ** + +void opcode_0xC9() { clock_counter=clock_counter+6; register_pc = Pop(); return; } // ret +void opcode_0xC0() { if (flag_z == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret nz +void opcode_0xC8() { if (flag_z == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret z +void opcode_0xD0() { if (flag_c == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret nc +void opcode_0xD8() { if (flag_c == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret c +void opcode_0xE0() { if (flag_p == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret po +void opcode_0xE8() { if (flag_p == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret pe +void opcode_0xF0() { if (flag_s == 0) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret p +void opcode_0xF8() { if (flag_s == 1) {clock_counter=clock_counter+6; register_pc = Pop(); } return; } // ret m +void opcode_0xED45() { register_iff1=register_iff2; register_pc = Pop(); return; } // retn +void opcode_0xED4D() { register_pc = Pop(); return; } // reti + +void opcode_0xC7() { Push(register_pc); register_pc = 0x00; return; } // rst 00h +void opcode_0xD7() { Push(register_pc); register_pc = 0x10; return; } // rst 10h +void opcode_0xE7() { Push(register_pc); register_pc = 0x20; return; } // rst 20h +void opcode_0xF7() { Push(register_pc); register_pc = 0x30; return; } // rst 30h +void opcode_0xCF() { Push(register_pc); register_pc = 0x08; return; } // rst 08h +void opcode_0xDF() { Push(register_pc); register_pc = 0x18; return; } // rst 18h +void opcode_0xEF() { Push(register_pc); register_pc = 0x28; return; } // rst 28h +void opcode_0xFF() { Push(register_pc); register_pc = 0x38; return; } // rst 38h + + +// ------------------------------------------------------ +// Loads +// ------------------------------------------------------ +void opcode_0x01 () { register_c = Fetch_opcode(); register_b = Fetch_opcode(); return; } +void opcode_0x11 () { register_e = Fetch_opcode(); register_d = Fetch_opcode(); return; } +void opcode_0x0A () { register_a = Read_byte(REGISTER_BC); return; } +void opcode_0x0E () { register_c = Fetch_opcode(); return; } +void opcode_0x1E () { register_e = Fetch_opcode(); return; } +void opcode_0x1A () { register_a = Read_byte(REGISTER_DE); return; } + +void opcode_0x21 () { if (prefix_dd==1) { register_ixl = Fetch_opcode(); register_ixh = Fetch_opcode(); } else + if (prefix_fd==1) { register_iyl = Fetch_opcode(); register_iyh = Fetch_opcode(); } else + { register_l = Fetch_opcode(); register_h = Fetch_opcode(); } return; } + +void opcode_0x22 () { + uint16_t local_address; + + local_address = Fetch_opcode(); + local_address = (Fetch_opcode()<<8) | local_address; + + if (prefix_dd==1) { Write_byte(local_address , register_ixl); Write_byte( local_address+1 , register_ixh); } else + if (prefix_fd==1) { Write_byte(local_address , register_iyl); Write_byte( local_address+1 , register_iyh); } else + { Write_byte(local_address , register_l); Write_byte( local_address+1 , register_h); } +return; } + +void opcode_0x2A () { + uint16_t local_address; + + local_address = Fetch_opcode(); + local_address = (Fetch_opcode()<<8) | local_address; + + if (prefix_dd==1) { register_ixl = Read_byte(local_address); register_ixh = Read_byte(local_address+1); } else + if (prefix_fd==1) { register_iyl = Read_byte(local_address); register_iyh = Read_byte(local_address+1); } else + { register_l = Read_byte(local_address); register_h = Read_byte(local_address+1); } +return; } + +void opcode_0x06 () { register_b = Fetch_opcode(); return; } +void opcode_0x16 () { register_d = Fetch_opcode(); return; } +void opcode_0x26 () { if (prefix_dd==1) { register_ixh = Fetch_opcode(); } else if (prefix_fd==1) { register_iyh = Fetch_opcode(); } else register_h = Fetch_opcode(); return; } +void opcode_0x2E () { if (prefix_dd==1) { register_ixl = Fetch_opcode(); } else if (prefix_fd==1) { register_iyl = Fetch_opcode(); } else register_l = Fetch_opcode(); return; } + + + + +void opcode_0x31 () { + uint16_t local_address; + local_address = Fetch_opcode(); + local_address = (Fetch_opcode()<<8) | local_address; + + register_sp = local_address; return; } + +void opcode_0x32 () { + uint16_t local_address; + + local_address = Fetch_opcode(); + local_address = (Fetch_opcode()<<8) | local_address; + + Write_byte(local_address , register_a); +return; } + +void opcode_0x36 () { if (prefix_dd==1) Write_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) , Fetch_opcode() ); else + if (prefix_fd==1) Write_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) , Fetch_opcode() ); else + Write_byte(REGISTER_HL , Fetch_opcode() ); return; } + + + +void opcode_0x3A () { register_a = Read_byte((Fetch_opcode()|(Fetch_opcode()<<8))); return; } +void opcode_0x3E () { register_a = Fetch_opcode(); return; } + +void opcode_0x40 () { register_b = register_b; return; } +void opcode_0x41 () { register_b = register_c; return; } +void opcode_0x42 () { register_b = register_d; return; } +void opcode_0x43 () { register_b = register_e; return; } +void opcode_0x44 () { if (prefix_dd==1) register_b = register_ixh; else if (prefix_fd==1) register_b = register_iyh; else register_b = register_h; return; } +void opcode_0x45 () { if (prefix_dd==1) register_b = register_ixl; else if (prefix_fd==1) register_b = register_iyl; else register_b = register_l; return; } +void opcode_0x46 () { if (prefix_dd==1) register_b = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else + if (prefix_fd==1) register_b = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else + register_b = Read_byte(REGISTER_HL); return; } +void opcode_0x47 () { register_b = register_a; return; } +void opcode_0x48 () { register_c = register_b; return; } +void opcode_0x49 () { register_c = register_c; return; } +void opcode_0x4A () { register_c = register_d; return; } +void opcode_0x4B () { register_c = register_e; return; } +void opcode_0x4C () { if (prefix_dd==1) register_c = register_ixh; else if (prefix_fd==1) register_c = register_iyh; else register_c = register_h; return; } +void opcode_0x4D () { if (prefix_dd==1) register_c = register_ixl; else if (prefix_fd==1) register_c = register_iyl; else register_c = register_l; return; } +void opcode_0x4E () { if (prefix_dd==1) register_c = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else + if (prefix_fd==1) register_c = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else + register_c = Read_byte(REGISTER_HL); return; } +void opcode_0x4F () { register_c = register_a; return; } + +// ---------------------------------------- + +void opcode_0x50 () { register_d = register_b; return; } +void opcode_0x51 () { register_d = register_c; return; } +void opcode_0x52 () { register_d = register_d; return; } +void opcode_0x53 () { register_d = register_e; return; } +void opcode_0x54 () { if (prefix_dd==1) register_d = register_ixh; else if (prefix_fd==1) register_d = register_iyh; else register_d = register_h; return; } +void opcode_0x55 () { if (prefix_dd==1) register_d = register_ixl; else if (prefix_fd==1) register_d = register_iyl; else register_d = register_l; return; } +void opcode_0x56 () { if (prefix_dd==1) register_d = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else + if (prefix_fd==1) register_d = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else + register_d = Read_byte(REGISTER_HL); return; } +void opcode_0x57 () { register_d = register_a; return; } +void opcode_0x58 () { register_e = register_b; return; } +void opcode_0x59 () { register_e = register_c; return; } +void opcode_0x5A () { register_e = register_d; return; } +void opcode_0x5B () { register_e = register_e; return; } +void opcode_0x5C () { if (prefix_dd==1) register_e = register_ixh; else if (prefix_fd==1) register_e = register_iyh; else register_e = register_h; return; } +void opcode_0x5D () { if (prefix_dd==1) register_e = register_ixl; else if (prefix_fd==1) register_e = register_iyl; else register_e = register_l; return; } +void opcode_0x5E () { if (prefix_dd==1) register_e = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else + if (prefix_fd==1) register_e = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else + register_e = Read_byte(REGISTER_HL); return; } +void opcode_0x5F () { register_e = register_a; return; } + +// ---------------------------------------- + +void opcode_0x60 () { if (prefix_dd==1) register_ixh = register_b; else if (prefix_fd==1) register_iyh = register_b; else register_h = register_b; return; } +void opcode_0x61 () { if (prefix_dd==1) register_ixh = register_c; else if (prefix_fd==1) register_iyh = register_c; else register_h = register_c; return; } +void opcode_0x62 () { if (prefix_dd==1) register_ixh = register_d; else if (prefix_fd==1) register_iyh = register_d; else register_h = register_d; return; } +void opcode_0x63 () { if (prefix_dd==1) register_ixh = register_e; else if (prefix_fd==1) register_iyh = register_e; else register_h = register_e; return; } +void opcode_0x64 () { if (prefix_dd==1) register_ixh = register_ixh; else if (prefix_fd==1) register_iyh = register_iyh; else register_h = register_h; return; } +void opcode_0x65 () { if (prefix_dd==1) register_ixh = register_ixl; else if (prefix_fd==1) register_iyh = register_iyl; else register_h = register_l; return; } +void opcode_0x66 () { if (prefix_dd==1) register_h = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else + if (prefix_fd==1) register_h = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else + register_h = Read_byte(REGISTER_HL); return; } +void opcode_0x67 () { if (prefix_dd==1) register_ixh = register_a; else if (prefix_fd==1) register_iyh = register_a; else register_h = register_a; return; } +void opcode_0x68 () { if (prefix_dd==1) register_ixl = register_b; else if (prefix_fd==1) register_iyl = register_b; else register_l = register_b; return; } +void opcode_0x69 () { if (prefix_dd==1) register_ixl = register_c; else if (prefix_fd==1) register_iyl = register_c; else register_l = register_c; return; } +void opcode_0x6A () { if (prefix_dd==1) register_ixl = register_d; else if (prefix_fd==1) register_iyl = register_d; else register_l = register_d; return; } +void opcode_0x6B () { if (prefix_dd==1) register_ixl = register_e; else if (prefix_fd==1) register_iyl = register_e; else register_l = register_e; return; } +void opcode_0x6C () { if (prefix_dd==1) register_ixl = register_ixh; else if (prefix_fd==1) register_iyl = register_iyh; else register_l = register_h; return; } +void opcode_0x6D () { if (prefix_dd==1) register_ixl = register_ixl; else if (prefix_fd==1) register_iyl = register_iyl; else register_l = register_l; return; } +void opcode_0x6E () { if (prefix_dd==1) register_l = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else + if (prefix_fd==1) register_l = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else + register_l = Read_byte(REGISTER_HL); return; } +void opcode_0x6F () { if (prefix_dd==1) register_ixl = register_a; else if (prefix_fd==1) register_iyl = register_a; else register_l = register_a; return; } + +// ---------------------------------------- + +void opcode_0x02 () { Write_byte(REGISTER_BC , register_a); return; } // ld (bc),a +void opcode_0x12 () { Write_byte(REGISTER_DE , register_a); return; } // ld (de),a + + +void opcode_0x70 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_b); else + if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_b); else + Write_byte( REGISTER_HL , register_b ); return; } + +void opcode_0x71 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_c); else + if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_c); else + Write_byte( REGISTER_HL , register_c ); return; } + +void opcode_0x72 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_d); else + if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_d); else + Write_byte( REGISTER_HL , register_d ); return; } + +void opcode_0x73 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_e); else + if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_e); else + Write_byte( REGISTER_HL , register_e ); return; } + +void opcode_0x74 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_h); else + if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_h); else + Write_byte( REGISTER_HL , register_h ); return; } + +void opcode_0x75 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_l); else + if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_l); else + Write_byte( REGISTER_HL , register_l ); return; } + +void opcode_0x77 () { if (prefix_dd==1) Write_byte( (REGISTER_IX+Sign_Extend(Fetch_opcode())) , register_a); else + if (prefix_fd==1) Write_byte( (REGISTER_IY+Sign_Extend(Fetch_opcode())) , register_a); else + Write_byte( REGISTER_HL , register_a ); return; } +void opcode_0x78 () { register_a = register_b; return; } +void opcode_0x79 () { register_a = register_c; return; } +void opcode_0x7A () { register_a = register_d; return; } +void opcode_0x7B () { register_a = register_e; return; } +void opcode_0x7C () { if (prefix_dd==1) register_a = register_ixh; else if (prefix_fd==1) register_a = register_iyh; else register_a = register_h; return; } +void opcode_0x7D () { if (prefix_dd==1) register_a = register_ixl; else if (prefix_fd==1) register_a = register_iyl; else register_a = register_l; return; } +void opcode_0x7E () { if (prefix_dd==1) register_a = Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) ); else + if (prefix_fd==1) register_a = Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) ); else + register_a = Read_byte(REGISTER_HL); return; } +void opcode_0x7F () { register_a = register_a; return; } + +// ---------------------------------------- + + +void opcode_0xF9 () { if (prefix_dd==1) register_sp = ((register_ixh<<8) | register_ixl); else + if (prefix_fd==1) register_sp = ((register_iyh<<8) | register_iyl); else + register_sp = ((register_h <<8) | register_l ); return; } + + +void opcode_0xED43 () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + Write_byte(local_address , register_c); Write_byte( local_address+1 , register_b); +return; } + + +void opcode_0xED53 () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + Write_byte(local_address , register_e); Write_byte( local_address+1 , register_d); +return; } + + +void opcode_0xED63 () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + Write_byte(local_address , register_l); Write_byte( local_address+1 , register_h); +return; } + + +void opcode_0xED73 () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + Write_word(local_address , register_sp); +return; } + + + +void opcode_0xED4B () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + register_c = Read_byte(local_address); + register_b = Read_byte(local_address+1); + +return; } + + +void opcode_0xED5B () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + register_e = Read_byte(local_address); + register_d = Read_byte(local_address+1); + +return; } + +void opcode_0xED6B () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + register_l = Read_byte(local_address); + register_h = Read_byte(local_address+1); + +return; } + +void opcode_0xED7B () { + uint16_t local_address; + + local_address = (Fetch_opcode() | (Fetch_opcode()<<8)); + + register_sp = Read_word(local_address); + +return; } + + + +void opcode_0xED47 () { register_i = register_a; return; } // ld i, a + +void opcode_0xED57 () { register_a = register_i; // ld a, i + register_f = register_f & 0x29; // Clear S, Z, H, P, N flags + if (register_iff2) register_f=register_f|0x04; // Set P flag + register_f = register_f | (register_a&0x80); // Set S flag + if (register_a==0) register_f = register_f | 0x40; // Set Z flag + return; } + +void opcode_0xED4F () { register_r = register_a; return; } + +void opcode_0xED5F () { register_a = register_r; + register_f = register_f & 0x29; // Clear S, Z, H, P, N flags + if (register_iff2) register_f=register_f|0x04; // Set P flag + register_f = register_f | (register_a&0x80); // Set S flag + if (register_a==0) register_f = register_f | 0x40; // Set Z flag + return; } + + +// ------------------------------------------------------ +// Boolean +// ------------------------------------------------------ + +void Flags_Boolean() { + register_f = register_f & 0x00; // Clear S, Z, H, P, N, C flags + if (and_opcode==1) register_f = register_f | 0x10; // Set H flag + register_f = register_f | Parity_Array[register_a]; // Set P flag + register_f = register_f | (register_a&0x80); // Set S flag + if (register_a==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results + and_opcode=0; + return; +} + + +void opcode_0xA0 () { register_a=(register_a & register_b); and_opcode=1; Flags_Boolean(); return; } // and b +void opcode_0xA1 () { register_a=(register_a & register_c); and_opcode=1; Flags_Boolean(); return; } // and c +void opcode_0xA2 () { register_a=(register_a & register_d); and_opcode=1; Flags_Boolean(); return; } // and d +void opcode_0xA3 () { register_a=(register_a & register_e); and_opcode=1; Flags_Boolean(); return; } // and e +void opcode_0xA4 () { if (prefix_dd==1) register_a=(register_a & register_ixh); else // and h , ixh, iyh + if (prefix_fd==1) register_a=(register_a & register_iyh); else + register_a=(register_a & register_h); + and_opcode=1; Flags_Boolean(); return; } +void opcode_0xA5 () { if (prefix_dd==1) register_a=(register_a & register_ixl); else // and l , ixl, iyl + if (prefix_fd==1) register_a=(register_a & register_iyl); else + register_a=(register_a & register_l); + and_opcode=1; Flags_Boolean(); return; } +void opcode_0xA6 () { if (prefix_dd==1) register_a=(register_a & Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) )); else // and (hl) , ix+*, iy+* + if (prefix_fd==1) register_a=(register_a & Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) )); else + register_a=(register_a & Read_byte(REGISTER_HL)); + and_opcode=1; Flags_Boolean(); return; } +void opcode_0xA7 () { register_a=(register_a & register_a); and_opcode=1; Flags_Boolean(); return; } // and a +void opcode_0xE6 () { register_a=(register_a & Fetch_opcode()); and_opcode=1; Flags_Boolean(); return; } // and * + +// ---- + +void opcode_0xA8 () { register_a=(register_a ^ register_b); Flags_Boolean(); return; } // xor b +void opcode_0xA9 () { register_a=(register_a ^ register_c); Flags_Boolean(); return; } // xor c +void opcode_0xAA () { register_a=(register_a ^ register_d); Flags_Boolean(); return; } // xor d +void opcode_0xAB () { register_a=(register_a ^ register_e); Flags_Boolean(); return; } // xor e +void opcode_0xAC () { if (prefix_dd==1) register_a=(register_a ^ register_ixh); else // xor h , ixh, iyh + if (prefix_fd==1) register_a=(register_a ^ register_iyh); else + register_a=(register_a ^ register_h); + Flags_Boolean(); return; } +void opcode_0xAD () { if (prefix_dd==1) register_a=(register_a ^ register_ixl); else // xor l , ixl, iyl + if (prefix_fd==1) register_a=(register_a ^ register_iyl); else + register_a=(register_a ^ register_l); + Flags_Boolean(); return; } +void opcode_0xAE () { if (prefix_dd==1) register_a=(register_a ^ Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) )); else // xor (hl) , ix+*, iy+* + if (prefix_fd==1) register_a=(register_a ^ Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) )); else + register_a=(register_a ^ Read_byte(REGISTER_HL)); + Flags_Boolean(); return; } +void opcode_0xAF () { register_a=(register_a ^ register_a); Flags_Boolean(); return; } // xor a +void opcode_0xEE () { register_a=(register_a ^ Fetch_opcode()); Flags_Boolean(); return; } // xor * + +// ---- + +void opcode_0xB0 () { register_a=(register_a | register_b); Flags_Boolean(); return; } // or b +void opcode_0xB1 () { register_a=(register_a | register_c); Flags_Boolean(); return; } // or c +void opcode_0xB2 () { register_a=(register_a | register_d); Flags_Boolean(); return; } // or d +void opcode_0xB3 () { register_a=(register_a | register_e); Flags_Boolean(); return; } // or e +void opcode_0xB4 () { if (prefix_dd==1) register_a=(register_a | register_ixh); else // or h , ixh, iyh + if (prefix_fd==1) register_a=(register_a | register_iyh); else + register_a=(register_a | register_h); + Flags_Boolean(); return; } +void opcode_0xB5 () { if (prefix_dd==1) register_a=(register_a | register_ixl); else // or l , ixl, iyl + if (prefix_fd==1) register_a=(register_a | register_iyl); else + register_a=(register_a | register_l); + Flags_Boolean(); return; } +void opcode_0xB6 () { if (prefix_dd==1) register_a=(register_a | Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()) )); else // or (hl) , ix+*, iy+* + if (prefix_fd==1) register_a=(register_a | Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()) )); else + register_a=(register_a | Read_byte(REGISTER_HL)); + Flags_Boolean(); return; } +void opcode_0xB7 () { register_a=(register_a | register_a); Flags_Boolean(); return; } // or a +void opcode_0xF6 () { register_a=(register_a | Fetch_opcode()); Flags_Boolean(); return; } // or * + + +// ------------------------------------------------------ +// Addition for bytes +// ------------------------------------------------------ +uint8_t ADD_Bytes(uint8_t local_data1 , uint8_t local_data2) { + uint8_t local_nibble_results; + uint16_t local_byte_results; + uint16_t operand0=0; + uint16_t operand1=0; + uint16_t result=0; + uint8_t local_cf=0; + + local_cf=(flag_c); + + + register_f = register_f & 0x01; // Clear S, Z, H, V, N flags + + if (with_carry==1) { local_nibble_results = (0x0F&local_data1) + (0x0F&local_data2) + local_cf; // Perform the nibble math + local_byte_results = local_data1 + local_data2 + local_cf; // Perform the byte math + } + else { local_nibble_results = (0x0F&local_data1) + (0x0F&local_data2); // Perform the nibble math + local_byte_results = local_data1 + local_data2; // Perform the byte math + } + + if (local_nibble_results > 0x0F) register_f = (register_f | 0x10); // Set H Flag + if ( inc_dec==0 ) { if (local_byte_results > 0xFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes + inc_dec = 0; // Debounce inc_dec + + operand0 = (local_data1 & 0x0080); + operand1 = (local_data2 & 0x0080); + result = (local_byte_results & 0x0080); + if (operand0==0 && operand1==0 && result!=0) register_f = (register_f | 0x04); // Set V Flag + else if (operand0!=0 && operand1!=0 && result==0) register_f = (register_f | 0x04); + + register_f = register_f | (local_byte_results&0x80); // Set S flag + if ((0xFF&local_byte_results)==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | (local_byte_results&0x28); // Set flag bits 5,3 to ALU results + with_carry=0; + + return local_byte_results; +} + +// ------------------------------------------------------ +// Addition for words +// ------------------------------------------------------ +uint16_t ADD_Words(uint16_t local_data1 , uint16_t local_data2) { + uint16_t local_nibble_results; + uint32_t local_word_results; + uint8_t local_cf=0; + + local_cf=(flag_c); + + register_f = register_f & 0xC5; // Clear H, N flags + + + if (with_carry==1) { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2) + local_cf; // Perform the nibble math + local_word_results = local_data1 + local_data2 + local_cf; // Perform the word math + } + else { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2); // Perform the nibble math + local_word_results = local_data1 + local_data2; // Perform the word math + } + + + if (local_nibble_results > 0x0FFF) register_f = (register_f | 0x10); // Set H Flag + if ( inc_dec==0 ) { if (local_word_results > 0xFFFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes + register_f = register_f | ((local_word_results>>8)&0x28); // Set flag bits 5,3 to ALU results + inc_dec = 0; // Debounce inc_dec + with_carry=0; + + return local_word_results; +} + + +// ------------------------------------------------------ +// Addition for words2 - Sets all flags +// ------------------------------------------------------ +uint16_t ADD_Words2(uint16_t local_data1 , uint16_t local_data2) { + uint16_t local_nibble_results; + uint32_t local_word_results; + uint16_t operand0=0; + uint16_t operand1=0; + uint16_t result=0; + uint8_t local_cf=0; + + local_cf=(flag_c); + + register_f = register_f & 0x01; // Clear S, Z, H, V, N flags + + + if (with_carry==1) { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2) + local_cf; // Perform the nibble math + local_word_results = local_data1 + local_data2 + local_cf; // Perform the word math + } + else { local_nibble_results = (0x0FFF&local_data1) + (0x0FFF&local_data2); // Perform the nibble math + local_word_results = local_data1 + local_data2; // Perform the word math + } + + + if (local_nibble_results > 0x0FFF) register_f = (register_f | 0x10); // Set H Flag + if ( inc_dec==0 ) { if (local_word_results > 0xFFFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes + inc_dec = 0; // Debounce inc_dec + + + operand0 = (local_data1 & 0x8000); + operand1 = (local_data2 & 0x8000); + result = (local_word_results & 0x8000); + if (operand0==0 && operand1==0 && result!=0) register_f = (register_f | 0x04); // Set V Flag + else if (operand0!=0 && operand1!=0 && result==0) register_f = (register_f | 0x04); + + if (local_word_results&0x8000)register_f = register_f | 0x80; // Set S flag + if (local_word_results==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | ((local_word_results>>8)&0x28); // Set flag bits 5,3 to ALU results + with_carry=0; + + return local_word_results; +} + + +// ------------------------------------------------------ +// Subtraction for bytes +// ------------------------------------------------------ +uint8_t SUB_Bytes(uint8_t local_data1 , uint8_t local_data2) { + uint8_t local_nibble_results; + uint16_t local_byte_results; + uint16_t operand0=0; + uint16_t operand1=0; + uint16_t result=0; + uint8_t local_cf=0; + + local_cf=(flag_c); + + register_f = register_f & 0x01; // Clear S, Z, H, V, N flags + + + if (with_carry==1) { local_nibble_results = (0x0F&local_data1) - (0x0F&local_data2) - local_cf; // Perform the nibble math + local_byte_results = local_data1 - local_data2 - local_cf; // Perform the byte math + } + else { local_nibble_results = (0x0F&local_data1) - (0x0F&local_data2); // Perform the nibble math + local_byte_results = local_data1 - local_data2; // Perform the byte math + } + + if (local_nibble_results > 0x0F) register_f = (register_f | 0x10); // Set H Flag + if ( inc_dec==0 ) { if (local_byte_results > 0xFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes + inc_dec = 0; // Debounce inc_dec + + + operand0 = (local_data1 & 0x0080); + operand1 = (local_data2 & 0x0080); + result = (local_byte_results & 0x0080); + if (operand0==0 && operand1!=0 && result!=0) register_f = (register_f | 0x04); // Set V Flag + else if (operand0!=0 && operand1==0 && result==0) register_f = (register_f | 0x04); + + register_f = register_f | (local_byte_results&0x80); // Set S flag + if ((0xFF&local_byte_results)==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | 0x02; // Set N flag always for subtraction + if (cp_opcode==0) register_f = register_f | (local_byte_results&0x28); else // Set flag bits 5,3 to ALU results + register_f = register_f | (local_data2&0x28); // Set flag bits 5,3 to ALU results + with_carry=0; + cp_opcode=0; + + return local_byte_results; +} +// ------------------------------------------------------ +// Subtraction for words +// ------------------------------------------------------ +uint16_t SUB_Words(uint16_t local_data1 , uint16_t local_data2) { + uint16_t local_nibble_results; + uint32_t local_word_results; + uint16_t operand0=0; + uint16_t operand1=0; + uint16_t result=0; + uint8_t local_cf=0; + + local_cf=(flag_c); + + register_f = register_f & 0x01; // Clear S, Z, H, V, N flags + + + if (with_carry==1) { local_nibble_results = (0x0FFF&local_data1) - (0x0FFF&local_data2) - local_cf; // Perform the nibble math + local_word_results = local_data1 - local_data2 - local_cf; // Perform the word math + } + else { local_nibble_results = (0x0FFF&local_data1) - (0x0FFF&local_data2); // Perform the nibble math + local_word_results = local_data1 - local_data2; // Perform the word math + } + + if (local_nibble_results > 0x0FFF) register_f = (register_f | 0x10); // Set H Flag + if ( inc_dec==0 ) { if (local_word_results > 0xFFFF) register_f = (register_f | 0x01); else register_f = (register_f & 0xFE); } // Set C Flag if not INC or DEC opcodes + inc_dec = 0; // Debounce inc_dec + + + operand0 = (local_data1 & 0x8000); + operand1 = (local_data2 & 0x8000); + result = (local_word_results & 0x8000); + if (operand0==0 && operand1!=0 && result!=0) register_f = (register_f | 0x04); // Set V Flag + else if (operand0!=0 && operand1==0 && result==0) register_f = (register_f | 0x04); + + if (local_word_results&0x8000)register_f = register_f | 0x80; // Set S flag + if (local_word_results==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | 0x02; // Set N flag always for subtraction + register_f = register_f | ((local_word_results>>8)&0x28); // Set flag bits 5,3 to ALU results + with_carry=0; + + return local_word_results; +} +void opcode_0x09 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , REGISTER_BC) ); else // add ix,bc + if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , REGISTER_BC) ); else // add iy,bc + Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , REGISTER_BC) ); return; } // add hl,bc + + +void opcode_0x19 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , REGISTER_DE) ); else // add ix,de + if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , REGISTER_DE) ); else // add iy,de + Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , REGISTER_DE) ); return; } // add hl,de + + +void opcode_0x29 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , REGISTER_IX) ); else // add ix,ix + if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , REGISTER_IY) ); else // add iy,iy + Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , REGISTER_HL) ); return; } // add hl,hl + + +void opcode_0x39 () { if (prefix_dd==1) Writeback_Reg16(REG_IX , ADD_Words(REGISTER_IX , register_sp) ); else // add ix,sp + if (prefix_fd==1) Writeback_Reg16(REG_IY , ADD_Words(REGISTER_IY , register_sp) ); else // add iy,sp + Writeback_Reg16(REG_HL , ADD_Words(REGISTER_HL , register_sp) ); return; } // add hl,sp + + + +void opcode_0xC6 () { register_a = ADD_Bytes(register_a , Fetch_opcode() ); return; } // add a,* +void opcode_0x87 () { register_a = ADD_Bytes(register_a , register_a); return; } // add a,a +void opcode_0x80 () { register_a = ADD_Bytes(register_a , register_b); return; } // add a,b +void opcode_0x81 () { register_a = ADD_Bytes(register_a , register_c); return; } // add a,c +void opcode_0x82 () { register_a = ADD_Bytes(register_a , register_d); return; } // add a,d +void opcode_0x83 () { register_a = ADD_Bytes(register_a , register_e); return; } // add a,e + +void opcode_0x84 () { if (prefix_dd==1) { register_a = ADD_Bytes(register_a , register_ixh); } else // add a, h/ixh/iyh + if (prefix_fd==1) { register_a = ADD_Bytes(register_a , register_iyh); } else + { register_a = ADD_Bytes(register_a , register_h); } return; } + +void opcode_0x85 () { if (prefix_dd==1) { register_a = ADD_Bytes(register_a , register_ixl); } else // add a, l/ixl/iyl + if (prefix_fd==1) { register_a = ADD_Bytes(register_a , register_iyl); } else + { register_a = ADD_Bytes(register_a , register_l); } return; } + +void opcode_0x86 () { if (prefix_dd==1) { register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // add a, (hl)/(ix+*)/(iy+*) + if (prefix_fd==1) { register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else + { register_a = ADD_Bytes(register_a , Read_byte(REGISTER_HL)); } return; } + + +void opcode_0xED4A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , REGISTER_BC) ); return; } // adc hl,bc +void opcode_0xED5A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , REGISTER_DE) ); return; } // adc hl,de +void opcode_0xED6A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , REGISTER_HL) ); return; } // adc hl,hl +void opcode_0xED7A() { with_carry=1; Writeback_Reg16(REG_HL , ADD_Words2(REGISTER_HL , register_sp) ); return; } // adc hl,sp + +void opcode_0xCE () { with_carry=1; register_a = ADD_Bytes(register_a , Fetch_opcode() ); return; } // adc * +void opcode_0x8F () { with_carry=1; register_a = ADD_Bytes(register_a , register_a); return; } // adc a,a +void opcode_0x88 () { with_carry=1; register_a = ADD_Bytes(register_a , register_b); return; } // adc a,b +void opcode_0x89 () { with_carry=1; register_a = ADD_Bytes(register_a , register_c); return; } // adc a,c +void opcode_0x8A () { with_carry=1; register_a = ADD_Bytes(register_a , register_d); return; } // adc a,d +void opcode_0x8B () { with_carry=1; register_a = ADD_Bytes(register_a , register_e); return; } // adc a,e + +void opcode_0x8C () { if (prefix_dd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_ixh); } else // adc a, h/ixh/iyh + if (prefix_fd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_iyh); } else + { with_carry=1; register_a = ADD_Bytes(register_a , register_h); } return; } + +void opcode_0x8D () { if (prefix_dd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_ixl); } else // adc a, l/ixl/iyl + if (prefix_fd==1) { with_carry=1; register_a = ADD_Bytes(register_a , register_iyl); } else + { with_carry=1; register_a = ADD_Bytes(register_a , register_l); } return; } + +void opcode_0x8E () { if (prefix_dd==1) { with_carry=1; register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // adc a, (hl)/(ix+*)/(iy+*) + if (prefix_fd==1) { with_carry=1; register_a = ADD_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else + { with_carry=1; register_a = ADD_Bytes(register_a , Read_byte(REGISTER_HL)); } return; } + + +void opcode_0xED44(){ register_a = SUB_Bytes(0 , register_a); return; } // neg a +void opcode_0xD6 () { register_a = SUB_Bytes(register_a , Fetch_opcode() ); return; } // sub a,* +void opcode_0x97 () { register_a = SUB_Bytes(register_a , register_a); return; } // sub a,a +void opcode_0x90 () { register_a = SUB_Bytes(register_a , register_b); return; } // sub a,b +void opcode_0x91 () { register_a = SUB_Bytes(register_a , register_c); return; } // sub a,c +void opcode_0x92 () { register_a = SUB_Bytes(register_a , register_d); return; } // sub a,d +void opcode_0x93 () { register_a = SUB_Bytes(register_a , register_e); return; } // sub a,e + +void opcode_0x94 () { if (prefix_dd==1) { register_a = SUB_Bytes(register_a , register_ixh); } else // sub a, h/ixh/iyh + if (prefix_fd==1) { register_a = SUB_Bytes(register_a , register_iyh); } else + { register_a = SUB_Bytes(register_a , register_h); } return; } + +void opcode_0x95 () { if (prefix_dd==1) { register_a = SUB_Bytes(register_a , register_ixl); } else // sub a, l/ixl/iyl + if (prefix_fd==1) { register_a = SUB_Bytes(register_a , register_iyl); } else + { register_a = SUB_Bytes(register_a , register_l); } return; } + +void opcode_0x96 () { if (prefix_dd==1) { register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // sub a, (hl)/(ix+*)/(iy+*) + if (prefix_fd==1) { register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else + { register_a = SUB_Bytes(register_a , Read_byte(REGISTER_HL)); } return; } + + + +void opcode_0xED42() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , REGISTER_BC) ); return; } // sbc hl,bc +void opcode_0xED52() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , REGISTER_DE) ); return; } // sbc hl,de +void opcode_0xED62() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , REGISTER_HL) ); return; } // sbc hl,hl +void opcode_0xED72() { with_carry=1; Writeback_Reg16(REG_HL , SUB_Words(REGISTER_HL , register_sp) ); return; } // sbc hl,sp + +void opcode_0xDE () { with_carry=1; register_a = SUB_Bytes(register_a , Fetch_opcode() ); return; } // sbc a,* +void opcode_0x9F () { with_carry=1; register_a = SUB_Bytes(register_a , register_a); return; } // sbc a,a +void opcode_0x98 () { with_carry=1; register_a = SUB_Bytes(register_a , register_b); return; } // sbc a,b +void opcode_0x99 () { with_carry=1; register_a = SUB_Bytes(register_a , register_c); return; } // sbc a,c +void opcode_0x9A () { with_carry=1; register_a = SUB_Bytes(register_a , register_d); return; } // sbc a,d +void opcode_0x9B () { with_carry=1; register_a = SUB_Bytes(register_a , register_e); return; } // sbc a,e + +void opcode_0x9C () { if (prefix_dd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_ixh); } else // sbc a, h/ixh/iyh + if (prefix_fd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_iyh); } else + { with_carry=1; register_a = SUB_Bytes(register_a , register_h); } return; } + +void opcode_0x9D () { if (prefix_dd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_ixl); } else // sbc a, l/ixl/iyl + if (prefix_fd==1) { with_carry=1; register_a = SUB_Bytes(register_a , register_iyl); } else + { with_carry=1; register_a = SUB_Bytes(register_a , register_l); } return; } + +void opcode_0x9E () { if (prefix_dd==1) { with_carry=1; register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // sbc a, (hl)/(ix+*)/(iy+*) + if (prefix_fd==1) { with_carry=1; register_a = SUB_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else + { with_carry=1; register_a = SUB_Bytes(register_a , Read_byte(REGISTER_HL)); } return; } + + +void opcode_0xFE () { cp_opcode=1; SUB_Bytes(register_a , Fetch_opcode() ); return; } // cp * +void opcode_0xBF () { cp_opcode=1; SUB_Bytes(register_a , register_a); return; } // cp a,a +void opcode_0xB8 () { cp_opcode=1; SUB_Bytes(register_a , register_b); return; } // cp a,b +void opcode_0xB9 () { cp_opcode=1; SUB_Bytes(register_a , register_c); return; } // cp a,c +void opcode_0xBA () { cp_opcode=1; SUB_Bytes(register_a , register_d); return; } // cp a,d +void opcode_0xBB () { cp_opcode=1; SUB_Bytes(register_a , register_e); return; } // cp a,e + +void opcode_0xBC () { if (prefix_dd==1) { cp_opcode=1; SUB_Bytes(register_a , register_ixh); } else // cp a, h/ixh/iyh + if (prefix_fd==1) { cp_opcode=1; SUB_Bytes(register_a , register_iyh); } else + { cp_opcode=1; SUB_Bytes(register_a , register_h); } return; } + +void opcode_0xBD () { if (prefix_dd==1) { cp_opcode=1; SUB_Bytes(register_a , register_ixl); } else // cp a, l/ixl/iyl + if (prefix_fd==1) { cp_opcode=1; SUB_Bytes(register_a , register_iyl); } else + { cp_opcode=1; SUB_Bytes(register_a , register_l); } return; } + +void opcode_0xBE () { if (prefix_dd==1) { cp_opcode=1; SUB_Bytes(register_a , Read_byte(REGISTER_IX + Sign_Extend(Fetch_opcode()))); } else // cp a, (hl)/(ix+*)/(iy+*) + if (prefix_fd==1) { cp_opcode=1; SUB_Bytes(register_a , Read_byte(REGISTER_IY + Sign_Extend(Fetch_opcode()))); } else + { cp_opcode=1; SUB_Bytes(register_a , Read_byte(REGISTER_HL)); } return; } + +void opcode_0x33 () { register_sp++; return; } // inc sp +void opcode_0x03 () { Writeback_Reg16(REG_BC , (REGISTER_BC) + 1); return; } // inc bc +void opcode_0x13 () { Writeback_Reg16(REG_DE , (REGISTER_DE) + 1); return; } // inc de +void opcode_0x23 () { if (prefix_dd==1) { Writeback_Reg16(REG_IX , (REGISTER_IX) + 1); } else // inc hl + if (prefix_fd==1) { Writeback_Reg16(REG_IY , (REGISTER_IY) + 1); } else + { Writeback_Reg16(REG_HL , (REGISTER_HL) + 1); } return; } + + +void opcode_0x3C () { inc_dec=1; register_a = ADD_Bytes(register_a , 0x1); return; } // inc a +void opcode_0x04 () { inc_dec=1; register_b = ADD_Bytes(register_b , 0x1); return; } // inc b +void opcode_0x0C () { inc_dec=1; register_c = ADD_Bytes(register_c , 0x1); return; } // inc c +void opcode_0x14 () { inc_dec=1; register_d = ADD_Bytes(register_d , 0x1); return; } // inc d +void opcode_0x1C () { inc_dec=1; register_e = ADD_Bytes(register_e , 0x1); return; } // inc e + +void opcode_0x24 () { inc_dec=1; if (prefix_dd==1) {register_ixh=ADD_Bytes(register_ixh , 0x1); } else // inc ixh, iyh, h + if (prefix_fd==1) { register_iyh=ADD_Bytes(register_iyh , 0x1); } else + { register_h=ADD_Bytes(register_h , 0x1); } return; } + +void opcode_0x2C () { inc_dec=1; if (prefix_dd==1) { register_ixl=ADD_Bytes(register_ixl , 0x1); } else // inc ixl, iyl, l + if (prefix_fd==1) { register_iyl=ADD_Bytes(register_iyl , 0x1); } else + { register_l=ADD_Bytes(register_l , 0x1); } return; } + +void opcode_0x34 () { inc_dec=1; if (prefix_dd==1) { temp16=REGISTER_IX + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , ADD_Bytes(Read_byte(temp16),0x1)); } else // inc ix+*, iy+*, (hl) + if (prefix_fd==1) { temp16=REGISTER_IY + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , ADD_Bytes(Read_byte(temp16),0x1)); } else + { Write_byte(REGISTER_HL , ADD_Bytes(Read_byte(REGISTER_HL),0x1) ); } return; } + + +// ----------- + +void opcode_0x3B () { register_sp--; return; } // dec sp +void opcode_0x0B () { Writeback_Reg16(REG_BC , (REGISTER_BC) - 1); return; } // dec bc +void opcode_0x1B () { Writeback_Reg16(REG_DE , (REGISTER_DE) - 1); return; } // dec de +void opcode_0x2B () { if (prefix_dd==1) { Writeback_Reg16(REG_IX , (REGISTER_IX) - 1); } else // dec hl + if (prefix_fd==1) { Writeback_Reg16(REG_IY , (REGISTER_IY) - 1); } else + { Writeback_Reg16(REG_HL , (REGISTER_HL) - 1); } return; } + +// ----------- + +void opcode_0x3D () { inc_dec=1; register_a = SUB_Bytes(register_a , 0x1); return; } // dec a +void opcode_0x05 () { inc_dec=1; register_b = SUB_Bytes(register_b , 0x1); return; } // dec b +void opcode_0x0D () { inc_dec=1; register_c = SUB_Bytes(register_c , 0x1); return; } // dec c +void opcode_0x15 () { inc_dec=1; register_d = SUB_Bytes(register_d , 0x1); return; } // dec d +void opcode_0x1D () { inc_dec=1; register_e = SUB_Bytes(register_e , 0x1); return; } // dec e + +void opcode_0x25 () { inc_dec=1; if (prefix_dd==1) { register_ixh=SUB_Bytes(register_ixh , 0x1); } else // dec ixh, iyh, h + if (prefix_fd==1) { register_iyh=SUB_Bytes(register_iyh , 0x1); } else + { register_h=SUB_Bytes(register_h , 0x1); } return; } + +void opcode_0x2D () { inc_dec=1; if (prefix_dd==1) { register_ixl=SUB_Bytes(register_ixl , 0x1); } else // dec ixl, iyl, l + if (prefix_fd==1) { register_iyl=SUB_Bytes(register_iyl , 0x1); } else + { register_l=SUB_Bytes(register_l , 0x1); } return; } + +void opcode_0x35 () { inc_dec=1; if (prefix_dd==1) { temp16=REGISTER_IX + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , SUB_Bytes(Read_byte(temp16),0x1)); } else // dec ix+*, iy+*, (hl) + if (prefix_fd==1) { temp16=REGISTER_IY + Sign_Extend(Fetch_opcode()); Write_byte(temp16 , SUB_Bytes(Read_byte(temp16),0x1)); } else + { Write_byte(REGISTER_HL , SUB_Bytes(Read_byte(REGISTER_HL),0x1) ); } return; } + + + + + +// ------------------------------------------------------ +// Input and Output +// ------------------------------------------------------ +void Flags_IO(uint8_t local_data) { + + register_f = register_f & 0x29; // Clear S, Z, H, P, N flags + register_f = register_f | Parity_Array[local_data]; // Set P flag + register_f = register_f | (local_data&0x80); // Set S flag + if (local_data==0) register_f = register_f | 0x40; // Set Z flag + return; +} +void opcode_0xDB() { register_a = BIU_Bus_Cycle(IO_READ_BYTE , Fetch_opcode() , 0x00 ); return; } // in a,(*) +void opcode_0xED78() { register_a = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_a); return; } // in a,(c) +void opcode_0xED40() { register_b = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_b); return; } // in b,(c) +void opcode_0xED48() { register_c = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_c); return; } // in c,(c) +void opcode_0xED50() { register_d = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_d); return; } // in d,(c) +void opcode_0xED58() { register_e = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_e); return; } // in e,(c) +void opcode_0xED60() { register_h = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_h); return; } // in h,(c) +void opcode_0xED68() { register_l = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(register_l); return; } // in l,(c) +void opcode_0xED70() { temp8 = BIU_Bus_Cycle(IO_READ_BYTE , register_c , 0x00 ); Flags_IO(temp8); return; } // in(c) + + +void opcode_0xD3() { BIU_Bus_Cycle(IO_WRITE_BYTE , Fetch_opcode() , register_a ); return; } // out (*),a +void opcode_0xED79() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_a ); return; } // out (c),a +void opcode_0xED41() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_b ); return; } // out (c),b +void opcode_0xED49() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_c ); return; } // out (c),c +void opcode_0xED51() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_d ); return; } // out (c),d +void opcode_0xED59() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_e ); return; } // out (c),e +void opcode_0xED61() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_h ); return; } // out (c),h +void opcode_0xED69() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , register_l ); return; } // out (c),l +void opcode_0xED71() { BIU_Bus_Cycle(IO_WRITE_BYTE , register_c , 0x0 ); return; } // out (c),0x0 + + +// ------------------------------------------------------ +// Shifts and Rotates +// ------------------------------------------------------ + +void Flags_Shifts(uint8_t local_data) { + if (prefix_cb==0) { + register_f = register_f & 0xC5; // Clear H, N, 5, 3 flags + register_f = register_f | (local_data&0x28); // Set flag bits 5,3 to ALU results + } + else { + register_f = register_f & 0x01; // Clear H, N, P, S, Z, 5, 3 flags + register_f = register_f | Parity_Array[local_data]; // Set P flag + register_f = register_f | (local_data&0x80); // Set S flag + if (local_data==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | (local_data&0x28); // Set flag bits 5,3 to ALU results + } + return; +} + + +uint8_t RLC(uint8_t local_data) { + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data>>7); // C Flag = bit[7] + local_data = (local_data<<1); // Shift register_a left 1 bit + local_data = local_data | (register_f&0x01); // register_a bit[0] = bit shifted out of bit[7] + Flags_Shifts(local_data); + return local_data; } // rlca + + +uint8_t RRC(uint8_t local_data) { + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data&0x01); // C Flag = bit[0] + local_data = (local_data>>1); // Shift register_a left 1 bit + local_data = local_data | ((register_f&0x01)<<7); // register_a bit[7] = bit shifted out of bit[0] + Flags_Shifts(local_data); + return local_data; } // rrca + + + +uint8_t RL(uint8_t local_data) { + temp8 = register_f & 0x01; // Store old C flag + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data>>7); // C Flag = bit[7] + local_data = (local_data<<1); // Shift register_a left 1 bit + local_data = local_data | temp8; // register_a bit[0] = old C Flag + Flags_Shifts(local_data); + return local_data; } // rla + + + +uint8_t RR(uint8_t local_data) { + temp8 = register_f & 0x01; // Store old C flag + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data&0x01); // C Flag = bit[0] + local_data = (local_data>>1); // Shift register_a left 1 bit + local_data = local_data | (temp8<<7); // register_a bit[7] = old C Flag + Flags_Shifts(local_data); + return local_data; } // rra + + +uint8_t SLA(uint8_t local_data) { + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data>>7); // C Flag = bit[7] + local_data = (local_data<<1); // Shift register_a left 1 bit + Flags_Shifts(local_data); + return local_data; } // sla + + +uint8_t SRA(uint8_t local_data) { + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data&0x01); // C Flag = bit[0] + local_data = (local_data>>1); // Shift register_a right 1 bit + if (local_data&0x40) local_data=local_data | 0x80; // Keep bit[7] the same as before the shift + Flags_Shifts(local_data); + return local_data; } // sra + + + +uint8_t SLL(uint8_t local_data) { + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data>>7); // C Flag = bit[7] + local_data = (local_data<<1); // Shift register_a left 1 bit + local_data = local_data | 0x1; // Set bit[0] to 1 + Flags_Shifts(local_data); + return local_data; } // sll + + + +uint8_t SRL(uint8_t local_data) { + register_f = register_f & 0xFE; // Clear C flag + register_f = register_f | (local_data&0x01); // C Flag = bit[0] + local_data = (local_data>>1); // Shift register_a left 1 bit + Flags_Shifts(local_data); + return local_data; } // rra + + +void opcode_0x07() {register_a = RLC(register_a); return; } // rlc +void opcode_0xCB00() {if (prefix_dd==1) {register_b = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RLC(register_b); }return; } +void opcode_0xCB01() {if (prefix_dd==1) {register_c = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RLC(register_c); }return; } +void opcode_0xCB02() {if (prefix_dd==1) {register_d = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RLC(register_d); }return; } +void opcode_0xCB03() {if (prefix_dd==1) {register_e = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RLC(register_e); }return; } +void opcode_0xCB04() {if (prefix_dd==1) {register_h = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RLC(register_h); }return; } +void opcode_0xCB05() {if (prefix_dd==1) {register_l = RLC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RLC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RLC(register_l); }return; } +void opcode_0xCB07() {if (prefix_dd==1) {register_a = RLC(Read_byte(REGISTER_IX+Sign_Extend(cb_prefix_offset)));} else if (prefix_fd==1) {register_a = RLC(Read_byte(REGISTER_IY+Sign_Extend(cb_prefix_offset)));} else {register_a=RLC(register_a); }return; } +void opcode_0xCB06() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RLC(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RLC(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RLC(Read_byte(REGISTER_HL)) );return; } + +void opcode_0x0F() {register_a = RRC(register_a); return; } // rrc +void opcode_0xCB08() {if (prefix_dd==1) {register_b = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RRC(register_b); }return; } +void opcode_0xCB09() {if (prefix_dd==1) {register_c = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RRC(register_c); }return; } +void opcode_0xCB0A() {if (prefix_dd==1) {register_d = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RRC(register_d); }return; } +void opcode_0xCB0B() {if (prefix_dd==1) {register_e = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RRC(register_e); }return; } +void opcode_0xCB0C() {if (prefix_dd==1) {register_h = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RRC(register_h); }return; } +void opcode_0xCB0D() {if (prefix_dd==1) {register_l = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RRC(register_l); }return; } +void opcode_0xCB0F() {if (prefix_dd==1) {register_a = RRC(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = RRC(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RRC(register_a); }return; } +void opcode_0xCB0E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RRC(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RRC(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RRC(Read_byte(REGISTER_HL)) );return; } + +void opcode_0x17() {register_a = RL(register_a); return; } // rl +void opcode_0xCB10() {if (prefix_dd==1) {register_b = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RL(register_b); }return; } +void opcode_0xCB11() {if (prefix_dd==1) {register_c = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RL(register_c); }return; } +void opcode_0xCB12() {if (prefix_dd==1) {register_d = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RL(register_d); }return; } +void opcode_0xCB13() {if (prefix_dd==1) {register_e = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RL(register_e); }return; } +void opcode_0xCB14() {if (prefix_dd==1) {register_h = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RL(register_h); }return; } +void opcode_0xCB15() {if (prefix_dd==1) {register_l = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RL(register_l); }return; } +void opcode_0xCB17() {if (prefix_dd==1) {register_a = RL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = RL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RL(register_a); }return; } +void opcode_0xCB16() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RL(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RL(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RL(Read_byte(REGISTER_HL)) );return; } + +void opcode_0x1F() {register_a = RR(register_a); return; } // rr +void opcode_0xCB18() {if (prefix_dd==1) {register_b = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RR(register_b); }return; } +void opcode_0xCB19() {if (prefix_dd==1) {register_c = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RR(register_c); }return; } +void opcode_0xCB1A() {if (prefix_dd==1) {register_d = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RR(register_d); }return; } +void opcode_0xCB1B() {if (prefix_dd==1) {register_e = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RR(register_e); }return; } +void opcode_0xCB1C() {if (prefix_dd==1) {register_h = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RR(register_h); }return; } +void opcode_0xCB1D() {if (prefix_dd==1) {register_l = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RR(register_l); }return; } +void opcode_0xCB1F() {if (prefix_dd==1) {register_a = RR(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = RR(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RR(register_a); }return; } +void opcode_0xCB1E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RR(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RR(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RR(Read_byte(REGISTER_HL)) );return; } + +// ---- + + +void opcode_0xCB20() {if (prefix_dd==1) {register_b = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SLA(register_b); }return; } +void opcode_0xCB21() {if (prefix_dd==1) {register_c = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SLA(register_c); }return; } +void opcode_0xCB22() {if (prefix_dd==1) {register_d = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SLA(register_d); }return; } +void opcode_0xCB23() {if (prefix_dd==1) {register_e = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SLA(register_e); }return; } +void opcode_0xCB24() {if (prefix_dd==1) {register_h = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SLA(register_h); }return; } +void opcode_0xCB25() {if (prefix_dd==1) {register_l = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SLA(register_l); }return; } +void opcode_0xCB27() {if (prefix_dd==1) {register_a = SLA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SLA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SLA(register_a); }return; } +void opcode_0xCB26() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLA(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLA(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SLA(Read_byte(REGISTER_HL)) );return; } + +void opcode_0xCB28() {if (prefix_dd==1) {register_b = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SRA(register_b); }return; } +void opcode_0xCB29() {if (prefix_dd==1) {register_c = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SRA(register_c); }return; } +void opcode_0xCB2A() {if (prefix_dd==1) {register_d = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SRA(register_d); }return; } +void opcode_0xCB2B() {if (prefix_dd==1) {register_e = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SRA(register_e); }return; } +void opcode_0xCB2C() {if (prefix_dd==1) {register_h = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SRA(register_h); }return; } +void opcode_0xCB2D() {if (prefix_dd==1) {register_l = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SRA(register_l); }return; } +void opcode_0xCB2F() {if (prefix_dd==1) {register_a = SRA(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SRA(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SRA(register_a); }return; } +void opcode_0xCB2E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRA(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRA(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SRA(Read_byte(REGISTER_HL)) );return; } + +void opcode_0xCB30() {if (prefix_dd==1) {register_b = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SLL(register_b); }return; } +void opcode_0xCB31() {if (prefix_dd==1) {register_c = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SLL(register_c); }return; } +void opcode_0xCB32() {if (prefix_dd==1) {register_d = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SLL(register_d); }return; } +void opcode_0xCB33() {if (prefix_dd==1) {register_e = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SLL(register_e); }return; } +void opcode_0xCB34() {if (prefix_dd==1) {register_h = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SLL(register_h); }return; } +void opcode_0xCB35() {if (prefix_dd==1) {register_l = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SLL(register_l); }return; } +void opcode_0xCB37() {if (prefix_dd==1) {register_a = SLL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SLL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SLL(register_a); }return; } +void opcode_0xCB36() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLL(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SLL(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SLL(Read_byte(REGISTER_HL)) );return; } + +void opcode_0xCB38() {if (prefix_dd==1) {register_b = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_b = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SRL(register_b); }return; } +void opcode_0xCB39() {if (prefix_dd==1) {register_c = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_c = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SRL(register_c); }return; } +void opcode_0xCB3A() {if (prefix_dd==1) {register_d = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_d = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SRL(register_d); }return; } +void opcode_0xCB3B() {if (prefix_dd==1) {register_e = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_e = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SRL(register_e); }return; } +void opcode_0xCB3C() {if (prefix_dd==1) {register_h = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_h = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SRL(register_h); }return; } +void opcode_0xCB3D() {if (prefix_dd==1) {register_l = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_l = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SRL(register_l); }return; } +void opcode_0xCB3F() {if (prefix_dd==1) {register_a = SRL(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {register_a = SRL(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SRL(register_a); }return; } +void opcode_0xCB3E() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRL(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SRL(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SRL(Read_byte(REGISTER_HL)) );return; } + + +void BIT(uint8_t local_data) { + uint8_t local_bitnum; + register_f = register_f & 0x01; // Clear all flags except C + local_bitnum = (CB_opcode>>3) &0x07; + switch (local_bitnum) { + case 0x00: temp8=(local_data&0x01); if (temp8==0) { register_f = register_f | 0x40; } break; // Set Z flag + case 0x01: temp8=(local_data&0x02); if (temp8==0) { register_f = register_f | 0x40; } break; + case 0x02: temp8=(local_data&0x04); if (temp8==0) { register_f = register_f | 0x40; } break; + case 0x03: temp8=(local_data&0x08); if (temp8==0) { register_f = register_f | 0x40; } break; + case 0x04: temp8=(local_data&0x10); if (temp8==0) { register_f = register_f | 0x40; } break; + case 0x05: temp8=(local_data&0x20); if (temp8==0) { register_f = register_f | 0x40; } break; + case 0x06: temp8=(local_data&0x40); if (temp8==0) { register_f = register_f | 0x40; } break; + case 0x07: temp8=(local_data&0x80); if (temp8==0) { register_f = register_f | 0x40; } break; + } + + register_f = register_f | 0x10; // Set H flag + register_f = register_f | (temp8&0x80); // Set S flag + if (temp8==0) register_f=register_f|0x04; // Set P flag + + + if (special==1) { // Special handlinig for (hl) + clock_counter=clock_counter+0x4; + register_f = register_f | ((register_pc>>8)&0x28); // Set flag bits 5,3 to ALU results + } + else if (special==2) { // Special handlinig for IX+* + register_f = register_f | ((temp16>>8)&0x28); // Set flag bits 5,3 to ALU results + } + + else { // Other opcodes + register_f = register_f | (local_data&0x28); // Set flag bits 5,3 to ALU results + } + + special=0; + return; } // bit + +void opcode_0xCB_Bit_b() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_b); }return; } +void opcode_0xCB_Bit_c() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_c); }return; } +void opcode_0xCB_Bit_d() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_d); }return; } +void opcode_0xCB_Bit_e() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_e); }return; } +void opcode_0xCB_Bit_h() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_h); }return; } +void opcode_0xCB_Bit_l() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_l); }return; } +void opcode_0xCB_Bit_a() {if (prefix_dd==1) {BIT(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {BIT(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {BIT(register_a); }return; } +void opcode_0xCB_Bit_hl() {if (prefix_dd==1) {special=2; temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); BIT(Read_byte(temp16));} else if (prefix_fd==1) {special=2; temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); BIT(Read_byte(temp16));} else {special=1; BIT(Read_byte(REGISTER_HL)); }return; } + + +uint8_t RES(uint8_t local_data) { + uint8_t local_bitnum; + + local_bitnum = (CB_opcode>>3) &0x07; + switch (local_bitnum) { + case 0x00: local_data = (local_data & (~(0x01))); break; + case 0x01: local_data = (local_data & (~(0x02))); break; + case 0x02: local_data = (local_data & (~(0x04))); break; + case 0x03: local_data = (local_data & (~(0x08))); break; + case 0x04: local_data = (local_data & (~(0x10))); break; + case 0x05: local_data = (local_data & (~(0x20))); break; + case 0x06: local_data = (local_data & (~(0x40))); break; + case 0x07: local_data = (local_data & (~(0x80))); break; + } + return local_data; } // res + +void opcode_0xCB_Res_b() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=RES(register_b); }return; } +void opcode_0xCB_Res_c() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=RES(register_c); }return; } +void opcode_0xCB_Res_d() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=RES(register_d); }return; } +void opcode_0xCB_Res_e() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=RES(register_e); }return; } +void opcode_0xCB_Res_h() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=RES(register_h); }return; } +void opcode_0xCB_Res_l() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=RES(register_l); }return; } +void opcode_0xCB_Res_a() {if (prefix_dd==1) {RES(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {RES(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=RES(register_a); }return; } +void opcode_0xCB_Res_hl() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RES(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,RES(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , RES(Read_byte(REGISTER_HL)) );return; } + + +uint8_t SET(uint8_t local_data) { + uint8_t local_bitnum; + + clock_counter=clock_counter+0x3; + local_bitnum = (CB_opcode>>3) &0x07; + switch (local_bitnum) { + case 0x00: local_data = (local_data | 0x01); break; + case 0x01: local_data = (local_data | 0x02); break; + case 0x02: local_data = (local_data | 0x04); break; + case 0x03: local_data = (local_data | 0x08); break; + case 0x04: local_data = (local_data | 0x10); break; + case 0x05: local_data = (local_data | 0x20); break; + case 0x06: local_data = (local_data | 0x40); break; + case 0x07: local_data = (local_data | 0x80); break; + } + return local_data; } // set + +void opcode_0xCB_Set_b() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_b=SET(register_b); }return; } +void opcode_0xCB_Set_c() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_c=SET(register_c); }return; } +void opcode_0xCB_Set_d() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_d=SET(register_d); }return; } +void opcode_0xCB_Set_e() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_e=SET(register_e); }return; } +void opcode_0xCB_Set_h() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_h=SET(register_h); }return; } +void opcode_0xCB_Set_l() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_l=SET(register_l); }return; } +void opcode_0xCB_Set_a() {if (prefix_dd==1) {SET(Read_byte(REGISTER_IX+Sign_Extend(Fetch_opcode())));} else if (prefix_fd==1) {SET(Read_byte(REGISTER_IY+Sign_Extend(Fetch_opcode())));} else {register_a=SET(register_a); }return; } +void opcode_0xCB_Set_hl() {if (prefix_dd==1) {temp16=REGISTER_IX+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SET(Read_byte(temp16)));} else if (prefix_fd==1){temp16=REGISTER_IY+Sign_Extend(cb_prefix_offset); Write_byte(temp16,SET(Read_byte(temp16)));} else Write_byte( (REGISTER_HL) , SET(Read_byte(REGISTER_HL)) );return; } + + +void opcode_0x76() { // Halt + + digitalWriteFast(PIN_HALT,0x0); + halt_in_progress=1; + register_pc--; + return; +} + + + +void opcode_0x27() { // daa + register_f = register_f & 0x13; // Clear S, Z, P Flags + temp8=0; + if ( ((0x0f®ister_a) > 0x09) || (flag_h==1) ) { temp8=temp8+0x06; } + if ( ( (register_a) > 0x99) || (flag_c==1) ) { temp8=temp8+0x60; register_f=register_f|0x01; } // Set C Flag + + if (flag_n==1) { + if (( (0x0F®ister_a) < 0x06) && (flag_h==1) ) register_f = register_f | 0x10; else register_f = register_f & 0xEF; // Set H Flag + register_a = register_a - temp8; + } + else + { + if ( (0x0F®ister_a) > 0x09 ) register_f = register_f | 0x10; else register_f = register_f & 0xEF; // Set H Flag + register_a = register_a + temp8; + } + + + if (register_a&0x80) register_f = register_f | 0x80; // Set S Flag + if (register_a==0) register_f = register_f | 0x40; // Set Z Flag + register_f = register_f | Parity_Array[register_a]; // Set P flag + register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results + return; +} + + +void opcode_0xEDA2() { // ini + register_f = register_f & 0xBF; // Clear Z flag + Write_byte( REGISTER_HL , BIU_Bus_Cycle(IO_READ_BYTE,register_c,0x00) ); + Writeback_Reg16( REG_HL , (REGISTER_HL + 1) ); + register_b--; + if (register_b==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | 0x02; // Set N flag + if ( (opcode_byte>0xAF) && (register_b!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction + return;} + +void opcode_0xEDA3() { // outi + register_f = register_f & 0xBF; // Clear Z flag + BIU_Bus_Cycle(IO_WRITE_BYTE,register_c, (Read_byte(REGISTER_HL)) ); + Writeback_Reg16( REG_HL , (REGISTER_HL + 1) ); + register_b--; + if (register_b==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | 0x02; // Set N flag + if ( (opcode_byte>0xAF) && (register_b!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction + return;} + + +void opcode_0xEDA0() { // ldi + register_f = register_f & 0xC1; // Clear N, H, P, 5,3 flags + temp8 = Read_byte(REGISTER_HL); + Write_byte( REGISTER_DE , temp8); + Writeback_Reg16( REG_HL , (REGISTER_HL + 1) ); + Writeback_Reg16( REG_DE , (REGISTER_DE + 1) ); + Writeback_Reg16( REG_BC , (REGISTER_BC - 1) ); + if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction + temp8 = temp8 + register_a; + if (temp8&0x08) register_f = register_f | 0x08; + if (temp8&0x02) register_f = register_f | 0x20; + if ( REGISTER_BC!=0) register_f = register_f | 0x04; // Set P flag + return; +} + +void opcode_0xEDA8() { // ldd + register_f = register_f & 0xC1; // Clear N, H, P, 5,3 flags + temp8 = Read_byte(REGISTER_HL); + Write_byte( REGISTER_DE , temp8); + Writeback_Reg16( REG_HL , (REGISTER_HL - 1) ); + Writeback_Reg16( REG_DE , (REGISTER_DE - 1) ); + Writeback_Reg16( REG_BC , (REGISTER_BC - 1) ); + if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction + temp8 = temp8 + register_a; + if (temp8&0x08) register_f = register_f | 0x08; + if (temp8&0x02) register_f = register_f | 0x20; + if ( REGISTER_BC!=0) register_f = register_f | 0x04; // Set P flag + return; +} + + +void opcode_0xEDA1() { // cpi + uint8_t old_C = flag_c; + temp8 = SUB_Bytes(register_a , Read_byte(REGISTER_HL) ); + Writeback_Reg16( REG_HL , (REGISTER_HL + 1) ); + Writeback_Reg16( REG_BC , (REGISTER_BC - 1) ); + if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) && (flag_z!=1) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction + + register_f = register_f & 0xD2; // Clear C, P, 3,5 flags + if ((temp8-flag_h)&0x08) register_f = register_f | 0x08; // 3 + if ((temp8-flag_h)&0x02) register_f = register_f | 0x20; // 5 + if (old_C==1) register_f = register_f | 0x01; // C + if (REGISTER_BC!=0) register_f = register_f | 0x04; // p + return;} + + +void opcode_0xEDA9() { // cpd + uint8_t old_C = flag_c; + temp8 = SUB_Bytes(register_a , Read_byte(REGISTER_HL) ); + Writeback_Reg16( REG_HL , (REGISTER_HL - 1) ); + Writeback_Reg16( REG_BC , (REGISTER_BC - 1) ); + if ( (opcode_byte>0xAF) && (REGISTER_BC!=0) && (flag_z!=1) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction + + register_f = register_f & 0xD2; // Clear C, P, 3,5 flags + if ((temp8-flag_h)&0x08) register_f = register_f | 0x08; // 3 + if ((temp8-flag_h)&0x02) register_f = register_f | 0x20; // 5 + if (old_C==1) register_f = register_f | 0x01; // C + if (REGISTER_BC!=0) register_f = register_f | 0x04; // p + return;} + + +void opcode_0xEDAA() { // ind + register_f = register_f & 0xBF; // Clear Z flag + Write_byte( REGISTER_HL , BIU_Bus_Cycle(IO_READ_BYTE,register_c,0x00) ); + Writeback_Reg16( REG_HL , (REGISTER_HL + 1) ); + register_b--; + if (register_b==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | 0x02; // Set N flag + if ( (opcode_byte>0xAF) && (register_b!=0) ) {clock_counter=clock_counter+0x5; register_pc=register_pc-2; } // Allow for repeat of this instruction + return;} + + +void opcode_0xEDAB() { // outd + register_f = register_f & 0xBF; // Clear Z flag + BIU_Bus_Cycle(IO_WRITE_BYTE,register_c, (Read_byte(REGISTER_HL)) ); + Writeback_Reg16( REG_HL , (REGISTER_HL - 1) ); + register_b--; + if (register_b==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | 0x02; // Set N flag + if ( (opcode_byte>0xAF) && (register_b!=0) ) register_pc=register_pc-2; // Allow for repeat of this instruction + return;} + +void opcode_0xED67() { // rrd + register_f = register_f & 0x01; // Clear S, Z, H, P, N flags + temp8 = Read_byte(REGISTER_HL); + temp16 = (register_a<<8) | temp8 ; + temp16 = temp16 >> 4; + temp16 = (temp16&0xF0FF) | ((temp8&0x0F)<<8) ; + + register_a = (register_a&0xF0) | (0x0F& (temp16>>8)); + Write_byte( REGISTER_HL , (temp16&0x00FF) ); + + register_f = register_f | Parity_Array[register_a]; // Set P flag + register_f = register_f | (register_a&0x80); // Set S flag + if (register_a==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results + return;} + +void opcode_0xED6F() { // rld + register_f = register_f & 0x01; // Clear S, Z, H, P, N flags + + temp16 = (register_a<<8) | Read_byte(REGISTER_HL) ; + temp16 = temp16 << 4; + temp16 = (temp16>>12) | (temp16&0xFFF0) ; + + Write_byte( REGISTER_HL , (temp16&0x00FF) ); + register_a = (register_a&0xF0) | (0x0F& (temp16>>8)); + + register_f = register_f | Parity_Array[register_a]; // Set P flag + register_f = register_f | (register_a&0x80); // Set S flag + if (register_a==0) register_f = register_f | 0x40; // Set Z flag + register_f = register_f | (register_a&0x28); // Set flag bits 5,3 to ALU results + return;} + + +// ------------------------------------------------- +// NMI Handler +// ------------------------------------------------- +void NMI_Handler() { + + BIU_Bus_Cycle(OPCODE_READ_M1 , 0xABCD , 0x00 ); + wait_for_CLK_falling_edge(); + + if (halt_in_progress==1) Push(register_pc+1); else Push(register_pc); + halt_in_progress=0; + digitalWriteFast(PIN_HALT,0x1); + register_iff2 = register_iff1; + register_iff1 = 0; + register_pc = 0x0066; + nmi_latched=0; + return; +} + +// ------------------------------------------------- +// INTR Handler +// ------------------------------------------------- +void INTR_Handler() { + uint8_t local_intr_vector; + + register_iff1 = 0; + register_iff2 = 0; + + if (register_im==0) { + assert_iack_type0 = 1; // BIU performs IACK during the next opcode fetch + return; + } + else if (register_im==1) { + local_intr_vector = BIU_Bus_Cycle(INTERRUPT_ACK , 0x0000 , 0x00 ); + BIU_Bus_Cycle(OPCODE_READ_M1 , 0xABCD , 0x00 ); + wait_for_CLK_falling_edge(); + + if (halt_in_progress==1) Push(register_pc+1); else Push(register_pc); + halt_in_progress=0; + digitalWriteFast(PIN_HALT,0x1); + register_pc = 0x0038; + return; + } + else if (register_im==2) { + local_intr_vector = BIU_Bus_Cycle(INTERRUPT_ACK , 0x0000 , 0x00 ); + wait_for_CLK_falling_edge(); + if (halt_in_progress==1) Push(register_pc+1); else Push(register_pc); + halt_in_progress=0; + digitalWriteFast(PIN_HALT,0x1); + temp16 = (register_i<<8) | local_intr_vector; + register_pc = Read_word(temp16); + return; + } + + return; +} + + +// ------------------------------------------------------------------------------------- +// ------------------------------------------------------------------------------------- +// ------------------------------------------------------------------------------------- + +void decode_table_0xCB() { + + if (nmi_latched==1) { // NMI allowed between CB and ED opcodes. Back-off PC and handle the NMI + register_pc--; + return; + } + + prefix_cb=1; + + + if ( (prefix_dd==1) || (prefix_fd==1) ) { + cb_prefix_offset = Fetch_opcode(); + opcode_byte = Fetch_opcode(); + CB_opcode = opcode_byte; + } + else { + opcode_byte = Fetch_opcode(); + CB_opcode = opcode_byte; + } + + switch (opcode_byte) { + + case 0x00: opcode_0xCB00(); break; + case 0x01: opcode_0xCB01(); break; + case 0x02: opcode_0xCB02(); break; + case 0x03: opcode_0xCB03(); break; + case 0x04: opcode_0xCB04(); break; + case 0x05: opcode_0xCB05(); break; + case 0x06: opcode_0xCB06(); break; + case 0x07: opcode_0xCB07(); break; + case 0x08: opcode_0xCB08(); break; + case 0x09: opcode_0xCB09(); break; + case 0x0A: opcode_0xCB0A(); break; + case 0x0B: opcode_0xCB0B(); break; + case 0x0C: opcode_0xCB0C(); break; + case 0x0D: opcode_0xCB0D(); break; + case 0x0E: opcode_0xCB0E(); break; + case 0x0F: opcode_0xCB0F(); break; + case 0x10: opcode_0xCB10(); break; + case 0x11: opcode_0xCB11(); break; + case 0x12: opcode_0xCB12(); break; + case 0x13: opcode_0xCB13(); break; + case 0x14: opcode_0xCB14(); break; + case 0x15: opcode_0xCB15(); break; + case 0x16: opcode_0xCB16(); break; + case 0x17: opcode_0xCB17(); break; + case 0x18: opcode_0xCB18(); break; + case 0x19: opcode_0xCB19(); break; + case 0x1A: opcode_0xCB1A(); break; + case 0x1B: opcode_0xCB1B(); break; + case 0x1C: opcode_0xCB1C(); break; + case 0x1D: opcode_0xCB1D(); break; + case 0x1E: opcode_0xCB1E(); break; + case 0x1F: opcode_0xCB1F(); break; + case 0x20: opcode_0xCB20(); break; + case 0x21: opcode_0xCB21(); break; + case 0x22: opcode_0xCB22(); break; + case 0x23: opcode_0xCB23(); break; + case 0x24: opcode_0xCB24(); break; + case 0x25: opcode_0xCB25(); break; + case 0x26: opcode_0xCB26(); break; + case 0x27: opcode_0xCB27(); break; + case 0x28: opcode_0xCB28(); break; + case 0x29: opcode_0xCB29(); break; + case 0x2A: opcode_0xCB2A(); break; + case 0x2B: opcode_0xCB2B(); break; + case 0x2C: opcode_0xCB2C(); break; + case 0x2D: opcode_0xCB2D(); break; + case 0x2E: opcode_0xCB2E(); break; + case 0x2F: opcode_0xCB2F(); break; + case 0x30: opcode_0xCB30(); break; + case 0x31: opcode_0xCB31(); break; + case 0x32: opcode_0xCB32(); break; + case 0x33: opcode_0xCB33(); break; + case 0x34: opcode_0xCB34(); break; + case 0x35: opcode_0xCB35(); break; + case 0x36: opcode_0xCB36(); break; + case 0x37: opcode_0xCB37(); break; + case 0x38: opcode_0xCB38(); break; + case 0x39: opcode_0xCB39(); break; + case 0x3A: opcode_0xCB3A(); break; + case 0x3B: opcode_0xCB3B(); break; + case 0x3C: opcode_0xCB3C(); break; + case 0x3D: opcode_0xCB3D(); break; + case 0x3E: opcode_0xCB3E(); break; + case 0x3F: opcode_0xCB3F(); break; + case 0x40: opcode_0xCB_Bit_b(); break; + case 0x41: opcode_0xCB_Bit_c(); break; + case 0x42: opcode_0xCB_Bit_d(); break; + case 0x43: opcode_0xCB_Bit_e(); break; + case 0x44: opcode_0xCB_Bit_h(); break; + case 0x45: opcode_0xCB_Bit_l(); break; + case 0x46: opcode_0xCB_Bit_hl(); break; + case 0x47: opcode_0xCB_Bit_a(); break; + case 0x48: opcode_0xCB_Bit_b(); break; + case 0x49: opcode_0xCB_Bit_c(); break; + case 0x4A: opcode_0xCB_Bit_d(); break; + case 0x4B: opcode_0xCB_Bit_e(); break; + case 0x4C: opcode_0xCB_Bit_h(); break; + case 0x4D: opcode_0xCB_Bit_l(); break; + case 0x4E: opcode_0xCB_Bit_hl(); break; + case 0x4F: opcode_0xCB_Bit_a(); break; + case 0x50: opcode_0xCB_Bit_b(); break; + case 0x51: opcode_0xCB_Bit_c(); break; + case 0x52: opcode_0xCB_Bit_d(); break; + case 0x53: opcode_0xCB_Bit_e(); break; + case 0x54: opcode_0xCB_Bit_h(); break; + case 0x55: opcode_0xCB_Bit_l(); break; + case 0x56: opcode_0xCB_Bit_hl(); break; + case 0x57: opcode_0xCB_Bit_a(); break; + case 0x58: opcode_0xCB_Bit_b(); break; + case 0x59: opcode_0xCB_Bit_c(); break; + case 0x5A: opcode_0xCB_Bit_d(); break; + case 0x5B: opcode_0xCB_Bit_e(); break; + case 0x5C: opcode_0xCB_Bit_h(); break; + case 0x5D: opcode_0xCB_Bit_l(); break; + case 0x5E: opcode_0xCB_Bit_hl(); break; + case 0x5F: opcode_0xCB_Bit_a(); break; + case 0x60: opcode_0xCB_Bit_b(); break; + case 0x61: opcode_0xCB_Bit_c(); break; + case 0x62: opcode_0xCB_Bit_d(); break; + case 0x63: opcode_0xCB_Bit_e(); break; + case 0x64: opcode_0xCB_Bit_h(); break; + case 0x65: opcode_0xCB_Bit_l(); break; + case 0x66: opcode_0xCB_Bit_hl(); break; + case 0x67: opcode_0xCB_Bit_a(); break; + case 0x68: opcode_0xCB_Bit_b(); break; + case 0x69: opcode_0xCB_Bit_c(); break; + case 0x6A: opcode_0xCB_Bit_d(); break; + case 0x6B: opcode_0xCB_Bit_e(); break; + case 0x6C: opcode_0xCB_Bit_h(); break; + case 0x6D: opcode_0xCB_Bit_l(); break; + case 0x6E: opcode_0xCB_Bit_hl(); break; + case 0x6F: opcode_0xCB_Bit_a(); break; + case 0x70: opcode_0xCB_Bit_b(); break; + case 0x71: opcode_0xCB_Bit_c(); break; + case 0x72: opcode_0xCB_Bit_d(); break; + case 0x73: opcode_0xCB_Bit_e(); break; + case 0x74: opcode_0xCB_Bit_h(); break; + case 0x75: opcode_0xCB_Bit_l(); break; + case 0x76: opcode_0xCB_Bit_hl(); break; + case 0x77: opcode_0xCB_Bit_a(); break; + case 0x78: opcode_0xCB_Bit_b(); break; + case 0x79: opcode_0xCB_Bit_c(); break; + case 0x7A: opcode_0xCB_Bit_d(); break; + case 0x7B: opcode_0xCB_Bit_e(); break; + case 0x7C: opcode_0xCB_Bit_h(); break; + case 0x7D: opcode_0xCB_Bit_l(); break; + case 0x7E: opcode_0xCB_Bit_hl(); break; + case 0x7F: opcode_0xCB_Bit_a(); break; + case 0x80: opcode_0xCB_Res_b(); break; + case 0x81: opcode_0xCB_Res_c(); break; + case 0x82: opcode_0xCB_Res_d(); break; + case 0x83: opcode_0xCB_Res_e(); break; + case 0x84: opcode_0xCB_Res_h(); break; + case 0x85: opcode_0xCB_Res_l(); break; + case 0x86: opcode_0xCB_Res_hl(); break; + case 0x87: opcode_0xCB_Res_a(); break; + case 0x88: opcode_0xCB_Res_b(); break; + case 0x89: opcode_0xCB_Res_c(); break; + case 0x8A: opcode_0xCB_Res_d(); break; + case 0x8B: opcode_0xCB_Res_e(); break; + case 0x8C: opcode_0xCB_Res_h(); break; + case 0x8D: opcode_0xCB_Res_l(); break; + case 0x8E: opcode_0xCB_Res_hl(); break; + case 0x8F: opcode_0xCB_Res_a(); break; + case 0x90: opcode_0xCB_Res_b(); break; + case 0x91: opcode_0xCB_Res_c(); break; + case 0x92: opcode_0xCB_Res_d(); break; + case 0x93: opcode_0xCB_Res_e(); break; + case 0x94: opcode_0xCB_Res_h(); break; + case 0x95: opcode_0xCB_Res_l(); break; + case 0x96: opcode_0xCB_Res_hl(); break; + case 0x97: opcode_0xCB_Res_a(); break; + case 0x98: opcode_0xCB_Res_b(); break; + case 0x99: opcode_0xCB_Res_c(); break; + case 0x9A: opcode_0xCB_Res_d(); break; + case 0x9B: opcode_0xCB_Res_e(); break; + case 0x9C: opcode_0xCB_Res_h(); break; + case 0x9D: opcode_0xCB_Res_l(); break; + case 0x9E: opcode_0xCB_Res_hl(); break; + case 0x9F: opcode_0xCB_Res_a(); break; + case 0xA0: opcode_0xCB_Res_b(); break; + case 0xA1: opcode_0xCB_Res_c(); break; + case 0xA2: opcode_0xCB_Res_d(); break; + case 0xA3: opcode_0xCB_Res_e(); break; + case 0xA4: opcode_0xCB_Res_h(); break; + case 0xA5: opcode_0xCB_Res_l(); break; + case 0xA6: opcode_0xCB_Res_hl(); break; + case 0xA7: opcode_0xCB_Res_a(); break; + case 0xA8: opcode_0xCB_Res_b(); break; + case 0xA9: opcode_0xCB_Res_c(); break; + case 0xAA: opcode_0xCB_Res_d(); break; + case 0xAB: opcode_0xCB_Res_e(); break; + case 0xAC: opcode_0xCB_Res_h(); break; + case 0xAD: opcode_0xCB_Res_l(); break; + case 0xAE: opcode_0xCB_Res_hl(); break; + case 0xAF: opcode_0xCB_Res_a(); break; + case 0xB0: opcode_0xCB_Res_b(); break; + case 0xB1: opcode_0xCB_Res_c(); break; + case 0xB2: opcode_0xCB_Res_d(); break; + case 0xB3: opcode_0xCB_Res_e(); break; + case 0xB4: opcode_0xCB_Res_h(); break; + case 0xB5: opcode_0xCB_Res_l(); break; + case 0xB6: opcode_0xCB_Res_hl(); break; + case 0xB7: opcode_0xCB_Res_a(); break; + case 0xB8: opcode_0xCB_Res_b(); break; + case 0xB9: opcode_0xCB_Res_c(); break; + case 0xBA: opcode_0xCB_Res_d(); break; + case 0xBB: opcode_0xCB_Res_e(); break; + case 0xBC: opcode_0xCB_Res_h(); break; + case 0xBD: opcode_0xCB_Res_l(); break; + case 0xBE: opcode_0xCB_Res_hl(); break; + case 0xBF: opcode_0xCB_Res_a(); break; + case 0xC0: opcode_0xCB_Set_b(); break; + case 0xC1: opcode_0xCB_Set_c(); break; + case 0xC2: opcode_0xCB_Set_d(); break; + case 0xC3: opcode_0xCB_Set_e(); break; + case 0xC4: opcode_0xCB_Set_h(); break; + case 0xC5: opcode_0xCB_Set_l(); break; + case 0xC6: opcode_0xCB_Set_hl(); break; + case 0xC7: opcode_0xCB_Set_a(); break; + case 0xC8: opcode_0xCB_Set_b(); break; + case 0xC9: opcode_0xCB_Set_c(); break; + case 0xCA: opcode_0xCB_Set_d(); break; + case 0xCB: opcode_0xCB_Set_e(); break; + case 0xCC: opcode_0xCB_Set_h(); break; + case 0xCD: opcode_0xCB_Set_l(); break; + case 0xCE: opcode_0xCB_Set_hl(); break; + case 0xCF: opcode_0xCB_Set_a(); break; + case 0xD0: opcode_0xCB_Set_b(); break; + case 0xD1: opcode_0xCB_Set_c(); break; + case 0xD2: opcode_0xCB_Set_d(); break; + case 0xD3: opcode_0xCB_Set_e(); break; + case 0xD4: opcode_0xCB_Set_h(); break; + case 0xD5: opcode_0xCB_Set_l(); break; + case 0xD6: opcode_0xCB_Set_hl(); break; + case 0xD7: opcode_0xCB_Set_a(); break; + case 0xD8: opcode_0xCB_Set_b(); break; + case 0xD9: opcode_0xCB_Set_c(); break; + case 0xDA: opcode_0xCB_Set_d(); break; + case 0xDB: opcode_0xCB_Set_e(); break; + case 0xDC: opcode_0xCB_Set_h(); break; + case 0xDD: opcode_0xCB_Set_l(); break; + case 0xDE: opcode_0xCB_Set_hl(); break; + case 0xDF: opcode_0xCB_Set_a(); break; + case 0xE0: opcode_0xCB_Set_b(); break; + case 0xE1: opcode_0xCB_Set_c(); break; + case 0xE2: opcode_0xCB_Set_d(); break; + case 0xE3: opcode_0xCB_Set_e(); break; + case 0xE4: opcode_0xCB_Set_h(); break; + case 0xE5: opcode_0xCB_Set_l(); break; + case 0xE6: opcode_0xCB_Set_hl(); break; + case 0xE7: opcode_0xCB_Set_a(); break; + case 0xE8: opcode_0xCB_Set_b(); break; + case 0xE9: opcode_0xCB_Set_c(); break; + case 0xEA: opcode_0xCB_Set_d(); break; + case 0xEB: opcode_0xCB_Set_e(); break; + case 0xEC: opcode_0xCB_Set_h(); break; + case 0xED: opcode_0xCB_Set_l(); break; + case 0xEE: opcode_0xCB_Set_hl(); break; + case 0xEF: opcode_0xCB_Set_a(); break; + case 0xF0: opcode_0xCB_Set_b(); break; + case 0xF1: opcode_0xCB_Set_c(); break; + case 0xF2: opcode_0xCB_Set_d(); break; + case 0xF3: opcode_0xCB_Set_e(); break; + case 0xF4: opcode_0xCB_Set_h(); break; + case 0xF5: opcode_0xCB_Set_l(); break; + case 0xF6: opcode_0xCB_Set_hl(); break; + case 0xF7: opcode_0xCB_Set_a(); break; + case 0xF8: opcode_0xCB_Set_b(); break; + case 0xF9: opcode_0xCB_Set_c(); break; + case 0xFA: opcode_0xCB_Set_d(); break; + case 0xFB: opcode_0xCB_Set_e(); break; + case 0xFC: opcode_0xCB_Set_h(); break; + case 0xFD: opcode_0xCB_Set_l(); break; + case 0xFE: opcode_0xCB_Set_hl(); break; + case 0xFF: opcode_0xCB_Set_a(); break; + } + + return; +} + + +void decode_table_0xED() { + + if (nmi_latched==1) { // NMI allowed between CB and ED opcodes. Back-off PC and handle the NMI + register_pc--; + return; + } + + opcode_byte = Fetch_opcode(); + + clock_counter = clock_counter + Opcode_Timing_ED[opcode_byte]; + + + switch (opcode_byte) { + + case 0x00: opcode_0x00(); break; + case 0x01: opcode_0x00(); break; + case 0x02: opcode_0x00(); break; + case 0x03: opcode_0x00(); break; + case 0x04: opcode_0x00(); break; + case 0x05: opcode_0x00(); break; + case 0x06: opcode_0x00(); break; + case 0x07: opcode_0x00(); break; + case 0x08: opcode_0x00(); break; + case 0x09: opcode_0x00(); break; + case 0x0A: opcode_0x00(); break; + case 0x0B: opcode_0x00(); break; + case 0x0C: opcode_0x00(); break; + case 0x0D: opcode_0x00(); break; + case 0x0E: opcode_0x00(); break; + case 0x0F: opcode_0x00(); break; + case 0x10: opcode_0x00(); break; + case 0x11: opcode_0x00(); break; + case 0x12: opcode_0x00(); break; + case 0x13: opcode_0x00(); break; + case 0x14: opcode_0x00(); break; + case 0x15: opcode_0x00(); break; + case 0x16: opcode_0x00(); break; + case 0x17: opcode_0x00(); break; + case 0x18: opcode_0x00(); break; + case 0x19: opcode_0x00(); break; + case 0x1A: opcode_0x00(); break; + case 0x1B: opcode_0x00(); break; + case 0x1C: opcode_0x00(); break; + case 0x1D: opcode_0x00(); break; + case 0x1E: opcode_0x00(); break; + case 0x1F: opcode_0x00(); break; + case 0x20: opcode_0x00(); break; + case 0x21: opcode_0x00(); break; + case 0x22: opcode_0x00(); break; + case 0x23: opcode_0x00(); break; + case 0x24: opcode_0x00(); break; + case 0x25: opcode_0x00(); break; + case 0x26: opcode_0x00(); break; + case 0x27: opcode_0x00(); break; + case 0x28: opcode_0x00(); break; + case 0x29: opcode_0x00(); break; + case 0x2A: opcode_0x00(); break; + case 0x2B: opcode_0x00(); break; + case 0x2C: opcode_0x00(); break; + case 0x2D: opcode_0x00(); break; + case 0x2E: opcode_0x00(); break; + case 0x2F: opcode_0x00(); break; + case 0x30: opcode_0x00(); break; + case 0x31: opcode_0x00(); break; + case 0x32: opcode_0x00(); break; + case 0x33: opcode_0x00(); break; + case 0x34: opcode_0x00(); break; + case 0x35: opcode_0x00(); break; + case 0x36: opcode_0x00(); break; + case 0x37: opcode_0x00(); break; + case 0x38: opcode_0x00(); break; + case 0x39: opcode_0x00(); break; + case 0x3A: opcode_0x00(); break; + case 0x3B: opcode_0x00(); break; + case 0x3C: opcode_0x00(); break; + case 0x3D: opcode_0x00(); break; + case 0x3E: opcode_0x00(); break; + case 0x3F: opcode_0x00(); break; + case 0x40: opcode_0xED40(); break; + case 0x41: opcode_0xED41(); break; + case 0x42: opcode_0xED42(); break; + case 0x43: opcode_0xED43(); break; + case 0x44: opcode_0xED44(); break; + case 0x45: opcode_0xED45(); break; + case 0x46: opcode_0xED46(); break; + case 0x47: opcode_0xED47(); break; + case 0x48: opcode_0xED48(); break; + case 0x49: opcode_0xED49(); break; + case 0x4A: opcode_0xED4A(); break; + case 0x4B: opcode_0xED4B(); break; + case 0x4C: opcode_0xED44(); break; + case 0x4D: opcode_0xED4D(); break; + case 0x4E: opcode_0x00(); break; + case 0x4F: opcode_0xED4F(); break; + case 0x50: opcode_0xED50(); break; + case 0x51: opcode_0xED51(); break; + case 0x52: opcode_0xED52(); break; + case 0x53: opcode_0xED53(); break; + case 0x54: opcode_0xED44(); break; + case 0x55: opcode_0xED45(); break; + case 0x56: opcode_0xED56(); break; + case 0x57: opcode_0xED57(); break; + case 0x58: opcode_0xED58(); break; + case 0x59: opcode_0xED59(); break; + case 0x5A: opcode_0xED5A(); break; + case 0x5B: opcode_0xED5B(); break; + case 0x5C: opcode_0xED44(); break; + case 0x5D: opcode_0xED45(); break; + case 0x5E: opcode_0xED5E(); break; + case 0x5F: opcode_0xED5F(); break; + case 0x60: opcode_0xED60(); break; + case 0x61: opcode_0xED61(); break; + case 0x62: opcode_0xED62(); break; + case 0x63: opcode_0xED63(); break; + case 0x64: opcode_0xED44(); break; + case 0x65: opcode_0xED45(); break; + case 0x66: opcode_0xED46(); break; + case 0x67: opcode_0xED67(); break; + case 0x68: opcode_0xED68(); break; + case 0x69: opcode_0xED69(); break; + case 0x6A: opcode_0xED6A(); break; + case 0x6B: opcode_0xED6B(); break; + case 0x6C: opcode_0xED44(); break; + case 0x6D: opcode_0xED45(); break; + case 0x6E: opcode_0x00(); break; + case 0x6F: opcode_0xED6F(); break; + case 0x70: opcode_0xED70(); break; + case 0x71: opcode_0xED71(); break; + case 0x72: opcode_0xED72(); break; + case 0x73: opcode_0xED73(); break; + case 0x74: opcode_0xED44(); break; + case 0x75: opcode_0xED45(); break; + case 0x76: opcode_0xED56(); break; + case 0x77: opcode_0x00(); break; + case 0x78: opcode_0xED78(); break; + case 0x79: opcode_0xED79(); break; + case 0x7A: opcode_0xED7A(); break; + case 0x7B: opcode_0xED7B(); break; + case 0x7C: opcode_0xED44(); break; + case 0x7D: opcode_0xED45(); break; + case 0x7E: opcode_0xED5E(); break; + case 0x7F: opcode_0x00(); break; + case 0x80: opcode_0x00(); break; + case 0x81: opcode_0x00(); break; + case 0x82: opcode_0x00(); break; + case 0x83: opcode_0x00(); break; + case 0x84: opcode_0x00(); break; + case 0x85: opcode_0x00(); break; + case 0x86: opcode_0x00(); break; + case 0x87: opcode_0x00(); break; + case 0x88: opcode_0x00(); break; + case 0x89: opcode_0x00(); break; + case 0x8A: opcode_0x00(); break; + case 0x8B: opcode_0x00(); break; + case 0x8C: opcode_0x00(); break; + case 0x8D: opcode_0x00(); break; + case 0x8E: opcode_0x00(); break; + case 0x8F: opcode_0x00(); break; + case 0x90: opcode_0x00(); break; + case 0x91: opcode_0x00(); break; + case 0x92: opcode_0x00(); break; + case 0x93: opcode_0x00(); break; + case 0x94: opcode_0x00(); break; + case 0x95: opcode_0x00(); break; + case 0x96: opcode_0x00(); break; + case 0x97: opcode_0x00(); break; + case 0x98: opcode_0x00(); break; + case 0x99: opcode_0x00(); break; + case 0x9A: opcode_0x00(); break; + case 0x9B: opcode_0x00(); break; + case 0x9C: opcode_0x00(); break; + case 0x9D: opcode_0x00(); break; + case 0x9E: opcode_0x00(); break; + case 0x9F: opcode_0x00(); break; + case 0xA0: opcode_0xEDA0(); break; + case 0xA1: opcode_0xEDA1(); break; + case 0xA2: opcode_0xEDA2(); break; + case 0xA3: opcode_0xEDA3(); break; + case 0xA4: opcode_0x00(); break; + case 0xA5: opcode_0x00(); break; + case 0xA6: opcode_0x00(); break; + case 0xA7: opcode_0x00(); break; + case 0xA8: opcode_0xEDA8(); break; + case 0xA9: opcode_0xEDA9(); break; + case 0xAA: opcode_0xEDAA(); break; + case 0xAB: opcode_0xEDAB(); break; + case 0xAC: opcode_0x00(); break; + case 0xAD: opcode_0x00(); break; + case 0xAE: opcode_0x00(); break; + case 0xAF: opcode_0x00(); break; + case 0xB0: opcode_0xEDA0(); break; + case 0xB1: opcode_0xEDA1(); break; + case 0xB2: opcode_0xEDA2(); break; + case 0xB3: opcode_0xEDA3(); break; + case 0xB4: opcode_0x00(); break; + case 0xB5: opcode_0x00(); break; + case 0xB6: opcode_0x00(); break; + case 0xB7: opcode_0x00(); break; + case 0xB8: opcode_0xEDA8(); break; + case 0xB9: opcode_0xEDA9(); break; + case 0xBA: opcode_0xEDAA(); break; + case 0xBB: opcode_0xEDAB(); break; + case 0xBC: opcode_0x00(); break; + case 0xBD: opcode_0x00(); break; + case 0xBE: opcode_0x00(); break; + case 0xBF: opcode_0x00(); break; + case 0xC0: opcode_0x00(); break; + case 0xC1: opcode_0x00(); break; + case 0xC2: opcode_0x00(); break; + case 0xC3: opcode_0x00(); break; + case 0xC4: opcode_0x00(); break; + case 0xC5: opcode_0x00(); break; + case 0xC6: opcode_0x00(); break; + case 0xC7: opcode_0x00(); break; + case 0xC8: opcode_0x00(); break; + case 0xC9: opcode_0x00(); break; + case 0xCA: opcode_0x00(); break; + case 0xCB: opcode_0x00(); break; + case 0xCC: opcode_0x00(); break; + case 0xCD: opcode_0x00(); break; + case 0xCE: opcode_0x00(); break; + case 0xCF: opcode_0x00(); break; + case 0xD0: opcode_0x00(); break; + case 0xD1: opcode_0x00(); break; + case 0xD2: opcode_0x00(); break; + case 0xD3: opcode_0x00(); break; + case 0xD4: opcode_0x00(); break; + case 0xD5: opcode_0x00(); break; + case 0xD6: opcode_0x00(); break; + case 0xD7: opcode_0x00(); break; + case 0xD8: opcode_0x00(); break; + case 0xD9: opcode_0x00(); break; + case 0xDA: opcode_0x00(); break; + case 0xDB: opcode_0x00(); break; + case 0xDC: opcode_0x00(); break; + case 0xDD: opcode_0x00(); break; + case 0xDE: opcode_0x00(); break; + case 0xDF: opcode_0x00(); break; + case 0xE0: opcode_0x00(); break; + case 0xE1: opcode_0x00(); break; + case 0xE2: opcode_0x00(); break; + case 0xE3: opcode_0x00(); break; + case 0xE4: opcode_0x00(); break; + case 0xE5: opcode_0x00(); break; + case 0xE6: opcode_0x00(); break; + case 0xE7: opcode_0x00(); break; + case 0xE8: opcode_0x00(); break; + case 0xE9: opcode_0x00(); break; + case 0xEA: opcode_0x00(); break; + case 0xEB: opcode_0x00(); break; + case 0xEC: opcode_0x00(); break; + case 0xED: opcode_0x00(); break; + case 0xEE: opcode_0x00(); break; + case 0xEF: opcode_0x00(); break; + case 0xF0: opcode_0x00(); break; + case 0xF1: opcode_0x00(); break; + case 0xF2: opcode_0x00(); break; + case 0xF3: opcode_0x00(); break; + case 0xF4: opcode_0x00(); break; + case 0xF5: opcode_0x00(); break; + case 0xF6: opcode_0x00(); break; + case 0xF7: opcode_0x00(); break; + case 0xF8: opcode_0x00(); break; + case 0xF9: opcode_0x00(); break; + case 0xFA: opcode_0x00(); break; + case 0xFB: opcode_0x00(); break; + case 0xFC: opcode_0x00(); break; + case 0xFD: opcode_0x00(); break; + case 0xFE: opcode_0x00(); break; + case 0xFF: opcode_0x00(); break; + } + + return; +} + + +// ------------------------------------------------------------------------------------------------------------ +// Decode the first byte of the opcode +// ------------------------------------------------------------------------------------------------------------ +void execute_instruction() { + + temp_r = register_r; + temp_pc = register_pc; + opcode_byte = Fetch_opcode(); + + clock_counter=Opcode_Timing_Main[opcode_byte]; + + switch (opcode_byte) { + + case 0x00: opcode_0x00(); break; + case 0x01: opcode_0x01(); break; + case 0x02: opcode_0x02(); break; + case 0x03: opcode_0x03(); break; + case 0x04: opcode_0x04(); break; + case 0x05: opcode_0x05(); break; + case 0x06: opcode_0x06(); break; + case 0x07: opcode_0x07(); break; + case 0x08: opcode_0x08(); break; + case 0x09: opcode_0x09(); break; + case 0x0A: opcode_0x0A(); break; + case 0x0B: opcode_0x0B(); break; + case 0x0C: opcode_0x0C(); break; + case 0x0D: opcode_0x0D(); break; + case 0x0E: opcode_0x0E(); break; + case 0x0F: opcode_0x0F(); break; + case 0x10: opcode_0x10(); break; + case 0x11: opcode_0x11(); break; + case 0x12: opcode_0x12(); break; + case 0x13: opcode_0x13(); break; + case 0x14: opcode_0x14(); break; + case 0x15: opcode_0x15(); break; + case 0x16: opcode_0x16(); break; + case 0x17: opcode_0x17(); break; + case 0x18: opcode_0x18(); break; + case 0x19: opcode_0x19(); break; + case 0x1A: opcode_0x1A(); break; + case 0x1B: opcode_0x1B(); break; + case 0x1C: opcode_0x1C(); break; + case 0x1D: opcode_0x1D(); break; + case 0x1E: opcode_0x1E(); break; + case 0x1F: opcode_0x1F(); break; + case 0x20: opcode_0x20(); break; + case 0x21: opcode_0x21(); break; + case 0x22: opcode_0x22(); break; + case 0x23: opcode_0x23(); break; + case 0x24: opcode_0x24(); break; + case 0x25: opcode_0x25(); break; + case 0x26: opcode_0x26(); break; + case 0x27: opcode_0x27(); break; + case 0x28: opcode_0x28(); break; + case 0x29: opcode_0x29(); break; + case 0x2A: opcode_0x2A(); break; + case 0x2B: opcode_0x2B(); break; + case 0x2C: opcode_0x2C(); break; + case 0x2D: opcode_0x2D(); break; + case 0x2E: opcode_0x2E(); break; + case 0x2F: opcode_0x2F(); break; + case 0x30: opcode_0x30(); break; + case 0x31: opcode_0x31(); break; + case 0x32: opcode_0x32(); break; + case 0x33: opcode_0x33(); break; + case 0x34: opcode_0x34(); break; + case 0x35: opcode_0x35(); break; + case 0x36: opcode_0x36(); break; + case 0x37: opcode_0x37(); break; + case 0x38: opcode_0x38(); break; + case 0x39: opcode_0x39(); break; + case 0x3a: opcode_0x3A(); break; + case 0x3B: opcode_0x3B(); break; + case 0x3C: opcode_0x3C(); break; + case 0x3D: opcode_0x3D(); break; + case 0x3E: opcode_0x3E(); break; + case 0x3F: opcode_0x3F(); break; + case 0x40: opcode_0x40(); break; + case 0x41: opcode_0x41(); break; + case 0x42: opcode_0x42(); break; + case 0x43: opcode_0x43(); break; + case 0x44: opcode_0x44(); break; + case 0x45: opcode_0x45(); break; + case 0x46: opcode_0x46(); break; + case 0x47: opcode_0x47(); break; + case 0x48: opcode_0x48(); break; + case 0x49: opcode_0x49(); break; + case 0x4A: opcode_0x4A(); break; + case 0x4B: opcode_0x4B(); break; + case 0x4C: opcode_0x4C(); break; + case 0x4D: opcode_0x4D(); break; + case 0x4E: opcode_0x4E(); break; + case 0x4F: opcode_0x4F(); break; + case 0x50: opcode_0x50(); break; + case 0x51: opcode_0x51(); break; + case 0x52: opcode_0x52(); break; + case 0x53: opcode_0x53(); break; + case 0x54: opcode_0x54(); break; + case 0x55: opcode_0x55(); break; + case 0x56: opcode_0x56(); break; + case 0x57: opcode_0x57(); break; + case 0x58: opcode_0x58(); break; + case 0x59: opcode_0x59(); break; + case 0x5A: opcode_0x5A(); break; + case 0x5B: opcode_0x5B(); break; + case 0x5C: opcode_0x5C(); break; + case 0x5D: opcode_0x5D(); break; + case 0x5E: opcode_0x5E(); break; + case 0x5F: opcode_0x5F(); break; + case 0x60: opcode_0x60(); break; + case 0x61: opcode_0x61(); break; + case 0x62: opcode_0x62(); break; + case 0x63: opcode_0x63(); break; + case 0x64: opcode_0x64(); break; + case 0x65: opcode_0x65(); break; + case 0x66: opcode_0x66(); break; + case 0x67: opcode_0x67(); break; + case 0x68: opcode_0x68(); break; + case 0x69: opcode_0x69(); break; + case 0x6A: opcode_0x6A(); break; + case 0x6B: opcode_0x6B(); break; + case 0x6C: opcode_0x6C(); break; + case 0x6D: opcode_0x6D(); break; + case 0x6E: opcode_0x6E(); break; + case 0x6F: opcode_0x6F(); break; + case 0x70: opcode_0x70(); break; + case 0x71: opcode_0x71(); break; + case 0x72: opcode_0x72(); break; + case 0x73: opcode_0x73(); break; + case 0x74: opcode_0x74(); break; + case 0x75: opcode_0x75(); break; + case 0x76: opcode_0x76(); break; + case 0x77: opcode_0x77(); break; + case 0x78: opcode_0x78(); break; + case 0x79: opcode_0x79(); break; + case 0x7A: opcode_0x7A(); break; + case 0x7B: opcode_0x7B(); break; + case 0x7C: opcode_0x7C(); break; + case 0x7D: opcode_0x7D(); break; + case 0x7E: opcode_0x7E(); break; + case 0x7F: opcode_0x7F(); break; + case 0x80: opcode_0x80(); break; + case 0x81: opcode_0x81(); break; + case 0x82: opcode_0x82(); break; + case 0x83: opcode_0x83(); break; + case 0x84: opcode_0x84(); break; + case 0x85: opcode_0x85(); break; + case 0x86: opcode_0x86(); break; + case 0x87: opcode_0x87(); break; + case 0x88: opcode_0x88(); break; + case 0x89: opcode_0x89(); break; + case 0x8A: opcode_0x8A(); break; + case 0x8B: opcode_0x8B(); break; + case 0x8C: opcode_0x8C(); break; + case 0x8D: opcode_0x8D(); break; + case 0x8E: opcode_0x8E(); break; + case 0x8F: opcode_0x8F(); break; + case 0x90: opcode_0x90(); break; + case 0x91: opcode_0x91(); break; + case 0x92: opcode_0x92(); break; + case 0x93: opcode_0x93(); break; + case 0x94: opcode_0x94(); break; + case 0x95: opcode_0x95(); break; + case 0x96: opcode_0x96(); break; + case 0x97: opcode_0x97(); break; + case 0x98: opcode_0x98(); break; + case 0x99: opcode_0x99(); break; + case 0x9A: opcode_0x9A(); break; + case 0x9B: opcode_0x9B(); break; + case 0x9C: opcode_0x9C(); break; + case 0x9D: opcode_0x9D(); break; + case 0x9E: opcode_0x9E(); break; + case 0x9F: opcode_0x9F(); break; + case 0xA0: opcode_0xA0(); break; + case 0xA1: opcode_0xA1(); break; + case 0xA2: opcode_0xA2(); break; + case 0xA3: opcode_0xA3(); break; + case 0xA4: opcode_0xA4(); break; + case 0xA5: opcode_0xA5(); break; + case 0xA6: opcode_0xA6(); break; + case 0xA7: opcode_0xA7(); break; + case 0xA8: opcode_0xA8(); break; + case 0xA9: opcode_0xA9(); break; + case 0xAA: opcode_0xAA(); break; + case 0xAB: opcode_0xAB(); break; + case 0xAC: opcode_0xAC(); break; + case 0xAD: opcode_0xAD(); break; + case 0xAE: opcode_0xAE(); break; + case 0xAF: opcode_0xAF(); break; + case 0xB0: opcode_0xB0(); break; + case 0xB1: opcode_0xB1(); break; + case 0xB2: opcode_0xB2(); break; + case 0xB3: opcode_0xB3(); break; + case 0xB4: opcode_0xB4(); break; + case 0xB5: opcode_0xB5(); break; + case 0xB6: opcode_0xB6(); break; + case 0xB7: opcode_0xB7(); break; + case 0xB8: opcode_0xB8(); break; + case 0xB9: opcode_0xB9(); break; + case 0xBA: opcode_0xBA(); break; + case 0xBB: opcode_0xBB(); break; + case 0xBC: opcode_0xBC(); break; + case 0xBD: opcode_0xBD(); break; + case 0xBE: opcode_0xBE(); break; + case 0xBF: opcode_0xBF(); break; + case 0xC0: opcode_0xC0(); break; + case 0xC1: opcode_0xC1(); break; + case 0xC2: opcode_0xC2(); break; + case 0xC3: opcode_0xC3(); break; + case 0xC4: opcode_0xC4(); break; + case 0xC5: opcode_0xC5(); break; + case 0xC6: opcode_0xC6(); break; + case 0xC7: opcode_0xC7(); break; + case 0xC8: opcode_0xC8(); break; + case 0xC9: opcode_0xC9(); break; + case 0xCA: opcode_0xCA(); break; + case 0xCB: decode_table_0xCB(); break; + case 0xCC: opcode_0xCC(); break; + case 0xCD: opcode_0xCD(); break; + case 0xCE: opcode_0xCE(); break; + case 0xCF: opcode_0xCF(); break; + case 0xD0: opcode_0xD0(); break; + case 0xD1: opcode_0xD1(); break; + case 0xD2: opcode_0xD2(); break; + case 0xD3: opcode_0xD3(); break; + case 0xD4: opcode_0xD4(); break; + case 0xD5: opcode_0xD5(); break; + case 0xD6: opcode_0xD6(); break; + case 0xD7: opcode_0xD7(); break; + case 0xD8: opcode_0xD8(); break; + case 0xD9: opcode_0xD9(); break; + case 0xDA: opcode_0xDA(); break; + case 0xDB: opcode_0xDB(); break; + case 0xDC: opcode_0xDC(); break; + case 0xDD: opcode_0xDD(); break; + case 0xDE: opcode_0xDE(); break; + case 0xDF: opcode_0xDF(); break; + case 0xE0: opcode_0xE0(); break; + case 0xE1: opcode_0xE1(); break; + case 0xE2: opcode_0xE2(); break; + case 0xE3: opcode_0xE3(); break; + case 0xE4: opcode_0xE4(); break; + case 0xE5: opcode_0xE5(); break; + case 0xE6: opcode_0xE6(); break; + case 0xE7: opcode_0xE7(); break; + case 0xE8: opcode_0xE8(); break; + case 0xE9: opcode_0xE9(); break; + case 0xEA: opcode_0xEA(); break; + case 0xEB: opcode_0xEB(); break; + case 0xEC: opcode_0xEC(); break; + case 0xED: decode_table_0xED(); break; + case 0xEE: opcode_0xEE(); break; + case 0xEF: opcode_0xEF(); break; + case 0xF0: opcode_0xF0(); break; + case 0xF1: opcode_0xF1(); break; + case 0xF2: opcode_0xF2(); break; + case 0xF3: opcode_0xF3(); break; + case 0xF4: opcode_0xF4(); break; + case 0xF5: opcode_0xF5(); break; + case 0xF6: opcode_0xF6(); break; + case 0xF7: opcode_0xF7(); break; + case 0xF8: opcode_0xF8(); break; + case 0xF9: opcode_0xF9(); break; + case 0xFA: opcode_0xFA(); break; + case 0xFB: opcode_0xFB(); break; + case 0xFC: opcode_0xFC(); break; + case 0xFD: opcode_0xFD(); break; + case 0xFE: opcode_0xFE(); break; + case 0xFF: opcode_0xFF(); break; + } + + if (cpu_status_ctr > STAT_BUF_SIZE) + cpu_status_ctr = 0; + + stat_buf[cpu_status_ctr].opcode = opcode_byte; + stat_buf[cpu_status_ctr].pc = temp_pc; + stat_buf[cpu_status_ctr].sp = register_sp; + stat_buf[cpu_status_ctr].a = register_a; + stat_buf[cpu_status_ctr].f = register_f; + stat_buf[cpu_status_ctr].b = register_b; + stat_buf[cpu_status_ctr].c = register_c; + stat_buf[cpu_status_ctr].d = register_d; + stat_buf[cpu_status_ctr].e = register_e; + stat_buf[cpu_status_ctr].h = register_h; + stat_buf[cpu_status_ctr].l = register_l; + stat_buf[cpu_status_ctr].ixh = register_ixh; + stat_buf[cpu_status_ctr].ixl = register_ixl; + stat_buf[cpu_status_ctr].iyh = register_iyh; + stat_buf[cpu_status_ctr].iyl = register_iyl; + stat_buf[cpu_status_ctr].a2 = register_a2; + stat_buf[cpu_status_ctr].f2 = register_f2; + stat_buf[cpu_status_ctr].b2 = register_b2; + stat_buf[cpu_status_ctr].c2 = register_c2; + stat_buf[cpu_status_ctr].d2 = register_d2; + stat_buf[cpu_status_ctr].e2 = register_e2; + stat_buf[cpu_status_ctr].h2 = register_h2; + stat_buf[cpu_status_ctr].l2 = register_l2; + stat_buf[cpu_status_ctr].r = temp_r; + stat_buf[cpu_status_ctr].i = register_i; + stat_buf[cpu_status_ctr].im = register_im; + stat_buf[cpu_status_ctr].iff1 = register_iff1; + stat_buf[cpu_status_ctr].iff2 = register_iff2; + cpu_status_ctr++; + +return; +} + + + +void setopcode(uint8_t o) { + switch (o) { + case 0x00: strcpy(opcodebuf, "NOP "); break; + case 0x01: strcpy(opcodebuf, "LD BC, nn "); break; + case 0x02: strcpy(opcodebuf, "LD (BC), A "); break; + case 0x03: strcpy(opcodebuf, "INC BC "); break; + case 0x04: strcpy(opcodebuf, "INC B "); break; + case 0x05: strcpy(opcodebuf, "DEC B "); break; + case 0x06: strcpy(opcodebuf, "LD B, n "); break; + case 0x07: strcpy(opcodebuf, "RLCA "); break; + case 0x08: strcpy(opcodebuf, "EX AF, AF' "); break; + case 0x09: strcpy(opcodebuf, "ADD HL, BC "); break; + case 0x0A: strcpy(opcodebuf, "LD A, (BC) "); break; + case 0x0B: strcpy(opcodebuf, "DEC BC "); break; + case 0x0C: strcpy(opcodebuf, "INC C "); break; + case 0x0D: strcpy(opcodebuf, "DEC C "); break; + case 0x0E: strcpy(opcodebuf, "LD C, n "); break; + case 0x0F: strcpy(opcodebuf, "RRCA "); break; + case 0x10: strcpy(opcodebuf, "DJNZ e "); break; + case 0x11: strcpy(opcodebuf, "LD DE, nn "); break; + case 0x12: strcpy(opcodebuf, "LD (DE), A "); break; + case 0x13: strcpy(opcodebuf, "INC DE "); break; + case 0x14: strcpy(opcodebuf, "INC D "); break; + case 0x15: strcpy(opcodebuf, "DEC D "); break; + case 0x16: strcpy(opcodebuf, "LD D, n "); break; + case 0x17: strcpy(opcodebuf, "RLA "); break; + case 0x18: strcpy(opcodebuf, "JR e "); break; + case 0x19: strcpy(opcodebuf, "ADD HL, DE "); break; + case 0x1A: strcpy(opcodebuf, "LD A, (DE) "); break; + case 0x1B: strcpy(opcodebuf, "DEC DE "); break; + case 0x1C: strcpy(opcodebuf, "INC E "); break; + case 0x1D: strcpy(opcodebuf, "DEC E "); break; + case 0x1E: strcpy(opcodebuf, "LD E, n "); break; + case 0x1F: strcpy(opcodebuf, "RRA "); break; + case 0x20: strcpy(opcodebuf, "JR NZ, e "); break; + case 0x21: strcpy(opcodebuf, "LD HL, nn "); break; + case 0x22: strcpy(opcodebuf, "LD (HL+), A"); break; + case 0x23: strcpy(opcodebuf, "INC HL "); break; + case 0x24: strcpy(opcodebuf, "INC H "); break; + case 0x25: strcpy(opcodebuf, "DEC H "); break; + case 0x26: strcpy(opcodebuf, "LD H, n "); break; + case 0x27: strcpy(opcodebuf, "DAA "); break; + case 0x28: strcpy(opcodebuf, "JR Z, e "); break; + case 0x29: strcpy(opcodebuf, "ADD HL, HL "); break; + case 0x2A: strcpy(opcodebuf, "LD A, (HL+)"); break; + case 0x2B: strcpy(opcodebuf, "DEC HL "); break; + case 0x2C: strcpy(opcodebuf, "INC L "); break; + case 0x2D: strcpy(opcodebuf, "DEC L "); break; + case 0x2E: strcpy(opcodebuf, "LD L, n "); break; + case 0x2F: strcpy(opcodebuf, "CPL "); break; + case 0x30: strcpy(opcodebuf, "JR NC, e "); break; + case 0x31: strcpy(opcodebuf, "LD SP, nn "); break; + case 0x32: strcpy(opcodebuf, "LD (HL-), A"); break; + case 0x33: strcpy(opcodebuf, "INC SP "); break; + case 0x34: strcpy(opcodebuf, "INC (HL) "); break; + case 0x35: strcpy(opcodebuf, "DEC (HL) "); break; + case 0x36: strcpy(opcodebuf, "LD (HL), n "); break; + case 0x37: strcpy(opcodebuf, "SCF "); break; + case 0x38: strcpy(opcodebuf, "JR C, e "); break; + case 0x39: strcpy(opcodebuf, "ADD HL, SP "); break; + case 0x3A: strcpy(opcodebuf, "LD A, (HL-)"); break; + case 0x3B: strcpy(opcodebuf, "DEC SP "); break; + case 0x3C: strcpy(opcodebuf, "INC A "); break; + case 0x3D: strcpy(opcodebuf, "DEC A "); break; + case 0x3E: strcpy(opcodebuf, "LD A, n "); break; + case 0x3F: strcpy(opcodebuf, "CCF "); break; + case 0x40: strcpy(opcodebuf, "LD B, B "); break; + case 0x41: strcpy(opcodebuf, "LD B, C "); break; + case 0x42: strcpy(opcodebuf, "LD B, D "); break; + case 0x43: strcpy(opcodebuf, "LD B, E "); break; + case 0x44: strcpy(opcodebuf, "LD B, H "); break; + case 0x45: strcpy(opcodebuf, "LD B, L "); break; + case 0x46: strcpy(opcodebuf, "LD B, (HL) "); break; + case 0x47: strcpy(opcodebuf, "LD B, A "); break; + case 0x48: strcpy(opcodebuf, "LD C, B "); break; + case 0x49: strcpy(opcodebuf, "LD C, C "); break; + case 0x4A: strcpy(opcodebuf, "LD C, D "); break; + case 0x4B: strcpy(opcodebuf, "LD C, E "); break; + case 0x4C: strcpy(opcodebuf, "LD C, H "); break; + case 0x4D: strcpy(opcodebuf, "LD C, L "); break; + case 0x4E: strcpy(opcodebuf, "LD C, (HL) "); break; + case 0x4F: strcpy(opcodebuf, "LD C, A "); break; + case 0x50: strcpy(opcodebuf, "LD D, B "); break; + case 0x51: strcpy(opcodebuf, "LD D, C "); break; + case 0x52: strcpy(opcodebuf, "LD D, D "); break; + case 0x53: strcpy(opcodebuf, "LD D, E "); break; + case 0x54: strcpy(opcodebuf, "LD D, H "); break; + case 0x55: strcpy(opcodebuf, "LD D, L "); break; + case 0x56: strcpy(opcodebuf, "LD D, (HL) "); break; + case 0x57: strcpy(opcodebuf, "LD D, A "); break; + case 0x58: strcpy(opcodebuf, "LD E, B "); break; + case 0x59: strcpy(opcodebuf, "LD E, C "); break; + case 0x5A: strcpy(opcodebuf, "LD E, D "); break; + case 0x5B: strcpy(opcodebuf, "LD E, E "); break; + case 0x5C: strcpy(opcodebuf, "LD E, H "); break; + case 0x5D: strcpy(opcodebuf, "LD E, L "); break; + case 0x5E: strcpy(opcodebuf, "LD E, (HL) "); break; + case 0x5F: strcpy(opcodebuf, "LD E, A "); break; + case 0x60: strcpy(opcodebuf, "LD H, B "); break; + case 0x61: strcpy(opcodebuf, "LD H, C "); break; + case 0x62: strcpy(opcodebuf, "LD H, D "); break; + case 0x63: strcpy(opcodebuf, "LD H, E "); break; + case 0x64: strcpy(opcodebuf, "LD H, H "); break; + case 0x65: strcpy(opcodebuf, "LD H, L "); break; + case 0x66: strcpy(opcodebuf, "LD H, (HL) "); break; + case 0x67: strcpy(opcodebuf, "LD H, A "); break; + case 0x68: strcpy(opcodebuf, "LD L, B "); break; + case 0x69: strcpy(opcodebuf, "LD L, C "); break; + case 0x6A: strcpy(opcodebuf, "LD L, D "); break; + case 0x6B: strcpy(opcodebuf, "LD L, E "); break; + case 0x6C: strcpy(opcodebuf, "LD L, H "); break; + case 0x6D: strcpy(opcodebuf, "LD L, L "); break; + case 0x6E: strcpy(opcodebuf, "LD L, (HL) "); break; + case 0x6F: strcpy(opcodebuf, "LD L, A "); break; + case 0x70: strcpy(opcodebuf, "LD (HL), B "); break; + case 0x71: strcpy(opcodebuf, "LD (HL), C "); break; + case 0x72: strcpy(opcodebuf, "LD (HL), D "); break; + case 0x73: strcpy(opcodebuf, "LD (HL), E "); break; + case 0x74: strcpy(opcodebuf, "LD (HL), H "); break; + case 0x75: strcpy(opcodebuf, "LD (HL), L "); break; + case 0x76: strcpy(opcodebuf, "HALT "); break; + case 0x77: strcpy(opcodebuf, "LD (HL), A "); break; + case 0x78: strcpy(opcodebuf, "LD A, B "); break; + case 0x79: strcpy(opcodebuf, "LD A, C "); break; + case 0x7A: strcpy(opcodebuf, "LD A, D "); break; + case 0x7B: strcpy(opcodebuf, "LD A, E "); break; + case 0x7C: strcpy(opcodebuf, "LD A, H "); break; + case 0x7D: strcpy(opcodebuf, "LD A, L "); break; + case 0x7E: strcpy(opcodebuf, "LD A, (HL) "); break; + case 0x7F: strcpy(opcodebuf, "LD A, A "); break; + case 0x80: strcpy(opcodebuf, "ADD A, B "); break; + case 0x81: strcpy(opcodebuf, "ADD A, C "); break; + case 0x82: strcpy(opcodebuf, "ADD A, D "); break; + case 0x83: strcpy(opcodebuf, "ADD A, E "); break; + case 0x84: strcpy(opcodebuf, "ADD A, H "); break; + case 0x85: strcpy(opcodebuf, "ADD A, L "); break; + case 0x86: strcpy(opcodebuf, "ADD A, (HL)"); break; + case 0x87: strcpy(opcodebuf, "ADD A, A "); break; + case 0x88: strcpy(opcodebuf, "ADC A, B "); break; + case 0x89: strcpy(opcodebuf, "ADC A, C "); break; + case 0x8A: strcpy(opcodebuf, "ADC A, D "); break; + case 0x8B: strcpy(opcodebuf, "ADC A, E "); break; + case 0x8C: strcpy(opcodebuf, "ADC A, H "); break; + case 0x8D: strcpy(opcodebuf, "ADC A, L "); break; + case 0x8E: strcpy(opcodebuf, "ADC A, (HL)"); break; + case 0x8F: strcpy(opcodebuf, "ADC A, A "); break; + case 0x90: strcpy(opcodebuf, "SUB B "); break; + case 0x91: strcpy(opcodebuf, "SUB C "); break; + case 0x92: strcpy(opcodebuf, "SUB D "); break; + case 0x93: strcpy(opcodebuf, "SUB E "); break; + case 0x94: strcpy(opcodebuf, "SUB H "); break; + case 0x95: strcpy(opcodebuf, "SUB L "); break; + case 0x96: strcpy(opcodebuf, "SUB (HL) "); break; + case 0x97: strcpy(opcodebuf, "SUB A "); break; + case 0x98: strcpy(opcodebuf, "SBC A, B "); break; + case 0x99: strcpy(opcodebuf, "SBC A, C "); break; + case 0x9A: strcpy(opcodebuf, "SBC A, D "); break; + case 0x9B: strcpy(opcodebuf, "SBC A, E "); break; + case 0x9C: strcpy(opcodebuf, "SBC A, H "); break; + case 0x9D: strcpy(opcodebuf, "SBC A, L "); break; + case 0x9E: strcpy(opcodebuf, "SBC A, (HL)"); break; + case 0x9F: strcpy(opcodebuf, "SBC A, A "); break; + case 0xA0: strcpy(opcodebuf, "AND B "); break; + case 0xA1: strcpy(opcodebuf, "AND C "); break; + case 0xA2: strcpy(opcodebuf, "AND D "); break; + case 0xA3: strcpy(opcodebuf, "AND E "); break; + case 0xA4: strcpy(opcodebuf, "AND H "); break; + case 0xA5: strcpy(opcodebuf, "AND L "); break; + case 0xA6: strcpy(opcodebuf, "AND (HL) "); break; + case 0xA7: strcpy(opcodebuf, "AND A "); break; + case 0xA8: strcpy(opcodebuf, "XOR B "); break; + case 0xA9: strcpy(opcodebuf, "XOR C "); break; + case 0xAA: strcpy(opcodebuf, "XOR D "); break; + case 0xAB: strcpy(opcodebuf, "XOR E "); break; + case 0xAC: strcpy(opcodebuf, "XOR H "); break; + case 0xAD: strcpy(opcodebuf, "XOR L "); break; + case 0xAE: strcpy(opcodebuf, "XOR (HL) "); break; + case 0xAF: strcpy(opcodebuf, "XOR A "); break; + case 0xB0: strcpy(opcodebuf, "OR B "); break; + case 0xB1: strcpy(opcodebuf, "OR C "); break; + case 0xB2: strcpy(opcodebuf, "OR D "); break; + case 0xB3: strcpy(opcodebuf, "OR E "); break; + case 0xB4: strcpy(opcodebuf, "OR H "); break; + case 0xB5: strcpy(opcodebuf, "OR L "); break; + case 0xB6: strcpy(opcodebuf, "OR (HL) "); break; + case 0xB7: strcpy(opcodebuf, "OR A "); break; + case 0xB8: strcpy(opcodebuf, "CP B "); break; + case 0xB9: strcpy(opcodebuf, "CP C "); break; + case 0xBA: strcpy(opcodebuf, "CP D "); break; + case 0xBB: strcpy(opcodebuf, "CP E "); break; + case 0xBC: strcpy(opcodebuf, "CP H "); break; + case 0xBD: strcpy(opcodebuf, "CP L "); break; + case 0xBE: strcpy(opcodebuf, "CP (HL) "); break; + case 0xBF: strcpy(opcodebuf, "CP A "); break; + case 0xC0: strcpy(opcodebuf, "RET NZ "); break; + case 0xC1: strcpy(opcodebuf, "POP BC "); break; + case 0xC2: strcpy(opcodebuf, "JP NZ, a16 "); break; + case 0xC3: strcpy(opcodebuf, "JP a16 "); break; + case 0xC4: strcpy(opcodebuf, "CALL NZ,a16"); break; + case 0xC5: strcpy(opcodebuf, "PUSH BC "); break; + case 0xC6: strcpy(opcodebuf, "ADD A, d8 "); break; + case 0xC7: strcpy(opcodebuf, "RST 00H "); break; + case 0xC8: strcpy(opcodebuf, "RET Z "); break; + case 0xC9: strcpy(opcodebuf, "RET "); break; + case 0xCA: strcpy(opcodebuf, "JP Z, a16 "); break; + case 0xCB: strcpy(opcodebuf, "PREFIX CB "); break; + case 0xCC: strcpy(opcodebuf, "CALL Z, a16"); break; + case 0xCD: strcpy(opcodebuf, "CALL a16 "); break; + case 0xCE: strcpy(opcodebuf, "ADC A, d8 "); break; + case 0xCF: strcpy(opcodebuf, "RST 08H "); break; + case 0xD0: strcpy(opcodebuf, "RET NC "); break; + case 0xD1: strcpy(opcodebuf, "POP DE "); break; + case 0xD2: strcpy(opcodebuf, "JP NC, a16 "); break; + case 0xD3: strcpy(opcodebuf, "OUT (N), A "); break; + case 0xD4: strcpy(opcodebuf, "CALL NC,a16"); break; + case 0xD5: strcpy(opcodebuf, "PUSH DE "); break; + case 0xD6: strcpy(opcodebuf, "SUB d8 "); break; + case 0xD7: strcpy(opcodebuf, "RST 10H "); break; + case 0xD8: strcpy(opcodebuf, "RET C "); break; + case 0xD9: strcpy(opcodebuf, "RETI "); break; + case 0xDA: strcpy(opcodebuf, "JP C, a16 "); break; + case 0xDB: strcpy(opcodebuf, "IN A,(N) "); break; + case 0xDC: strcpy(opcodebuf, "CALL C, a16"); break; + case 0xDD: strcpy(opcodebuf, "IX INSTRUCT"); break; + case 0xDE: strcpy(opcodebuf, "SBC A, d8 "); break; + case 0xDF: strcpy(opcodebuf, "RST 18H "); break; + case 0xE0: strcpy(opcodebuf, "LDH (a8), A"); break; + case 0xE1: strcpy(opcodebuf, "POP HL "); break; + case 0xE2: strcpy(opcodebuf, "LD (C), A "); break; + case 0xE3: strcpy(opcodebuf, "EX (SP), HL"); break; + case 0xE4: strcpy(opcodebuf, "CALL PO,NN "); break; + case 0xE5: strcpy(opcodebuf, "PUSH HL "); break; + case 0xE6: strcpy(opcodebuf, "AND d8 "); break; + case 0xE7: strcpy(opcodebuf, "RST 20H "); break; + case 0xE8: strcpy(opcodebuf, "ADD SP, r8 "); break; + case 0xE9: strcpy(opcodebuf, "JP (HL) "); break; + case 0xEA: strcpy(opcodebuf, "LD (a16), A"); break; + case 0xEB: strcpy(opcodebuf, "EX DE,HL "); break; + case 0xEC: strcpy(opcodebuf, "CALL PE,NN "); break; + case 0xED: strcpy(opcodebuf, "MISC ED INS"); break; + case 0xEE: strcpy(opcodebuf, "XOR d8 "); break; + case 0xEF: strcpy(opcodebuf, "RST 28H "); break; + case 0xF0: strcpy(opcodebuf, "LDH A, (a8)"); break; + case 0xF1: strcpy(opcodebuf, "POP AF "); break; + case 0xF2: strcpy(opcodebuf, "LD A, (C) "); break; + case 0xF3: strcpy(opcodebuf, "DI "); break; + case 0xF4: strcpy(opcodebuf, "CALL P,NN "); break; + case 0xF5: strcpy(opcodebuf, "PUSH AF "); break; + case 0xF6: strcpy(opcodebuf, "OR d8 "); break; + case 0xF7: strcpy(opcodebuf, "RST 30H "); break; + case 0xF8: strcpy(opcodebuf, "LD HL,SP+r8"); break; + case 0xF9: strcpy(opcodebuf, "LD SP, HL "); break; + case 0xFA: strcpy(opcodebuf, "LD A, (a16)"); break; + case 0xFB: strcpy(opcodebuf, "EI "); break; + case 0xFC: strcpy(opcodebuf, "CALL M,NN "); break; + case 0xFD: strcpy(opcodebuf, "IY INSTRUCT"); break; + case 0xFE: strcpy(opcodebuf, "CP d8 "); break; + case 0xFF: strcpy(opcodebuf, "RST 38H "); break; + } +} + +void print_cpu_statuses() { + uint8_t i; + + for(i=0;i 32) { + Serial.print("\n"); + wrapper = 0; + } + } + Serial.print("\nChecksum:\n"); + Serial.print(chksum, HEX); + } + else { + Serial.print("Malformed command.\n"); + } + + Serial.printf("\n"); +} + +void writeByteToMemory(const char* stc) { + char from[5]; + char theByte[3]; + uint i_from; + uint8_t i_theByte; + + from[0] = 0x00; from[1] = 0x00; from[2] = 0x00; from[3] = 0x00; from[4] = 0x00; + theByte[0] = 0x00; theByte[1] = 0x00; theByte[2] = 0x00; + + for(int i=1;i<5;i++) + from[i-1] = *(stc+i); + + for(int i=6;i<8;i++) + theByte[i-6] = *(stc+i); + + if(isHex(from) && isHex(theByte)) { + i_from = (int) strtol(from, 0, 16); + i_theByte = (int) strtol(theByte, 0, 16); + + BIU_Bus_Cycle(MEM_WRITE_BYTE, i_from, i_theByte); + Serial.print("Ok\n"); + } + else { + Serial.print("Malformed command.\n"); + } +} + +void writeByteToMemoryWithVerify(const char* stc) { + char from[5]; + char theByte[3]; + uint i_from; + uint8_t i_theByte; + uint8_t i_readByte; + + from[0] = 0x00; from[1] = 0x00; from[2] = 0x00; from[3] = 0x00; from[4] = 0x00; + theByte[0] = 0x00; theByte[1] = 0x00; theByte[2] = 0x00; + + for(int i=1;i<5;i++) + from[i-1] = *(stc+i); + + for(int i=6;i<8;i++) + theByte[i-6] = *(stc+i); + + if(isHex(from) && isHex(theByte)) { + i_from = (int) strtol(from, 0, 16); + i_theByte = (int) strtol(theByte, 0, 16); + + BIU_Bus_Cycle(MEM_WRITE_BYTE, i_from, i_theByte); + i_readByte = BIU_Bus_Cycle(MEM_READ_BYTE, i_from, 0x00); + + if(i_readByte != i_theByte) { + Serial.print("Attempted to write "); + Serial.print(i_theByte, HEX); + Serial.print("to location"); + Serial.print(i_from, HEX); + Serial.print("but found"); + Serial.print(i_readByte, HEX); + Serial.print("when reading that location"); + Serial.print("\n"); + } + else { + Serial.print("Ok\n"); + } + } + else { + Serial.print("Malformed command.\n"); + } +} + +void writeByteToMemoryBlock(const char* stc) { + char from[5]; + char to[5]; + char theByte[3]; + uint i_from; + uint i_to; + uint i_theByte; + + from[0] = 0x00; from[1] = 0x00; from[2] = 0x00; from[3] = 0x00; from[4] = 0x00; + to[0] = 0x00; to[1] = 0x00; to[2] = 0x00; to[3] = 0x00; to[4] = 0x00; + theByte[0] = 0x00; theByte[1] = 0x00; theByte[2] = 0x00; + + for(int i=1;i<5;i++) + from[i-1] = *(stc+i); + + for(int i=6;i<10;i++) + to[i-6] = *(stc+i); + + for(int i=11;i<13;i++) { + theByte[i-11] = *(stc+i); + } + + if(isHex(from) && isHex(theByte) && isHex(to)) { + i_from = (int) strtol(from, 0, 16); + i_to = (int) strtol(to, 0, 16); + i_theByte = (int) strtol(theByte, 0, 16); + + for(uint i=i_from;i<=i_to;i++) { + BIU_Bus_Cycle(MEM_WRITE_BYTE, i, i_theByte); + } + Serial.print("Ok\n"); + } + else { + Serial.print("Malformed command.\n"); + } +} + +void writeByteToMemoryBlockWithVerify(const char* stc) { + char from[5]; + char to[5]; + char theByte[3]; + uint i_from; + uint i_to; + uint i_theByte; + uint8_t i_readByte; + + from[0] = 0x00; from[1] = 0x00; from[2] = 0x00; from[3] = 0x00; from[4] = 0x00; + to[0] = 0x00; to[1] = 0x00; to[2] = 0x00; to[3] = 0x00; to[4] = 0x00; + theByte[0] = 0x00; theByte[1] = 0x00; theByte[2] = 0x00; + + for(int i=1;i<5;i++) + from[i-1] = *(stc+i); + + for(int i=6;i<10;i++) + to[i-6] = *(stc+i); + + for(int i=11;i<13;i++) { + theByte[i-11] = *(stc+i); + } + + if(isHex(from) && isHex(theByte) && isHex(to)) { + i_from = (int) strtol(from, 0, 16); + i_to = (int) strtol(to, 0, 16); + i_theByte = (int) strtol(theByte, 0, 16); + + for(uint i=i_from;i<=i_to;i++) { + BIU_Bus_Cycle(MEM_WRITE_BYTE, i, i_theByte); + i_readByte = BIU_Bus_Cycle(MEM_READ_BYTE, i, 0x00); + if(i_readByte != i_theByte) + Serial.printf("%04X: %02X != %02X\n", i, i_theByte, i_readByte); + } + Serial.print("Ok\n"); + } + else { + Serial.print("Malformed command.\n"); + } +} + + +void showOptions() { + Serial.printf(" G - Go\n"); + Serial.printf(" H - Help\n"); + Serial.printf(" Rnnnn-mmmm - read memory from nnnn to mmmm and display it \n"); + Serial.printf(" Wnnnn mm - write mm into memory address nnnn without verification\n"); + Serial.printf(" Vnnnn mm - write mm into memory address nnnn and verify it \n"); + Serial.printf(" Ynnnn-mmmm pp - write pp into address range nnnn to mmmm \n"); + Serial.printf(" Znnnn-mmmm pp - write pp into address range nnnn to mmmm and verify it\n\n"); +} + + +// ------------------------------------------------- +// +// Main loop +// +// ------------------------------------------------- + void loop() { + uint16_t local_counter=0; + uint8_t EmulatorMode = 0; + + + Serial.printf("\nWaiting for command. Options:\n"); + showOptions(); + + // Give Teensy 4.1 a moment + delay (1000); + wait_for_CLK_rising_edge(); + wait_for_CLK_rising_edge(); + wait_for_CLK_rising_edge(); + + reset_sequence(); + + // NOTE: This code is set up to act kind of like a Fluke 9100A. It starts in a mode that doesn't try to + // run code. Instead it is waiting for you to tell it what you want to do via a Serial Monitor in your + // Teensyduino IDE. One of the options is "G" for "go" where it + // *will* try to run code, but the other options allow you to manipulate + // memory in various ways before running the code. In this way you can debug things like faulty RAM or + // buffers that are acting up by exploring memory (reading and writing to it) and getting checksums for + // blocks of memory. The checksum behavior (which happens when you read a block of memory) is particularly + // useful when comparing your EEProms to a MAME rom file for example). + + while(EmulatorMode == 0) { + if(Serial.available()) { + String st = Serial.readString(); + st.trim(); + const char* stc = st.c_str(); + Serial.print(st); + Serial.print("\n"); + if(stc[0] == 'G' || stc[0] == 'g') { + EmulatorMode = 1; + } + else if(stc[0] == 'R' || stc[0] == 'r') { + dumpMemory(stc); + } + else if(stc[0] == 'W' || stc[0] == 'w') { + writeByteToMemory(stc); + } + else if(stc[0] == 'V' || stc[0] == 'v') { + writeByteToMemoryWithVerify(stc); + } + else if(stc[0] == 'Y' || stc[0] == 'y') { + writeByteToMemoryBlock(stc); + } + else if(stc[0] == 'Z' || stc[0] == 'z') { + writeByteToMemoryBlockWithVerify(stc); + } + else if(stc[0] == 'h' || stc[0] == 'H') { + showOptions(); + } + else { + Serial.printf("Invalid command.\n"); + } + } + else + delay(1); + } + + local_counter=0; + while (1) { + + if (direct_reset==0) reset_sequence(); + + // Set Acceleration using UART receive characters + // Send the numbers 0,1,2,3 from the host through a serial terminal to the MCL65+ + // for acceleration modes 0,1,2,3 + // + local_counter++; + if (local_counter==8000){ + if (Serial.available() ) { + incomingByte = Serial.read(); + switch (incomingByte){ + case 48: mode=0; Serial.println("M0"); break; + case 49: mode=1; Serial.println("M1"); break; + case 50: mode=2; Serial.println("M2"); break; + case 51: mode=3; Serial.println("M3"); break; + case 68: print_cpu_statuses(); break; // D - dump... seems to cause the Teensy to reboot... not sure why + case 100: print_cpu_statuses(); break; // d - dump + } + } + } + + + // Poll for interrupts between instructions, + // but not when immediately after instruction enabling interrupts, + // or if the last opcode was a prefix. + // + if (last_instruction_set_a_prefix==0 && pause_interrupts==0) { + if (nmi_latched==1) { + NMI_Handler(); + } + else if (direct_intr==0 && register_iff1==1) { + INTR_Handler(); + } + } + pause_interrupts=0; // debounce + last_instruction_set_a_prefix=0; + + + // Process new instruction + // + execute_instruction(); + + if (last_instruction_set_a_prefix==0) { + prefix_dd = 0; + prefix_fd = 0; + prefix_cb = 0; + } + + // Wait for cycle counter to reach zero before processing interrupts or the next instruction + // + if (mode<3) while (clock_counter>0) { wait_for_CLK_falling_edge(); } + + +// ** End main loop + + } + }