diff --git a/.gitignore b/.gitignore index 08b8a3a..ce4a467 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ #Ignore List -/syn/** /sim/** *.NPPSESS @@ -7,26 +6,12 @@ !*/ #WHITELIST -#***VIVADO*** -#Project File -!*.xpr #***MODELSIM*** #Do files !*.do #Modelsim INI File !*modelsim.ini -#***QUARTUS*** -#Project File -!*.qpf -#Settings File -!*.qsf -#QSYS File -!*.qsys -#Constraint File -!*.sdc -#Unignore VHDL Files in syn Directory First Level -!/syn/*.vhd #Delete download from existence /download -/download/** \ No newline at end of file +/download/** diff --git a/syn/.gitignore b/syn/.gitignore new file mode 100644 index 0000000..7affa7b --- /dev/null +++ b/syn/.gitignore @@ -0,0 +1,35 @@ +#Ignore Everything +* + +#Unignore Directories (Needed to unignore files in Subdirectories) +!*/ + +#***WHITELIST*** +#This .gitignore +!.gitignore +#Vivado Project File (in project root) +!*/*.xpr +#Quartus Project File (in project root) +!*/*.qpf +#Quartus Settings File (in project root) +!*/*.qsf +#Quartus QSYS File (in project root) +!*/*.qsys +#Quartus Constraint File (in project root) +!*/*.sdc +#Vivado Constraint File (in project root) +!*/*.xdc +#VHDL Files (in first level & project root) +!/*.vhd +!/*/*.vhd +!/*/*.v +#Backup Files +!*.BAK +#SignalTap Files (in project root) +!/*/*.stp + +#DE10_NANO_SoC_GHRD Specific +!DE10_NANO_SoC_GHRD/test_fpga_hw.tcl +!DE10_NANO_SoC_GHRD/ip/** +!DE10_NANO_SoC_GHRD/output_files/BACKUP/** +!DE10_NANO_SoC_GHRD/generate_hps_qsys_header.sh diff --git a/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SOC_GHRD.sdc b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SOC_GHRD.sdc new file mode 100644 index 0000000..79ec01e --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SOC_GHRD.sdc @@ -0,0 +1,89 @@ +#************************************************************** +# This .sdc file is created by Terasic Tool. +# Users are recommended to modify this file to match users logic. +#************************************************************** + +#************************************************************** +# Create Clock +#************************************************************** +create_clock -period "50.0 MHz" [get_ports FPGA_CLK1_50] +create_clock -period "50.0 MHz" [get_ports FPGA_CLK2_50] +create_clock -period "50.0 MHz" [get_ports FPGA_CLK3_50] + +# for enhancing USB BlasterII to be reliable, 25MHz +create_clock -name {altera_reserved_tck} -period 40 {altera_reserved_tck} +set_input_delay -clock altera_reserved_tck -clock_fall 3 [get_ports altera_reserved_tdi] +set_input_delay -clock altera_reserved_tck -clock_fall 3 [get_ports altera_reserved_tms] +set_output_delay -clock altera_reserved_tck 3 [get_ports altera_reserved_tdo] + +#************************************************************** +# Create Generated Clock +#************************************************************** +derive_pll_clocks + + + +#************************************************************** +# Set Clock Latency +#************************************************************** + + + +#************************************************************** +# Set Clock Uncertainty +#************************************************************** +derive_clock_uncertainty + + + +#************************************************************** +# Set Input Delay +#************************************************************** + + + +#************************************************************** +# Set Output Delay +#************************************************************** + + + +#************************************************************** +# Set Clock Groups +#************************************************************** + + + +#************************************************************** +# Set False Path +#************************************************************** + + + +#************************************************************** +# Set Multicycle Path +#************************************************************** + + + +#************************************************************** +# Set Maximum Delay +#************************************************************** + + + +#************************************************************** +# Set Minimum Delay +#************************************************************** + + + +#************************************************************** +# Set Input Transition +#************************************************************** + + + +#************************************************************** +# Set Load +#************************************************************** diff --git a/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.qpf b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.qpf new file mode 100644 index 0000000..dc56013 --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.qpf @@ -0,0 +1,6 @@ +DATE = "17:14:54 March 04, 2015" +QUARTUS_VERSION = "14.1" + +# Revisions + +PROJECT_REVISION = "DE10_NANO_SoC_GHRD" diff --git a/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.qsf b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.qsf new file mode 100644 index 0000000..fbd048c --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.qsf @@ -0,0 +1,488 @@ +#============================================================ +# Build by Terasic System Builder +#============================================================ + +set_global_assignment -name FAMILY "Cyclone V" +set_global_assignment -name DEVICE 5CSEBA6U23I7 +set_global_assignment -name TOP_LEVEL_ENTITY "DE10_NANO_SoC_GHRD" +set_global_assignment -name LAST_QUARTUS_VERSION "21.1.0 Lite Edition" +set_global_assignment -name PROJECT_CREATION_TIME_DATE "17:14:54 MARCH 04,2015" +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +#============================================================ +# CLOCK +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK1_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK2_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK3_50 +set_location_assignment PIN_V11 -to FPGA_CLK1_50 +set_location_assignment PIN_Y13 -to FPGA_CLK2_50 +set_location_assignment PIN_E11 -to FPGA_CLK3_50 + +#============================================================ +# HDMI +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_I2C_SCL +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_I2C_SDA +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_I2S +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_LRCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_MCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_SCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_DE +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[8] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[9] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[10] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[11] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[12] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[13] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[14] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[15] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[16] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[17] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[18] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[19] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[20] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[21] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[22] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_D[23] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_HS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_INT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_VS +set_location_assignment PIN_U10 -to HDMI_I2C_SCL +set_location_assignment PIN_AA4 -to HDMI_I2C_SDA +set_location_assignment PIN_T13 -to HDMI_I2S +set_location_assignment PIN_T11 -to HDMI_LRCLK +set_location_assignment PIN_U11 -to HDMI_MCLK +set_location_assignment PIN_T12 -to HDMI_SCLK +set_location_assignment PIN_AG5 -to HDMI_TX_CLK +set_location_assignment PIN_AD19 -to HDMI_TX_DE +set_location_assignment PIN_AD12 -to HDMI_TX_D[0] +set_location_assignment PIN_AE12 -to HDMI_TX_D[1] +set_location_assignment PIN_W8 -to HDMI_TX_D[2] +set_location_assignment PIN_Y8 -to HDMI_TX_D[3] +set_location_assignment PIN_AD11 -to HDMI_TX_D[4] +set_location_assignment PIN_AD10 -to HDMI_TX_D[5] +set_location_assignment PIN_AE11 -to HDMI_TX_D[6] +set_location_assignment PIN_Y5 -to HDMI_TX_D[7] +set_location_assignment PIN_AF10 -to HDMI_TX_D[8] +set_location_assignment PIN_Y4 -to HDMI_TX_D[9] +set_location_assignment PIN_AE9 -to HDMI_TX_D[10] +set_location_assignment PIN_AB4 -to HDMI_TX_D[11] +set_location_assignment PIN_AE7 -to HDMI_TX_D[12] +set_location_assignment PIN_AF6 -to HDMI_TX_D[13] +set_location_assignment PIN_AF8 -to HDMI_TX_D[14] +set_location_assignment PIN_AF5 -to HDMI_TX_D[15] +set_location_assignment PIN_AE4 -to HDMI_TX_D[16] +set_location_assignment PIN_AH2 -to HDMI_TX_D[17] +set_location_assignment PIN_AH4 -to HDMI_TX_D[18] +set_location_assignment PIN_AH5 -to HDMI_TX_D[19] +set_location_assignment PIN_AH6 -to HDMI_TX_D[20] +set_location_assignment PIN_AG6 -to HDMI_TX_D[21] +set_location_assignment PIN_AF9 -to HDMI_TX_D[22] +set_location_assignment PIN_AE8 -to HDMI_TX_D[23] +set_location_assignment PIN_T8 -to HDMI_TX_HS +set_location_assignment PIN_AF11 -to HDMI_TX_INT +set_location_assignment PIN_V13 -to HDMI_TX_VS + +#============================================================ +# HPS +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_CONV_USB_N +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[0] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[1] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[2] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[3] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[4] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[5] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[6] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[7] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[8] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[9] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[10] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[11] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[12] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[13] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ADDR[14] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_BA[0] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_BA[1] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_BA[2] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_CAS_N -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_CKE -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_CK_N -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_CK_P -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_CS_N -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DM[0] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DM[1] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DM[2] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DM[3] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[0] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[1] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[2] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[3] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[4] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[5] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[6] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[7] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[8] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[9] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[10] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[11] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[12] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[13] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[14] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[15] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[16] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[17] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[18] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[19] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[20] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[21] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[22] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[23] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[24] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[25] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[26] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[27] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[28] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[29] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[30] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_DQ[31] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_N[0] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_N[1] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_N[2] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_N[3] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_P[0] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_P[1] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_P[2] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "DIFFERENTIAL 1.5-V SSTL CLASS I" -to HPS_DDR3_DQS_P[3] -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_ODT -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_RAS_N -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_RESET_N -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_RZQ -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "SSTL-15 CLASS I" -to HPS_DDR3_WE_N -tag __hps_sdram_p0 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_GTX_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_INT_N +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_MDC +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_MDIO +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_RX_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_RX_DATA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_RX_DATA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_RX_DATA[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_RX_DATA[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_RX_DV +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_TX_DATA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_TX_DATA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_TX_DATA[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_TX_DATA[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_ENET_TX_EN +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_GSENSOR_INT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_I2C0_SCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_I2C0_SDAT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_I2C1_SCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_I2C1_SDAT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_KEY +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_LED +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_LTC_GPIO +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SD_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SD_CMD +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SD_DATA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SD_DATA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SD_DATA[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SD_DATA[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SPIM_CLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SPIM_MISO +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SPIM_MOSI +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_SPIM_SS +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_UART_RX +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_UART_TX +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_CLKOUT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DATA[7] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_DIR +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_NXT +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HPS_USB_STP + +#============================================================ +# KEY +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[1] +set_location_assignment PIN_AH17 -to KEY[0] +set_location_assignment PIN_AH16 -to KEY[1] + +#============================================================ +# LED +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[7] +set_location_assignment PIN_W15 -to LED[0] +set_location_assignment PIN_AA24 -to LED[1] +set_location_assignment PIN_V16 -to LED[2] +set_location_assignment PIN_V15 -to LED[3] +set_location_assignment PIN_AF26 -to LED[4] +set_location_assignment PIN_AE26 -to LED[5] +set_location_assignment PIN_Y16 -to LED[6] +set_location_assignment PIN_AA23 -to LED[7] + +#============================================================ +# SW +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[3] +set_location_assignment PIN_Y24 -to SW[0] +set_location_assignment PIN_W24 -to SW[1] +set_location_assignment PIN_W21 -to SW[2] +set_location_assignment PIN_W20 -to SW[3] + +#============================================================ +# End of pin assignments by Terasic System Builder +#============================================================ + + +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_global_assignment -name MIN_CORE_JUNCTION_TEMP "-40" +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100 +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[0] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[0] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[1] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[1] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[2] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[2] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[3] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[3] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[4] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[4] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[5] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[5] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[6] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[6] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[7] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[7] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[8] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[8] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[9] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[9] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[10] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[10] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[11] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[11] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[12] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[12] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[13] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[13] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[14] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[14] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[15] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[15] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[16] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[16] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[17] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[17] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[18] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[18] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[19] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[19] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[20] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[20] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[21] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[21] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[22] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[22] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[23] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[23] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[24] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[24] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[25] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[25] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[26] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[26] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[27] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[27] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[28] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[28] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[29] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[29] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[30] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[30] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[31] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQ[31] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[0] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[0] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[1] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[1] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[2] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[2] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[3] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_P[3] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[0] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[0] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[1] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[1] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[2] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[2] -tag __hps_sdram_p0 +set_instance_assignment -name INPUT_TERMINATION "PARALLEL 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[3] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DQS_N[3] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITHOUT CALIBRATION" -to HPS_DDR3_CK_P -tag __hps_sdram_p0 +set_instance_assignment -name D5_DELAY 2 -to HPS_DDR3_CK_P -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITHOUT CALIBRATION" -to HPS_DDR3_CK_N -tag __hps_sdram_p0 +set_instance_assignment -name D5_DELAY 2 -to HPS_DDR3_CK_N -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[0] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[10] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[11] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[12] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[13] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[14] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[1] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[2] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[3] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[4] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[5] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[6] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[7] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[8] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ADDR[9] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_BA[0] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_BA[1] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_BA[2] -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_CAS_N -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_CKE -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_CS_N -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_ODT -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_RAS_N -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_WE_N -tag __hps_sdram_p0 +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to HPS_DDR3_RESET_N -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DM[0] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DM[1] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DM[2] -tag __hps_sdram_p0 +set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to HPS_DDR3_DM[3] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[0] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[1] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[2] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[3] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[4] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[5] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[6] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[7] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[8] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[9] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[10] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[11] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[12] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[13] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[14] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[15] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[16] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[17] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[18] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[19] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[20] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[21] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[22] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[23] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[24] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[25] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[26] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[27] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[28] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[29] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[30] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQ[31] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DM[0] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DM[1] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DM[2] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DM[3] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_P[0] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_P[1] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_P[2] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_P[3] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_N[0] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_N[1] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_N[2] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_DQS_N[3] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[0] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[10] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[11] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[12] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[13] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[14] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[1] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[2] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[3] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[4] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[5] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[6] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[7] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[8] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ADDR[9] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_BA[0] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_BA[1] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_BA[2] -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_CAS_N -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_CKE -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_CS_N -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_ODT -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_RAS_N -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_WE_N -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_RESET_N -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_CK_P -tag __hps_sdram_p0 +set_instance_assignment -name PACKAGE_SKEW_COMPENSATION OFF -to HPS_DDR3_CK_N -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|ureset|phy_reset_mem_stable_n -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|ureset|phy_reset_n -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uio_pads|dq_ddio[0].read_capture_clk_buffer -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_write_side[0] -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_wraddress[0] -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uio_pads|dq_ddio[1].read_capture_clk_buffer -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_write_side[1] -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_wraddress[1] -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uio_pads|dq_ddio[2].read_capture_clk_buffer -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_write_side[2] -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_wraddress[2] -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uio_pads|dq_ddio[3].read_capture_clk_buffer -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_write_side[3] -tag __hps_sdram_p0 +set_instance_assignment -name GLOBAL_SIGNAL OFF -to u0|hps_0|hps_io|border|hps_sdram_inst|p0|umemphy|uread_datapath|reset_n_fifo_wraddress[3] -tag __hps_sdram_p0 +set_instance_assignment -name ENABLE_BENEFICIAL_SKEW_OPTIMIZATION_FOR_NON_GLOBAL_CLOCKS ON -to u0|hps_0|hps_io|border|hps_sdram_inst -tag __hps_sdram_p0 +set_instance_assignment -name PLL_COMPENSATION_MODE DIRECT -to u0|hps_0|hps_io|border|hps_sdram_inst|pll0|fbout -tag __hps_sdram_p0 +set_global_assignment -name USE_DLL_FREQUENCY_FOR_DQS_DELAY_CHAIN ON +set_global_assignment -name UNIPHY_SEQUENCER_DQS_CONFIG_ENABLE ON +set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING ON +set_global_assignment -name ECO_REGENERATE_REPORT ON +set_global_assignment -name ENABLE_SIGNALTAP ON +set_global_assignment -name USE_SIGNALTAP_FILE stp2.stp +set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE PERFORMANCE" +set_global_assignment -name TCL_SCRIPT_FILE test_fpga_hw.tcl +set_global_assignment -name QSYS_FILE soc_system.qsys +set_global_assignment -name SDC_FILE DE10_NANO_SOC_GHRD.sdc +set_global_assignment -name VERILOG_FILE ip/intr_capturer/intr_capturer.v +set_global_assignment -name VERILOG_FILE ip/edge_detect/altera_edge_detector.v +set_global_assignment -name VERILOG_FILE ip/debounce/debounce.v +set_global_assignment -name QIP_FILE ip/altsource_probe/hps_reset.qip +set_global_assignment -name SIGNALTAP_FILE stp1.stp +set_global_assignment -name SIGNALTAP_FILE stp2.stp +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top +set_global_assignment -name SLD_FILE db/stp2_auto_stripped.stp \ No newline at end of file diff --git a/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.v b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.v new file mode 100644 index 0000000..587c6f8 --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/DE10_NANO_SoC_GHRD.v @@ -0,0 +1,264 @@ + +//======================================================= +// This code is generated by Terasic System Builder +//======================================================= + +module DE10_NANO_SoC_GHRD( + + //////////// CLOCK ////////// + input FPGA_CLK1_50, + input FPGA_CLK2_50, + input FPGA_CLK3_50, + + //////////// HDMI ////////// + inout HDMI_I2C_SCL, + inout HDMI_I2C_SDA, + inout HDMI_I2S, + inout HDMI_LRCLK, + inout HDMI_MCLK, + inout HDMI_SCLK, + output HDMI_TX_CLK, + output [23: 0] HDMI_TX_D, + output HDMI_TX_DE, + output HDMI_TX_HS, + input HDMI_TX_INT, + output HDMI_TX_VS, + + //////////// HPS ////////// + inout HPS_CONV_USB_N, + output [14: 0] HPS_DDR3_ADDR, + output [ 2: 0] HPS_DDR3_BA, + output HPS_DDR3_CAS_N, + output HPS_DDR3_CK_N, + output HPS_DDR3_CK_P, + output HPS_DDR3_CKE, + output HPS_DDR3_CS_N, + output [ 3: 0] HPS_DDR3_DM, + inout [31: 0] HPS_DDR3_DQ, + inout [ 3: 0] HPS_DDR3_DQS_N, + inout [ 3: 0] HPS_DDR3_DQS_P, + output HPS_DDR3_ODT, + output HPS_DDR3_RAS_N, + output HPS_DDR3_RESET_N, + input HPS_DDR3_RZQ, + output HPS_DDR3_WE_N, + output HPS_ENET_GTX_CLK, + inout HPS_ENET_INT_N, + output HPS_ENET_MDC, + inout HPS_ENET_MDIO, + input HPS_ENET_RX_CLK, + input [ 3: 0] HPS_ENET_RX_DATA, + input HPS_ENET_RX_DV, + output [ 3: 0] HPS_ENET_TX_DATA, + output HPS_ENET_TX_EN, + inout HPS_GSENSOR_INT, + inout HPS_I2C0_SCLK, + inout HPS_I2C0_SDAT, + inout HPS_I2C1_SCLK, + inout HPS_I2C1_SDAT, + inout HPS_KEY, + inout HPS_LED, + inout HPS_LTC_GPIO, + output HPS_SD_CLK, + inout HPS_SD_CMD, + inout [ 3: 0] HPS_SD_DATA, + output HPS_SPIM_CLK, + input HPS_SPIM_MISO, + output HPS_SPIM_MOSI, + inout HPS_SPIM_SS, + input HPS_UART_RX, + output HPS_UART_TX, + input HPS_USB_CLKOUT, + inout [ 7: 0] HPS_USB_DATA, + input HPS_USB_DIR, + input HPS_USB_NXT, + output HPS_USB_STP, + + //////////// KEY ////////// + input [ 1: 0] KEY, + + //////////// LED ////////// + output [ 7: 0] LED, + + //////////// SW ////////// + input [ 3: 0] SW +); + + + +//======================================================= +// REG/WIRE declarations +//======================================================= +wire hps_fpga_reset_n; +wire [1: 0] fpga_debounced_buttons; +wire [6: 0] fpga_led_internal; +wire [2: 0] hps_reset_req; +wire hps_cold_reset; +wire hps_warm_reset; +wire hps_debug_reset; +wire [27: 0] stm_hw_events; +wire fpga_clk_50; +// connection of internal logics +assign LED[7: 1] = fpga_led_internal; +assign fpga_clk_50 = FPGA_CLK1_50; +assign stm_hw_events = {{15{1'b0}}, SW, fpga_led_internal, fpga_debounced_buttons}; + + + +//======================================================= +// Structural coding +//======================================================= +soc_system u0( + //Clock&Reset + .clk_clk(FPGA_CLK1_50), // clk.clk + .reset_reset_n(hps_fpga_reset_n), // reset.reset_n + //HPS ddr3 + .memory_mem_a(HPS_DDR3_ADDR), // memory.mem_a + .memory_mem_ba(HPS_DDR3_BA), // .mem_ba + .memory_mem_ck(HPS_DDR3_CK_P), // .mem_ck + .memory_mem_ck_n(HPS_DDR3_CK_N), // .mem_ck_n + .memory_mem_cke(HPS_DDR3_CKE), // .mem_cke + .memory_mem_cs_n(HPS_DDR3_CS_N), // .mem_cs_n + .memory_mem_ras_n(HPS_DDR3_RAS_N), // .mem_ras_n + .memory_mem_cas_n(HPS_DDR3_CAS_N), // .mem_cas_n + .memory_mem_we_n(HPS_DDR3_WE_N), // .mem_we_n + .memory_mem_reset_n(HPS_DDR3_RESET_N), // .mem_reset_n + .memory_mem_dq(HPS_DDR3_DQ), // .mem_dq + .memory_mem_dqs(HPS_DDR3_DQS_P), // .mem_dqs + .memory_mem_dqs_n(HPS_DDR3_DQS_N), // .mem_dqs_n + .memory_mem_odt(HPS_DDR3_ODT), // .mem_odt + .memory_mem_dm(HPS_DDR3_DM), // .mem_dm + .memory_oct_rzqin(HPS_DDR3_RZQ), // .oct_rzqin + //HPS ethernet + .hps_0_hps_io_hps_io_emac1_inst_TX_CLK(HPS_ENET_GTX_CLK), // hps_0_hps_io.hps_io_emac1_inst_TX_CLK + .hps_0_hps_io_hps_io_emac1_inst_TXD0(HPS_ENET_TX_DATA[0]), // .hps_io_emac1_inst_TXD0 + .hps_0_hps_io_hps_io_emac1_inst_TXD1(HPS_ENET_TX_DATA[1]), // .hps_io_emac1_inst_TXD1 + .hps_0_hps_io_hps_io_emac1_inst_TXD2(HPS_ENET_TX_DATA[2]), // .hps_io_emac1_inst_TXD2 + .hps_0_hps_io_hps_io_emac1_inst_TXD3(HPS_ENET_TX_DATA[3]), // .hps_io_emac1_inst_TXD3 + .hps_0_hps_io_hps_io_emac1_inst_RXD0(HPS_ENET_RX_DATA[0]), // .hps_io_emac1_inst_RXD0 + .hps_0_hps_io_hps_io_emac1_inst_MDIO(HPS_ENET_MDIO), // .hps_io_emac1_inst_MDIO + .hps_0_hps_io_hps_io_emac1_inst_MDC(HPS_ENET_MDC), // .hps_io_emac1_inst_MDC + .hps_0_hps_io_hps_io_emac1_inst_RX_CTL(HPS_ENET_RX_DV), // .hps_io_emac1_inst_RX_CTL + .hps_0_hps_io_hps_io_emac1_inst_TX_CTL(HPS_ENET_TX_EN), // .hps_io_emac1_inst_TX_CTL + .hps_0_hps_io_hps_io_emac1_inst_RX_CLK(HPS_ENET_RX_CLK), // .hps_io_emac1_inst_RX_CLK + .hps_0_hps_io_hps_io_emac1_inst_RXD1(HPS_ENET_RX_DATA[1]), // .hps_io_emac1_inst_RXD1 + .hps_0_hps_io_hps_io_emac1_inst_RXD2(HPS_ENET_RX_DATA[2]), // .hps_io_emac1_inst_RXD2 + .hps_0_hps_io_hps_io_emac1_inst_RXD3(HPS_ENET_RX_DATA[3]), // .hps_io_emac1_inst_RXD3 + //HPS SD card + .hps_0_hps_io_hps_io_sdio_inst_CMD(HPS_SD_CMD), // .hps_io_sdio_inst_CMD + .hps_0_hps_io_hps_io_sdio_inst_D0(HPS_SD_DATA[0]), // .hps_io_sdio_inst_D0 + .hps_0_hps_io_hps_io_sdio_inst_D1(HPS_SD_DATA[1]), // .hps_io_sdio_inst_D1 + .hps_0_hps_io_hps_io_sdio_inst_CLK(HPS_SD_CLK), // .hps_io_sdio_inst_CLK + .hps_0_hps_io_hps_io_sdio_inst_D2(HPS_SD_DATA[2]), // .hps_io_sdio_inst_D2 + .hps_0_hps_io_hps_io_sdio_inst_D3(HPS_SD_DATA[3]), // .hps_io_sdio_inst_D3 + //HPS USB + .hps_0_hps_io_hps_io_usb1_inst_D0(HPS_USB_DATA[0]), // .hps_io_usb1_inst_D0 + .hps_0_hps_io_hps_io_usb1_inst_D1(HPS_USB_DATA[1]), // .hps_io_usb1_inst_D1 + .hps_0_hps_io_hps_io_usb1_inst_D2(HPS_USB_DATA[2]), // .hps_io_usb1_inst_D2 + .hps_0_hps_io_hps_io_usb1_inst_D3(HPS_USB_DATA[3]), // .hps_io_usb1_inst_D3 + .hps_0_hps_io_hps_io_usb1_inst_D4(HPS_USB_DATA[4]), // .hps_io_usb1_inst_D4 + .hps_0_hps_io_hps_io_usb1_inst_D5(HPS_USB_DATA[5]), // .hps_io_usb1_inst_D5 + .hps_0_hps_io_hps_io_usb1_inst_D6(HPS_USB_DATA[6]), // .hps_io_usb1_inst_D6 + .hps_0_hps_io_hps_io_usb1_inst_D7(HPS_USB_DATA[7]), // .hps_io_usb1_inst_D7 + .hps_0_hps_io_hps_io_usb1_inst_CLK(HPS_USB_CLKOUT), // .hps_io_usb1_inst_CLK + .hps_0_hps_io_hps_io_usb1_inst_STP(HPS_USB_STP), // .hps_io_usb1_inst_STP + .hps_0_hps_io_hps_io_usb1_inst_DIR(HPS_USB_DIR), // .hps_io_usb1_inst_DIR + .hps_0_hps_io_hps_io_usb1_inst_NXT(HPS_USB_NXT), // .hps_io_usb1_inst_NXT + //HPS SPI + .hps_0_hps_io_hps_io_spim1_inst_CLK(HPS_SPIM_CLK), // .hps_io_spim1_inst_CLK + .hps_0_hps_io_hps_io_spim1_inst_MOSI(HPS_SPIM_MOSI), // .hps_io_spim1_inst_MOSI + .hps_0_hps_io_hps_io_spim1_inst_MISO(HPS_SPIM_MISO), // .hps_io_spim1_inst_MISO + .hps_0_hps_io_hps_io_spim1_inst_SS0(HPS_SPIM_SS), // .hps_io_spim1_inst_SS0 + //HPS UART + .hps_0_hps_io_hps_io_uart0_inst_RX(HPS_UART_RX), // .hps_io_uart0_inst_RX + .hps_0_hps_io_hps_io_uart0_inst_TX(HPS_UART_TX), // .hps_io_uart0_inst_TX + //HPS I2C1 + .hps_0_hps_io_hps_io_i2c0_inst_SDA(HPS_I2C0_SDAT), // .hps_io_i2c0_inst_SDA + .hps_0_hps_io_hps_io_i2c0_inst_SCL(HPS_I2C0_SCLK), // .hps_io_i2c0_inst_SCL + //HPS I2C2 + .hps_0_hps_io_hps_io_i2c1_inst_SDA(HPS_I2C1_SDAT), // .hps_io_i2c1_inst_SDA + .hps_0_hps_io_hps_io_i2c1_inst_SCL(HPS_I2C1_SCLK), // .hps_io_i2c1_inst_SCL + //GPIO + .hps_0_hps_io_hps_io_gpio_inst_GPIO09(HPS_CONV_USB_N), // .hps_io_gpio_inst_GPIO09 + .hps_0_hps_io_hps_io_gpio_inst_GPIO35(HPS_ENET_INT_N), // .hps_io_gpio_inst_GPIO35 + .hps_0_hps_io_hps_io_gpio_inst_GPIO40(HPS_LTC_GPIO), // .hps_io_gpio_inst_GPIO40 + .hps_0_hps_io_hps_io_gpio_inst_GPIO53(HPS_LED), // .hps_io_gpio_inst_GPIO53 + .hps_0_hps_io_hps_io_gpio_inst_GPIO54(HPS_KEY), // .hps_io_gpio_inst_GPIO54 + .hps_0_hps_io_hps_io_gpio_inst_GPIO61(HPS_GSENSOR_INT), // .hps_io_gpio_inst_GPIO61 + //FPGA Partion + .hps_0_h2f_reset_reset_n(hps_fpga_reset_n), // hps_0_h2f_reset.reset_n + .hps_0_f2h_cold_reset_req_reset_n(~hps_cold_reset), // hps_0_f2h_cold_reset_req.reset_n + .hps_0_f2h_debug_reset_req_reset_n(~hps_debug_reset), // hps_0_f2h_debug_reset_req.reset_n + .hps_0_f2h_stm_hw_events_stm_hwevents(stm_hw_events), // hps_0_f2h_stm_hw_events.stm_hwevents + .hps_0_f2h_warm_reset_req_reset_n(~hps_warm_reset), // hps_0_f2h_warm_reset_req.reset_n + + ); + +// Debounce logic to clean out glitches within 1ms +debounce debounce_inst( + .clk(fpga_clk_50), + .reset_n(hps_fpga_reset_n), + .data_in(KEY), + .data_out(fpga_debounced_buttons) + ); +defparam debounce_inst.WIDTH = 2; +defparam debounce_inst.POLARITY = "LOW"; +defparam debounce_inst.TIMEOUT = 50000; // at 50Mhz this is a debounce time of 1ms +defparam debounce_inst.TIMEOUT_WIDTH = 16; // ceil(log2(TIMEOUT)) + +// Source/Probe megawizard instance +hps_reset hps_reset_inst( + .source_clk(fpga_clk_50), + .source(hps_reset_req) + ); + +altera_edge_detector pulse_cold_reset( + .clk(fpga_clk_50), + .rst_n(hps_fpga_reset_n), + .signal_in(hps_reset_req[0]), + .pulse_out(hps_cold_reset) + ); +defparam pulse_cold_reset.PULSE_EXT = 6; +defparam pulse_cold_reset.EDGE_TYPE = 1; +defparam pulse_cold_reset.IGNORE_RST_WHILE_BUSY = 1; + +altera_edge_detector pulse_warm_reset( + .clk(fpga_clk_50), + .rst_n(hps_fpga_reset_n), + .signal_in(hps_reset_req[1]), + .pulse_out(hps_warm_reset) + ); +defparam pulse_warm_reset.PULSE_EXT = 2; +defparam pulse_warm_reset.EDGE_TYPE = 1; +defparam pulse_warm_reset.IGNORE_RST_WHILE_BUSY = 1; + +altera_edge_detector pulse_debug_reset( + .clk(fpga_clk_50), + .rst_n(hps_fpga_reset_n), + .signal_in(hps_reset_req[2]), + .pulse_out(hps_debug_reset) + ); +defparam pulse_debug_reset.PULSE_EXT = 32; +defparam pulse_debug_reset.EDGE_TYPE = 1; +defparam pulse_debug_reset.IGNORE_RST_WHILE_BUSY = 1; + +reg [25: 0] counter; +reg led_level; +always @(posedge fpga_clk_50 or negedge hps_fpga_reset_n) begin + if (~hps_fpga_reset_n) begin + counter <= 0; + led_level <= 0; + end + + else if (counter == 24999999) begin + counter <= 0; + led_level <= ~led_level; + end + else + counter <= counter + 1'b1; +end + +assign LED[0] = led_level; + + +endmodule diff --git a/syn/DE10_NANO_SoC_GHRD/generate_hps_qsys_header.sh b/syn/DE10_NANO_SoC_GHRD/generate_hps_qsys_header.sh new file mode 100644 index 0000000..d96209b --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/generate_hps_qsys_header.sh @@ -0,0 +1,2 @@ +#!/bin/sh +sopc-create-header-files "./soc_system.sopcinfo" --single hps_0.h --module hps_0 diff --git a/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset.qip b/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset.qip new file mode 100644 index 0000000..10b5d50 --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset.qip @@ -0,0 +1,5 @@ +set_global_assignment -name IP_TOOL_NAME "In-System Sources and Probes" +set_global_assignment -name IP_TOOL_VERSION "21.1" +set_global_assignment -name IP_GENERATED_DEVICE_FAMILY "{Cyclone V}" +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "hps_reset.v"] +set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "hps_reset_bb.v"] diff --git a/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset.v b/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset.v new file mode 100644 index 0000000..c87ecea --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset.v @@ -0,0 +1,111 @@ +// megafunction wizard: %In-System Sources and Probes% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altsource_probe + +// ============================================================ +// File Name: hps_reset.v +// Megafunction Name(s): +// altsource_probe +// +// Simulation Library Files(s): +// +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 21.1.0 Build 842 10/21/2021 SJ Lite Edition +// ************************************************************ + + +//Copyright (C) 2021 Intel Corporation. All rights reserved. +//Your use of Intel Corporation's design tools, logic functions +//and other software and tools, and any partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Intel Program License +//Subscription Agreement, the Intel Quartus Prime License Agreement, +//the Intel FPGA IP License Agreement, or other applicable license +//agreement, including, without limitation, that your use is for +//the sole purpose of programming logic devices manufactured by +//Intel and sold by Intel or its authorized distributors. Please +//refer to the applicable agreement for further details, at +//https://fpgasoftware.intel.com/eula. + + +// synopsys translate_off +`timescale 1 ps / 1 ps +// synopsys translate_on +module hps_reset ( + probe, + source_clk, + source); + + input probe; + input source_clk; + output [2:0] source; + + wire [2:0] sub_wire0; + wire [2:0] source = sub_wire0[2:0]; + + altsource_probe altsource_probe_component ( + .probe (probe), + .source_clk (source_clk), + .source (sub_wire0) + // synopsys translate_off + , + .clr (), + .ena (), + .ir_in (), + .ir_out (), + .jtag_state_cdr (), + .jtag_state_cir (), + .jtag_state_e1dr (), + .jtag_state_sdr (), + .jtag_state_tlr (), + .jtag_state_udr (), + .jtag_state_uir (), + .raw_tck (), + .source_ena (), + .tdi (), + .tdo (), + .usr1 () + // synopsys translate_on + ); + defparam + altsource_probe_component.enable_metastability = "YES", + altsource_probe_component.instance_id = "RST", + altsource_probe_component.probe_width = 0, + altsource_probe_component.sld_auto_instance_index = "YES", + altsource_probe_component.sld_instance_index = 0, + altsource_probe_component.source_initial_value = " 0", + altsource_probe_component.source_width = 3; + + +endmodule + +// ============================================================ +// CNX file retrieval info +// ============================================================ +// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone V" +// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +// Retrieval info: CONSTANT: ENABLE_METASTABILITY STRING "YES" +// Retrieval info: CONSTANT: INSTANCE_ID STRING "RST" +// Retrieval info: CONSTANT: PROBE_WIDTH NUMERIC "0" +// Retrieval info: CONSTANT: SLD_AUTO_INSTANCE_INDEX STRING "YES" +// Retrieval info: CONSTANT: SLD_INSTANCE_INDEX NUMERIC "0" +// Retrieval info: CONSTANT: SOURCE_INITIAL_VALUE STRING " 0" +// Retrieval info: CONSTANT: SOURCE_WIDTH NUMERIC "3" +// Retrieval info: USED_PORT: probe 0 0 0 0 INPUT NODEFVAL "probe" +// Retrieval info: USED_PORT: source 0 0 3 0 OUTPUT NODEFVAL "source[2..0]" +// Retrieval info: USED_PORT: source_clk 0 0 0 0 INPUT NODEFVAL "source_clk" +// Retrieval info: CONNECT: @probe 0 0 0 0 probe 0 0 0 0 +// Retrieval info: CONNECT: @source_clk 0 0 0 0 source_clk 0 0 0 0 +// Retrieval info: CONNECT: source 0 0 3 0 @source 0 0 3 0 +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.v TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.inc FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.cmp FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.bsf FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset_inst.v FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset_bb.v TRUE diff --git a/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset_bb.v b/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset_bb.v new file mode 100644 index 0000000..0e4041c --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/ip/altsource_probe/hps_reset_bb.v @@ -0,0 +1,69 @@ +// megafunction wizard: %In-System Sources and Probes%VBB% +// GENERATION: STANDARD +// VERSION: WM1.0 +// MODULE: altsource_probe + +// ============================================================ +// File Name: hps_reset.v +// Megafunction Name(s): +// altsource_probe +// +// Simulation Library Files(s): +// +// ============================================================ +// ************************************************************ +// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +// +// 21.1.0 Build 842 10/21/2021 SJ Lite Edition +// ************************************************************ + +//Copyright (C) 2021 Intel Corporation. All rights reserved. +//Your use of Intel Corporation's design tools, logic functions +//and other software and tools, and any partner logic +//functions, and any output files from any of the foregoing +//(including device programming or simulation files), and any +//associated documentation or information are expressly subject +//to the terms and conditions of the Intel Program License +//Subscription Agreement, the Intel Quartus Prime License Agreement, +//the Intel FPGA IP License Agreement, or other applicable license +//agreement, including, without limitation, that your use is for +//the sole purpose of programming logic devices manufactured by +//Intel and sold by Intel or its authorized distributors. Please +//refer to the applicable agreement for further details, at +//https://fpgasoftware.intel.com/eula. + +module hps_reset ( + probe, + source_clk, + source); + + input probe; + input source_clk; + output [2:0] source; + +endmodule + +// ============================================================ +// CNX file retrieval info +// ============================================================ +// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone V" +// Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +// Retrieval info: CONSTANT: ENABLE_METASTABILITY STRING "YES" +// Retrieval info: CONSTANT: INSTANCE_ID STRING "RST" +// Retrieval info: CONSTANT: PROBE_WIDTH NUMERIC "0" +// Retrieval info: CONSTANT: SLD_AUTO_INSTANCE_INDEX STRING "YES" +// Retrieval info: CONSTANT: SLD_INSTANCE_INDEX NUMERIC "0" +// Retrieval info: CONSTANT: SOURCE_INITIAL_VALUE STRING " 0" +// Retrieval info: CONSTANT: SOURCE_WIDTH NUMERIC "3" +// Retrieval info: USED_PORT: probe 0 0 0 0 INPUT NODEFVAL "probe" +// Retrieval info: USED_PORT: source 0 0 3 0 OUTPUT NODEFVAL "source[2..0]" +// Retrieval info: USED_PORT: source_clk 0 0 0 0 INPUT NODEFVAL "source_clk" +// Retrieval info: CONNECT: @probe 0 0 0 0 probe 0 0 0 0 +// Retrieval info: CONNECT: @source_clk 0 0 0 0 source_clk 0 0 0 0 +// Retrieval info: CONNECT: source 0 0 3 0 @source 0 0 3 0 +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.v TRUE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.inc FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.cmp FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset.bsf FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset_inst.v FALSE +// Retrieval info: GEN_FILE: TYPE_NORMAL hps_reset_bb.v TRUE diff --git a/syn/DE10_NANO_SoC_GHRD/ip/debounce/debounce.v b/syn/DE10_NANO_SoC_GHRD/ip/debounce/debounce.v new file mode 100644 index 0000000..2c4486a --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/ip/debounce/debounce.v @@ -0,0 +1,74 @@ +//Legal Notice: (C)2013 Altera Corporation. All rights reserved. Your +//use of Altera Corporation's design tools, logic functions and other +//software and tools, and its AMPP partner logic functions, and any +//output files any of the foregoing (including device programming or +//simulation files), and any associated documentation or information are +//expressly subject to the terms and conditions of the Altera Program +//License Subscription Agreement or other applicable license agreement, +//including, without limitation, that your use is for the sole purpose +//of programming logic devices manufactured by Altera and sold by Altera +//or its authorized distributors. Please refer to the applicable +//agreement for further details. + +module debounce ( + clk, + reset_n, + data_in, + data_out +); + + parameter WIDTH = 32; // set to be the width of the bus being debounced + parameter POLARITY = "HIGH"; // set to be "HIGH" for active high debounce or "LOW" for active low debounce + parameter TIMEOUT = 50000; // number of input clock cycles the input signal needs to be in the active state + parameter TIMEOUT_WIDTH = 16; // set to be ceil(log2(TIMEOUT)) + + input wire clk; + input wire reset_n; + + input wire [WIDTH-1:0] data_in; + output wire [WIDTH-1:0] data_out; + + reg [TIMEOUT_WIDTH-1:0] counter [0:WIDTH-1]; + wire counter_reset [0:WIDTH-1]; + wire counter_enable [0:WIDTH-1]; + + // need one counter per input to debounce + genvar i; + generate for (i = 0; i < WIDTH; i = i+1) + begin: debounce_counter_loop + always @ (posedge clk or negedge reset_n) + begin + if (reset_n == 0) + begin + counter[i] <= 0; + end + else + begin + if (counter_reset[i] == 1) // resetting the counter needs to win + begin + counter[i] <= 0; + end + else if (counter_enable[i] == 1) + begin + counter[i] <= counter[i] + 1'b1; + end + end + end + + if (POLARITY == "HIGH") + begin + assign counter_reset[i] = (data_in[i] == 0); + assign counter_enable[i] = (data_in[i] == 1) & (counter[i] < TIMEOUT); + assign data_out[i] = (counter[i] == TIMEOUT) ? 1'b1 : 1'b0; + end + else + begin + assign counter_reset[i] = (data_in[i] == 1); + assign counter_enable[i] = (data_in[i] == 0) & (counter[i] < TIMEOUT); + assign data_out[i] = (counter[i] == TIMEOUT) ? 1'b0 : 1'b1; + end + + end + endgenerate + +endmodule diff --git a/syn/DE10_NANO_SoC_GHRD/ip/edge_detect/altera_edge_detector.v b/syn/DE10_NANO_SoC_GHRD/ip/edge_detect/altera_edge_detector.v new file mode 100644 index 0000000..ac8a2b9 --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/ip/edge_detect/altera_edge_detector.v @@ -0,0 +1,85 @@ +module altera_edge_detector #( +parameter PULSE_EXT = 0, // 0, 1 = edge detection generate single cycle pulse, >1 = pulse extended for specified clock cycle +parameter EDGE_TYPE = 0, // 0 = falling edge, 1 or else = rising edge +parameter IGNORE_RST_WHILE_BUSY = 0 // 0 = module internal reset will be default whenever rst_n asserted, 1 = rst_n request will be ignored while generating pulse out +) ( +input clk, +input rst_n, +input signal_in, +output pulse_out +); + +localparam IDLE = 0, ARM = 1, CAPT = 2; +localparam SIGNAL_ASSERT = EDGE_TYPE ? 1'b1 : 1'b0; +localparam SIGNAL_DEASSERT = EDGE_TYPE ? 1'b0 : 1'b1; + +reg [1:0] state, next_state; +reg pulse_detect; +wire busy_pulsing; + +assign busy_pulsing = (IGNORE_RST_WHILE_BUSY)? pulse_out : 1'b0; +assign reset_qual_n = rst_n | busy_pulsing; + +generate +if (PULSE_EXT > 1) begin: pulse_extend + integer i; + reg [PULSE_EXT-1:0] extend_pulse; + always @(posedge clk or negedge reset_qual_n) begin + if (!reset_qual_n) + extend_pulse <= {{PULSE_EXT}{1'b0}}; + else begin + for (i = 1; i < PULSE_EXT; i = i+1) begin + extend_pulse[i] <= extend_pulse[i-1]; + end + extend_pulse[0] <= pulse_detect; + end + end + assign pulse_out = |extend_pulse; + end +else begin: single_pulse + reg pulse_reg; + always @(posedge clk or negedge reset_qual_n) begin + if (!reset_qual_n) + pulse_reg <= 1'b0; + else + pulse_reg <= pulse_detect; + end + assign pulse_out = pulse_reg; + end +endgenerate + +always @(posedge clk) begin + if (!rst_n) + state <= IDLE; + else + state <= next_state; +end + +// edge detect +always @(*) begin + next_state = state; + pulse_detect = 1'b0; + case (state) + IDLE : begin + pulse_detect = 1'b0; + if (signal_in == SIGNAL_DEASSERT) next_state = ARM; + else next_state = IDLE; + end + ARM : begin + pulse_detect = 1'b0; + if (signal_in == SIGNAL_ASSERT) next_state = CAPT; + else next_state = ARM; + end + CAPT : begin + pulse_detect = 1'b1; + if (signal_in == SIGNAL_DEASSERT) next_state = ARM; + else next_state = IDLE; + end + default : begin + pulse_detect = 1'b0; + next_state = IDLE; + end + endcase +end + +endmodule diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/loopback.rbf b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/loopback.rbf new file mode 100644 index 0000000..bea53ea Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/loopback.rbf differ diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/loopback.sof b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/loopback.sof new file mode 100644 index 0000000..fd308af Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/loopback.sof differ diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_action.rbf b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_action.rbf new file mode 100644 index 0000000..5c01848 Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_action.rbf differ diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_action.sof b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_action.sof new file mode 100644 index 0000000..3745047 Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_action.sof differ diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_service.rbf b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_service.rbf new file mode 100644 index 0000000..9486cc8 Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_service.rbf differ diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_service.sof b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_service.sof new file mode 100644 index 0000000..421f626 Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/ros_service.sof differ diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/test_fpga.rbf b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/test_fpga.rbf new file mode 100644 index 0000000..90578de Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/test_fpga.rbf differ diff --git a/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/test_fpga.sof b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/test_fpga.sof new file mode 100644 index 0000000..dc405aa Binary files /dev/null and b/syn/DE10_NANO_SoC_GHRD/output_files/BACKUP/test_fpga.sof differ diff --git a/syn/DE10_NANO_SoC_GHRD/soc_system.qsys b/syn/DE10_NANO_SoC_GHRD/soc_system.qsys new file mode 100644 index 0000000..a1424ae --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/soc_system.qsys @@ -0,0 +1,1063 @@ + + + + + + + + + + + + + + + + + DE10_NANO_SoC_GHRD.qpf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bidirectional,Bidirectional,Bidirectional,Bidirectional,Bidirectional,Bidirectional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No,No,No,No,No,No,No,No + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Avalon-MM Bidirectional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No,No,No,No,No,No,No,No,No,Yes,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,Yes,No,No,No,No,Yes,No,No,No,No,No,No,No,No,No,No,No,No,Yes,Yes,No,No,No,No,No,No,Yes,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No + + + + + + + + + + + + + + + + + + + + + + + + + No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No + + 0x000000000000000000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {320000000 1600000000} {320000000 1000000000} {800000000 400000000 400000000} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INTERACTIVE_ASCII_OUTPUT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/syn/DE10_NANO_SoC_GHRD/stp1.stp b/syn/DE10_NANO_SoC_GHRD/stp1.stp new file mode 100644 index 0000000..f1ab65d --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/stp1.stp @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'soc_system:u0|test_top:test_fpga_0|read' == rising edge + + + + + + 11111 + 11111 + + + + + + + + + + + + + + + + + + + 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110101101011010110 + 11111111111111111111111111111111T1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/syn/DE10_NANO_SoC_GHRD/stp2.stp b/syn/DE10_NANO_SoC_GHRD/stp2.stp new file mode 100644 index 0000000..1c5eaab --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/stp2.stp @@ -0,0 +1,4354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib2:ros_service_inst|rtps_discovery_module:rtps_discovery_module_inst|mem_stage.REMOVE_PARTICIPANT' == high + + + + 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib2:ros_service_inst|rtps_discovery_module:rtps_discovery_module_inst|mem_ctrl:mem_ctrl_inst|single_port_ram:ram_inst|addr[0]' == low && 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib2:ros_service_inst|rtps_discovery_module:rtps_discovery_module_inst|mem_ctrl:mem_ctrl_inst|single_port_ram:ram_inst|addr[1]' == low && 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib2:ros_service_inst|rtps_discovery_module:rtps_discovery_module_inst|mem_ctrl:mem_ctrl_inst|single_port_ram:ram_inst|addr[2]' == high && 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib2:ros_service_inst|rtps_discovery_module:rtps_discovery_module_inst|mem_ctrl:mem_ctrl_inst|single_port_ram:ram_inst|addr[3]' == low && 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib2:ros_service_inst|rtps_discovery_module:rtps_discovery_module_inst|mem_ctrl:mem_ctrl_inst|single_port_ram:ram_inst|addr[4]' == high && 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib2:ros_service_inst|rtps_discovery_module:rtps_discovery_module_inst|mem_ctrl:mem_ctrl_inst|single_port_ram:ram_inst|wen' == high + + + + + + + + + + + + + 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib4:ros_action_inst|Fibonacci_ros_action_server:Fibonacci_ros_action_server_inst|ros_action_server:action_server_inst|data_available_g' == high && 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib4:ros_action_inst|Fibonacci_ros_action_server:Fibonacci_ros_action_server_inst|ros_action_server:action_server_inst|stage.IDLE' == high + + + + 'soc_system:u0|test_top:test_fpga_0|L2_Testbench_ROS_Lib4:ros_action_inst|Fibonacci_ros_action_server:Fibonacci_ros_action_server_inst|ros_action_server:action_server_inst|stage.TRANSITION_STATE' == high + + + + + + 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + + + + + + + + + + + + + + + + + + + 10000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000001000000010001000000000000000000001000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101101000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011010000000100000001000100000000000000000000100000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010110100000000010000010001000000000000000000001000000000000000101000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000101100100000000100000100010000000000000000000010000000000000001010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011000000000001000001000100000000000000000000100000000000000010100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100001000000000001000000010001000000000000000000000000000010000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000000000000100000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000000000001000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000000000000010000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000000000000100000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000000000001000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000000000000010000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000000000000100000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000000000001000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000000000000010000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000100000000000010000000100010000000000000000000000000000100000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001000000000000100000001000100000000000000000000000000001000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010000000000001000000010001000000000000000000000000000010000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000100000000000010000000100010000000000000000000000000000100000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000000000001000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000000000000010000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000000000000100000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000000000001000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000001000000001000000010000010000000000000000000000000010000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000000001000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100001000000000001000000010001000000000000000000000000010000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000010000000000010000000100010000000000000000000000000100000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000100000000000100000001000100000000000000000000000001000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100001000000000001000000010001000000000000000000000000010000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000010000000000010000000100010000000000000000000000000100000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001100000000000100000001000100000000000000000000000001000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100011000000000001000000010001000000000000000000000000010000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000110000000000010000000100010000000000000000000000000100000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001100000000000100000001000100000000000000000000000001000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100011000000000001000000010001000000000000000000000000010000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000110000000000010000000100010000000000000000000000000100000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001100000000000100000001000100000000000000000000000001000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100011000000000001000000010001000000000000000000000000010000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000110000000000010000000100010000000000000000000000000100000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000100000000000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000001000000000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000010000000000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001000000000000100000001000100000000000000100000000000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100001000000000001000000010001000000000000001000000000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000110000000000010000000100010000000000000010000000000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000010000000000100000001000100000000000000100000000000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010100000000001000000010001000000000000001000000000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000011000000000010000000100010000000000000010000000000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001110000000000100000001000100000000000000100000000000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000010000000001000000010001000000000000001000000000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000100100000000010000000100010000000000000010000000000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000101000000000100000001000100000000000000100000000000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100011010000000001000000010001000000000000001000000000000000000000001000000010000000000000010000000000100000000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000001100000000010000000100010000000000000010000000000000000000000010000000100000000000000100000000001000000001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010001011000000000100000001000100000000000000100000000000000000000000100000001000000000000001000000000010000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100010000000000001000000010001000000000000000000000000010000000000011001000010000000000000010000000000100010000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000010000000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100000000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001000000000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000010000000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100000000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000010001000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100010000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000100000001000000010001000000000000000000000000000010000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000001000000010000000100010000000000000000000000000000100000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000010000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000100000001000000010001000000000000000000000000000010000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000001000000010000000100010000000000000000000000000000100000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000010000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000100000001000000010001000000000000000000000000000010000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000001000000010000000100010000000000000000000000000000100000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000010000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100010000100000001000000010001000000000000000000000000000010000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000100001000000010000000100010000000000000000000000000000100000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010001000010000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100010000100000001000000010001000000000000000000000000000010000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000001000000010000000100010000000000000000000000000000100000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000010000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000100000001000000010001000000000000000000000000000010000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000001000000010000000100010000000000000000000000000000100000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000010000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000100000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000001000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100010000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001000100000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000010001000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100010000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001000100000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000110001000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010001100010000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100011000100000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000110001000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010001100010000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100011000100000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000110001000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010001100010000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100011000100000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000001000000010000000100010000000000000010000000000000000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000010000000100000001000100000000000000100000000000000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000100000001000000010001000000000000001000000000000000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000100001000000010000000100010000000000000010000000000000000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100010000000100000001000100000000000000100000000000000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100011000100000001000000010001000000000000001000000000000000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000001001000000010000000100010000000000000010000000000000000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010001010010000000100000001000100000000000000100000000000000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001100100000001000000010001000000000000001000000000000000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000111001000000010000000100010000000000000010000000000000000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000001010000000100000001000100000000000000100000000000000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100010010100000001000000010001000000000000001000000000000000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000010101000000010000000100010000000000000010000000000000000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010001101010000000100000001000100000000000000100000000000000000000001100100001000000000000000100000000010001000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000110100000001000000010001000000000000001000000000000000000000011001000010000000000000001000000000100010000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000101101000000010000000100010000000000000010000000000000000000000110010000100000000000000010000000001000100001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010001000010000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001000100000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000010001000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100010000000100000001000100000000000000000000000001000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001000100000001000000010001000000000000000000000000010000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000010001000000010000000100010000000000000000000000000100000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000100010000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100001000010000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000010000100000010000000100010000000000000000000000000000100000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000001000000100000001000100000000000000000000000000001000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000010000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000001000000000010001100010000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000001000000000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110011100101000000000000000000010001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100010000000100000000000000000000000000000000000101100000001000000000000000000100000010000101010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001000010000000000000010000000000100011000100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000010000000001000110001000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001100111001010000000000000000000100010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000100000001000000000000000000000000000000000001011000000010000000000000000001000000100001010100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010000000100010000000000000000000010000000000000000110010000100000000000000100000000001000110001000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000100000001000100000000000000000000100000000000000001100100001000000000000000100000000010001100010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000100000000000000001000000010001000000000000000000001000000000000000011001110010100000000000000000001000100011000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000010001000000010000000000000000000000000000000000010110000000100000000000000000010000001000010101000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000010000000000000000100000001000100000000000000000000100000000000000001 + 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111T1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/syn/DE10_NANO_SoC_GHRD/test_fpga_hw.tcl b/syn/DE10_NANO_SoC_GHRD/test_fpga_hw.tcl new file mode 100644 index 0000000..e9b0235 --- /dev/null +++ b/syn/DE10_NANO_SoC_GHRD/test_fpga_hw.tcl @@ -0,0 +1,183 @@ +# TCL File Generated by Component Editor 21.1 +# Thu Apr 14 15:21:46 GMT+02:00 2022 +# DO NOT MODIFY + + +# +# test_fpga "test_fpga" v1.0 +# 2022.04.14.15:21:46 +# Test PL-PS Communication +# + +# +# request TCL package from ACDS 16.1 +# +package require -exact qsys 16.1 + + +# +# module test_fpga +# +set_module_property DESCRIPTION "Test PL-PS Communication" +set_module_property NAME test_fpga +set_module_property VERSION 1.0 +set_module_property INTERNAL false +set_module_property OPAQUE_ADDRESS_MAP true +set_module_property AUTHOR "" +set_module_property DISPLAY_NAME test_fpga +set_module_property INSTANTIATE_IN_SYSTEM_MODULE true +set_module_property EDITABLE true +set_module_property REPORT_TO_TALKBACK false +set_module_property ALLOW_GREYBOX_GENERATION false +set_module_property REPORT_HIERARCHY false + + +# +# file sets +# +add_fileset QUARTUS_SYNTH QUARTUS_SYNTH "" "" +set_fileset_property QUARTUS_SYNTH TOP_LEVEL test_top +set_fileset_property QUARTUS_SYNTH ENABLE_RELATIVE_INCLUDE_PATHS false +set_fileset_property QUARTUS_SYNTH ENABLE_FILE_OVERWRITE_MODE false +add_fileset_file test_top.vhd VHDL PATH ../../syn/test_top.vhd TOP_LEVEL_FILE +add_fileset_file Avalon_MM_wrapper.vhd VHDL PATH ../../src/Avalon_MM_wrapper.vhd +add_fileset_file L2_testbench_Lib4.vhd VHDL PATH ../../src/Tests/Level_2/L2_Testbench_Lib4.vhd +add_fileset_file FWFT_FIFO.vhd VHDL PATH ../../src/FWFT_FIFO.vhd +add_fileset_file FWFT_FIFO_Altera.vhd VHDL PATH ../../src/FWFT_FIFO_Altera.vhd +add_fileset_file FWFT_FIFO_cfg.vhd VHDL PATH ../../src/FWFT_FIFO_cfg.vhd +add_fileset_file dds_reader.vhd VHDL PATH ../../src/dds_reader.vhd +add_fileset_file dds_writer.vhd VHDL PATH ../../src/dds_writer.vhd +add_fileset_file key_hash_generator.vhd VHDL PATH ../../src/key_hash_generator.vhd +add_fileset_file key_holder.vhd VHDL PATH ../../src/key_holder.vhd +add_fileset_file mem_ctrl.vhd VHDL PATH ../../src/mem_ctrl.vhd +add_fileset_file rtps_discovery_module.vhd VHDL PATH ../../src/rtps_discovery_module.vhd +add_fileset_file rtps_config_package.vhd VHDL PATH ../../src/rtps_config_package.vhd +add_fileset_file math_pkg.vhd VHDL PATH ../../src/math_pkg.vhd +add_fileset_file rtps_package.vhd VHDL PATH ../../src/rtps_package.vhd +add_fileset_file Type1_cfg.vhd VHDL PATH ../../src/Tests/Type1_cfg.vhd +add_fileset_file Type1_key_holder.vhd VHDL PATH ../../src/Tests/Type1_key_holder.vhd +add_fileset_file Type1_package.vhd VHDL PATH ../../src/Tests/Type1_package.vhd +add_fileset_file Type1_reader_interface.vhd VHDL PATH ../../src/Tests/Type1_reader_interface.vhd +add_fileset_file Type1_writer_interface.vhd VHDL PATH ../../src/Tests/Type1_writer_interface.vhd +add_fileset_file rtps_handler.vhd VHDL PATH ../../src/rtps_handler.vhd +add_fileset_file rtps_reader.vhd VHDL PATH ../../src/rtps_reader.vhd +add_fileset_file rtps_writer.vhd VHDL PATH ../../src/rtps_writer.vhd +add_fileset_file rtps_out.vhd VHDL PATH ../../src/rtps_out.vhd +add_fileset_file test_loopback.vhd VHDL PATH ../../src/Tests/test_loopback.vhd +add_fileset_file single_port_ram.vhd VHDL PATH ../../src/single_port_ram.vhd +add_fileset_file single_port_ram_Altera.vhd VHDL PATH ../../src/single_port_ram_Altera.vhd +add_fileset_file single_port_ram_cfg.vhd VHDL PATH ../../src/single_port_ram_cfg.vhd +add_fileset_file dp_mem_ctrl.vhd VHDL PATH ../../src/dp_mem_ctrl.vhd +add_fileset_file dual_port_ram.vhd VHDL PATH ../../src/dual_port_ram.vhd +add_fileset_file dual_port_ram_Altera.vhd VHDL PATH ../../src/dual_port_ram_Altera.vhd +add_fileset_file dual_port_ram_cfg.vhd VHDL PATH ../../src/dual_port_ram_cfg.vhd +add_fileset_file dds_user_config.vhd VHDL PATH ../../src/ros2/dds_user_config.vhd +add_fileset_file ros_config_package.vhd VHDL PATH ../../src/ros2/ros_config_package.vhd +add_fileset_file ros_package.vhd VHDL PATH ../../src/ros2/ros_package.vhd +add_fileset_file ros_static_discovery_writer.vhd VHDL PATH ../../src/ros2/ros_static_discovery_writer.vhd +add_fileset_file AddTwoInts_package.vhd VHDL PATH ../../src/ros2/example_interfaces/AddTwoInts_package.vhd +add_fileset_file CancelGoal_package.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/CancelGoal_package.vhd +add_fileset_file CancelGoal_ros_srv_client.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/CancelGoal_ros_srv_client.vhd +add_fileset_file CancelGoal_ros_srv_server.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/CancelGoal_ros_srv_server.vhd +add_fileset_file GoalInfo_package.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/GoalInfo_package.vhd +add_fileset_file GoalStatusArray_package.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/GoalStatusArray_package.vhd +add_fileset_file GoalStatusArray_ros_pub.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/GoalStatusArray_ros_pub.vhd +add_fileset_file GoalStatusArray_ros_sub.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/GoalStatusArray_ros_sub.vhd +add_fileset_file GoalStatus_package.vhd VHDL PATH ../../src/ros2/rcl_interfaces/action_msgs/GoalStatus_package.vhd +add_fileset_file vector_FIFO.vhd VHDL PATH ../../src/vector_FIFO.vhd +add_fileset_file L2_Testbench_ROS_Lib4.vhd VHDL PATH ../../src/ros2/Tests/Level_2/L2_Testbench_ROS_Lib4.vhd +add_fileset_file Fibonacci_package.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_package.vhd +add_fileset_file Fibonacci_ros_action_client.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_client.vhd +add_fileset_file Fibonacci_ros_action_feedback_pub.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_feedback_pub.vhd +add_fileset_file Fibonacci_ros_action_feedback_sub.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_feedback_sub.vhd +add_fileset_file Fibonacci_ros_action_goal_srv_client.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_goal_srv_client.vhd +add_fileset_file Fibonacci_ros_action_goal_srv_server.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_goal_srv_server.vhd +add_fileset_file Fibonacci_ros_action_result_srv_client.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_result_srv_client.vhd +add_fileset_file Fibonacci_ros_action_result_srv_server.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_result_srv_server.vhd +add_fileset_file Fibonacci_ros_action_server.vhd VHDL PATH ../../src/ros2/example_interfaces/Fibonacci_ros_action_server.vhd +add_fileset_file ros_time_converter.vhd VHDL PATH ../../src/ros2/ros_time_converter.vhd +add_fileset_file Fibonacci.vhd VHDL PATH ../../src/ros2/Tests/Fibonacci.vhd +add_fileset_file ros_action_server.vhd VHDL PATH ../../src/ros2/ros_action_server.vhd +add_fileset_file mult.vhd VHDL PATH ../../src/mult.vhd +add_fileset_file mult_Altera.vhd VHDL PATH ../../src/mult_Altera.vhd +add_fileset_file mult_cfg.vhd VHDL PATH ../../src/mult_cfg.vhd +add_fileset_file syn_ros_action_config.vhd VHDL PATH ../../syn/syn_ros_action_config.vhd +add_fileset_file verbatim_key_hash_generator.vhd VHDL PATH ../../src/verbatim_key_hash_generator.vhd + + +# +# parameters +# + + +# +# display items +# + + +# +# connection point clock +# +add_interface clock clock end +set_interface_property clock clockRate 0 +set_interface_property clock ENABLED true +set_interface_property clock EXPORT_OF "" +set_interface_property clock PORT_NAME_MAP "" +set_interface_property clock CMSIS_SVD_VARIABLES "" +set_interface_property clock SVD_ADDRESS_GROUP "" + +add_interface_port clock clk clk Input 1 + + +# +# connection point reset +# +add_interface reset reset end +set_interface_property reset associatedClock clock +set_interface_property reset synchronousEdges DEASSERT +set_interface_property reset ENABLED true +set_interface_property reset EXPORT_OF "" +set_interface_property reset PORT_NAME_MAP "" +set_interface_property reset CMSIS_SVD_VARIABLES "" +set_interface_property reset SVD_ADDRESS_GROUP "" + +add_interface_port reset reset reset Input 1 + + +# +# connection point avalon_slave_0 +# +add_interface avalon_slave_0 avalon end +set_interface_property avalon_slave_0 addressUnits WORDS +set_interface_property avalon_slave_0 associatedClock clock +set_interface_property avalon_slave_0 associatedReset reset +set_interface_property avalon_slave_0 bitsPerSymbol 8 +set_interface_property avalon_slave_0 burstOnBurstBoundariesOnly false +set_interface_property avalon_slave_0 burstcountUnits WORDS +set_interface_property avalon_slave_0 explicitAddressSpan 0 +set_interface_property avalon_slave_0 holdTime 0 +set_interface_property avalon_slave_0 linewrapBursts false +set_interface_property avalon_slave_0 maximumPendingReadTransactions 0 +set_interface_property avalon_slave_0 maximumPendingWriteTransactions 0 +set_interface_property avalon_slave_0 readLatency 0 +set_interface_property avalon_slave_0 readWaitTime 1 +set_interface_property avalon_slave_0 setupTime 0 +set_interface_property avalon_slave_0 timingUnits Cycles +set_interface_property avalon_slave_0 writeWaitTime 0 +set_interface_property avalon_slave_0 ENABLED true +set_interface_property avalon_slave_0 EXPORT_OF "" +set_interface_property avalon_slave_0 PORT_NAME_MAP "" +set_interface_property avalon_slave_0 CMSIS_SVD_VARIABLES "" +set_interface_property avalon_slave_0 SVD_ADDRESS_GROUP "" + +add_interface_port avalon_slave_0 address address Input 2 +add_interface_port avalon_slave_0 read read Input 1 +add_interface_port avalon_slave_0 write write Input 1 +add_interface_port avalon_slave_0 readdata readdata Output 32 +add_interface_port avalon_slave_0 writedata writedata Input 32 +add_interface_port avalon_slave_0 waitrequest waitrequest Output 1 +set_interface_assignment avalon_slave_0 embeddedsw.configuration.isFlash 0 +set_interface_assignment avalon_slave_0 embeddedsw.configuration.isMemoryDevice 0 +set_interface_assignment avalon_slave_0 embeddedsw.configuration.isNonVolatileStorage 0 +set_interface_assignment avalon_slave_0 embeddedsw.configuration.isPrintableDevice 0 +