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
+