From 6bdad0a2a19fbed38da37023e0eddd393db5e8fc Mon Sep 17 00:00:00 2001 From: Fang Lu <cc2lufang@gmail.com> Date: Sun, 26 Nov 2017 18:24:44 -0600 Subject: [PATCH] gl - framework Fix flickering --- gl/gl_avalon_intf.sv | 34 + gl/gl_def_cmd.sv | 9 + gl/gl_frame_buffer.sv | 124 +++ gl/gl_mgr.sv | 247 +++++ gl/gl_palette.sv | 39 + gl/gl_redraw_cache.sv | 60 + gl/gl_sram.sv | 213 ++++ gl/gl_sram_s.sv | 103 ++ gl/gl_vga.sv | 110 ++ gl/painters/gl_painter_rect.sv | 99 ++ osu_fpga_toplevel.qsf | 282 ++++- osu_fpga_toplevel.sv | 88 +- osu_fpga_toplevel_nativelink_simulation.rpt | 22 + pll.qsys | 240 ++++ stp1.stp | 1085 +++++++++++++++++++ test.sv | 33 + testmemory.sv | 251 +++++ timing.sdc | 331 +++--- 18 files changed, 3194 insertions(+), 176 deletions(-) create mode 100644 gl/gl_avalon_intf.sv create mode 100644 gl/gl_def_cmd.sv create mode 100644 gl/gl_frame_buffer.sv create mode 100644 gl/gl_mgr.sv create mode 100644 gl/gl_palette.sv create mode 100644 gl/gl_redraw_cache.sv create mode 100644 gl/gl_sram.sv create mode 100644 gl/gl_sram_s.sv create mode 100644 gl/gl_vga.sv create mode 100644 gl/painters/gl_painter_rect.sv create mode 100644 osu_fpga_toplevel_nativelink_simulation.rpt create mode 100644 pll.qsys create mode 100644 stp1.stp create mode 100644 test.sv create mode 100644 testmemory.sv diff --git a/gl/gl_avalon_intf.sv b/gl/gl_avalon_intf.sv new file mode 100644 index 0000000..e71de78 --- /dev/null +++ b/gl/gl_avalon_intf.sv @@ -0,0 +1,34 @@ +/** + * gl_avalon_intf + * + * Avalon-MM interface for GL modules + * + */ + +module gl_avalon_intf ( + // Avalon Clock Input + input logic CLK, RESET, + + // GL Controller Slave + input logic AVL_S_READ, + input logic AVL_S_WRITE, + input logic AVL_S_CS, + input logic [3:0] AVL_S_BYTE_EN, + input logic [1:0] AVL_S_ADDR, + input logic [31:0] AVL_S_WRITEDATA, + output logic [31:0] AVL_S_READDATA, + + // SRAM Conduit + output logic [19:0] SRAM_ADDR, + inout wire [15:0] SRAM_DQ, + output logic SRAM_UB_N, SRAM_LB_N, SRAM_CE_N, SRAM_OE_N, SRAM_WE_N, + + // VGA Conduit + output logic VGA_CLK, + output logic [7:0] VGA_R, VGA_G, VGA_B, + output logic VGA_SYNC_N, VGA_BLANK_N, VGA_VS, VGA_HS +); + + + +endmodule diff --git a/gl/gl_def_cmd.sv b/gl/gl_def_cmd.sv new file mode 100644 index 0000000..68f79a1 --- /dev/null +++ b/gl/gl_def_cmd.sv @@ -0,0 +1,9 @@ +`ifndef GL_DEF_CMD_SV_ +`define GL_DEF_CMD_SV_ + +// Commands +`define GL_CMD_NOOP 4'h0 +`define GL_CMD_RECT 4'h1 +`define GL_CMD_FIN 4'hf + +`endif diff --git a/gl/gl_frame_buffer.sv b/gl/gl_frame_buffer.sv new file mode 100644 index 0000000..d5d81cc --- /dev/null +++ b/gl/gl_frame_buffer.sv @@ -0,0 +1,124 @@ +module gl_frame_buffer ( + // Clock + input logic CLK, RESET, + + // VGA Read + input logic VGA_REQ, + input logic VGA_FG, + input logic [9:0] VGA_X, VGA_Y, + output logic [23:0] VGA_RGB, + + // GL Read + input logic GL_REQ, + input logic GL_FG, + input logic [9:0] GL_X, GL_Y, + input logic [19:0] GL_ADDR, + output logic [15:0] GL_RGB, + output logic GL_READY, + + // Paint Write + input logic PAINT_REQ, + input logic [9:0] PAINT_X, PAINT_Y, + input logic [15:0] PAINT_RGB16, + output logic PAINT_READY, + + // Avalon Write + input logic AVL_REQ, + input logic [19:0] AVL_ADDR, + input logic [15:0] AVL_DATA, + output logic AVL_READY, + + // Avalon palette access + input logic AVL_PLT_RD, AVL_PLT_WR, + input logic[7:0] AVL_PLT_INDEX, + output logic[23:0] AVL_PLT_RD_COLOR, + input logic[23:0] AVL_PLT_WR_COLOR, + + // Frame-switch control + input logic BUF_ACTIVE, // Active: being drawn, Inactive: being displayed + + // SRAM Interconnect + output logic [19:0] SRAM_ADDR, + inout wire [15:0] SRAM_DQ, + output logic SRAM_UB_N, SRAM_LB_N, SRAM_CE_N, SRAM_OE_N, SRAM_WE_N +); + + // SRAM instance + logic read1_req, read2_req, write1_req, write2_req; + logic [19:0] read1_addr, read2_addr, write1_addr, write2_addr; + logic [15:0] read1_data, read2_data, write1_data, write2_data /*synthesis keep*/; + logic read1_ready, read2_ready, write1_ready, write2_ready; + + gl_sram_s sram_inst(.*); + + assign GL_READY = read2_ready; + assign PAINT_READY = write1_ready; + assign AVL_READY = write2_ready; + assign read1_req = VGA_REQ; + assign read2_req = GL_REQ; + assign write1_req = PAINT_REQ; + assign write1_addr = {PAINT_X, PAINT_Y[8:0], BUF_ACTIVE}; + assign write1_data = PAINT_RGB16; + assign write2_req = AVL_REQ; + assign write2_addr = AVL_ADDR; + assign write2_data = AVL_DATA; + + // Palette instance + logic[7:0] pl_r1_index, pl_r2_index, pl_r3_index, pl_r4_index, pl_w_index; + logic[23:0] pl_r1_color, pl_r2_color, pl_r3_color, pl_r4_color, pl_w_color; + logic pl_write; + gl_palette palette_inst(.CLK, .RESET, + .PL_R1_INDEX(pl_r1_index), .PL_R1_COLOR(pl_r1_color), + .PL_R2_INDEX(pl_r2_index), .PL_R2_COLOR(pl_r2_color), + .PL_R3_INDEX(pl_r3_index), .PL_R3_COLOR(pl_r3_color), + .PL_R4_INDEX(pl_r4_index), .PL_R4_COLOR(pl_r4_color), + .PL_W_INDEX (pl_w_index), .PL_W_COLOR (pl_w_color), .PL_WE(pl_write)); + + assign pl_w_index = AVL_PLT_INDEX; + assign pl_w_color = AVL_PLT_WR_COLOR; + assign pl_write = AVL_PLT_WR; + assign pl_r4_index = AVL_PLT_INDEX; + assign AVL_PLT_RD_COLOR = pl_r4_color; + + always_comb begin + // Default values + pl_r1_index = 8'h0; + pl_r2_index = 8'h0; + + // VGA Read palette mapping (24-bit output) + if (VGA_FG) begin + // Read from frame buffer + read1_addr = {VGA_X, VGA_Y[8:0], ~BUF_ACTIVE}; + // Color upsample: prioritize web-safe colors (i.e., 0xabc maps to 0xaabbcc) + VGA_RGB = {read1_data[15:11], read1_data[14:12], + read1_data[10:5], read1_data[8:7], + read1_data[4:0], read1_data[3:1]}; + end else begin + // Read from background + read1_addr = {2'b11, VGA_X, VGA_Y[8:1]}; + pl_r1_index = VGA_Y[0] ? read1_data[15:8] : read1_data[7:0]; + VGA_RGB = pl_r1_color; + end + + // GL Read palette mapping (16-bit output) + if (GL_ADDR != 20'b0)begin + // Absolute read + read2_addr = GL_ADDR; + GL_RGB = read2_data; + end else begin + if (GL_FG) begin + // Read from frame buffer + read2_addr = {GL_X, GL_Y[8:0], BUF_ACTIVE}; + GL_RGB = read2_data; + end else begin + // Read from background + read2_addr = {2'b11, GL_X, GL_Y[8:1]}; + pl_r2_index = GL_Y[0] ? read2_data[15:8] : read2_data[7:0]; + // color downsample: drop the least significant bits + GL_RGB = {pl_r2_color[23:19], pl_r2_color[15:10], pl_r2_color[7:3]}; + end + end + + end // always_comb + +endmodule diff --git a/gl/gl_mgr.sv b/gl/gl_mgr.sv new file mode 100644 index 0000000..aabf11c --- /dev/null +++ b/gl/gl_mgr.sv @@ -0,0 +1,247 @@ +`include "gl_def_cmd.sv" + +module gl_mgr ( + // Clock + input logic CLOCK, RESET, + inout wire[35:0] GPIO, + + // Status Control + output logic GL_FRAME_FINISHED, GL_TIMEOUT, + output logic[9:0] GL_DRAWTIME, + + // GL Commands and arguments + input logic[3:0] GL_CMD, + input logic[31:0] GL_ARG1, GL_ARG2, GL_ARG3, GL_ARG4, + input logic[31:0] GL_ARG5, GL_ARG6, GL_ARG7, GL_ARG8, + input logic GL_EXEC, + output logic GL_DONE, + + // Avalon connection + input logic AVL_REQ, + input logic [19:0] AVL_ADDR, + input logic [15:0] AVL_DATA, + output logic AVL_READY, + + input logic AVL_PLT_RD, AVL_PLT_WR, + input logic[7:0] AVL_PLT_INDEX, + output logic[23:0] AVL_PLT_RD_COLOR, + input logic[23:0] AVL_PLT_WR_COLOR, + + // SRAM connection + output logic [19:0] SRAM_ADDR, + inout wire [15:0] SRAM_DQ, + output logic SRAM_UB_N, SRAM_LB_N, SRAM_CE_N, SRAM_OE_N, SRAM_WE_N, + + // VGA connection + output logic VGA_HS, VGA_VS, VGA_BLANK_N, VGA_SYNC_N, VGA_CLK, + output logic [7:0] VGA_R, VGA_G, VGA_B +); + + // Double-buffer switching connect + logic paint_buffer, paint_buffer_next /*synthesis keep*/; + logic [9:0] drawtime_in; + + always_ff @(posedge CLOCK) begin + if(RESET) begin + paint_buffer <= 0; + GL_DRAWTIME <= 10'd0; + end else begin + paint_buffer <= paint_buffer_next; + GL_DRAWTIME <= drawtime_in; + end + end + + // Redraw cache instance + logic [19:0] rc_addr1, rc_addr2; + logic rc_data_in1, rc_data_in2; + logic rc_we1, rc_we2, rc_clk; + logic rc_data_out1, rc_data_out2; + gl_redraw_cache redraw_cache( + .addr1 (rc_addr1), + .addr2 (rc_addr2), + .data_in1 (rc_data_in1), + .data_in2 (rc_data_in2), + .we1 (rc_we1), + .we2 (rc_we2), + .clk (CLOCK), + .data_out1(rc_data_out1), + .data_out2(rc_data_out2) + ); + + // Frame buffer instance + + // Read + logic fb_VGA_REQ; + logic fb_VGA_FG; + logic [9:0] fb_VGA_X, fb_VGA_Y; + logic [23:0] fb_VGA_RGB; + // GL Read + logic fb_GL_REQ; + logic fb_GL_FG; + logic [9:0] fb_GL_X, fb_GL_Y; + logic [19:0] fb_GL_ADDR; + logic [15:0] fb_GL_RGB; + logic fb_GL_READY; + // Paint Write + logic fb_PAINT_REQ; + logic [9:0] fb_PAINT_X, fb_PAINT_Y; + logic [15:0] fb_PAINT_RGB16; + logic fb_PAINT_READY; + gl_frame_buffer frame_buffer( + .CLK (CLOCK), + .RESET (RESET), + .VGA_REQ (fb_VGA_REQ), + .VGA_FG (fb_VGA_FG), + .VGA_X (fb_VGA_X), + .VGA_Y (fb_VGA_Y), + .VGA_RGB (fb_VGA_RGB), + .GL_REQ (fb_GL_REQ), + .GL_FG (fb_GL_FG), + .GL_X (fb_GL_X), + .GL_Y (fb_GL_Y), + .GL_ADDR (fb_GL_ADDR), + .GL_RGB (fb_GL_RGB), + .GL_READY (fb_GL_READY), + .PAINT_REQ (fb_PAINT_REQ), + .PAINT_X (fb_PAINT_X), + .PAINT_Y (fb_PAINT_Y), + .PAINT_RGB16 (fb_PAINT_RGB16), + .PAINT_READY (fb_PAINT_READY), + .BUF_ACTIVE (paint_buffer), + .* // Avalon and SRAM connection + ); + + // VGA instance + + logic vga_interframe; + gl_vga vga( + .CLOCK_50 (CLOCK), + .RESET (RESET), + .FB_REQ (fb_VGA_REQ), + .FB_FG (fb_VGA_FG), + .FB_X (fb_VGA_X), + .FB_Y (fb_VGA_Y), + .FB_RET (fb_VGA_RGB), + .REDRAW_WE (rc_we2), + .REDRAW_ADDR (rc_addr2), + .REDRAW_RD_DATA(rc_data_out2), + .REDRAW_WR_DATA(rc_data_in2), + .RENDER_BUFFER (~paint_buffer), + .VGA_INTERFRAME(vga_interframe), + .* // VGA connection + ); + + // Buffer swap control + logic prev_interframe; + enum logic [1:0] { + b_busy, b_standby, b_swapped, b_timeout + } buffer_status, buffer_status_next; + + assign GL_FRAME_FINISHED = (buffer_status == b_swapped); + assign GL_TIMEOUT = (buffer_status == b_timeout); + + always_ff @(posedge CLOCK) begin + if (RESET) begin + buffer_status <= vga_interframe ? b_busy : b_standby; + end else begin + buffer_status <= buffer_status_next; + end + prev_interframe <= vga_interframe; + end + + always_comb begin + buffer_status_next = buffer_status; + paint_buffer_next = paint_buffer; + drawtime_in = GL_DRAWTIME; + if (~prev_interframe & vga_interframe) begin + // posedge: VGA finished frame + buffer_status_next = b_standby; + end + if (buffer_status == b_standby & (GL_CMD == `GL_CMD_FIN)) begin + // Process swap + buffer_status_next = b_swapped; + paint_buffer_next = ~paint_buffer; + end + if (buffer_status == b_busy & (GL_CMD == `GL_CMD_FIN)) begin + // Draw finished! + drawtime_in = fb_VGA_Y; + end + if (prev_interframe & ~vga_interframe) begin + // negedge: VGA started new frame + if (buffer_status == b_swapped) begin + buffer_status_next = b_busy; + end else begin + buffer_status_next = b_timeout; + // Force swap + paint_buffer_next = ~paint_buffer; + end + end + end + + // GL Modules instances + logic rect_en, rect_done; + // Memory write connection + logic rect_PAINT_REQ /*synthesis\ keep*/; + logic [9:0] rect_PAINT_X, rect_PAINT_Y /*synthesis keep*/; + logic [15:0] rect_PAINT_RGB16 /*synthesis keep*/; + // Redraw cache connection + logic [18:0] rect_RC_ADDR; + logic rect_RC_DATA_WR; + logic rect_RC_WE; + logic rect_RC_DATA_RD; + gl_painter_rect painter_rect( + .CLOCK (CLOCK), + .RESET (RESET), + .X0 (GL_ARG1[19:10]), + .Y0 (GL_ARG1[9:0]), + .X1 (GL_ARG2[19:10]), + .Y1 (GL_ARG2[9:0]), + .C0 (GL_ARG3[15:0]), + .C1 (GL_ARG3[31:16]), + .GRAD_HORIZ (GL_ARG4[0]), + .EN (rect_en), + .DONE (rect_done), + .PAINT_BUFFER (paint_buffer), + .fb_PAINT_REQ (rect_PAINT_REQ), + .fb_PAINT_X (rect_PAINT_X), + .fb_PAINT_Y (rect_PAINT_Y), + .fb_PAINT_RGB16(rect_PAINT_RGB16), + .fb_PAINT_READY(fb_PAINT_READY), + .RC_ADDR (rect_RC_ADDR), + .RC_DATA_WR (rect_RC_DATA_WR), + .RC_WE (rect_RC_WE), + .RC_DATA_RD (rc_data_out1) + ); + + always_comb begin + + // Route memory access + GL_DONE = 1'b1; // If nothing is running, nothing is blocking + fb_PAINT_REQ = 1'b0; + fb_PAINT_X = 10'hXXX; + fb_PAINT_Y = 10'hXXX; + fb_PAINT_RGB16 = 16'hXXXX; + rc_addr1 = 8'hXX; + rc_data_in1 = 1'bX; + rc_we1 = 1'b0; + + if(GL_CMD == `GL_CMD_RECT) begin + rect_en = GL_EXEC; + GL_DONE = rect_done; + fb_PAINT_REQ = rect_PAINT_REQ; + fb_PAINT_X = rect_PAINT_X; + fb_PAINT_Y = rect_PAINT_Y; + fb_PAINT_RGB16 = rect_PAINT_RGB16; + rc_addr1 = rect_RC_ADDR; + rc_data_in1 = rect_RC_DATA_WR; + rc_we1 = rect_RC_WE; + end else begin + rect_en = 1'b0; + end + + end + + // Signal Tap debug connections + // assign GPIO = {rect_PAINT_X, rect_PAINT_Y, rect_PAINT_RGB16}; + +endmodule diff --git a/gl/gl_palette.sv b/gl/gl_palette.sv new file mode 100644 index 0000000..d0b6aa5 --- /dev/null +++ b/gl/gl_palette.sv @@ -0,0 +1,39 @@ +module gl_palette ( + // Clock + input logic CLK, RESET, + // Read Interface + input logic[7:0] PL_R1_INDEX, + output logic[23:0] PL_R1_COLOR, + input logic[7:0] PL_R2_INDEX, + output logic[23:0] PL_R2_COLOR, + input logic[7:0] PL_R3_INDEX, + output logic[23:0] PL_R3_COLOR, + input logic[7:0] PL_R4_INDEX, + output logic[23:0] PL_R4_COLOR, + // Write Interface + input logic[7:0] PL_W_INDEX, + input logic[23:0] PL_W_COLOR, + input logic PL_WE +); + +logic [23:0] palette[256], palette_next[256]; + +assign PL_R1_COLOR = palette[PL_R1_INDEX]; +assign PL_R2_COLOR = palette[PL_R2_INDEX]; +assign PL_R3_COLOR = palette[PL_R3_INDEX]; +assign PL_R4_COLOR = palette[PL_R4_INDEX]; + +always_ff @(posedge CLK) begin + if(RESET) begin + for (int i = 0; i < 256; i++) begin + palette[i] <= 0; + end + end else begin + if (PL_WE) begin + palette[PL_W_INDEX] <= PL_W_COLOR; + end + end +end + + +endmodule diff --git a/gl/gl_redraw_cache.sv b/gl/gl_redraw_cache.sv new file mode 100644 index 0000000..5213aeb --- /dev/null +++ b/gl/gl_redraw_cache.sv @@ -0,0 +1,60 @@ +/** + * gl_redraw_cache + * + * + */ + +// Quartus Prime SystemVerilog Template +// +// True Dual-Port RAM with single clock and different data width on the two ports +// +// The first datawidth and the widths of the addresses are specified +// The second data width is equal to DATA_WIDTH1 * RATIO, where RATIO = (1 << (ADDRESS_WIDTH1 - ADDRESS_WIDTH2) +// RATIO must have value that is supported by the memory blocks in your target +// device. Otherwise, no RAM will be inferred. +// +// Read-during-write behavior returns old data for all combinations of read and +// write on both ports +// +// This style of RAM cannot be used on certain devices, e.g. Stratix V; in that case use the template for Dual-Port RAM with new data on read-during write on the same port + +module gl_redraw_cache + #(parameter int + DATA_WIDTH = 1, + ADDRESS_WIDTH = 20 + ) ( + input [ADDRESS_WIDTH-1:0] addr1, + input [ADDRESS_WIDTH-1:0] addr2, + input [DATA_WIDTH-1:0] data_in1, + input [DATA_WIDTH-1:0] data_in2, + input we1, we2, clk, + output reg [DATA_WIDTH-1:0] data_out1, + output reg [DATA_WIDTH-1:0] data_out2 +); + + localparam RAM_DEPTH = 1 << ADDRESS_WIDTH; + + // Use a multi-dimensional packed array to model the different read/ram width + reg [DATA_WIDTH-1:0] ram[0:RAM_DEPTH-1]; + + reg [DATA_WIDTH-1:0] data_reg1; + reg [DATA_WIDTH-1:0] data_reg2; + + // Port A + always@(posedge clk) + begin + if(we1) + ram[addr1] <= data_in1; + data_reg1 <= ram[addr1]; + end + assign data_out1 = data_reg1; + + // port B + always@(posedge clk) + begin + if(we2) + ram[addr2] <= data_in2; + data_reg2 <= ram[addr2]; + end + assign data_out2 = data_reg2; +endmodule diff --git a/gl/gl_sram.sv b/gl/gl_sram.sv new file mode 100644 index 0000000..fc0173a --- /dev/null +++ b/gl/gl_sram.sv @@ -0,0 +1,213 @@ +module gl_sram ( + // Clock + input logic CLK, RESET, + + // Read 1 + input logic read1_req, + input logic [19:0] read1_addr, + output logic [15:0] read1_data, + output logic read1_ready, + + input logic read2_req, + input logic [19:0] read2_addr, + output logic [15:0] read2_data, + output logic read2_ready, + + // Write + input logic write1_req, + input logic [19:0] write1_addr, + input logic [15:0] write1_data, + output logic write1_ready, + + input logic write2_req, + input logic [19:0] write2_addr, + input logic [15:0] write2_data, + output logic write2_ready, + + // Export Conduit + output logic [19:0] SRAM_ADDR, + inout wire [15:0] SRAM_DQ, + output logic SRAM_UB_N, SRAM_LB_N, SRAM_CE_N, SRAM_OE_N, SRAM_WE_N +); +// Tristate +logic [15:0] SRAM_DQ_WR; +assign SRAM_DQ = (SRAM_CE_N | SRAM_WE_N) ? 16'hZZZZ : SRAM_DQ_WR; +// Enable whole 16 bits +assign SRAM_UB_N = 1'b0; +assign SRAM_LB_N = 1'b0; + +// OP1 +logic[19:0] OP1_ADDR; +logic[15:0] OP1_DQ_RD_SYNC, OP1_DQ_WR, OP1_DQ_RD; +logic OP1_RD, OP1_WR, OP1_CS; +always_ff @(negedge CLK) begin + // OP1 operation starts at rising edge and ends at falling edge + OP1_DQ_RD_SYNC <= SRAM_DQ; +end +always_ff @(posedge CLK) begin + // DQ need to be sync'ed to the rising edge + OP1_DQ_RD <= OP1_DQ_RD_SYNC; +end + +// OP2 +logic[19:0] OP2_ADDR; +logic[15:0] OP2_DQ_RD, OP2_DQ_WR; +logic OP2_RD, OP2_WR, OP2_CS; +always_ff @(posedge CLK) begin + // OP2 operation starts at falling edge and ends at rising edge + OP2_DQ_RD <= SRAM_DQ; +end + +// Split up clocks +assign SRAM_ADDR = CLK ? OP1_ADDR : OP2_ADDR; +assign SRAM_DQ_WR = CLK ? OP1_DQ_WR : OP2_DQ_WR; +assign SRAM_CE_N = CLK ? ~OP1_CS : ~OP2_CS; +assign SRAM_OE_N = CLK ? ~OP1_RD : ~OP2_RD; +assign SRAM_WE_N = CLK ? ~OP1_WR : ~OP2_WR; + +// Output registers +logic read1_ready_next, read2_ready_next, write1_ready_next, write2_ready_next; +assign read1_data = OP1_DQ_RD; +assign read2_data = OP2_DQ_RD; + +always_ff @(posedge CLK) begin + if(RESET) begin + read1_ready <= 1'b0; + read2_ready <= 1'b0; + write1_ready <= 1'b0; + write2_ready <= 1'b0; + end else begin + read1_ready <= read1_ready_next; + read2_ready <= read2_ready_next; + write1_ready <= write1_ready_next; + write2_ready <= write2_ready_next; + end +end + +always_comb begin + + OP1_RD = 1'b0; + OP1_WR = 1'b0; + OP1_CS = 1'b0; + OP1_ADDR = 20'hXXXXX; + OP1_DQ_WR = 16'hXXXX; + OP2_RD = 1'b0; + OP2_WR = 1'b0; + OP2_CS = 1'b0; + OP2_ADDR = 20'hXXXXX; + OP2_DQ_WR = 16'hXXXX; + + read1_ready_next = 1'b0; + read2_ready_next = 1'b0; + write1_ready_next = 1'b0; + write2_ready_next = 1'b0; + + // Priority: Read1 -> Write1 -> Read2 -> Write2 + if (!RESET) begin + case ({read1_req, write1_req, read2_req, write2_req}) + 4'b0001: begin + // W2 + OP1_CS = 1'b1; + OP1_WR = 1'b1; + OP1_ADDR = write2_addr; + OP1_DQ_WR = write2_data; + write2_ready_next = 1'b1; + end + 4'b0010: begin + // R2 + OP2_CS = 1'b1; + OP2_RD = 1'b1; + OP2_ADDR = read2_addr; + read2_ready_next = 1'b1; + end + 4'b0011: begin + // R2, W2 + OP2_CS = 1'b1; + OP2_RD = 1'b1; + OP2_ADDR = read2_addr; + read2_ready_next = 1'b1; + OP1_CS = 1'b1; + OP1_WR = 1'b1; + OP1_ADDR = write2_addr; + OP1_DQ_WR = write2_data; + write2_ready_next = 1'b1; + end + 4'b0100: begin + // W1 + OP1_CS = 1'b1; + OP1_WR = 1'b1; + OP1_ADDR = write1_addr; + OP1_DQ_WR = write1_data; + write1_ready_next = 1'b1; + end + 4'b0101: begin + // W1, W2 + OP1_CS = 1'b1; + OP1_WR = 1'b1; + OP1_ADDR = write1_addr; + OP1_DQ_WR = write1_data; + write1_ready_next = 1'b1; + OP2_CS = 1'b1; + OP2_WR = 1'b1; + OP2_ADDR = write2_addr; + OP2_DQ_WR = write2_data; + write2_ready_next = 1'b1; + end + 4'b0110, 4'b0111: begin + // W1, R2 + OP1_CS = 1'b1; + OP1_WR = 1'b1; + OP1_ADDR = write1_addr; + OP1_DQ_WR = write1_data; + write1_ready_next = 1'b1; + OP2_CS = 1'b1; + OP2_RD = 1'b1; + OP2_ADDR = read2_addr; + read2_ready_next = 1'b1; + end + 4'b1000: begin + // R1 + OP1_CS = 1'b1; + OP1_RD = 1'b1; + OP1_ADDR = read1_addr; + read1_ready_next = 1'b1; + end + 4'b1001: begin + // R1, W2 + OP1_CS = 1'b1; + OP1_RD = 1'b1; + OP1_ADDR = read1_addr; + read1_ready_next = 1'b1; + OP2_CS = 1'b1; + OP2_WR = 1'b1; + OP2_ADDR = write2_addr; + OP2_DQ_WR = write2_data; + write2_ready_next = 1'b1; + end + 4'b1010, 4'b1011: begin + // R1, R2 + OP1_CS = 1'b1; + OP1_RD = 1'b1; + OP1_ADDR = read1_addr; + read1_ready_next = 1'b1; + OP2_CS = 1'b1; + OP2_RD = 1'b1; + OP2_ADDR = read2_addr; + read2_ready_next = 1'b1; + end + 4'b1100, 4'b1101, 4'b1110, 4'b1111: begin + // R1, W1 + OP1_CS = 1'b1; + OP1_RD = 1'b1; + OP1_ADDR = read1_addr; + OP2_CS = 1'b1; + OP2_WR = 1'b1; + OP2_ADDR = write1_addr; + OP2_DQ_WR = write1_data; + write1_ready_next = 1'b1; + end + endcase + end +end + +endmodule diff --git a/gl/gl_sram_s.sv b/gl/gl_sram_s.sv new file mode 100644 index 0000000..779eb1d --- /dev/null +++ b/gl/gl_sram_s.sv @@ -0,0 +1,103 @@ +module gl_sram_s ( + // Clock + input logic CLK, RESET, + + // Read 1 + input logic read1_req, + input logic [19:0] read1_addr, + output logic [15:0] read1_data, + output logic read1_ready, + + input logic read2_req, + input logic [19:0] read2_addr, + output logic [15:0] read2_data, + output logic read2_ready, + + // Write + input logic write1_req/*synthesis keep*/, + input logic [19:0] write1_addr/*synthesis keep*/, + input logic [15:0] write1_data/*synthesis keep*/, + output logic write1_ready/*synthesis keep*/, + + input logic write2_req, + input logic [19:0] write2_addr, + input logic [15:0] write2_data, + output logic write2_ready, + + // Export Conduit + output logic [19:0] SRAM_ADDR, + inout wire [15:0] SRAM_DQ, + output logic SRAM_UB_N, SRAM_LB_N, SRAM_CE_N, SRAM_OE_N, SRAM_WE_N +); +// Tristate +logic [15:0] SRAM_DQ_WR; +assign SRAM_DQ = (SRAM_CE_N | SRAM_WE_N) ? 16'hZZZZ : SRAM_DQ_WR; +// Enable whole 16 bits +assign SRAM_UB_N = 1'b0; +assign SRAM_LB_N = 1'b0; +assign SRAM_CE_N = SRAM_WE_N & SRAM_OE_N; + +// Output registers +logic read1_ready_next, read2_ready_next, write1_ready_next, write2_ready_next; +logic [15:0] read1_data_next, read2_data_next; + +always_ff @(posedge CLK) begin + if(RESET) begin + read1_ready <= 1'b0; + read2_ready <= 1'b0; + write1_ready <= 1'b0; + write2_ready <= 1'b0; + read1_data <= 16'hCCCC; + read2_data <= 16'hCCCC; + end else begin + read1_ready <= read1_ready_next; + read2_ready <= read2_ready_next; + write1_ready <= write1_ready_next; + write2_ready <= write2_ready_next; + read1_data <= read1_data_next; + read2_data <= read2_data_next; + end +end + +always_comb begin + + + read1_ready_next = 1'b0; + read2_ready_next = 1'b0; + write1_ready_next = 1'b0; + write2_ready_next = 1'b0; + read1_data_next = read1_data; + read2_data_next = read2_data; + + SRAM_WE_N = 1'b1; + SRAM_OE_N = 1'b1; + SRAM_ADDR = 20'hXXXXX; + SRAM_DQ_WR = 16'hXXXX; + + // Priority: Read1 -> Read2 -> Write1 -> Write2 + if (!RESET) begin + if (read1_req) begin + SRAM_ADDR = read1_addr; + SRAM_OE_N = 1'b0; + read1_data_next = SRAM_DQ; + read1_ready_next = 1'b1; + end else if (read2_req) begin + SRAM_ADDR = read2_addr; + SRAM_OE_N = 1'b0; + read2_data_next = SRAM_DQ; + read2_ready_next = 1'b1; + end else if (write1_req) begin + SRAM_ADDR = write1_addr; + SRAM_DQ_WR = write1_data; + SRAM_WE_N = 1'b0; + write1_ready_next = 1'b1; + end else if (write2_req) begin + SRAM_ADDR = write2_addr; + SRAM_DQ_WR = write2_data; + SRAM_WE_N = 1'b0; + write2_ready_next = 1'b1; + end + end +end + +endmodule diff --git a/gl/gl_vga.sv b/gl/gl_vga.sv new file mode 100644 index 0000000..7b8dea2 --- /dev/null +++ b/gl/gl_vga.sv @@ -0,0 +1,110 @@ +module gl_vga ( + // Clock + input CLOCK_50, RESET, + // VGA Signals + output logic VGA_HS, VGA_VS, VGA_BLANK_N, VGA_SYNC_N, VGA_CLK, + output logic [7:0] VGA_R, VGA_G, VGA_B, + // Frame buffer + output logic FB_REQ, + output logic FB_FG, + output logic [9:0] FB_X, FB_Y, + input logic [23:0] FB_RET, + // Redraw cache + output logic REDRAW_WE, + output logic[19:0] REDRAW_ADDR, + input logic REDRAW_RD_DATA, + output logic REDRAW_WR_DATA, + // Informational + input logic RENDER_BUFFER, + output logic VGA_INTERFRAME /*synthesis keep*/ +); + + logic VGA_HS_in, VGA_VS_in, VGA_BLANK_N_in, clk_25; + logic [7:0] VGA_R_in, VGA_G_in, VGA_B_in; + logic [9:0] h_counter, v_counter, h_counter_in, v_counter_in; + + assign VGA_SYNC_N = 1'b0; + assign VGA_CLK = clk_25; + assign FB_X = h_counter; + assign FB_Y = v_counter; + assign FB_FG = REDRAW_RD_DATA; + assign VGA_INTERFRAME = (v_counter > 10'd480); + assign REDRAW_ADDR = {h_counter_in, v_counter_in[8:0], RENDER_BUFFER}; + assign REDRAW_WR_DATA = 1'b0; // In case to overwrite + + // VGA control signals + always_ff @ (posedge CLOCK_50) begin + clk_25 <= ~clk_25; + if (RESET) begin + VGA_HS <= 1'b0; + VGA_VS <= 1'b0; + VGA_BLANK_N <= 1'b0; + h_counter <= 10'd0; + v_counter <= 10'd0; + VGA_R <= 8'h00; + VGA_G <= 8'h00; + VGA_B <= 8'hff; + end else begin + VGA_HS <= VGA_HS_in; + VGA_VS <= VGA_VS_in; + VGA_BLANK_N <= VGA_BLANK_N_in; + h_counter <= h_counter_in; + v_counter <= v_counter_in; + VGA_R <= VGA_R_in; + VGA_G <= VGA_G_in; + VGA_B <= VGA_B_in; + end + end + + always_comb begin + // Default values + VGA_HS_in = VGA_HS; + VGA_VS_in = VGA_VS; + VGA_BLANK_N_in = VGA_BLANK_N; + h_counter_in = h_counter; + v_counter_in = v_counter; + VGA_R_in = VGA_R; + VGA_G_in = VGA_G; + VGA_B_in = VGA_B; + FB_REQ = 1'b0; + REDRAW_WE = 1'b0; + + if (clk_25) begin // clk_25 posegde + h_counter_in = h_counter + 10'd1; + + if(h_counter == 10'd799) begin + h_counter_in = 10'd0; + if(v_counter == 10'd524) + v_counter_in = 10'd0; + else + v_counter_in = v_counter + 10'd1; + end + // Horizontal sync pulse is 96 pixels long at pixels 656-752 + // (Signal is registered to ensure clean output waveform) + VGA_HS_in = 1'b1; + if(h_counter_in >= 10'd656 && h_counter_in < 10'd752) + VGA_HS_in = 1'b0; + // Vertical sync pulse is 2 lines (800 pixels each) long at line 490-491 + //(Signal is registered to ensure clean output waveform) + VGA_VS_in = 1'b1; + if(v_counter_in >= 10'd490 && v_counter_in < 10'd492) + VGA_VS_in = 1'b0; + // Display pixels (inhibit blanking) between horizontal 0-639 and vertical 0-479 (640x480) + VGA_BLANK_N_in = 1'b0; + if(h_counter_in < 10'd640 && v_counter_in < 10'd480) begin + VGA_BLANK_N_in = 1'b1; + VGA_R_in = FB_RET[23:16]; + VGA_G_in = FB_RET[15:8]; + VGA_B_in = FB_RET[7:0]; + end + end else begin // clk_25 negedge + if (VGA_BLANK_N) begin + // Rendering frame, request pixel information + FB_REQ = 1'b1; + // Reset the redraw cache to background for this pixel + REDRAW_WE = 1'b1; + end + end + end + +endmodule diff --git a/gl/painters/gl_painter_rect.sv b/gl/painters/gl_painter_rect.sv new file mode 100644 index 0000000..ae6c4f0 --- /dev/null +++ b/gl/painters/gl_painter_rect.sv @@ -0,0 +1,99 @@ +module gl_painter_rect ( + // Clock + input logic CLOCK, RESET, + + // Arguments + input logic[9:0] X0, Y0, X1, Y1 /*synthesis keep*/, + input logic[15:0] C0, C1, + input logic GRAD_HORIZ, + + // Status Control + input logic EN, + output logic DONE, + + input logic PAINT_BUFFER, + + // Memory write connection + output logic fb_PAINT_REQ, + output logic [9:0] fb_PAINT_X, fb_PAINT_Y, + output logic [15:0] fb_PAINT_RGB16, + input logic fb_PAINT_READY, + + // Redraw cache connection + output logic [18:0] RC_ADDR, + output logic RC_DATA_WR, + output logic RC_WE, + input logic RC_DATA_RD +); + + logic [9:0] x, y, x_in, y_in; + logic [15:0] color, color_in; + enum logic[3:0] { + s_idle, s_paint, s_fin + } state, state_next /*synthesis keep*/; + + assign fb_PAINT_X = x; + assign fb_PAINT_Y = y; + assign fb_PAINT_RGB16 = color; + assign RC_ADDR = {x, y[8:0], PAINT_BUFFER}; + assign RC_DATA_WR = 1'b1; + + always_ff @(posedge CLOCK) begin + if(RESET | ~EN) begin + state <= s_idle; + x <= X0; + y <= Y0; + color <= C0; + end else begin + state <= state_next; + x <= x_in; + y <= y_in; + color <= color_in; + state <= state_next; + end + end + + always_comb begin + // Default values + state_next = state; + x_in = x; + y_in = y; + color_in = color; + DONE = 1'b0; + RC_WE = 1'b0; + fb_PAINT_REQ = 1'b0; + + case (state) + s_idle: begin + state_next = s_paint; + color_in = C0; + x_in = X0; + y_in = Y0; + end + s_paint: begin + fb_PAINT_REQ = 1'b1; + RC_WE = 1'b1; + if(fb_PAINT_READY) begin + // Value written, move to next pixel + y_in = y + 1; + if (y == Y1) begin + y_in = Y0; + x_in = x + 1; + if (x == X1) begin + // Done!!! + fb_PAINT_REQ = 1'b0; + RC_WE = 1'b0; + state_next = s_fin; + DONE = 1'b1; + end + end + end + end + s_fin: begin + DONE = 1'b1; + end + endcase + + end + +endmodule diff --git a/osu_fpga_toplevel.qsf b/osu_fpga_toplevel.qsf index f2e3275..efd543d 100644 --- a/osu_fpga_toplevel.qsf +++ b/osu_fpga_toplevel.qsf @@ -42,14 +42,14 @@ set_global_assignment -name DEVICE EP4CE115F29C7 set_global_assignment -name TOP_LEVEL_ENTITY osu_fpga_toplevel set_global_assignment -name ORIGINAL_QUARTUS_VERSION 17.0.0 set_global_assignment -name PROJECT_CREATION_TIME_DATE "23:41:32 NOVEMBER 11, 2017" -set_global_assignment -name LAST_QUARTUS_VERSION "17.1.0 Lite Edition" +set_global_assignment -name LAST_QUARTUS_VERSION "17.1.0 Standard Edition" set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1 set_global_assignment -name NOMINAL_CORE_SUPPLY_VOLTAGE 1.2V set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (SystemVerilog)" -set_global_assignment -name EDA_TIME_SCALE "1 ps" -section_id eda_simulation +set_global_assignment -name EDA_TIME_SCALE "1 ns" -section_id eda_simulation set_global_assignment -name EDA_OUTPUT_DATA_FORMAT "SYSTEMVERILOG HDL" -section_id eda_simulation set_location_assignment PIN_Y2 -to CLOCK_50 set_location_assignment PIN_AG14 -to CLOCK2_50 @@ -1118,12 +1118,282 @@ set_instance_assignment -name TSU_REQUIREMENT "10 ns" -from * -to * 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_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON +set_global_assignment -name NUM_PARALLEL_PROCESSORS 4 +set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS TEST_BENCH_MODE -section_id eda_simulation +set_global_assignment -name EDA_NATIVELINK_SIMULATION_TEST_BENCH test -section_id eda_simulation +set_global_assignment -name EDA_TEST_BENCH_NAME test -section_id eda_simulation +set_global_assignment -name EDA_DESIGN_INSTANCE_NAME NA -section_id test +set_global_assignment -name EDA_TEST_BENCH_RUN_SIM_FOR "1 us" -section_id test +set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME test -section_id test +set_global_assignment -name EDA_TEST_BENCH_FILE test.sv -section_id test +set_global_assignment -name SYSTEMVERILOG_FILE gl/painters/gl_painter_rect.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_def_cmd.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_redraw_cache.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_frame_buffer.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_vga.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_palette.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_mgr.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_avalon_intf.sv +set_global_assignment -name SYSTEMVERILOG_FILE gl/gl_sram_s.sv +set_global_assignment -name QIP_FILE pll/synthesis/pll.qip +set_global_assignment -name SYSTEMVERILOG_FILE test.sv set_global_assignment -name SYSTEMVERILOG_FILE input/hpi_io_intf.sv -set_global_assignment -name QIP_FILE otogame/synthesis/otogame.qip set_global_assignment -name SDC_FILE timing.sdc set_global_assignment -name SYSTEMVERILOG_FILE hexdriver.sv -set_global_assignment -name SYSTEMVERILOG_FILE input/ps2kb.sv set_global_assignment -name SYSTEMVERILOG_FILE osu_fpga_toplevel.sv -set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS ON -set_global_assignment -name NUM_PARALLEL_PROCESSORS 4 +set_global_assignment -name ENABLE_SIGNALTAP ON +set_global_assignment -name USE_SIGNALTAP_FILE stp1.stp +set_global_assignment -name SIGNALTAP_FILE stp1.stp +set_global_assignment -name SLD_NODE_CREATOR_ID 110 -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_ENTITY_NAME sld_signaltap -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[0] -to "gl_mgr:test|GL_FRAME_FINISHED" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[0] -to SRAM_ADDR[0] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[1] -to SRAM_ADDR[10] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[2] -to SRAM_ADDR[11] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[3] -to SRAM_ADDR[12] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[4] -to SRAM_ADDR[13] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[5] -to SRAM_ADDR[14] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[6] -to SRAM_ADDR[15] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[7] -to SRAM_ADDR[16] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[8] -to SRAM_ADDR[17] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[9] -to SRAM_ADDR[18] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[10] -to SRAM_ADDR[19] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[11] -to SRAM_ADDR[1] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[12] -to SRAM_ADDR[2] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[13] -to SRAM_ADDR[3] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[14] -to SRAM_ADDR[4] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[15] -to SRAM_ADDR[5] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[16] -to SRAM_ADDR[6] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[17] -to SRAM_ADDR[7] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[18] -to SRAM_ADDR[8] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[19] -to SRAM_ADDR[9] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[20] -to SRAM_DQ[0] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[21] -to SRAM_DQ[10] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[22] -to SRAM_DQ[11] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[23] -to SRAM_DQ[12] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[24] -to SRAM_DQ[13] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[25] -to SRAM_DQ[14] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[26] -to SRAM_DQ[15] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[27] -to SRAM_DQ[1] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[28] -to SRAM_DQ[2] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[29] -to SRAM_DQ[3] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[30] -to SRAM_DQ[4] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[31] -to SRAM_DQ[5] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[32] -to SRAM_DQ[6] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[33] -to SRAM_DQ[7] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[34] -to SRAM_DQ[8] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[35] -to SRAM_DQ[9] -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[36] -to "gl_mgr:test|GL_FRAME_FINISHED" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_RAM_BLOCK_TYPE=AUTO" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_NODE_INFO=805334528" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_POWER_UP_TRIGGER=0" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STORAGE_QUALIFIER_INVERSION_MASK_LENGTH=0" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_ATTRIBUTE_MEM_MODE=OFF" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STATE_FLOW_USE_GENERATED=0" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STATE_BITS=11" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_BUFFER_FULL_STOP=1" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_CURRENT_RESOURCE_WIDTH=1" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_INCREMENTAL_ROUTING=1" -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[0] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[6] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[9] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[16] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[19] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[22] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_LEVEL=1" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_IN_ENABLED=0" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_PIPELINE=0" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_RAM_PIPELINE=0" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_COUNTER_PIPELINE=0" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_ADVANCED_TRIGGER_ENTITY=basic,1," -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_LEVEL_PIPELINE=1" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_ENABLE_ADVANCED_TRIGGER=0" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_clk -to CLOCK_50 -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[2] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[8] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[18] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[25] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[11] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[7] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[1] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[3] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[4] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[5] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[10] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[12] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[13] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[15] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[20] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[21] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[27] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[28] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[29] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[31] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[24] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[26] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[17] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[23] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[30] -to auto_signaltap_0|vcc -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_SEGMENT_SIZE=8192" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_SAMPLE_DEPTH=8192" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[1] -to "gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[14] -to auto_signaltap_0|gnd -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[37] -to "gl_mgr:test|fb_PAINT_RGB16[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[38] -to "gl_mgr:test|fb_PAINT_RGB16[10]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[39] -to "gl_mgr:test|fb_PAINT_RGB16[11]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[40] -to "gl_mgr:test|fb_PAINT_RGB16[12]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[41] -to "gl_mgr:test|fb_PAINT_RGB16[13]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[42] -to "gl_mgr:test|fb_PAINT_RGB16[14]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[43] -to "gl_mgr:test|fb_PAINT_RGB16[15]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[44] -to "gl_mgr:test|fb_PAINT_RGB16[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[45] -to "gl_mgr:test|fb_PAINT_RGB16[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[46] -to "gl_mgr:test|fb_PAINT_RGB16[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[47] -to "gl_mgr:test|fb_PAINT_RGB16[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[48] -to "gl_mgr:test|fb_PAINT_RGB16[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[49] -to "gl_mgr:test|fb_PAINT_RGB16[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[50] -to "gl_mgr:test|fb_PAINT_RGB16[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[51] -to "gl_mgr:test|fb_PAINT_RGB16[8]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[52] -to "gl_mgr:test|fb_PAINT_RGB16[9]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[53] -to "gl_mgr:test|fb_PAINT_X[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[54] -to "gl_mgr:test|fb_PAINT_X[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[55] -to "gl_mgr:test|fb_PAINT_X[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[56] -to "gl_mgr:test|fb_PAINT_X[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[57] -to "gl_mgr:test|fb_PAINT_X[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[58] -to "gl_mgr:test|fb_PAINT_X[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[59] -to "gl_mgr:test|fb_PAINT_X[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[60] -to "gl_mgr:test|fb_PAINT_X[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[61] -to "gl_mgr:test|fb_PAINT_X[8]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[62] -to "gl_mgr:test|fb_PAINT_X[9]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[63] -to "gl_mgr:test|fb_PAINT_Y[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[64] -to "gl_mgr:test|fb_PAINT_Y[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[65] -to "gl_mgr:test|fb_PAINT_Y[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[66] -to "gl_mgr:test|fb_PAINT_Y[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[67] -to "gl_mgr:test|fb_PAINT_Y[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[68] -to "gl_mgr:test|fb_PAINT_Y[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[69] -to "gl_mgr:test|fb_PAINT_Y[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[70] -to "gl_mgr:test|fb_PAINT_Y[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[71] -to "gl_mgr:test|fb_PAINT_Y[8]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[72] -to "gl_mgr:test|fb_PAINT_Y[9]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[2] -to "gl_mgr:test|gl_vga:vga|VGA_R[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[3] -to "gl_mgr:test|gl_vga:vga|VGA_R[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[4] -to "gl_mgr:test|gl_vga:vga|VGA_R[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[5] -to "gl_mgr:test|gl_vga:vga|VGA_R[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[6] -to "gl_mgr:test|gl_vga:vga|VGA_R[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[7] -to "gl_mgr:test|gl_vga:vga|VGA_R[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[8] -to "gl_mgr:test|gl_vga:vga|VGA_R[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[9] -to "gl_mgr:test|gl_vga:vga|VGA_R[7]" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_BITS=10" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_INVERSION_MASK=000000000000000000000000000000000000000000000000000000000" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_INVERSION_MASK_LENGTH=57" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[73] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[74] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[10]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[75] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[11]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[76] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[12]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[77] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[13]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[78] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[14]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[79] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[15]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[80] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[16]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[81] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[17]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[82] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[18]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[83] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[84] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[85] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[86] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[87] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[88] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[89] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[90] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[91] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[8]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[92] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[9]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[93] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[94] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[10]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[95] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[11]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[96] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[12]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[97] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[13]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[98] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[14]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[99] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[100] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[101] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[102] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[103] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[104] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[105] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[106] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[107] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[8]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[108] -to "gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[9]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[109] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[110] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[10]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[111] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[11]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[112] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[12]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[113] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[13]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[114] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[14]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[115] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[15]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[116] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[16]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[117] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[17]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[118] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[18]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[119] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[120] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[121] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[122] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[123] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[124] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[125] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[126] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[127] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[8]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[128] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[9]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[129] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[130] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[10]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[131] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[11]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[132] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[12]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[133] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[13]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[134] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[14]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[135] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[15]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[136] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[16]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[137] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[17]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[138] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[18]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[139] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[140] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[141] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[142] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[143] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[144] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[145] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[146] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[147] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[8]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[148] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[9]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[149] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[150] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[151] -to "gl_mgr:test|gl_redraw_cache:redraw_cache|we1" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[152] -to "gl_mgr:test|gl_vga:vga|VGA_B[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[153] -to "gl_mgr:test|gl_vga:vga|VGA_B[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[154] -to "gl_mgr:test|gl_vga:vga|VGA_B[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[155] -to "gl_mgr:test|gl_vga:vga|VGA_B[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[156] -to "gl_mgr:test|gl_vga:vga|VGA_B[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[157] -to "gl_mgr:test|gl_vga:vga|VGA_B[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[158] -to "gl_mgr:test|gl_vga:vga|VGA_B[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[159] -to "gl_mgr:test|gl_vga:vga|VGA_B[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[160] -to "gl_mgr:test|gl_vga:vga|VGA_G[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[161] -to "gl_mgr:test|gl_vga:vga|VGA_G[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[162] -to "gl_mgr:test|gl_vga:vga|VGA_G[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[163] -to "gl_mgr:test|gl_vga:vga|VGA_G[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[164] -to "gl_mgr:test|gl_vga:vga|VGA_G[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[165] -to "gl_mgr:test|gl_vga:vga|VGA_G[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[166] -to "gl_mgr:test|gl_vga:vga|VGA_G[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[167] -to "gl_mgr:test|gl_vga:vga|VGA_G[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[168] -to "gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[169] -to "gl_mgr:test|gl_vga:vga|VGA_R[0]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[170] -to "gl_mgr:test|gl_vga:vga|VGA_R[1]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[171] -to "gl_mgr:test|gl_vga:vga|VGA_R[2]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[172] -to "gl_mgr:test|gl_vga:vga|VGA_R[3]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[173] -to "gl_mgr:test|gl_vga:vga|VGA_R[4]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[174] -to "gl_mgr:test|gl_vga:vga|VGA_R[5]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[175] -to "gl_mgr:test|gl_vga:vga|VGA_R[6]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[176] -to "gl_mgr:test|gl_vga:vga|VGA_R[7]" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[177] -to "gl_mgr:test|paint_buffer" -section_id auto_signaltap_0 +set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[178] -to state -section_id auto_signaltap_0 +set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[179] -to state.s_paint -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_DATA_BITS=180" -section_id auto_signaltap_0 +set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STORAGE_QUALIFIER_BITS=180" -section_id auto_signaltap_0 +set_global_assignment -name SLD_FILE db/stp1_auto_stripped.stp set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/osu_fpga_toplevel.sv b/osu_fpga_toplevel.sv index 0563fc7..b68ea88 100644 --- a/osu_fpga_toplevel.sv +++ b/osu_fpga_toplevel.sv @@ -8,12 +8,16 @@ * Copyright (c) 2017 by Fang Lu and Xutao J. Jiang. See LICENSE file * */ + +`include "gl/gl_def_cmd.sv" + module osu_fpga_toplevel ( // Clock input logic CLOCK_50, // Buttons & LEDs input logic [1:0] KEY, + input logic [17:0] SW, output logic [7:0] LEDG, output logic [17:0] LEDR, output logic [6:0] HEX0, HEX1, HEX2, HEX3, HEX4, HEX5, HEX6, HEX7, @@ -27,6 +31,9 @@ module osu_fpga_toplevel ( output logic DRAM_RAS_N, DRAM_WE_N, DRAM_CLK, // SRAM + output logic [19:0] SRAM_ADDR, + inout wire [15:0] SRAM_DQ, + output logic SRAM_UB_N, SRAM_LB_N, SRAM_CE_N, SRAM_OE_N, SRAM_WE_N, // Flash output logic [22:0] FL_ADDR, @@ -48,16 +55,86 @@ module osu_fpga_toplevel ( // VGA output logic VGA_CLK, output logic [7:0] VGA_R, VGA_G, VGA_B, - output logic VGA_SYNC_N, VGA_BLANK_N, VGA_VS, VGA_HS + output logic VGA_SYNC_N, VGA_BLANK_N, VGA_VS, VGA_HS, // Audio + // Debug GPIO + inout wire [35:0] GPIO ); // Synchronizers - logic Reset_h, Clk; - always_ff @ (posedge Clk) begin - Reset_h <= ~(KEY[0]); // The push buttons are active low - end + logic Reset_h, Clk; + always_ff @ (posedge CLOCK_50) begin + Reset_h <= ~(KEY[0]); // The push buttons are active low + end + + logic[3:0] GL_CMD /*synthesis keep*/; + logic[31:0] GL_ARG1, GL_ARG2, GL_ARG3, GL_ARG4; + logic[31:0] GL_ARG5, GL_ARG6, GL_ARG7, GL_ARG8; + logic GL_EXEC, GL_FRAME_FINISHED, GL_DONE; + assign LEDG[0] = GL_FRAME_FINISHED; + gl_mgr test( + .CLOCK (CLOCK_50), + .RESET (Reset_h), + .GL_TIMEOUT (LEDR[17]), + .GL_FRAME_FINISHED(GL_FRAME_FINISHED), + .GL_DONE (GL_DONE), + .GL_DRAWTIME (LEDR[9:0]), + .AVL_REQ (1'b0), + .AVL_ADDR (), + .AVL_DATA (), + .AVL_READY (), + .AVL_PLT_RD (1'b0), + .AVL_PLT_WR (1'b0), + .AVL_PLT_INDEX (), + .AVL_PLT_RD_COLOR (), + .AVL_PLT_WR_COLOR (), + .GPIO (GPIO), + .*); + + enum logic[3:0] { + s_idle, s_paint + } state, state_next /*synthesis keep*/; + + always_ff @(posedge CLOCK_50) begin + if(Reset_h) begin + state <= s_idle; + end else begin + state <= state_next; + end + end + + always_comb begin + state_next = state; + GL_ARG1 = 32'h0; + GL_ARG2 = 32'h0; + GL_ARG3 = 32'h0; + GL_ARG4 = 32'h0; + GL_ARG5 = 32'h0; + GL_ARG6 = 32'h0; + GL_ARG7 = 32'h0; + GL_ARG8 = 32'h0; + GL_EXEC = 1'b0; + case (state) + s_idle: begin + GL_CMD = `GL_CMD_FIN; + if(GL_FRAME_FINISHED) begin + state_next = s_paint; + end + end + s_paint: begin + GL_CMD = `GL_CMD_RECT; + GL_ARG1 = {12'h0, 10'd020, 10'd0}; + GL_ARG2 = {12'h0, 10'd400, 10'd50}; + GL_ARG3 = {5'b01100, 6'b110011, 5'b11111, 5'b01100, 6'b110011, 5'b11111}; + GL_EXEC = 1'b1; + if (GL_DONE) begin + state_next = s_idle; + end + end + endcase + end + /* // Additional wires for Flash assign FL_WP_N = 1'b1; @@ -133,5 +210,6 @@ module osu_fpga_toplevel ( .ledr_export(LEDR), .ledg_export(LEDG) ); + */ endmodule diff --git a/osu_fpga_toplevel_nativelink_simulation.rpt b/osu_fpga_toplevel_nativelink_simulation.rpt new file mode 100644 index 0000000..5b3cd36 --- /dev/null +++ b/osu_fpga_toplevel_nativelink_simulation.rpt @@ -0,0 +1,22 @@ +Info: Start Nativelink Simulation process + +========= EDA Simulation Settings ===================== + +Sim Mode : RTL +Family : cycloneive +Quartus root : c:/intelfpga_lite/17.1/quartus/bin64/ +Quartus sim root : c:/intelfpga_lite/17.1/quartus/eda/sim_lib +Simulation Tool : modelsim-altera +Simulation Language : systemverilog +Simulation Mode : GUI +Sim Output File : +Sim SDF file : +Sim dir : simulation\modelsim + +======================================================= + +Info: Starting NativeLink simulation with ModelSim-Altera software +Sourced NativeLink script c:/intelfpga_lite/17.1/quartus/common/tcl/internal/nativelink/modelsim.tcl +Warning: File osu_fpga_toplevel_run_msim_rtl_systemverilog.do already exists - backing up current file as osu_fpga_toplevel_run_msim_rtl_systemverilog.do.bak2 +Info: Spawning ModelSim-Altera Simulation software +Info: NativeLink simulation flow was successful diff --git a/pll.qsys b/pll.qsys new file mode 100644 index 0000000..e420562 --- /dev/null +++ b/pll.qsys @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?> +<system name="$${FILENAME}"> + <component + name="$${FILENAME}" + displayName="$${FILENAME}" + version="1.0" + description="" + tags="" + categories="System" /> + <parameter name="bonusData"><![CDATA[bonusData +{ + element altpll_0 + { + datum _sortIndex + { + value = "1"; + type = "int"; + } + } + element clk_0 + { + datum _sortIndex + { + value = "0"; + type = "int"; + } + } +} +]]></parameter> + <parameter name="clockCrossingAdapter" value="HANDSHAKE" /> + <parameter name="device" value="EP4CE115F29C7" /> + <parameter name="deviceFamily" value="Cyclone IV E" /> + <parameter name="deviceSpeedGrade" value="7" /> + <parameter name="fabricMode" value="QSYS" /> + <parameter name="generateLegacySim" value="false" /> + <parameter name="generationId" value="0" /> + <parameter name="globalResetBus" value="false" /> + <parameter name="hdlLanguage" value="VERILOG" /> + <parameter name="hideFromIPCatalog" value="false" /> + <parameter name="lockedInterfaceDefinition" value="" /> + <parameter name="maxAdditionalLatency" value="1" /> + <parameter name="projectName" value="osu_fpga.qpf" /> + <parameter name="sopcBorderPoints" value="false" /> + <parameter name="systemHash" value="0" /> + <parameter name="testBenchDutName" value="" /> + <parameter name="timeStamp" value="0" /> + <parameter name="useTestBenchNamingPattern" value="false" /> + <instanceScript></instanceScript> + <interface name="clk" internal="clk_0.clk_in" type="clock" dir="end" /> + <interface name="clock_10" internal="altpll_0.c0" type="clock" dir="start" /> + <interface name="clock_100" internal="altpll_0.c1" type="clock" dir="start" /> + <interface name="reset" internal="clk_0.clk_in_reset" type="reset" dir="end" /> + <module name="altpll_0" kind="altpll" version="17.1" enabled="1"> + <parameter name="AUTO_DEVICE_FAMILY" value="Cyclone IV E" /> + <parameter name="AUTO_INCLK_INTERFACE_CLOCK_RATE" value="50000000" /> + <parameter name="AVALON_USE_SEPARATE_SYSCLK" value="NO" /> + <parameter name="BANDWIDTH" value="" /> + <parameter name="BANDWIDTH_TYPE" value="AUTO" /> + <parameter name="CLK0_DIVIDE_BY" value="5" /> + <parameter name="CLK0_DUTY_CYCLE" value="50" /> + <parameter name="CLK0_MULTIPLY_BY" value="1" /> + <parameter name="CLK0_PHASE_SHIFT" value="0" /> + <parameter name="CLK1_DIVIDE_BY" value="1" /> + <parameter name="CLK1_DUTY_CYCLE" value="50" /> + <parameter name="CLK1_MULTIPLY_BY" value="2" /> + <parameter name="CLK1_PHASE_SHIFT" value="0" /> + <parameter name="CLK2_DIVIDE_BY" value="" /> + <parameter name="CLK2_DUTY_CYCLE" value="" /> + <parameter name="CLK2_MULTIPLY_BY" value="" /> + <parameter name="CLK2_PHASE_SHIFT" value="" /> + <parameter name="CLK3_DIVIDE_BY" value="" /> + <parameter name="CLK3_DUTY_CYCLE" value="" /> + <parameter name="CLK3_MULTIPLY_BY" value="" /> + <parameter name="CLK3_PHASE_SHIFT" value="" /> + <parameter name="CLK4_DIVIDE_BY" value="" /> + <parameter name="CLK4_DUTY_CYCLE" value="" /> + <parameter name="CLK4_MULTIPLY_BY" value="" /> + <parameter name="CLK4_PHASE_SHIFT" value="" /> + <parameter name="CLK5_DIVIDE_BY" value="" /> + <parameter name="CLK5_DUTY_CYCLE" value="" /> + <parameter name="CLK5_MULTIPLY_BY" value="" /> + <parameter name="CLK5_PHASE_SHIFT" value="" /> + <parameter name="CLK6_DIVIDE_BY" value="" /> + <parameter name="CLK6_DUTY_CYCLE" value="" /> + <parameter name="CLK6_MULTIPLY_BY" value="" /> + <parameter name="CLK6_PHASE_SHIFT" value="" /> + <parameter name="CLK7_DIVIDE_BY" value="" /> + <parameter name="CLK7_DUTY_CYCLE" value="" /> + <parameter name="CLK7_MULTIPLY_BY" value="" /> + <parameter name="CLK7_PHASE_SHIFT" value="" /> + <parameter name="CLK8_DIVIDE_BY" value="" /> + <parameter name="CLK8_DUTY_CYCLE" value="" /> + <parameter name="CLK8_MULTIPLY_BY" value="" /> + <parameter name="CLK8_PHASE_SHIFT" value="" /> + <parameter name="CLK9_DIVIDE_BY" value="" /> + <parameter name="CLK9_DUTY_CYCLE" value="" /> + <parameter name="CLK9_MULTIPLY_BY" value="" /> + <parameter name="CLK9_PHASE_SHIFT" value="" /> + <parameter name="COMPENSATE_CLOCK" value="CLK0" /> + <parameter name="DOWN_SPREAD" value="" /> + <parameter name="DPA_DIVIDER" value="" /> + <parameter name="DPA_DIVIDE_BY" value="" /> + <parameter name="DPA_MULTIPLY_BY" value="" /> + <parameter name="ENABLE_SWITCH_OVER_COUNTER" value="" /> + <parameter name="EXTCLK0_DIVIDE_BY" value="" /> + <parameter name="EXTCLK0_DUTY_CYCLE" value="" /> + <parameter name="EXTCLK0_MULTIPLY_BY" value="" /> + <parameter name="EXTCLK0_PHASE_SHIFT" value="" /> + <parameter name="EXTCLK1_DIVIDE_BY" value="" /> + <parameter name="EXTCLK1_DUTY_CYCLE" value="" /> + <parameter name="EXTCLK1_MULTIPLY_BY" value="" /> + <parameter name="EXTCLK1_PHASE_SHIFT" value="" /> + <parameter name="EXTCLK2_DIVIDE_BY" value="" /> + <parameter name="EXTCLK2_DUTY_CYCLE" value="" /> + <parameter name="EXTCLK2_MULTIPLY_BY" value="" /> + <parameter name="EXTCLK2_PHASE_SHIFT" value="" /> + <parameter name="EXTCLK3_DIVIDE_BY" value="" /> + <parameter name="EXTCLK3_DUTY_CYCLE" value="" /> + <parameter name="EXTCLK3_MULTIPLY_BY" value="" /> + <parameter name="EXTCLK3_PHASE_SHIFT" value="" /> + <parameter name="FEEDBACK_SOURCE" value="" /> + <parameter name="GATE_LOCK_COUNTER" value="" /> + <parameter name="GATE_LOCK_SIGNAL" value="" /> + <parameter name="HIDDEN_CONSTANTS">CT#PORT_clk5 PORT_UNUSED CT#PORT_clk4 PORT_UNUSED CT#PORT_clk3 PORT_UNUSED CT#PORT_clk2 PORT_UNUSED CT#PORT_clk1 PORT_USED CT#PORT_clk0 PORT_USED CT#CLK0_MULTIPLY_BY 1 CT#PORT_SCANWRITE PORT_UNUSED CT#PORT_SCANACLR PORT_UNUSED CT#PORT_PFDENA PORT_UNUSED CT#PORT_PLLENA PORT_UNUSED CT#PORT_SCANDATA PORT_UNUSED CT#PORT_SCANCLKENA PORT_UNUSED CT#WIDTH_CLOCK 5 CT#PORT_SCANDATAOUT PORT_UNUSED CT#LPM_TYPE altpll CT#PLL_TYPE AUTO CT#CLK0_PHASE_SHIFT 0 CT#CLK1_DUTY_CYCLE 50 CT#PORT_PHASEDONE PORT_UNUSED CT#OPERATION_MODE NORMAL CT#PORT_CONFIGUPDATE PORT_UNUSED CT#CLK1_MULTIPLY_BY 2 CT#COMPENSATE_CLOCK CLK0 CT#PORT_CLKSWITCH PORT_UNUSED CT#INCLK0_INPUT_FREQUENCY 20000 CT#PORT_SCANDONE PORT_UNUSED CT#PORT_CLKLOSS PORT_UNUSED CT#PORT_INCLK1 PORT_UNUSED CT#AVALON_USE_SEPARATE_SYSCLK NO CT#PORT_INCLK0 PORT_USED CT#PORT_clkena5 PORT_UNUSED CT#PORT_clkena4 PORT_UNUSED CT#PORT_clkena3 PORT_UNUSED CT#PORT_clkena2 PORT_UNUSED CT#PORT_clkena1 PORT_UNUSED CT#PORT_clkena0 PORT_UNUSED CT#CLK1_PHASE_SHIFT 0 CT#PORT_ARESET PORT_USED CT#BANDWIDTH_TYPE AUTO CT#INTENDED_DEVICE_FAMILY {Cyclone IV E} CT#PORT_SCANREAD PORT_UNUSED CT#PORT_PHASESTEP PORT_UNUSED CT#PORT_SCANCLK PORT_UNUSED CT#PORT_CLKBAD1 PORT_UNUSED CT#PORT_CLKBAD0 PORT_UNUSED CT#PORT_FBIN PORT_UNUSED CT#PORT_PHASEUPDOWN PORT_UNUSED CT#PORT_extclk3 PORT_UNUSED CT#PORT_extclk2 PORT_UNUSED CT#PORT_extclk1 PORT_UNUSED CT#PORT_PHASECOUNTERSELECT PORT_UNUSED CT#PORT_extclk0 PORT_UNUSED CT#PORT_ACTIVECLOCK PORT_UNUSED CT#CLK0_DUTY_CYCLE 50 CT#CLK0_DIVIDE_BY 5 CT#CLK1_DIVIDE_BY 1 CT#PORT_LOCKED PORT_USED</parameter> + <parameter name="HIDDEN_CUSTOM_ELABORATION">altpll_avalon_elaboration</parameter> + <parameter name="HIDDEN_CUSTOM_POST_EDIT">altpll_avalon_post_edit</parameter> + <parameter name="HIDDEN_IF_PORTS">IF#phasecounterselect {input 4} IF#locked {output 0} IF#reset {input 0} IF#clk {input 0} IF#phaseupdown {input 0} IF#scandone {output 0} IF#readdata {output 32} IF#write {input 0} IF#scanclk {input 0} IF#phasedone {output 0} IF#address {input 2} IF#c1 {output 0} IF#c0 {output 0} IF#writedata {input 32} IF#read {input 0} IF#areset {input 0} IF#scanclkena {input 0} IF#scandataout {output 0} IF#configupdate {input 0} IF#phasestep {input 0} IF#scandata {input 0}</parameter> + <parameter name="HIDDEN_IS_FIRST_EDIT" value="0" /> + <parameter name="HIDDEN_IS_NUMERIC">IN#WIDTH_CLOCK 1 IN#CLK0_DUTY_CYCLE 1 IN#PLL_TARGET_HARCOPY_CHECK 1 IN#CLK1_MULTIPLY_BY 1 IN#SWITCHOVER_COUNT_EDIT 1 IN#INCLK0_INPUT_FREQUENCY 1 IN#PLL_LVDS_PLL_CHECK 1 IN#PLL_AUTOPLL_CHECK 1 IN#PLL_FASTPLL_CHECK 1 IN#CLK1_DUTY_CYCLE 1 IN#PLL_ENHPLL_CHECK 1 IN#DIV_FACTOR1 1 IN#DIV_FACTOR0 1 IN#LVDS_MODE_DATA_RATE_DIRTY 1 IN#GLOCK_COUNTER_EDIT 1 IN#CLK0_DIVIDE_BY 1 IN#MULT_FACTOR1 1 IN#MULT_FACTOR0 1 IN#CLK0_MULTIPLY_BY 1 IN#USE_MIL_SPEED_GRADE 1 IN#CLK1_DIVIDE_BY 1</parameter> + <parameter name="HIDDEN_MF_PORTS">MF#areset 1 MF#clk 1 MF#locked 1 MF#inclk 1</parameter> + <parameter name="HIDDEN_PRIVATES">PT#GLOCKED_FEATURE_ENABLED 0 PT#SPREAD_FEATURE_ENABLED 0 PT#BANDWIDTH_FREQ_UNIT MHz PT#CUR_DEDICATED_CLK c0 PT#INCLK0_FREQ_EDIT 50.000 PT#BANDWIDTH_PRESET Low PT#PLL_LVDS_PLL_CHECK 0 PT#BANDWIDTH_USE_PRESET 0 PT#AVALON_USE_SEPARATE_SYSCLK NO PT#PLL_ENHPLL_CHECK 0 PT#OUTPUT_FREQ_UNIT1 MHz PT#OUTPUT_FREQ_UNIT0 MHz PT#PHASE_RECONFIG_FEATURE_ENABLED 1 PT#CREATE_CLKBAD_CHECK 0 PT#CLKSWITCH_CHECK 0 PT#INCLK1_FREQ_EDIT 100.000 PT#NORMAL_MODE_RADIO 1 PT#SRC_SYNCH_COMP_RADIO 0 PT#PLL_ARESET_CHECK 1 PT#LONG_SCAN_RADIO 1 PT#SCAN_FEATURE_ENABLED 1 PT#PHASE_RECONFIG_INPUTS_CHECK 0 PT#USE_CLK1 1 PT#USE_CLK0 1 PT#PRIMARY_CLK_COMBO inclk0 PT#BANDWIDTH 1.000 PT#GLOCKED_COUNTER_EDIT_CHANGED 1 PT#PLL_FASTPLL_CHECK 0 PT#SPREAD_FREQ_UNIT KHz PT#PLL_AUTOPLL_CHECK 1 PT#LVDS_PHASE_SHIFT_UNIT1 deg PT#LVDS_PHASE_SHIFT_UNIT0 deg PT#OUTPUT_FREQ_MODE1 1 PT#SWITCHOVER_FEATURE_ENABLED 0 PT#MIG_DEVICE_SPEED_GRADE Any PT#OUTPUT_FREQ_MODE0 1 PT#BANDWIDTH_FEATURE_ENABLED 1 PT#INCLK0_FREQ_UNIT_COMBO MHz PT#ZERO_DELAY_RADIO 0 PT#OUTPUT_FREQ1 100.00000000 PT#OUTPUT_FREQ0 10.00000000 PT#SHORT_SCAN_RADIO 0 PT#LVDS_MODE_DATA_RATE_DIRTY 0 PT#CUR_FBIN_CLK c0 PT#PLL_ADVANCED_PARAM_CHECK 0 PT#CLKBAD_SWITCHOVER_CHECK 0 PT#PHASE_SHIFT_STEP_ENABLED_CHECK 0 PT#DEVICE_SPEED_GRADE Any PT#PLL_FBMIMIC_CHECK 0 PT#LVDS_MODE_DATA_RATE {Not Available} PT#LOCKED_OUTPUT_CHECK 1 PT#SPREAD_PERCENT 0.500 PT#PHASE_SHIFT1 0.00000000 PT#PHASE_SHIFT0 0.00000000 PT#DIV_FACTOR1 1 PT#DIV_FACTOR0 1 PT#CNX_NO_COMPENSATE_RADIO 0 PT#USE_CLKENA1 0 PT#USE_CLKENA0 0 PT#CREATE_INCLK1_CHECK 0 PT#GLOCK_COUNTER_EDIT 1048575 PT#INCLK1_FREQ_UNIT_COMBO MHz PT#EFF_OUTPUT_FREQ_VALUE1 100.000000 PT#EFF_OUTPUT_FREQ_VALUE0 10.000000 PT#SPREAD_FREQ 50.000 PT#USE_MIL_SPEED_GRADE 0 PT#EXPLICIT_SWITCHOVER_COUNTER 0 PT#STICKY_CLK1 1 PT#STICKY_CLK0 1 PT#EXT_FEEDBACK_RADIO 0 PT#MIRROR_CLK1 0 PT#MIRROR_CLK0 0 PT#SWITCHOVER_COUNT_EDIT 1 PT#SELF_RESET_LOCK_LOSS 0 PT#PLL_PFDENA_CHECK 0 PT#INT_FEEDBACK__MODE_RADIO 1 PT#INCLK1_FREQ_EDIT_CHANGED 1 PT#CLKLOSS_CHECK 0 PT#SYNTH_WRAPPER_GEN_POSTFIX 0 PT#PHASE_SHIFT_UNIT1 deg PT#PHASE_SHIFT_UNIT0 deg PT#BANDWIDTH_USE_AUTO 1 PT#HAS_MANUAL_SWITCHOVER 1 PT#MULT_FACTOR1 1 PT#MULT_FACTOR0 1 PT#SPREAD_USE 0 PT#GLOCKED_MODE_CHECK 0 PT#SACN_INPUTS_CHECK 0 PT#DUTY_CYCLE1 50.00000000 PT#INTENDED_DEVICE_FAMILY {Cyclone IV E} PT#DUTY_CYCLE0 50.00000000 PT#PLL_TARGET_HARCOPY_CHECK 0 PT#INCLK1_FREQ_UNIT_CHANGED 1 PT#RECONFIG_FILE ALTPLL1511432225705679.mif PT#ACTIVECLK_CHECK 0</parameter> + <parameter name="HIDDEN_USED_PORTS">UP#locked used UP#c1 used UP#c0 used UP#areset used UP#inclk0 used</parameter> + <parameter name="INCLK0_INPUT_FREQUENCY" value="20000" /> + <parameter name="INCLK1_INPUT_FREQUENCY" value="" /> + <parameter name="INTENDED_DEVICE_FAMILY" value="Cyclone IV E" /> + <parameter name="INVALID_LOCK_MULTIPLIER" value="" /> + <parameter name="LOCK_HIGH" value="" /> + <parameter name="LOCK_LOW" value="" /> + <parameter name="OPERATION_MODE" value="NORMAL" /> + <parameter name="PLL_TYPE" value="AUTO" /> + <parameter name="PORT_ACTIVECLOCK" value="PORT_UNUSED" /> + <parameter name="PORT_ARESET" value="PORT_USED" /> + <parameter name="PORT_CLKBAD0" value="PORT_UNUSED" /> + <parameter name="PORT_CLKBAD1" value="PORT_UNUSED" /> + <parameter name="PORT_CLKLOSS" value="PORT_UNUSED" /> + <parameter name="PORT_CLKSWITCH" value="PORT_UNUSED" /> + <parameter name="PORT_CONFIGUPDATE" value="PORT_UNUSED" /> + <parameter name="PORT_ENABLE0" value="" /> + <parameter name="PORT_ENABLE1" value="" /> + <parameter name="PORT_FBIN" value="PORT_UNUSED" /> + <parameter name="PORT_FBOUT" value="" /> + <parameter name="PORT_INCLK0" value="PORT_USED" /> + <parameter name="PORT_INCLK1" value="PORT_UNUSED" /> + <parameter name="PORT_LOCKED" value="PORT_USED" /> + <parameter name="PORT_PFDENA" value="PORT_UNUSED" /> + <parameter name="PORT_PHASECOUNTERSELECT" value="PORT_UNUSED" /> + <parameter name="PORT_PHASEDONE" value="PORT_UNUSED" /> + <parameter name="PORT_PHASESTEP" value="PORT_UNUSED" /> + <parameter name="PORT_PHASEUPDOWN" value="PORT_UNUSED" /> + <parameter name="PORT_PLLENA" value="PORT_UNUSED" /> + <parameter name="PORT_SCANACLR" value="PORT_UNUSED" /> + <parameter name="PORT_SCANCLK" value="PORT_UNUSED" /> + <parameter name="PORT_SCANCLKENA" value="PORT_UNUSED" /> + <parameter name="PORT_SCANDATA" value="PORT_UNUSED" /> + <parameter name="PORT_SCANDATAOUT" value="PORT_UNUSED" /> + <parameter name="PORT_SCANDONE" value="PORT_UNUSED" /> + <parameter name="PORT_SCANREAD" value="PORT_UNUSED" /> + <parameter name="PORT_SCANWRITE" value="PORT_UNUSED" /> + <parameter name="PORT_SCLKOUT0" value="" /> + <parameter name="PORT_SCLKOUT1" value="" /> + <parameter name="PORT_VCOOVERRANGE" value="" /> + <parameter name="PORT_VCOUNDERRANGE" value="" /> + <parameter name="PORT_clk0" value="PORT_USED" /> + <parameter name="PORT_clk1" value="PORT_USED" /> + <parameter name="PORT_clk2" value="PORT_UNUSED" /> + <parameter name="PORT_clk3" value="PORT_UNUSED" /> + <parameter name="PORT_clk4" value="PORT_UNUSED" /> + <parameter name="PORT_clk5" value="PORT_UNUSED" /> + <parameter name="PORT_clk6" value="" /> + <parameter name="PORT_clk7" value="" /> + <parameter name="PORT_clk8" value="" /> + <parameter name="PORT_clk9" value="" /> + <parameter name="PORT_clkena0" value="PORT_UNUSED" /> + <parameter name="PORT_clkena1" value="PORT_UNUSED" /> + <parameter name="PORT_clkena2" value="PORT_UNUSED" /> + <parameter name="PORT_clkena3" value="PORT_UNUSED" /> + <parameter name="PORT_clkena4" value="PORT_UNUSED" /> + <parameter name="PORT_clkena5" value="PORT_UNUSED" /> + <parameter name="PORT_extclk0" value="PORT_UNUSED" /> + <parameter name="PORT_extclk1" value="PORT_UNUSED" /> + <parameter name="PORT_extclk2" value="PORT_UNUSED" /> + <parameter name="PORT_extclk3" value="PORT_UNUSED" /> + <parameter name="PORT_extclkena0" value="" /> + <parameter name="PORT_extclkena1" value="" /> + <parameter name="PORT_extclkena2" value="" /> + <parameter name="PORT_extclkena3" value="" /> + <parameter name="PRIMARY_CLOCK" value="" /> + <parameter name="QUALIFY_CONF_DONE" value="" /> + <parameter name="SCAN_CHAIN" value="" /> + <parameter name="SCAN_CHAIN_MIF_FILE" value="" /> + <parameter name="SCLKOUT0_PHASE_SHIFT" value="" /> + <parameter name="SCLKOUT1_PHASE_SHIFT" value="" /> + <parameter name="SELF_RESET_ON_GATED_LOSS_LOCK" value="" /> + <parameter name="SELF_RESET_ON_LOSS_LOCK" value="" /> + <parameter name="SKIP_VCO" value="" /> + <parameter name="SPREAD_FREQUENCY" value="" /> + <parameter name="SWITCH_OVER_COUNTER" value="" /> + <parameter name="SWITCH_OVER_ON_GATED_LOCK" value="" /> + <parameter name="SWITCH_OVER_ON_LOSSCLK" value="" /> + <parameter name="SWITCH_OVER_TYPE" value="" /> + <parameter name="USING_FBMIMICBIDIR_PORT" value="" /> + <parameter name="VALID_LOCK_MULTIPLIER" value="" /> + <parameter name="VCO_DIVIDE_BY" value="" /> + <parameter name="VCO_FREQUENCY_CONTROL" value="" /> + <parameter name="VCO_MULTIPLY_BY" value="" /> + <parameter name="VCO_PHASE_SHIFT_STEP" value="" /> + <parameter name="WIDTH_CLOCK" value="5" /> + <parameter name="WIDTH_PHASECOUNTERSELECT" value="" /> + </module> + <module name="clk_0" kind="clock_source" version="17.1" enabled="1"> + <parameter name="clockFrequency" value="50000000" /> + <parameter name="clockFrequencyKnown" value="true" /> + <parameter name="inputClockFrequency" value="0" /> + <parameter name="resetSynchronousEdges" value="NONE" /> + </module> + <connection + kind="clock" + version="17.1" + start="clk_0.clk" + end="altpll_0.inclk_interface" /> + <connection + kind="reset" + version="17.1" + start="clk_0.clk_reset" + end="altpll_0.inclk_interface_reset" /> + <interconnectRequirement for="$system" name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" /> + <interconnectRequirement for="$system" name="qsys_mm.enableEccProtection" value="FALSE" /> + <interconnectRequirement for="$system" name="qsys_mm.insertDefaultSlave" value="FALSE" /> + <interconnectRequirement for="$system" name="qsys_mm.maxAdditionalLatency" value="1" /> +</system> diff --git a/stp1.stp b/stp1.stp new file mode 100644 index 0000000..e3817d7 --- /dev/null +++ b/stp1.stp @@ -0,0 +1,1085 @@ +<session jtag_chain="USB-Blaster [USB-0]" jtag_device="@1: 10CL120(Y|Z)/EP3C120/.. (0x020F70DD)" sof_file="output_files/osu_fpga_toplevel.sof"> + <display_tree gui_logging_enabled="0"> + <display_branch instance="auto_signaltap_0" log="USE_GLOBAL_TEMP" signal_set="USE_GLOBAL_TEMP" trigger="USE_GLOBAL_TEMP"/> + </display_tree> + <instance enabled="true" entity_name="sld_signaltap" is_auto_node="yes" is_expanded="true" name="auto_signaltap_0" source_file="sld_signaltap.vhd"> + <node_ip_info instance_id="0" mfg_id="110" node_id="0" version="6"/> + <position_info> + <single attribute="active tab" value="0"/> + <single attribute="data horizontal scroll position" value="4257"/> + <single attribute="data vertical scroll position" value="0"/> + <single attribute="setup horizontal scroll position" value="0"/> + <single attribute="setup vertical scroll position" value="0"/> + <single attribute="zoom level denominator" value="1"/> + <single attribute="zoom level numerator" value="1024"/> + <single attribute="zoom offset denominator" value="1"/> + <single attribute="zoom offset numerator" value="112"/> + </position_info> + <signal_set global_temp="1" name="signal_set: 2017/11/26 17:28:46 #0"> + <clock name="CLOCK_50" polarity="posedge" tap_mode="classic"/> + <config pipeline_level="0" ram_type="AUTO" reserved_data_nodes="0" reserved_storage_qualifier_nodes="0" reserved_trigger_nodes="0" sample_depth="8192" trigger_in_enable="no" trigger_out_enable="no"/> + <top_entity/> + <signal_vec> + <trigger_input_vec> + <wire name="gl_mgr:test|GL_FRAME_FINISHED" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[7]" tap_mode="classic"/> + </trigger_input_vec> + <data_input_vec> + <wire name="SRAM_ADDR[0]" tap_mode="classic"/> + <wire name="SRAM_ADDR[10]" tap_mode="classic"/> + <wire name="SRAM_ADDR[11]" tap_mode="classic"/> + <wire name="SRAM_ADDR[12]" tap_mode="classic"/> + <wire name="SRAM_ADDR[13]" tap_mode="classic"/> + <wire name="SRAM_ADDR[14]" tap_mode="classic"/> + <wire name="SRAM_ADDR[15]" tap_mode="classic"/> + <wire name="SRAM_ADDR[16]" tap_mode="classic"/> + <wire name="SRAM_ADDR[17]" tap_mode="classic"/> + <wire name="SRAM_ADDR[18]" tap_mode="classic"/> + <wire name="SRAM_ADDR[19]" tap_mode="classic"/> + <wire name="SRAM_ADDR[1]" tap_mode="classic"/> + <wire name="SRAM_ADDR[2]" tap_mode="classic"/> + <wire name="SRAM_ADDR[3]" tap_mode="classic"/> + <wire name="SRAM_ADDR[4]" tap_mode="classic"/> + <wire name="SRAM_ADDR[5]" tap_mode="classic"/> + <wire name="SRAM_ADDR[6]" tap_mode="classic"/> + <wire name="SRAM_ADDR[7]" tap_mode="classic"/> + <wire name="SRAM_ADDR[8]" tap_mode="classic"/> + <wire name="SRAM_ADDR[9]" tap_mode="classic"/> + <wire name="SRAM_DQ[0]" tap_mode="classic"/> + <wire name="SRAM_DQ[10]" tap_mode="classic"/> + <wire name="SRAM_DQ[11]" tap_mode="classic"/> + <wire name="SRAM_DQ[12]" tap_mode="classic"/> + <wire name="SRAM_DQ[13]" tap_mode="classic"/> + <wire name="SRAM_DQ[14]" tap_mode="classic"/> + <wire name="SRAM_DQ[15]" tap_mode="classic"/> + <wire name="SRAM_DQ[1]" tap_mode="classic"/> + <wire name="SRAM_DQ[2]" tap_mode="classic"/> + <wire name="SRAM_DQ[3]" tap_mode="classic"/> + <wire name="SRAM_DQ[4]" tap_mode="classic"/> + <wire name="SRAM_DQ[5]" tap_mode="classic"/> + <wire name="SRAM_DQ[6]" tap_mode="classic"/> + <wire name="SRAM_DQ[7]" tap_mode="classic"/> + <wire name="SRAM_DQ[8]" tap_mode="classic"/> + <wire name="SRAM_DQ[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|GL_FRAME_FINISHED" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[16]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[17]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[18]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[16]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[17]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[18]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[16]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[17]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[18]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|we1" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|paint_buffer" tap_mode="classic"/> + <wire name="state" tap_mode="classic"/> + <wire name="state.s_paint" tap_mode="probeonly"/> + </data_input_vec> + <storage_qualifier_input_vec> + <wire name="SRAM_ADDR[0]" tap_mode="classic"/> + <wire name="SRAM_ADDR[10]" tap_mode="classic"/> + <wire name="SRAM_ADDR[11]" tap_mode="classic"/> + <wire name="SRAM_ADDR[12]" tap_mode="classic"/> + <wire name="SRAM_ADDR[13]" tap_mode="classic"/> + <wire name="SRAM_ADDR[14]" tap_mode="classic"/> + <wire name="SRAM_ADDR[15]" tap_mode="classic"/> + <wire name="SRAM_ADDR[16]" tap_mode="classic"/> + <wire name="SRAM_ADDR[17]" tap_mode="classic"/> + <wire name="SRAM_ADDR[18]" tap_mode="classic"/> + <wire name="SRAM_ADDR[19]" tap_mode="classic"/> + <wire name="SRAM_ADDR[1]" tap_mode="classic"/> + <wire name="SRAM_ADDR[2]" tap_mode="classic"/> + <wire name="SRAM_ADDR[3]" tap_mode="classic"/> + <wire name="SRAM_ADDR[4]" tap_mode="classic"/> + <wire name="SRAM_ADDR[5]" tap_mode="classic"/> + <wire name="SRAM_ADDR[6]" tap_mode="classic"/> + <wire name="SRAM_ADDR[7]" tap_mode="classic"/> + <wire name="SRAM_ADDR[8]" tap_mode="classic"/> + <wire name="SRAM_ADDR[9]" tap_mode="classic"/> + <wire name="SRAM_DQ[0]" tap_mode="classic"/> + <wire name="SRAM_DQ[10]" tap_mode="classic"/> + <wire name="SRAM_DQ[11]" tap_mode="classic"/> + <wire name="SRAM_DQ[12]" tap_mode="classic"/> + <wire name="SRAM_DQ[13]" tap_mode="classic"/> + <wire name="SRAM_DQ[14]" tap_mode="classic"/> + <wire name="SRAM_DQ[15]" tap_mode="classic"/> + <wire name="SRAM_DQ[1]" tap_mode="classic"/> + <wire name="SRAM_DQ[2]" tap_mode="classic"/> + <wire name="SRAM_DQ[3]" tap_mode="classic"/> + <wire name="SRAM_DQ[4]" tap_mode="classic"/> + <wire name="SRAM_DQ[5]" tap_mode="classic"/> + <wire name="SRAM_DQ[6]" tap_mode="classic"/> + <wire name="SRAM_DQ[7]" tap_mode="classic"/> + <wire name="SRAM_DQ[8]" tap_mode="classic"/> + <wire name="SRAM_DQ[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|GL_FRAME_FINISHED" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_RGB16[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_X[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|fb_PAINT_Y[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[16]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[17]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[18]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[16]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[17]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[18]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[10]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[11]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[12]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[13]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[14]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[15]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[16]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[17]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[18]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[8]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[9]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_redraw_cache:redraw_cache|we1" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_B[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_G[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[0]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[1]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[2]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[3]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[4]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[5]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[6]" tap_mode="classic"/> + <wire name="gl_mgr:test|gl_vga:vga|VGA_R[7]" tap_mode="classic"/> + <wire name="gl_mgr:test|paint_buffer" tap_mode="classic"/> + <wire name="state" tap_mode="classic"/> + <wire name="state.s_paint" tap_mode="probeonly"/> + </storage_qualifier_input_vec> + </signal_vec> + <presentation> + <unified_setup_data_view> + <node data_index="36" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" level-0="dont_care" name="gl_mgr:test|GL_FRAME_FINISHED" pwr_level-0="dont_care" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="36" tap_mode="classic" trigger_index="0" type="unknown"/> + <node is_selected="false" level-0="alt_or" name="SRAM_ADDR[19..0]" order="msb_to_lsb" state="collapse" storage-0="alt_or" storage-1="alt_or" storage-2="alt_or" type="output pin"> + <node data_index="10" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[19]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="10" tap_mode="classic" type="unknown"/> + <node data_index="9" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[18]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="9" tap_mode="classic" type="unknown"/> + <node data_index="8" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[17]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="8" tap_mode="classic" type="unknown"/> + <node data_index="7" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[16]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="7" tap_mode="classic" type="unknown"/> + <node data_index="6" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[15]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="6" tap_mode="classic" type="unknown"/> + <node data_index="5" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[14]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="5" tap_mode="classic" type="unknown"/> + <node data_index="4" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[13]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="4" tap_mode="classic" type="unknown"/> + <node data_index="3" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[12]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="3" tap_mode="classic" type="unknown"/> + <node data_index="2" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[11]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="2" tap_mode="classic" type="unknown"/> + <node data_index="1" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[10]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="1" tap_mode="classic" type="unknown"/> + <node data_index="19" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[9]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="19" tap_mode="classic" type="unknown"/> + <node data_index="18" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[8]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="18" tap_mode="classic" type="unknown"/> + <node data_index="17" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[7]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="17" tap_mode="classic" type="unknown"/> + <node data_index="16" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[6]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="16" tap_mode="classic" type="unknown"/> + <node data_index="15" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[5]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="15" tap_mode="classic" type="unknown"/> + <node data_index="14" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[4]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="14" tap_mode="classic" type="unknown"/> + <node data_index="13" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[3]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="13" tap_mode="classic" type="unknown"/> + <node data_index="12" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[2]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="12" tap_mode="classic" type="unknown"/> + <node data_index="11" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[1]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="11" tap_mode="classic" type="unknown"/> + <node data_index="0" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[0]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="0" tap_mode="classic" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="SRAM_DQ[15..0]" order="msb_to_lsb" state="collapse" storage-0="alt_or" storage-1="alt_or" storage-2="alt_or" type="bidir pin"> + <node data_index="26" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[15]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="26" tap_mode="classic" type="unknown"/> + <node data_index="25" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[14]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="25" tap_mode="classic" type="unknown"/> + <node data_index="24" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[13]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="24" tap_mode="classic" type="unknown"/> + <node data_index="23" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[12]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="23" tap_mode="classic" type="unknown"/> + <node data_index="22" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[11]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="22" tap_mode="classic" type="unknown"/> + <node data_index="21" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[10]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="21" tap_mode="classic" type="unknown"/> + <node data_index="35" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[9]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="35" tap_mode="classic" type="unknown"/> + <node data_index="34" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[8]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="34" tap_mode="classic" type="unknown"/> + <node data_index="33" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[7]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="33" tap_mode="classic" type="unknown"/> + <node data_index="32" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[6]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="32" tap_mode="classic" type="unknown"/> + <node data_index="31" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[5]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="31" tap_mode="classic" type="unknown"/> + <node data_index="30" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[4]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="30" tap_mode="classic" type="unknown"/> + <node data_index="29" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[3]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="29" tap_mode="classic" type="unknown"/> + <node data_index="28" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[2]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="28" tap_mode="classic" type="unknown"/> + <node data_index="27" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[1]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="27" tap_mode="classic" type="unknown"/> + <node data_index="20" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[0]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="20" tap_mode="classic" type="unknown"/> + </node> + <node data_index="177" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" level-0="either edge" name="gl_mgr:test|paint_buffer" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="177" tap_mode="classic" trigger_index="0" type="unknown"/> + <node data_index="179" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="state.s_paint" storage_index="179" tap_mode="probeonly" type="unknown"/> + <node data_index="178" duplicate_name_allowed="false" is_data_input="true" is_node_valid="false" is_selected="false" is_storage_input="true" is_trigger_input="false" name="state" storage_index="178" tap_mode="classic" type="unknown"/> + <node data_index="168" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" level-0="falling edge" name="gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" storage_index="168" tap_mode="classic" trigger_index="1" type="unknown"/> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_R[7..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <node data_index="176" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[7]" storage_index="176" tap_mode="classic" trigger_index="9" type="unknown"/> + <node data_index="175" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[6]" storage_index="175" tap_mode="classic" trigger_index="8" type="unknown"/> + <node data_index="174" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[5]" storage_index="174" tap_mode="classic" trigger_index="7" type="unknown"/> + <node data_index="173" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[4]" storage_index="173" tap_mode="classic" trigger_index="6" type="unknown"/> + <node data_index="172" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[3]" storage_index="172" tap_mode="classic" trigger_index="5" type="unknown"/> + <node data_index="171" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[2]" storage_index="171" tap_mode="classic" trigger_index="4" type="unknown"/> + <node data_index="170" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[1]" storage_index="170" tap_mode="classic" trigger_index="3" type="unknown"/> + <node data_index="169" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[0]" storage_index="169" tap_mode="classic" trigger_index="2" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_G[7..0]" order="msb_to_lsb" type="combinatorial"> + <node data_index="167" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[7]" storage_index="167" tap_mode="classic" type="unknown"/> + <node data_index="166" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[6]" storage_index="166" tap_mode="classic" type="unknown"/> + <node data_index="165" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[5]" storage_index="165" tap_mode="classic" type="unknown"/> + <node data_index="164" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[4]" storage_index="164" tap_mode="classic" type="unknown"/> + <node data_index="163" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[3]" storage_index="163" tap_mode="classic" type="unknown"/> + <node data_index="162" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[2]" storage_index="162" tap_mode="classic" type="unknown"/> + <node data_index="161" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[1]" storage_index="161" tap_mode="classic" type="unknown"/> + <node data_index="160" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[0]" storage_index="160" tap_mode="classic" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_B[7..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <node data_index="159" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[7]" storage_index="159" tap_mode="classic" type="unknown"/> + <node data_index="158" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[6]" storage_index="158" tap_mode="classic" type="unknown"/> + <node data_index="157" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[5]" storage_index="157" tap_mode="classic" type="unknown"/> + <node data_index="156" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[4]" storage_index="156" tap_mode="classic" type="unknown"/> + <node data_index="155" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[3]" storage_index="155" tap_mode="classic" type="unknown"/> + <node data_index="154" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[2]" storage_index="154" tap_mode="classic" type="unknown"/> + <node data_index="153" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[1]" storage_index="153" tap_mode="classic" type="unknown"/> + <node data_index="152" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[0]" storage_index="152" tap_mode="classic" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_RGB16[15..0]" order="msb_to_lsb" type="combinatorial"> + <node data_index="43" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[15]" storage_index="43" tap_mode="classic" trigger_index="6" type="unknown"/> + <node data_index="42" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[14]" storage_index="42" tap_mode="classic" trigger_index="5" type="unknown"/> + <node data_index="41" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[13]" storage_index="41" tap_mode="classic" trigger_index="4" type="unknown"/> + <node data_index="40" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[12]" storage_index="40" tap_mode="classic" trigger_index="3" type="unknown"/> + <node data_index="39" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[11]" storage_index="39" tap_mode="classic" trigger_index="2" type="unknown"/> + <node data_index="38" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[10]" storage_index="38" tap_mode="classic" trigger_index="1" type="unknown"/> + <node data_index="52" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[9]" storage_index="52" tap_mode="classic" trigger_index="15" type="unknown"/> + <node data_index="51" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[8]" storage_index="51" tap_mode="classic" trigger_index="14" type="unknown"/> + <node data_index="50" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[7]" storage_index="50" tap_mode="classic" trigger_index="13" type="unknown"/> + <node data_index="49" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[6]" storage_index="49" tap_mode="classic" trigger_index="12" type="unknown"/> + <node data_index="48" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[5]" storage_index="48" tap_mode="classic" trigger_index="11" type="unknown"/> + <node data_index="47" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[4]" storage_index="47" tap_mode="classic" trigger_index="10" type="unknown"/> + <node data_index="46" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[3]" storage_index="46" tap_mode="classic" trigger_index="9" type="unknown"/> + <node data_index="45" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[2]" storage_index="45" tap_mode="classic" trigger_index="8" type="unknown"/> + <node data_index="44" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[1]" storage_index="44" tap_mode="classic" trigger_index="7" type="unknown"/> + <node data_index="37" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[0]" storage_index="37" tap_mode="classic" trigger_index="0" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_X[9..0]" order="msb_to_lsb" radix="unsigned_dec" type="combinatorial"> + <node data_index="62" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[9]" storage_index="62" tap_mode="classic" trigger_index="25" type="unknown"/> + <node data_index="61" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[8]" storage_index="61" tap_mode="classic" trigger_index="24" type="unknown"/> + <node data_index="60" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[7]" storage_index="60" tap_mode="classic" trigger_index="23" type="unknown"/> + <node data_index="59" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[6]" storage_index="59" tap_mode="classic" trigger_index="22" type="unknown"/> + <node data_index="58" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[5]" storage_index="58" tap_mode="classic" trigger_index="21" type="unknown"/> + <node data_index="57" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[4]" storage_index="57" tap_mode="classic" trigger_index="20" type="unknown"/> + <node data_index="56" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[3]" storage_index="56" tap_mode="classic" trigger_index="19" type="unknown"/> + <node data_index="55" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[2]" storage_index="55" tap_mode="classic" trigger_index="18" type="unknown"/> + <node data_index="54" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[1]" storage_index="54" tap_mode="classic" trigger_index="17" type="unknown"/> + <node data_index="53" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[0]" storage_index="53" tap_mode="classic" trigger_index="16" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_Y[9..0]" order="msb_to_lsb" radix="unsigned_dec" type="combinatorial"> + <node data_index="72" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[9]" storage_index="72" tap_mode="classic" trigger_index="35" type="unknown"/> + <node data_index="71" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[8]" storage_index="71" tap_mode="classic" trigger_index="34" type="unknown"/> + <node data_index="70" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[7]" storage_index="70" tap_mode="classic" trigger_index="33" type="unknown"/> + <node data_index="69" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[6]" storage_index="69" tap_mode="classic" trigger_index="32" type="unknown"/> + <node data_index="68" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[5]" storage_index="68" tap_mode="classic" trigger_index="31" type="unknown"/> + <node data_index="67" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[4]" storage_index="67" tap_mode="classic" trigger_index="30" type="unknown"/> + <node data_index="66" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[3]" storage_index="66" tap_mode="classic" trigger_index="29" type="unknown"/> + <node data_index="65" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[2]" storage_index="65" tap_mode="classic" trigger_index="28" type="unknown"/> + <node data_index="64" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[1]" storage_index="64" tap_mode="classic" trigger_index="27" type="unknown"/> + <node data_index="63" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[0]" storage_index="63" tap_mode="classic" trigger_index="26" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19..0]" order="msb_to_lsb" type="combinatorial"> + <node data_index="139" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19]" storage_index="139" tap_mode="classic" type="unknown"/> + <node data_index="138" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[18]" storage_index="138" tap_mode="classic" type="unknown"/> + <node data_index="137" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[17]" storage_index="137" tap_mode="classic" type="unknown"/> + <node data_index="136" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[16]" storage_index="136" tap_mode="classic" type="unknown"/> + <node data_index="135" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[15]" storage_index="135" tap_mode="classic" type="unknown"/> + <node data_index="134" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[14]" storage_index="134" tap_mode="classic" type="unknown"/> + <node data_index="133" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[13]" storage_index="133" tap_mode="classic" type="unknown"/> + <node data_index="132" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[12]" storage_index="132" tap_mode="classic" type="unknown"/> + <node data_index="131" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[11]" storage_index="131" tap_mode="classic" type="unknown"/> + <node data_index="130" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[10]" storage_index="130" tap_mode="classic" type="unknown"/> + <node data_index="148" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[9]" storage_index="148" tap_mode="classic" type="unknown"/> + <node data_index="147" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[8]" storage_index="147" tap_mode="classic" type="unknown"/> + <node data_index="146" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[7]" storage_index="146" tap_mode="classic" type="unknown"/> + <node data_index="145" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[6]" storage_index="145" tap_mode="classic" type="unknown"/> + <node data_index="144" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[5]" storage_index="144" tap_mode="classic" type="unknown"/> + <node data_index="143" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[4]" storage_index="143" tap_mode="classic" type="unknown"/> + <node data_index="142" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[3]" storage_index="142" tap_mode="classic" type="unknown"/> + <node data_index="141" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[2]" storage_index="141" tap_mode="classic" type="unknown"/> + <node data_index="140" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[1]" storage_index="140" tap_mode="classic" type="unknown"/> + <node data_index="129" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[0]" storage_index="129" tap_mode="classic" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0..0]" order="msb_to_lsb" type="combinatorial"> + <node data_index="150" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0]" storage_index="150" tap_mode="classic" type="unknown"/> + </node> + <node data_index="151" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|we1" storage_index="151" tap_mode="classic" type="unknown"/> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19..0]" order="msb_to_lsb" type="combinatorial"> + <node data_index="119" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19]" storage_index="119" tap_mode="classic" type="unknown"/> + <node data_index="118" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[18]" storage_index="118" tap_mode="classic" type="unknown"/> + <node data_index="117" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[17]" storage_index="117" tap_mode="classic" type="unknown"/> + <node data_index="116" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[16]" storage_index="116" tap_mode="classic" type="unknown"/> + <node data_index="115" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[15]" storage_index="115" tap_mode="classic" type="unknown"/> + <node data_index="114" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[14]" storage_index="114" tap_mode="classic" type="unknown"/> + <node data_index="113" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[13]" storage_index="113" tap_mode="classic" type="unknown"/> + <node data_index="112" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[12]" storage_index="112" tap_mode="classic" type="unknown"/> + <node data_index="111" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[11]" storage_index="111" tap_mode="classic" type="unknown"/> + <node data_index="110" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[10]" storage_index="110" tap_mode="classic" type="unknown"/> + <node data_index="128" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[9]" storage_index="128" tap_mode="classic" type="unknown"/> + <node data_index="127" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[8]" storage_index="127" tap_mode="classic" type="unknown"/> + <node data_index="126" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[7]" storage_index="126" tap_mode="classic" type="unknown"/> + <node data_index="125" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[6]" storage_index="125" tap_mode="classic" type="unknown"/> + <node data_index="124" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[5]" storage_index="124" tap_mode="classic" type="unknown"/> + <node data_index="123" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[4]" storage_index="123" tap_mode="classic" type="unknown"/> + <node data_index="122" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[3]" storage_index="122" tap_mode="classic" type="unknown"/> + <node data_index="121" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[2]" storage_index="121" tap_mode="classic" type="unknown"/> + <node data_index="120" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[1]" storage_index="120" tap_mode="classic" type="unknown"/> + <node data_index="109" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[0]" storage_index="109" tap_mode="classic" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0..0]" order="msb_to_lsb" type="combinatorial"> + <node data_index="149" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0]" storage_index="149" tap_mode="classic" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19..0]" order="msb_to_lsb" type="combinatorial"> + <node data_index="83" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19]" storage_index="83" tap_mode="classic" trigger_index="11" type="unknown"/> + <node data_index="82" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[18]" storage_index="82" tap_mode="classic" trigger_index="10" type="unknown"/> + <node data_index="81" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[17]" storage_index="81" tap_mode="classic" trigger_index="9" type="unknown"/> + <node data_index="80" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[16]" storage_index="80" tap_mode="classic" trigger_index="8" type="unknown"/> + <node data_index="79" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[15]" storage_index="79" tap_mode="classic" trigger_index="7" type="unknown"/> + <node data_index="78" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[14]" storage_index="78" tap_mode="classic" trigger_index="6" type="unknown"/> + <node data_index="77" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[13]" storage_index="77" tap_mode="classic" trigger_index="5" type="unknown"/> + <node data_index="76" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[12]" storage_index="76" tap_mode="classic" trigger_index="4" type="unknown"/> + <node data_index="75" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[11]" storage_index="75" tap_mode="classic" trigger_index="3" type="unknown"/> + <node data_index="74" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[10]" storage_index="74" tap_mode="classic" trigger_index="2" type="unknown"/> + <node data_index="92" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[9]" storage_index="92" tap_mode="classic" trigger_index="20" type="unknown"/> + <node data_index="91" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[8]" storage_index="91" tap_mode="classic" trigger_index="19" type="unknown"/> + <node data_index="90" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[7]" storage_index="90" tap_mode="classic" trigger_index="18" type="unknown"/> + <node data_index="89" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[6]" storage_index="89" tap_mode="classic" trigger_index="17" type="unknown"/> + <node data_index="88" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[5]" storage_index="88" tap_mode="classic" trigger_index="16" type="unknown"/> + <node data_index="87" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[4]" storage_index="87" tap_mode="classic" trigger_index="15" type="unknown"/> + <node data_index="86" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[3]" storage_index="86" tap_mode="classic" trigger_index="14" type="unknown"/> + <node data_index="85" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[2]" storage_index="85" tap_mode="classic" trigger_index="13" type="unknown"/> + <node data_index="84" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[1]" storage_index="84" tap_mode="classic" trigger_index="12" type="unknown"/> + <node data_index="73" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[0]" storage_index="73" tap_mode="classic" trigger_index="1" type="unknown"/> + </node> + <node is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <node data_index="99" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15]" storage_index="99" tap_mode="classic" trigger_index="27" type="unknown"/> + <node data_index="98" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[14]" storage_index="98" tap_mode="classic" trigger_index="26" type="unknown"/> + <node data_index="97" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[13]" storage_index="97" tap_mode="classic" trigger_index="25" type="unknown"/> + <node data_index="96" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[12]" storage_index="96" tap_mode="classic" trigger_index="24" type="unknown"/> + <node data_index="95" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[11]" storage_index="95" tap_mode="classic" trigger_index="23" type="unknown"/> + <node data_index="94" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[10]" storage_index="94" tap_mode="classic" trigger_index="22" type="unknown"/> + <node data_index="108" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[9]" storage_index="108" tap_mode="classic" trigger_index="36" type="unknown"/> + <node data_index="107" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[8]" storage_index="107" tap_mode="classic" trigger_index="35" type="unknown"/> + <node data_index="106" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[7]" storage_index="106" tap_mode="classic" trigger_index="34" type="unknown"/> + <node data_index="105" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[6]" storage_index="105" tap_mode="classic" trigger_index="33" type="unknown"/> + <node data_index="104" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[5]" storage_index="104" tap_mode="classic" trigger_index="32" type="unknown"/> + <node data_index="103" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[4]" storage_index="103" tap_mode="classic" trigger_index="31" type="unknown"/> + <node data_index="102" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[3]" storage_index="102" tap_mode="classic" trigger_index="30" type="unknown"/> + <node data_index="101" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[2]" storage_index="101" tap_mode="classic" trigger_index="29" type="unknown"/> + <node data_index="100" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[1]" storage_index="100" tap_mode="classic" trigger_index="28" type="unknown"/> + <node data_index="93" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[0]" storage_index="93" tap_mode="classic" trigger_index="21" type="unknown"/> + </node> + </unified_setup_data_view> + <data_view> + <net data_index="36" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" level-0="dont_care" name="gl_mgr:test|GL_FRAME_FINISHED" pwr_level-0="dont_care" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="36" tap_mode="classic" trigger_index="0" type="unknown"/> + <bus is_selected="false" level-0="alt_or" name="SRAM_ADDR[19..0]" order="msb_to_lsb" state="collapse" storage-0="alt_or" storage-1="alt_or" storage-2="alt_or" type="output pin"> + <net data_index="10" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[19]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="10" tap_mode="classic" type="unknown"/> + <net data_index="9" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[18]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="9" tap_mode="classic" type="unknown"/> + <net data_index="8" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[17]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="8" tap_mode="classic" type="unknown"/> + <net data_index="7" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[16]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="7" tap_mode="classic" type="unknown"/> + <net data_index="6" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[15]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="6" tap_mode="classic" type="unknown"/> + <net data_index="5" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[14]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="5" tap_mode="classic" type="unknown"/> + <net data_index="4" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[13]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="4" tap_mode="classic" type="unknown"/> + <net data_index="3" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[12]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="3" tap_mode="classic" type="unknown"/> + <net data_index="2" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[11]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="2" tap_mode="classic" type="unknown"/> + <net data_index="1" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[10]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="1" tap_mode="classic" type="unknown"/> + <net data_index="19" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[9]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="19" tap_mode="classic" type="unknown"/> + <net data_index="18" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[8]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="18" tap_mode="classic" type="unknown"/> + <net data_index="17" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[7]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="17" tap_mode="classic" type="unknown"/> + <net data_index="16" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[6]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="16" tap_mode="classic" type="unknown"/> + <net data_index="15" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[5]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="15" tap_mode="classic" type="unknown"/> + <net data_index="14" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[4]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="14" tap_mode="classic" type="unknown"/> + <net data_index="13" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[3]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="13" tap_mode="classic" type="unknown"/> + <net data_index="12" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[2]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="12" tap_mode="classic" type="unknown"/> + <net data_index="11" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[1]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="11" tap_mode="classic" type="unknown"/> + <net data_index="0" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[0]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="0" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="SRAM_DQ[15..0]" order="msb_to_lsb" state="collapse" storage-0="alt_or" storage-1="alt_or" storage-2="alt_or" type="bidir pin"> + <net data_index="26" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[15]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="26" tap_mode="classic" type="unknown"/> + <net data_index="25" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[14]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="25" tap_mode="classic" type="unknown"/> + <net data_index="24" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[13]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="24" tap_mode="classic" type="unknown"/> + <net data_index="23" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[12]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="23" tap_mode="classic" type="unknown"/> + <net data_index="22" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[11]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="22" tap_mode="classic" type="unknown"/> + <net data_index="21" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[10]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="21" tap_mode="classic" type="unknown"/> + <net data_index="35" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[9]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="35" tap_mode="classic" type="unknown"/> + <net data_index="34" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[8]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="34" tap_mode="classic" type="unknown"/> + <net data_index="33" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[7]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="33" tap_mode="classic" type="unknown"/> + <net data_index="32" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[6]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="32" tap_mode="classic" type="unknown"/> + <net data_index="31" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[5]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="31" tap_mode="classic" type="unknown"/> + <net data_index="30" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[4]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="30" tap_mode="classic" type="unknown"/> + <net data_index="29" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[3]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="29" tap_mode="classic" type="unknown"/> + <net data_index="28" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[2]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="28" tap_mode="classic" type="unknown"/> + <net data_index="27" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[1]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="27" tap_mode="classic" type="unknown"/> + <net data_index="20" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[0]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="20" tap_mode="classic" type="unknown"/> + </bus> + <net data_index="177" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" level-0="either edge" name="gl_mgr:test|paint_buffer" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="177" tap_mode="classic" trigger_index="0" type="unknown"/> + <net data_index="179" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="state.s_paint" storage_index="179" tap_mode="probeonly" type="unknown"/> + <net data_index="178" duplicate_name_allowed="false" is_data_input="true" is_node_valid="false" is_selected="false" is_storage_input="true" is_trigger_input="false" name="state" storage_index="178" tap_mode="classic" type="unknown"/> + <net data_index="168" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" level-0="falling edge" name="gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" storage_index="168" tap_mode="classic" trigger_index="1" type="unknown"/> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_R[7..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <net data_index="176" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[7]" storage_index="176" tap_mode="classic" trigger_index="9" type="unknown"/> + <net data_index="175" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[6]" storage_index="175" tap_mode="classic" trigger_index="8" type="unknown"/> + <net data_index="174" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[5]" storage_index="174" tap_mode="classic" trigger_index="7" type="unknown"/> + <net data_index="173" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[4]" storage_index="173" tap_mode="classic" trigger_index="6" type="unknown"/> + <net data_index="172" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[3]" storage_index="172" tap_mode="classic" trigger_index="5" type="unknown"/> + <net data_index="171" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[2]" storage_index="171" tap_mode="classic" trigger_index="4" type="unknown"/> + <net data_index="170" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[1]" storage_index="170" tap_mode="classic" trigger_index="3" type="unknown"/> + <net data_index="169" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[0]" storage_index="169" tap_mode="classic" trigger_index="2" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_G[7..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="167" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[7]" storage_index="167" tap_mode="classic" type="unknown"/> + <net data_index="166" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[6]" storage_index="166" tap_mode="classic" type="unknown"/> + <net data_index="165" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[5]" storage_index="165" tap_mode="classic" type="unknown"/> + <net data_index="164" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[4]" storage_index="164" tap_mode="classic" type="unknown"/> + <net data_index="163" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[3]" storage_index="163" tap_mode="classic" type="unknown"/> + <net data_index="162" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[2]" storage_index="162" tap_mode="classic" type="unknown"/> + <net data_index="161" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[1]" storage_index="161" tap_mode="classic" type="unknown"/> + <net data_index="160" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[0]" storage_index="160" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_B[7..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <net data_index="159" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[7]" storage_index="159" tap_mode="classic" type="unknown"/> + <net data_index="158" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[6]" storage_index="158" tap_mode="classic" type="unknown"/> + <net data_index="157" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[5]" storage_index="157" tap_mode="classic" type="unknown"/> + <net data_index="156" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[4]" storage_index="156" tap_mode="classic" type="unknown"/> + <net data_index="155" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[3]" storage_index="155" tap_mode="classic" type="unknown"/> + <net data_index="154" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[2]" storage_index="154" tap_mode="classic" type="unknown"/> + <net data_index="153" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[1]" storage_index="153" tap_mode="classic" type="unknown"/> + <net data_index="152" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[0]" storage_index="152" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_RGB16[15..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="43" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[15]" storage_index="43" tap_mode="classic" trigger_index="6" type="unknown"/> + <net data_index="42" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[14]" storage_index="42" tap_mode="classic" trigger_index="5" type="unknown"/> + <net data_index="41" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[13]" storage_index="41" tap_mode="classic" trigger_index="4" type="unknown"/> + <net data_index="40" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[12]" storage_index="40" tap_mode="classic" trigger_index="3" type="unknown"/> + <net data_index="39" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[11]" storage_index="39" tap_mode="classic" trigger_index="2" type="unknown"/> + <net data_index="38" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[10]" storage_index="38" tap_mode="classic" trigger_index="1" type="unknown"/> + <net data_index="52" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[9]" storage_index="52" tap_mode="classic" trigger_index="15" type="unknown"/> + <net data_index="51" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[8]" storage_index="51" tap_mode="classic" trigger_index="14" type="unknown"/> + <net data_index="50" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[7]" storage_index="50" tap_mode="classic" trigger_index="13" type="unknown"/> + <net data_index="49" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[6]" storage_index="49" tap_mode="classic" trigger_index="12" type="unknown"/> + <net data_index="48" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[5]" storage_index="48" tap_mode="classic" trigger_index="11" type="unknown"/> + <net data_index="47" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[4]" storage_index="47" tap_mode="classic" trigger_index="10" type="unknown"/> + <net data_index="46" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[3]" storage_index="46" tap_mode="classic" trigger_index="9" type="unknown"/> + <net data_index="45" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[2]" storage_index="45" tap_mode="classic" trigger_index="8" type="unknown"/> + <net data_index="44" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[1]" storage_index="44" tap_mode="classic" trigger_index="7" type="unknown"/> + <net data_index="37" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[0]" storage_index="37" tap_mode="classic" trigger_index="0" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_X[9..0]" order="msb_to_lsb" radix="unsigned_dec" type="combinatorial"> + <net data_index="62" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[9]" storage_index="62" tap_mode="classic" trigger_index="25" type="unknown"/> + <net data_index="61" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[8]" storage_index="61" tap_mode="classic" trigger_index="24" type="unknown"/> + <net data_index="60" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[7]" storage_index="60" tap_mode="classic" trigger_index="23" type="unknown"/> + <net data_index="59" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[6]" storage_index="59" tap_mode="classic" trigger_index="22" type="unknown"/> + <net data_index="58" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[5]" storage_index="58" tap_mode="classic" trigger_index="21" type="unknown"/> + <net data_index="57" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[4]" storage_index="57" tap_mode="classic" trigger_index="20" type="unknown"/> + <net data_index="56" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[3]" storage_index="56" tap_mode="classic" trigger_index="19" type="unknown"/> + <net data_index="55" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[2]" storage_index="55" tap_mode="classic" trigger_index="18" type="unknown"/> + <net data_index="54" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[1]" storage_index="54" tap_mode="classic" trigger_index="17" type="unknown"/> + <net data_index="53" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[0]" storage_index="53" tap_mode="classic" trigger_index="16" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_Y[9..0]" order="msb_to_lsb" radix="unsigned_dec" type="combinatorial"> + <net data_index="72" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[9]" storage_index="72" tap_mode="classic" trigger_index="35" type="unknown"/> + <net data_index="71" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[8]" storage_index="71" tap_mode="classic" trigger_index="34" type="unknown"/> + <net data_index="70" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[7]" storage_index="70" tap_mode="classic" trigger_index="33" type="unknown"/> + <net data_index="69" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[6]" storage_index="69" tap_mode="classic" trigger_index="32" type="unknown"/> + <net data_index="68" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[5]" storage_index="68" tap_mode="classic" trigger_index="31" type="unknown"/> + <net data_index="67" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[4]" storage_index="67" tap_mode="classic" trigger_index="30" type="unknown"/> + <net data_index="66" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[3]" storage_index="66" tap_mode="classic" trigger_index="29" type="unknown"/> + <net data_index="65" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[2]" storage_index="65" tap_mode="classic" trigger_index="28" type="unknown"/> + <net data_index="64" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[1]" storage_index="64" tap_mode="classic" trigger_index="27" type="unknown"/> + <net data_index="63" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[0]" storage_index="63" tap_mode="classic" trigger_index="26" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="139" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19]" storage_index="139" tap_mode="classic" type="unknown"/> + <net data_index="138" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[18]" storage_index="138" tap_mode="classic" type="unknown"/> + <net data_index="137" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[17]" storage_index="137" tap_mode="classic" type="unknown"/> + <net data_index="136" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[16]" storage_index="136" tap_mode="classic" type="unknown"/> + <net data_index="135" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[15]" storage_index="135" tap_mode="classic" type="unknown"/> + <net data_index="134" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[14]" storage_index="134" tap_mode="classic" type="unknown"/> + <net data_index="133" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[13]" storage_index="133" tap_mode="classic" type="unknown"/> + <net data_index="132" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[12]" storage_index="132" tap_mode="classic" type="unknown"/> + <net data_index="131" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[11]" storage_index="131" tap_mode="classic" type="unknown"/> + <net data_index="130" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[10]" storage_index="130" tap_mode="classic" type="unknown"/> + <net data_index="148" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[9]" storage_index="148" tap_mode="classic" type="unknown"/> + <net data_index="147" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[8]" storage_index="147" tap_mode="classic" type="unknown"/> + <net data_index="146" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[7]" storage_index="146" tap_mode="classic" type="unknown"/> + <net data_index="145" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[6]" storage_index="145" tap_mode="classic" type="unknown"/> + <net data_index="144" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[5]" storage_index="144" tap_mode="classic" type="unknown"/> + <net data_index="143" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[4]" storage_index="143" tap_mode="classic" type="unknown"/> + <net data_index="142" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[3]" storage_index="142" tap_mode="classic" type="unknown"/> + <net data_index="141" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[2]" storage_index="141" tap_mode="classic" type="unknown"/> + <net data_index="140" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[1]" storage_index="140" tap_mode="classic" type="unknown"/> + <net data_index="129" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[0]" storage_index="129" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="150" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0]" storage_index="150" tap_mode="classic" type="unknown"/> + </bus> + <net data_index="151" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|we1" storage_index="151" tap_mode="classic" type="unknown"/> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="119" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19]" storage_index="119" tap_mode="classic" type="unknown"/> + <net data_index="118" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[18]" storage_index="118" tap_mode="classic" type="unknown"/> + <net data_index="117" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[17]" storage_index="117" tap_mode="classic" type="unknown"/> + <net data_index="116" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[16]" storage_index="116" tap_mode="classic" type="unknown"/> + <net data_index="115" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[15]" storage_index="115" tap_mode="classic" type="unknown"/> + <net data_index="114" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[14]" storage_index="114" tap_mode="classic" type="unknown"/> + <net data_index="113" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[13]" storage_index="113" tap_mode="classic" type="unknown"/> + <net data_index="112" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[12]" storage_index="112" tap_mode="classic" type="unknown"/> + <net data_index="111" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[11]" storage_index="111" tap_mode="classic" type="unknown"/> + <net data_index="110" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[10]" storage_index="110" tap_mode="classic" type="unknown"/> + <net data_index="128" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[9]" storage_index="128" tap_mode="classic" type="unknown"/> + <net data_index="127" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[8]" storage_index="127" tap_mode="classic" type="unknown"/> + <net data_index="126" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[7]" storage_index="126" tap_mode="classic" type="unknown"/> + <net data_index="125" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[6]" storage_index="125" tap_mode="classic" type="unknown"/> + <net data_index="124" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[5]" storage_index="124" tap_mode="classic" type="unknown"/> + <net data_index="123" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[4]" storage_index="123" tap_mode="classic" type="unknown"/> + <net data_index="122" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[3]" storage_index="122" tap_mode="classic" type="unknown"/> + <net data_index="121" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[2]" storage_index="121" tap_mode="classic" type="unknown"/> + <net data_index="120" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[1]" storage_index="120" tap_mode="classic" type="unknown"/> + <net data_index="109" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[0]" storage_index="109" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="149" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0]" storage_index="149" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="83" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19]" storage_index="83" tap_mode="classic" trigger_index="11" type="unknown"/> + <net data_index="82" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[18]" storage_index="82" tap_mode="classic" trigger_index="10" type="unknown"/> + <net data_index="81" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[17]" storage_index="81" tap_mode="classic" trigger_index="9" type="unknown"/> + <net data_index="80" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[16]" storage_index="80" tap_mode="classic" trigger_index="8" type="unknown"/> + <net data_index="79" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[15]" storage_index="79" tap_mode="classic" trigger_index="7" type="unknown"/> + <net data_index="78" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[14]" storage_index="78" tap_mode="classic" trigger_index="6" type="unknown"/> + <net data_index="77" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[13]" storage_index="77" tap_mode="classic" trigger_index="5" type="unknown"/> + <net data_index="76" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[12]" storage_index="76" tap_mode="classic" trigger_index="4" type="unknown"/> + <net data_index="75" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[11]" storage_index="75" tap_mode="classic" trigger_index="3" type="unknown"/> + <net data_index="74" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[10]" storage_index="74" tap_mode="classic" trigger_index="2" type="unknown"/> + <net data_index="92" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[9]" storage_index="92" tap_mode="classic" trigger_index="20" type="unknown"/> + <net data_index="91" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[8]" storage_index="91" tap_mode="classic" trigger_index="19" type="unknown"/> + <net data_index="90" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[7]" storage_index="90" tap_mode="classic" trigger_index="18" type="unknown"/> + <net data_index="89" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[6]" storage_index="89" tap_mode="classic" trigger_index="17" type="unknown"/> + <net data_index="88" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[5]" storage_index="88" tap_mode="classic" trigger_index="16" type="unknown"/> + <net data_index="87" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[4]" storage_index="87" tap_mode="classic" trigger_index="15" type="unknown"/> + <net data_index="86" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[3]" storage_index="86" tap_mode="classic" trigger_index="14" type="unknown"/> + <net data_index="85" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[2]" storage_index="85" tap_mode="classic" trigger_index="13" type="unknown"/> + <net data_index="84" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[1]" storage_index="84" tap_mode="classic" trigger_index="12" type="unknown"/> + <net data_index="73" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[0]" storage_index="73" tap_mode="classic" trigger_index="1" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <net data_index="99" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15]" storage_index="99" tap_mode="classic" trigger_index="27" type="unknown"/> + <net data_index="98" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[14]" storage_index="98" tap_mode="classic" trigger_index="26" type="unknown"/> + <net data_index="97" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[13]" storage_index="97" tap_mode="classic" trigger_index="25" type="unknown"/> + <net data_index="96" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[12]" storage_index="96" tap_mode="classic" trigger_index="24" type="unknown"/> + <net data_index="95" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[11]" storage_index="95" tap_mode="classic" trigger_index="23" type="unknown"/> + <net data_index="94" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[10]" storage_index="94" tap_mode="classic" trigger_index="22" type="unknown"/> + <net data_index="108" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[9]" storage_index="108" tap_mode="classic" trigger_index="36" type="unknown"/> + <net data_index="107" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[8]" storage_index="107" tap_mode="classic" trigger_index="35" type="unknown"/> + <net data_index="106" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[7]" storage_index="106" tap_mode="classic" trigger_index="34" type="unknown"/> + <net data_index="105" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[6]" storage_index="105" tap_mode="classic" trigger_index="33" type="unknown"/> + <net data_index="104" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[5]" storage_index="104" tap_mode="classic" trigger_index="32" type="unknown"/> + <net data_index="103" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[4]" storage_index="103" tap_mode="classic" trigger_index="31" type="unknown"/> + <net data_index="102" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[3]" storage_index="102" tap_mode="classic" trigger_index="30" type="unknown"/> + <net data_index="101" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[2]" storage_index="101" tap_mode="classic" trigger_index="29" type="unknown"/> + <net data_index="100" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[1]" storage_index="100" tap_mode="classic" trigger_index="28" type="unknown"/> + <net data_index="93" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[0]" storage_index="93" tap_mode="classic" trigger_index="21" type="unknown"/> + </bus> + </data_view> + <setup_view> + <net data_index="36" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" level-0="dont_care" name="gl_mgr:test|GL_FRAME_FINISHED" pwr_level-0="dont_care" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="36" tap_mode="classic" trigger_index="0" type="unknown"/> + <bus is_selected="false" level-0="alt_or" name="SRAM_ADDR[19..0]" order="msb_to_lsb" state="collapse" storage-0="alt_or" storage-1="alt_or" storage-2="alt_or" type="output pin"> + <net data_index="10" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[19]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="10" tap_mode="classic" type="unknown"/> + <net data_index="9" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[18]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="9" tap_mode="classic" type="unknown"/> + <net data_index="8" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[17]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="8" tap_mode="classic" type="unknown"/> + <net data_index="7" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[16]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="7" tap_mode="classic" type="unknown"/> + <net data_index="6" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[15]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="6" tap_mode="classic" type="unknown"/> + <net data_index="5" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[14]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="5" tap_mode="classic" type="unknown"/> + <net data_index="4" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[13]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="4" tap_mode="classic" type="unknown"/> + <net data_index="3" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[12]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="3" tap_mode="classic" type="unknown"/> + <net data_index="2" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[11]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="2" tap_mode="classic" type="unknown"/> + <net data_index="1" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[10]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="1" tap_mode="classic" type="unknown"/> + <net data_index="19" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[9]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="19" tap_mode="classic" type="unknown"/> + <net data_index="18" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[8]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="18" tap_mode="classic" type="unknown"/> + <net data_index="17" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[7]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="17" tap_mode="classic" type="unknown"/> + <net data_index="16" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[6]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="16" tap_mode="classic" type="unknown"/> + <net data_index="15" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[5]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="15" tap_mode="classic" type="unknown"/> + <net data_index="14" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[4]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="14" tap_mode="classic" type="unknown"/> + <net data_index="13" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[3]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="13" tap_mode="classic" type="unknown"/> + <net data_index="12" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[2]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="12" tap_mode="classic" type="unknown"/> + <net data_index="11" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[1]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="11" tap_mode="classic" type="unknown"/> + <net data_index="0" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_ADDR[0]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="0" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="SRAM_DQ[15..0]" order="msb_to_lsb" state="collapse" storage-0="alt_or" storage-1="alt_or" storage-2="alt_or" type="bidir pin"> + <net data_index="26" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[15]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="26" tap_mode="classic" type="unknown"/> + <net data_index="25" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[14]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="25" tap_mode="classic" type="unknown"/> + <net data_index="24" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[13]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="24" tap_mode="classic" type="unknown"/> + <net data_index="23" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[12]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="23" tap_mode="classic" type="unknown"/> + <net data_index="22" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[11]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="22" tap_mode="classic" type="unknown"/> + <net data_index="21" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[10]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="21" tap_mode="classic" type="unknown"/> + <net data_index="35" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[9]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="35" tap_mode="classic" type="unknown"/> + <net data_index="34" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[8]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="34" tap_mode="classic" type="unknown"/> + <net data_index="33" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[7]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="33" tap_mode="classic" type="unknown"/> + <net data_index="32" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[6]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="32" tap_mode="classic" type="unknown"/> + <net data_index="31" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[5]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="31" tap_mode="classic" type="unknown"/> + <net data_index="30" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[4]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="30" tap_mode="classic" type="unknown"/> + <net data_index="29" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[3]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="29" tap_mode="classic" type="unknown"/> + <net data_index="28" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[2]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="28" tap_mode="classic" type="unknown"/> + <net data_index="27" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[1]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="27" tap_mode="classic" type="unknown"/> + <net data_index="20" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="SRAM_DQ[0]" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="20" tap_mode="classic" type="unknown"/> + </bus> + <net data_index="177" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" level-0="either edge" name="gl_mgr:test|paint_buffer" pwr_storage-0="dont_care" pwr_storage-1="dont_care" pwr_storage-2="dont_care" storage-0="dont_care" storage-1="dont_care" storage-2="dont_care" storage_index="177" tap_mode="classic" trigger_index="0" type="unknown"/> + <net data_index="179" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="state.s_paint" storage_index="179" tap_mode="probeonly" type="unknown"/> + <net data_index="178" duplicate_name_allowed="false" is_data_input="true" is_node_valid="false" is_selected="false" is_storage_input="true" is_trigger_input="false" name="state" storage_index="178" tap_mode="classic" type="unknown"/> + <net data_index="168" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" level-0="falling edge" name="gl_mgr:test|gl_vga:vga|VGA_INTERFRAME" storage_index="168" tap_mode="classic" trigger_index="1" type="unknown"/> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_R[7..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <net data_index="176" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[7]" storage_index="176" tap_mode="classic" trigger_index="9" type="unknown"/> + <net data_index="175" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[6]" storage_index="175" tap_mode="classic" trigger_index="8" type="unknown"/> + <net data_index="174" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[5]" storage_index="174" tap_mode="classic" trigger_index="7" type="unknown"/> + <net data_index="173" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[4]" storage_index="173" tap_mode="classic" trigger_index="6" type="unknown"/> + <net data_index="172" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[3]" storage_index="172" tap_mode="classic" trigger_index="5" type="unknown"/> + <net data_index="171" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[2]" storage_index="171" tap_mode="classic" trigger_index="4" type="unknown"/> + <net data_index="170" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[1]" storage_index="170" tap_mode="classic" trigger_index="3" type="unknown"/> + <net data_index="169" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="true" name="gl_mgr:test|gl_vga:vga|VGA_R[0]" storage_index="169" tap_mode="classic" trigger_index="2" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_G[7..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="167" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[7]" storage_index="167" tap_mode="classic" type="unknown"/> + <net data_index="166" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[6]" storage_index="166" tap_mode="classic" type="unknown"/> + <net data_index="165" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[5]" storage_index="165" tap_mode="classic" type="unknown"/> + <net data_index="164" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[4]" storage_index="164" tap_mode="classic" type="unknown"/> + <net data_index="163" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[3]" storage_index="163" tap_mode="classic" type="unknown"/> + <net data_index="162" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[2]" storage_index="162" tap_mode="classic" type="unknown"/> + <net data_index="161" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[1]" storage_index="161" tap_mode="classic" type="unknown"/> + <net data_index="160" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_G[0]" storage_index="160" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_vga:vga|VGA_B[7..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <net data_index="159" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[7]" storage_index="159" tap_mode="classic" type="unknown"/> + <net data_index="158" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[6]" storage_index="158" tap_mode="classic" type="unknown"/> + <net data_index="157" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[5]" storage_index="157" tap_mode="classic" type="unknown"/> + <net data_index="156" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[4]" storage_index="156" tap_mode="classic" type="unknown"/> + <net data_index="155" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[3]" storage_index="155" tap_mode="classic" type="unknown"/> + <net data_index="154" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[2]" storage_index="154" tap_mode="classic" type="unknown"/> + <net data_index="153" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[1]" storage_index="153" tap_mode="classic" type="unknown"/> + <net data_index="152" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_vga:vga|VGA_B[0]" storage_index="152" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_RGB16[15..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="43" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[15]" storage_index="43" tap_mode="classic" trigger_index="6" type="unknown"/> + <net data_index="42" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[14]" storage_index="42" tap_mode="classic" trigger_index="5" type="unknown"/> + <net data_index="41" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[13]" storage_index="41" tap_mode="classic" trigger_index="4" type="unknown"/> + <net data_index="40" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[12]" storage_index="40" tap_mode="classic" trigger_index="3" type="unknown"/> + <net data_index="39" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[11]" storage_index="39" tap_mode="classic" trigger_index="2" type="unknown"/> + <net data_index="38" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[10]" storage_index="38" tap_mode="classic" trigger_index="1" type="unknown"/> + <net data_index="52" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[9]" storage_index="52" tap_mode="classic" trigger_index="15" type="unknown"/> + <net data_index="51" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[8]" storage_index="51" tap_mode="classic" trigger_index="14" type="unknown"/> + <net data_index="50" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[7]" storage_index="50" tap_mode="classic" trigger_index="13" type="unknown"/> + <net data_index="49" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[6]" storage_index="49" tap_mode="classic" trigger_index="12" type="unknown"/> + <net data_index="48" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[5]" storage_index="48" tap_mode="classic" trigger_index="11" type="unknown"/> + <net data_index="47" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[4]" storage_index="47" tap_mode="classic" trigger_index="10" type="unknown"/> + <net data_index="46" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[3]" storage_index="46" tap_mode="classic" trigger_index="9" type="unknown"/> + <net data_index="45" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[2]" storage_index="45" tap_mode="classic" trigger_index="8" type="unknown"/> + <net data_index="44" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[1]" storage_index="44" tap_mode="classic" trigger_index="7" type="unknown"/> + <net data_index="37" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_RGB16[0]" storage_index="37" tap_mode="classic" trigger_index="0" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_X[9..0]" order="msb_to_lsb" radix="unsigned_dec" type="combinatorial"> + <net data_index="62" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[9]" storage_index="62" tap_mode="classic" trigger_index="25" type="unknown"/> + <net data_index="61" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[8]" storage_index="61" tap_mode="classic" trigger_index="24" type="unknown"/> + <net data_index="60" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[7]" storage_index="60" tap_mode="classic" trigger_index="23" type="unknown"/> + <net data_index="59" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[6]" storage_index="59" tap_mode="classic" trigger_index="22" type="unknown"/> + <net data_index="58" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[5]" storage_index="58" tap_mode="classic" trigger_index="21" type="unknown"/> + <net data_index="57" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[4]" storage_index="57" tap_mode="classic" trigger_index="20" type="unknown"/> + <net data_index="56" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[3]" storage_index="56" tap_mode="classic" trigger_index="19" type="unknown"/> + <net data_index="55" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[2]" storage_index="55" tap_mode="classic" trigger_index="18" type="unknown"/> + <net data_index="54" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[1]" storage_index="54" tap_mode="classic" trigger_index="17" type="unknown"/> + <net data_index="53" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_X[0]" storage_index="53" tap_mode="classic" trigger_index="16" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|fb_PAINT_Y[9..0]" order="msb_to_lsb" radix="unsigned_dec" type="combinatorial"> + <net data_index="72" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[9]" storage_index="72" tap_mode="classic" trigger_index="35" type="unknown"/> + <net data_index="71" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[8]" storage_index="71" tap_mode="classic" trigger_index="34" type="unknown"/> + <net data_index="70" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[7]" storage_index="70" tap_mode="classic" trigger_index="33" type="unknown"/> + <net data_index="69" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[6]" storage_index="69" tap_mode="classic" trigger_index="32" type="unknown"/> + <net data_index="68" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[5]" storage_index="68" tap_mode="classic" trigger_index="31" type="unknown"/> + <net data_index="67" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[4]" storage_index="67" tap_mode="classic" trigger_index="30" type="unknown"/> + <net data_index="66" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[3]" storage_index="66" tap_mode="classic" trigger_index="29" type="unknown"/> + <net data_index="65" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[2]" storage_index="65" tap_mode="classic" trigger_index="28" type="unknown"/> + <net data_index="64" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[1]" storage_index="64" tap_mode="classic" trigger_index="27" type="unknown"/> + <net data_index="63" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|fb_PAINT_Y[0]" storage_index="63" tap_mode="classic" trigger_index="26" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="139" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[19]" storage_index="139" tap_mode="classic" type="unknown"/> + <net data_index="138" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[18]" storage_index="138" tap_mode="classic" type="unknown"/> + <net data_index="137" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[17]" storage_index="137" tap_mode="classic" type="unknown"/> + <net data_index="136" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[16]" storage_index="136" tap_mode="classic" type="unknown"/> + <net data_index="135" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[15]" storage_index="135" tap_mode="classic" type="unknown"/> + <net data_index="134" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[14]" storage_index="134" tap_mode="classic" type="unknown"/> + <net data_index="133" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[13]" storage_index="133" tap_mode="classic" type="unknown"/> + <net data_index="132" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[12]" storage_index="132" tap_mode="classic" type="unknown"/> + <net data_index="131" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[11]" storage_index="131" tap_mode="classic" type="unknown"/> + <net data_index="130" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[10]" storage_index="130" tap_mode="classic" type="unknown"/> + <net data_index="148" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[9]" storage_index="148" tap_mode="classic" type="unknown"/> + <net data_index="147" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[8]" storage_index="147" tap_mode="classic" type="unknown"/> + <net data_index="146" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[7]" storage_index="146" tap_mode="classic" type="unknown"/> + <net data_index="145" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[6]" storage_index="145" tap_mode="classic" type="unknown"/> + <net data_index="144" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[5]" storage_index="144" tap_mode="classic" type="unknown"/> + <net data_index="143" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[4]" storage_index="143" tap_mode="classic" type="unknown"/> + <net data_index="142" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[3]" storage_index="142" tap_mode="classic" type="unknown"/> + <net data_index="141" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[2]" storage_index="141" tap_mode="classic" type="unknown"/> + <net data_index="140" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[1]" storage_index="140" tap_mode="classic" type="unknown"/> + <net data_index="129" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr2[0]" storage_index="129" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="150" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_out2[0]" storage_index="150" tap_mode="classic" type="unknown"/> + </bus> + <net data_index="151" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|we1" storage_index="151" tap_mode="classic" type="unknown"/> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="119" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[19]" storage_index="119" tap_mode="classic" type="unknown"/> + <net data_index="118" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[18]" storage_index="118" tap_mode="classic" type="unknown"/> + <net data_index="117" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[17]" storage_index="117" tap_mode="classic" type="unknown"/> + <net data_index="116" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[16]" storage_index="116" tap_mode="classic" type="unknown"/> + <net data_index="115" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[15]" storage_index="115" tap_mode="classic" type="unknown"/> + <net data_index="114" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[14]" storage_index="114" tap_mode="classic" type="unknown"/> + <net data_index="113" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[13]" storage_index="113" tap_mode="classic" type="unknown"/> + <net data_index="112" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[12]" storage_index="112" tap_mode="classic" type="unknown"/> + <net data_index="111" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[11]" storage_index="111" tap_mode="classic" type="unknown"/> + <net data_index="110" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[10]" storage_index="110" tap_mode="classic" type="unknown"/> + <net data_index="128" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[9]" storage_index="128" tap_mode="classic" type="unknown"/> + <net data_index="127" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[8]" storage_index="127" tap_mode="classic" type="unknown"/> + <net data_index="126" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[7]" storage_index="126" tap_mode="classic" type="unknown"/> + <net data_index="125" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[6]" storage_index="125" tap_mode="classic" type="unknown"/> + <net data_index="124" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[5]" storage_index="124" tap_mode="classic" type="unknown"/> + <net data_index="123" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[4]" storage_index="123" tap_mode="classic" type="unknown"/> + <net data_index="122" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[3]" storage_index="122" tap_mode="classic" type="unknown"/> + <net data_index="121" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[2]" storage_index="121" tap_mode="classic" type="unknown"/> + <net data_index="120" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[1]" storage_index="120" tap_mode="classic" type="unknown"/> + <net data_index="109" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|addr1[0]" storage_index="109" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="149" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_redraw_cache:redraw_cache|data_in1[0]" storage_index="149" tap_mode="classic" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19..0]" order="msb_to_lsb" type="combinatorial"> + <net data_index="83" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[19]" storage_index="83" tap_mode="classic" trigger_index="11" type="unknown"/> + <net data_index="82" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[18]" storage_index="82" tap_mode="classic" trigger_index="10" type="unknown"/> + <net data_index="81" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[17]" storage_index="81" tap_mode="classic" trigger_index="9" type="unknown"/> + <net data_index="80" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[16]" storage_index="80" tap_mode="classic" trigger_index="8" type="unknown"/> + <net data_index="79" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[15]" storage_index="79" tap_mode="classic" trigger_index="7" type="unknown"/> + <net data_index="78" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[14]" storage_index="78" tap_mode="classic" trigger_index="6" type="unknown"/> + <net data_index="77" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[13]" storage_index="77" tap_mode="classic" trigger_index="5" type="unknown"/> + <net data_index="76" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[12]" storage_index="76" tap_mode="classic" trigger_index="4" type="unknown"/> + <net data_index="75" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[11]" storage_index="75" tap_mode="classic" trigger_index="3" type="unknown"/> + <net data_index="74" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[10]" storage_index="74" tap_mode="classic" trigger_index="2" type="unknown"/> + <net data_index="92" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[9]" storage_index="92" tap_mode="classic" trigger_index="20" type="unknown"/> + <net data_index="91" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[8]" storage_index="91" tap_mode="classic" trigger_index="19" type="unknown"/> + <net data_index="90" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[7]" storage_index="90" tap_mode="classic" trigger_index="18" type="unknown"/> + <net data_index="89" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[6]" storage_index="89" tap_mode="classic" trigger_index="17" type="unknown"/> + <net data_index="88" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[5]" storage_index="88" tap_mode="classic" trigger_index="16" type="unknown"/> + <net data_index="87" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[4]" storage_index="87" tap_mode="classic" trigger_index="15" type="unknown"/> + <net data_index="86" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[3]" storage_index="86" tap_mode="classic" trigger_index="14" type="unknown"/> + <net data_index="85" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[2]" storage_index="85" tap_mode="classic" trigger_index="13" type="unknown"/> + <net data_index="84" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[1]" storage_index="84" tap_mode="classic" trigger_index="12" type="unknown"/> + <net data_index="73" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_addr[0]" storage_index="73" tap_mode="classic" trigger_index="1" type="unknown"/> + </bus> + <bus is_selected="false" level-0="alt_or" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15..0]" order="msb_to_lsb" state="collapse" type="combinatorial"> + <net data_index="99" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[15]" storage_index="99" tap_mode="classic" trigger_index="27" type="unknown"/> + <net data_index="98" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[14]" storage_index="98" tap_mode="classic" trigger_index="26" type="unknown"/> + <net data_index="97" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[13]" storage_index="97" tap_mode="classic" trigger_index="25" type="unknown"/> + <net data_index="96" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[12]" storage_index="96" tap_mode="classic" trigger_index="24" type="unknown"/> + <net data_index="95" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[11]" storage_index="95" tap_mode="classic" trigger_index="23" type="unknown"/> + <net data_index="94" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[10]" storage_index="94" tap_mode="classic" trigger_index="22" type="unknown"/> + <net data_index="108" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[9]" storage_index="108" tap_mode="classic" trigger_index="36" type="unknown"/> + <net data_index="107" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[8]" storage_index="107" tap_mode="classic" trigger_index="35" type="unknown"/> + <net data_index="106" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[7]" storage_index="106" tap_mode="classic" trigger_index="34" type="unknown"/> + <net data_index="105" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[6]" storage_index="105" tap_mode="classic" trigger_index="33" type="unknown"/> + <net data_index="104" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[5]" storage_index="104" tap_mode="classic" trigger_index="32" type="unknown"/> + <net data_index="103" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[4]" storage_index="103" tap_mode="classic" trigger_index="31" type="unknown"/> + <net data_index="102" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[3]" storage_index="102" tap_mode="classic" trigger_index="30" type="unknown"/> + <net data_index="101" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[2]" storage_index="101" tap_mode="classic" trigger_index="29" type="unknown"/> + <net data_index="100" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[1]" storage_index="100" tap_mode="classic" trigger_index="28" type="unknown"/> + <net data_index="93" duplicate_name_allowed="false" is_data_input="true" is_node_valid="true" is_selected="false" is_storage_input="true" is_trigger_input="false" name="gl_mgr:test|gl_frame_buffer:frame_buffer|read1_data[0]" storage_index="93" tap_mode="classic" trigger_index="21" type="unknown"/> + </bus> + </setup_view> + <trigger_in_editor/> + <trigger_out_editor/> + </presentation> + <trigger CRC="F9F5BF1E" attribute_mem_mode="false" gap_record="true" global_temp="1" name="trigger: 2017/11/26 17:28:46 #1" position="pre" power_up_trigger_mode="false" record_data_gap="true" segment_size="8192" storage_mode="off" storage_qualifier_disabled="no" storage_qualifier_port_is_pin="true" storage_qualifier_port_name="auto_stp_external_storage_qualifier" storage_qualifier_port_tap_mode="classic" trigger_type="circular"> + <power_up_trigger position="pre" storage_qualifier_disabled="no"/> + <events use_custom_flow_control="no"> + <level enabled="yes" name="condition1" type="basic">'gl_mgr:test|gl_vga:vga|VGA_INTERFRAME' == falling edge + <power_up enabled="yes"> + </power_up> + <op_node/> + </level> + </events> + <storage_qualifier_events> + <transitional>111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 + <pwr_up_transitional>111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</pwr_up_transitional> + </transitional> + <storage_qualifier_level type="basic"> + <power_up> + </power_up> + <op_node/> + </storage_qualifier_level> + <storage_qualifier_level type="basic"> + <power_up> + </power_up> + <op_node/> + </storage_qualifier_level> + <storage_qualifier_level type="basic"> + <power_up> + </power_up> + <op_node/> + </storage_qualifier_level> + </storage_qualifier_events> + <log> + <data global_temp="1" name="log: Trig @ 2017/11/26 17:31:41 (0:0:0.2 elapsed)" power_up_mode="false" sample_depth="8192" trigger_position="1024">010110111000100000001100110111111001111001101111110011011011100010000000010000010010001100000111100000000000101011011100010000000100000100100011000001110000000000000000100000000001010110111001100000001100110111111001111001101111110011011011100110000000010000010010001100000111100000000000101011011100110000000110000100100011000001110000000000000000100000000001010110111000010000001100110111111001111001101111110011011011100001000000011000010010001100000111100000000000101011011100001000000110000100100011000001110000000000000000100000000001010110111001010000001100110111111001111001101111110011011011100101000000011000010010001100000111100000000000101011011100101000000101000100100011000001110000000000000000100000000001010110111000110000001100110111111001111001101111110011011011100011000000010100010010001100000111100000000000101011011100011000000101000100100011000001110000000000000000100000000001010110111001110000001100110111111001111001101111110011011011100111000000010100010010001100000111100000000000101011011100111000000111000100100011000001110000000000000000100000000001010110111000001000001100110111111001111001101111110011011011100000100000011100010010001100000111100000000000101011011100000100000111000100100011000001110000000000000000100000000001010110111001001000001100110111111001111001101111110011011011100100100000011100010010001100000111100000000000101011011100100100000100100100100011000001110000000000000000100000000001010110111000101000001100110111111001111001101111110011011011100010100000010010010010001100000111100000000000101011011100010100000100100100100011000001110000000000000000100000000001010110111001101000001100110111111001111001101111110011011011100110100000010010010010001100000111100000000000101011011100110100000110100100100011000001110000000000000000100000000001010110111000011000001100110111111001111001101111110011011011100001100000011010010010001100000111100000000000101011011100001100000110100100100011000001110000000000000000100000000001010110111001011000001100110111111001111001101111110011011011100101100000011010010010001100000111100000000000101011011100101100000101100100100011000001110000000000000000100000000001010110111000111000001100110111111001111001101111110011011011100011100000010110010010001100000111100000000000101011011100011100000101100100100011000001110000000000000000100000000001010110111001111000001100110111111001111001101111110011011011100111100000010110010010001100000111100000000000101011011100111100000111100100100011000001110000000000000000100000000001010110111000000100001100110111111001111001101111110011011011100000010000011110010010001100000111100000000000101011011100000010000111100100100011000001110000000000000000100000000001010110111001000100001100110111111001111001101111110011011011100100010000011110010010001100000111100000000000101011011100100010000100010100100011000001110000000000000000100000000001010110111000100100001100110111111001111001101111110011011011100010010000010001010010001100000111100000000000101011011100010010000100010100100011000001110000000000000000100000000001010110111001100100001100110111111001111001101111110011011011100110010000010001010010001100000111100000000000101011011100110010000110010100100011000001110000000000000000100000000001010110111000010100001100110111111001111001101111110011011011100001010000011001010010001100000111100000000000101011011100001010000110010100100011000001110000000000000000100000000001010110111001010100001100110111111001111001101111110011011011100101010000011001010010001100000111100000000000101011011100101010000101010100100011000001110000000000000000100000000001010110111000110100001100110111111001111001101111110011011011100011010000010101010010001100000111100000000000101011011100011010000101010100100011000001110000000000000000100000000001010110111001110100001100110111111001111001101111110011011011100111010000010101010010001100000111100000000000101011011100111010000111010100100011000001110000000000000000100000000001010110111000001100001100110111111001111001101111110011011011100000110000011101010010001100000111100000000000101011011100000110000111010100100011000001110000000000000000100000000001010110111001001100001100110111111001111001101111110011011011100100110000011101010010001100000111100000000000101011011100100110000100110100100011000001110000000000000000100000000001010110111000101100001100110111111001111001101111110011011011100010110000010011010010001100000111100000000000101011011100010110000100110100100011000001110000000000000000100000000001010110111001101100001100110111111001111001101111110011011011100110110000010011010010001100000111100000000000101011011100110110000110110100100011000001110000000000000000100000000001010110111000011100001100110111111001111001101111110011011011100001110000011011010010001100000111100000000000101011011100001110000110110100100011000001110000000000000000100000000001010110111001011100001100110111111001111001101111110011011011100101110000011011010010001100000111100000000000101011011100101110000101110100100011000001110000000000000000100000000001010110111000111100001100110111111001111001101111110011011011100011110000010111010010001100000111100000000000101011011100011110000101110100100011000001110000000000000000100000000001010110111001111100001100110111111001111001101111110011011011100111110000010111010010001100000111100000000000101011011100111110000111110100100011000001110000000000000000100000000001010110111000000010001100110111111001111001101111110011011011100000001000011111010010001100000111100000000000101011011100000001000111110100100011000001110000000000000000100000000001010110111001000010001100110111111001111001101111110011011011100100001000011111010010001100000111100000000000101011011100100001000100001100100011000001110000000000000000100000000001010110111000100010001100110111111001111001101111110011011011100010001000010000110010001100000111100000000000101011011100010001000100001100100011000001110000000000000000100000000001010110111001100010001100110111111001111001101111110011011011100110001000010000110010001100000111100000000000101011011100110001000110001100100011000001110000000000000000100000000001010110111000010010001100110111111001111001101111110011011011100001001000011000110010001100000111100000000000101011011100001001000110001100100011000001110000000000000000100000000001010110111001010010001100110111111001111001101111110011011011100101001000011000110010001100000111100000000000101011011100101001000101001100100011000001110000000000000000100000000001010110111000110010001100110111111001111001101111110011011011100011001000010100110010001100000111100000000000101011011100011001000101001100100011000001110000000000000000100000000001010110111001110010001100110111111001111001101111110011011011100111001000010100110010001100000111100000000000101011011100111001000111001100100011000001110000000000000000100000000001010110111000001010001100110111111001111001101111110011011011100000101000011100110010001100000111100000000000101011011100000101000111001100100011000001110000000000000000100000000001010110111001001010001100110111111001111001101111110011011011100100101000011100110010001100000111100000000000101011011100100101000100101100100011000001110000000000000000100000000001010110111000101010001100110111111001111001101111110011011011100010101000010010110010001100000111100000000000101011011100010101000100101100100011000001110000000000000000100000000001010110111001101010001100110111111001111001101111110011011011100110101000010010110010001100000111100000000000101011011100110101000110101100100011000001110000000000000000100000000001010110111000011010001100110111111001111001101111110011011011100001101000011010110010001100000111100000000000101011011100001101000110101100100011000001110000000000000000100000000001010110111001011010001100110111111001111001101111110011011011100101101000011010110010001100000111100000000000101011011100101101000101101100100011000001110000000000000000100000000001010110111000111010001100110111111001111001101111110011011011100011101000010110110010001100000111100000000000101011011100011101000101101100100011000001110000000000000000100000000001010110111001111010001100110111111001111001101111110011011011100111101000010110110010001100000111100000000000101011011100111101000111101100100011000001110000000000000000100000000001010110111000000110001100110111111001111001101111110011011011100000011000011110110010001100000111100000000000101011011100000011000111101100100011000001110000000000000000100000000001010110111001000110001100110111111001111001101111110011011011100100011000011110110010001100000111100000000000101011011100100011000100011100100011000001110000000000000000100000000001010110111000100110001100110111111001111001101111110011011011100010011000010001110010001100000111100000000000101011011100010011000100011100100011000001110000000000000000100000000001001110111000000000001100110111111001111001101111110010111011100000000000010001110010001100000111100000000000100111011100000000000110011100100011000001110000000000000000100000000001001110111001000000001100110111111001111001101111110010111011100100000000011001110010001100000111100000000000100111011100100000000110011100100011000001110000000000000000100000000001001110111000100000001100110111111001111001101111110010111011100010000000011001110010001100000111100000000000100111011100010000000101011100100011000001110000000000000000100000000001001110111001100000001100110111111001111001101111110010111011100110000000010101110010001100000111100000000000100111011100110000000101011100100011000001110000000000000000100000000001001110111000010000001100110111111001111001101111110010111011100001000000010101110010001100000111100000000000100111011100001000000111011100100011000001110000000000000000100000000001001110111001010000001100110111111001111001101111110010111011100101000000011101110010001100000111100000000000100111011100101000000111011100100011000001110000000000000000100000000001001110111000110000001100110111111001111001101111110010111011100011000000011101110010001100000111100000000000100111011100011000000100111100100011000001110000000000000000100000000001001110111001110000001100110111111001111001101111110010111011100111000000010011110010001100000111100000000000100111011100111000000100111100100011000001110000000000000000100000000001001110111000001000001100110111111001111001101111110010111011100000100000010011110010001100000111100000000000100111011100000100000110111100100011000001110000000000000000100000000001001110111001001000001100110111111001111001101111110010111011100100100000011011110010001100000111100000000000100111011100100100000110111100100011000001110000000000000000100000000001001110111000101000001100110111111001111001101111110010111011100010100000011011110010001100000111100000000000100111011100010100000101111100100011000001110000000000000000100000000001001110111001101000001100110111111001111001101111110010111011100110100000010111110010001100000111100000000000100111011100110100000101111100100011000001110000000000000000100000000001001110111000011000001100110111111001111001101111110010111011100001100000010111110010001100000111100000000000100111011100001100000111111100100011000001110000000000000000100000000001001110111001011000001100110111111001111001101111110010111011100101100000011111110010001100000111100000000000100111011100101100000111111100100011000001110000000000000000100000000001001110111000111000001100110111111001111001101111110010111011100011100000011111110010001100000111100000000000100111011100011100000100000010100011000001110000000000000000100000000001001110111001111000001100110111111001111001101111110010111011100111100000010000001010001100000111100000000000100111011100111100000100000010100011000001110000000000000000100000000001001110111000000100001100110111111001111001101111110010111011100000010000010000001010001100000111100000000000100111011100000010000110000010100011000001110000000000000000100000000001001110111001000100001100110111111001111001101111110010111011100100010000011000001010001100000111100000000000100111011100100010000110000010100011000001110000000000000000100000000001001110111000100100001100110111111001111001101111110010111011100010010000011000001010001100000111100000000000100111011100010010000101000010100011000001110000000000000000100000000001001110111001100100001100110111111001111001101111110010111011100110010000010100001010001100000111100000000000100111011100110010000101000010100011000001110000000000000000100000000001001110111000010100001100110111111001111001101111110010111011100001010000010100001010001100000111100000000000100111011100001010000111000010100011000001110000000000000000100000000001001110111001010100001100110111111001111001101111110010111011100101010000011100001010001100000111100000000000100111011100101010000111000010100011000001110000000000000000100000000001001110111000110100001100110111111001111001101111110010111011100011010000011100001010001100000111100000000000100111011100011010000100100010100011000001110000000000000000100000000001001110111001110100001100110111111001111001101111110010111011100111010000010010001010001100000111100000000000100111011100111010000100100010100011000001110000000000000000100000000001001110111000001100001100110111111001111001101111110010111011100000110000010010001010001100000111100000000000100111011100000110000110100010100011000001110000000000000000100000000001001110111001001100001100110111111001111001101111110010111011100100110000011010001010001100000111100000000000100111011100100110000110100010100011000001110000000000000000100000000001001110111000101100001100110111111001111001101111110010111011100010110000011010001010001100000111100000000000100111011100010110000101100010100011000001110000000000000000100000000001001110111001101100001100110111111001111001101111110010111011100110110000010110001010001100000111100000000000100111011100110110000101100010100011000001110000000000000000100000000001001110111000011100001100110111111001111001101111110010111011100001110000010110001010001100000111100000000000100111011100001110000111100010100011000001110000000000000000100000000001001110111001011100001100110111111001111001101111110010111011100101110000011110001010001100000111100000000000100111011100101110000111100010100011000001110000000000000000100000000001001110111000111100001100110111111001111001101111110010111011100011110000011110001010001100000111100000000000100111011100011110000100010010100011000001110000000000000000100000000001001110111001111100001100110111111001111001101111110010111011100111110000010001001010001100000111100000000000100111011100111110000100010010100011000001110000000000000000100000000001001110111000000010001100110111111001111001101111110010111011100000001000010001001010001100000111100000000000100111011100000001000110010010100011000001110000000000000000100000000001001110111001000010001100110111111001111001101111110010111011100100001000011001001010001100000111100000000000100111011100100001000110010010100011000001110000000000000000100000000001001110111000100010001100110111111001111001101111110010111011100010001000011001001010001100000111100000000000100111011100010001000101010010100011000001110000000000000000100000000001001110111001100010001100110111111001111001101111110010111011100110001000010101001010001100000111100000000000100111011100110001000101010010100011000001110000000000000000100000000001001110111000010010001100110111111001111001101111110010111011100001001000010101001010001100000111100000000000100111011100001001000111010010100011000001110000000000000000100000000001001110111001010010001100110111111001111001101111110010111011100101001000011101001010001100000111100000000000100111011100101001000111010010100011000001110000000000000000100000000001001110111000110010001100110111111001111001101111110010111011100011001000011101001010001100000111100000000000100111011100011001000100110010100011000001110000000000000000100000000001001110111001110010001100110111111001111001101111110010111011100111001000010011001010001100000111100000000000100111011100111001000100110010100011000001110000000000000000100000000001001110111000001010001100110111111001111001101111110010111011100000101000010011001010001100000111100000000000100111011100000101000110110010100011000001110000000000000000100000000001001110111001001010001100110111111001111001101111110010111011100100101000011011001010001100000111100000000000100111011100100101000110110010100011000001110000000000000000100000000001001110111000101010001100110111111001111001101111110010111011100010101000011011001010001100000111100000000000100111011100010101000101110010100011000001110000000000000000100000000001001110111001101010001100110111111001111001101111110010111011100110101000010111001010001100000111100000000000100111011100110101000101110010100011000001110000000000000000100000000001001110111000011010001100110111111001111001101111110010111011100001101000010111001010001100000111100000000000100111011100001101000111110010100011000001110000000000000000100000000001001110111001011010001100110111111001111001101111110010111011100101101000011111001010001100000111100000000000100111011100101101000111110010100011000001110000000000000000100000000001001110111000111010001100110111111001111001101111110010111011100011101000011111001010001100000111100000000000100111011100011101000100001010100011000001110000000000000000100000000001001110111001111010001100110111111001111001101111110010111011100111101000010000101010001100000111100000000000100111011100111101000100001010100011000001110000000000000000100000000001001110111000000110001100110111111001111001101111110010111011100000011000010000101010001100000111100000000000100111011100000011000110001010100011000001110000000000000000100000000001001110111001000110001100110111111001111001101111110010111011100100011000011000101010001100000111100000000000100111011100100011000110001010100011000001110000000000000000100000000001001110111000100110001100110111111001111001101111110010111011100010011000011000101010001100000111100000000000100111011100010011000101001010100011000001110000000000000000100000000001011110111000000000001100110111111001111001101111110011111011100000000000010100101010001100000111100000000000101111011100000000000101001010100011000001110000000000000000100000000001011110111001000000001100110111111001111001101111110011111011100100000000010100101010001100000111100000000000101111011100100000000111001010100011000001110000000000000000100000000001011110111000100000001100110111111001111001101111110011111011100010000000011100101010001100000111100000000000101111011100010000000111001010100011000001110000000000000000100000000001011110111001100000001100110111111001111001101111110011111011100110000000011100101010001100000111100000000000101111011100110000000100101010100011000001110000000000000000100000000001011110111000010000001100110111111001111001101111110011111011100001000000010010101010001100000111100000000000101111011100001000000100101010100011000001110000000000000000100000000001011110111001010000001100110111111001111001101111110011111011100101000000010010101010001100000111100000000000101111011100101000000110101010100011000001110000000000000000100000000001011110111000110000001100110111111001111001101111110011111011100011000000011010101010001100000111100000000000101111011100011000000110101010100011000001110000000000000000100000000001011110111001110000001100110111111001111001101111110011111011100111000000011010101010001100000111100000000000101111011100111000000101101010100011000001110000000000000000100000000001011110111000001000001100110111111001111001101111110011111011100000100000010110101010001100000111100000000000101111011100000100000101101010100011000001110000000000000000100000000001011110111001001000001100110111111001111001101111110011111011100100100000010110101010001100000111100000000000101111011100100100000111101010100011000001110000000000000000100000000001011110111000101000001100110111111001111001101111110011111011100010100000011110101010001100000111100000000000101111011100010100000111101010100011000001110000000000000000100000000001011110111001101000001100110111111001111001101111110011111011100110100000011110101010001100000111100000000000101111011100110100000100011010100011000001110000000000000000100000000001011110111000011000001100110111111001111001101111110011111011100001100000010001101010001100000111100000000000101111011100001100000100011010100011000001110000000000000000100000000001011110111001011000001100110111111001111001101111110011111011100101100000010001101010001100000111100000000000101111011100101100000110011010100011000001110000000000000000100000000001011110111000111000001100110111111001111001101111110011111011100011100000011001101010001100000111100000000000101111011100011100000110011010100011000001110000000000000000100000000001011110111001111000001100110111111001111001101111110011111011100111100000011001101010001100000111100000000000101111011100111100000101011010100011000001110000000000000000100000000001011110111000000100001100110111111001111001101111110011111011100000010000010101101010001100000111100000000000101111011100000010000101011010100011000001110000000000000000100000000001011110111001000100001100110111111001111001101111110011111011100100010000010101101010001100000111100000000000101111011100100010000111011010100011000001110000000000000000100000000001011110111000100100001100110111111001111001101111110011111011100010010000011101101010001100000111100000000000101111011100010010000111011010100011000001110000000000000000100000000001011110111001100100001100110111111001111001101111110011111011100110010000011101101010001100000111100000000000101111011100110010000100111010100011000001110000000000000000100000000001011110111000010100001100110111111001111001101111110011111011100001010000010011101010001100000111100000000000101111011100001010000100111010100011000001110000000000000000100000000001011110111001010100001100110111111001111001101111110011111011100101010000010011101010001100000111100000000000101111011100101010000110111010100011000001110000000000000000100000000001011110111000110100001100110111111001111001101111110011111011100011010000011011101010001100000111100000000000101111011100011010000110111010100011000001110000000000000000100000000001011110111001110100001100110111111001111001101111110011111011100111010000011011101010001100000111100000000000101111011100111010000101111010100011000001110000000000000000100000000001011110111000001100001100110111111001111001101111110011111011100000110000010111101010001100000111100000000000101111011100000110000101111010100011000001110000000000000000100000000001011110111001001100001100110111111001111001101111110011111011100100110000010111101010001100000111100000000000101111011100100110000111111010100011000001110000000000000000100000000001011110111000101100001100110111111001111001101111110011111011100010110000011111101010001100000111100000000000101111011100010110000111111010100011000001110000000000000000100000000001011110111001101100001100110111111001111001101111110011111011100110110000011111101010001100000111100000000000101111011100110110000100000110100011000001110000000000000000100000000001011110111000011100001100110111111001111001101111110011111011100001110000010000011010001100000111100000000000101111011100001110000100000110100011000001110000000000000000100000000001011110111001011100001100110111111001111001101111110011111011100101110000010000011010001100000111100000000000101111011100101110000110000110100011000001110000000000000000100000000001011110111000111100001100110111111001111001101111110011111011100011110000011000011010001100000111100000000000101111011100011110000110000110100011000001110000000000000000100000000001011110111001111100001100110111111001111001101111110011111011100111110000011000011010001100000111100000000000101111011100111110000101000110100011000001110000000000000000100000000001011110111000000010001100110111111001111001101111110011111011100000001000010100011010001100000111100000000000101111011100000001000101000110100011000001110000000000000000100000000001011110111001000010001100110111111001111001101111110011111011100100001000010100011010001100000111100000000000101111011100100001000111000110100011000001110000000000000000100000000001011110111000100010001100110111111001111001101111110011111011100010001000011100011010001100000111100000000000101111011100010001000111000110100011000001110000000000000000100000000001011110111001100010001100110111111001111001101111110011111011100110001000011100011010001100000111100000000000101111011100110001000100100110100011000001110000000000000000100000000001011110111000010010001100110111111001111001101111110011111011100001001000010010011010001100000111100000000000101111011100001001000100100110100011000001110000000000000000100000000001011110111001010010001100110111111001111001101111110011111011100101001000010010011010001100000111100000000000101111011100101001000110100110100011000001110000000000000000100000000001011110111000110010001100110111111001111001101111110011111011100011001000011010011010001100000111100000000000101111011100011001000110100110100011000001110000000000000000100000000001011110111001110010001100110111111001111001101111110011111011100111001000011010011010001100000111100000000000101111011100111001000101100110100011000001110000000000000000100000000001011110111000001010001100110111111001111001101111110011111011100000101000010110011010001100000111100000000000101111011100000101000101100110100011000001110000000000000000100000000001011110111001001010001100110111111001111001101111110011111011100100101000010110011010001100000111100000000000101111011100100101000111100110100011000001110000000000000000100000000001011110111000101010001100110111111001111001101111110011111011100010101000011110011010001100000111100000000000101111011100010101000111100110100011000001110000000000000000100000000001011110111001101010001100110111111001111001101111110011111011100110101000011110011010001100000111100000000000101111011100110101000100010110100011000001110000000000000000100000000001011110111000011010001100110111111001111001101111110011111011100001101000010001011010001100000111100000000000101111011100001101000100010110100011000001110000000000000000100000000001011110111001011010001100110111111001111001101111110011111011100101101000010001011010001100000111100000000000101111011100101101000110010110100011000001110000000000000000100000000001011110111000111010001100110111111001111001101111110011111011100011101000011001011010001100000111100000000000101111011100011101000110010110100011000001110000000000000000100000000001011110111001111010001100110111111001111001101111110011111011100111101000011001011010001100000111100000000000101111011100111101000101010110100011000001110000000000000000100000000001011110111000000110001100110111111001111001101111110011111011100000011000010101011010001100000111100000000000101111011100000011000101010110100011000001110000000000000000100000000001011110111001000110001100110111111001111001101111110011111011100100011000010101011010001100000111100000000000101111011100100011000111010110100011000001110000000000000000100000000001011110111000100110001100110111111001111001101111110011111011100010011000011101011010001100000111100000000000101111011100010011000111010110100011000001110000000000000000100000000001000001111000000000001100110111111001111001101111110010000111100000000000011101011010001100000111100000000000100000111100000000000100110110100011000001110000000000000000100000000001000001111001000000001100110111111001111001101111110010000111100100000000010011011010001100000111100000000000100000111100100000000100110110100011000001110000000000000000100000000001000001111000100000001100110111111001111001101111110010000111100010000000010011011010001100000111100000000000100000111100010000000110110110100011000001110000000000000000100000000001000001111001100000001100110111111001111001101111110010000111100110000000011011011010001100000111100000000000100000111100110000000110110110100011000001110000000000000000100000000001000001111000010000001100110111111001111001101111110010000111100001000000011011011010001100000111100000000000100000111100001000000101110110100011000001110000000000000000100000000001000001111001010000001100110111111001111001101111110010000111100101000000010111011010001100000111100000000000100000111100101000000101110110100011000001110000000000000000100000000001000001111000110000001100110111111001111001101111110010000111100011000000010111011010001100000111100000000000100000111100011000000111110110100011000001110000000000000000100000000001000001111001110000001100110111111001111001101111110010000111100111000000011111011010001100000111100000000000100000111100111000000111110110100011000001110000000000000000100000000001000001111000001000001100110111111001111001101111110010000111100000100000011111011010001100000111100000000000100000111100000100000100001110100011000001110000000000000000100000000001000001111001001000001100110111111001111001101111110010000111100100100000010000111010001100000111100000000000100000111100100100000100001110100011000001110000000000000000100000000001000001111000101000001100110111111001111001101111110010000111100010100000010000111010001100000111100000000000100000111100010100000110001110100011000001110000000000000000100000000001000001111001101000001100110111111001111001101111110010000111100110100000011000111010001100000111100000000000100000111100110100000110001110100011000001110000000000000000100000000001000001111000011000001100110111111001111001101111110010000111100001100000011000111010001100000111100000000000100000111100001100000101001110100011000001110000000000000000100000000001000001111001011000001100110111111001111001101111110010000111100101100000010100111010001100000111100000000000100000111100101100000101001110100011000001110000000000000000100000000001000001111000111000001100110111111001111001101111110010000111100011100000010100111010001100000111100000000000100000111100011100000111001110100011000001110000000000000000100000000001000001111001111000001100110111111001111001101111110010000111100111100000011100111010001100000111100000000000100000111100111100000111001110100011000001110000000000000000100000000001000001111000000100001100110111111001111001101111110010000111100000010000011100111010001100000111100000000000100000111100000010000100101110100011000001110000000000000000100000000001000001111001000100001100110111111001111001101111110010000111100100010000010010111010001100000111100000000000100000111100100010000100101110100011000001110000000000000000100000000001000001111000100100001100110111111001111001101111110010000111100010010000010010111010001100000111100000000000100000111100010010000110101110100011000001110000000000000000100000000001000001111001100100001100110111111001111001101111110010000111100110010000011010111010001100000111100000000000100000111100110010000110101110100011000001110000000000000000100000000001000001111000010100001100110111111001111001101111110010000111100001010000011010111010001100000111100000000000100000111100001010000101101110100011000001110000000000000000100000000001000001111001010100001100110111111001111001101111110010000111100101010000010110111010001100000111100000000000100000111100101010000101101110100011000001110000000000000000100000000001000001111000110100001100110111111001111001101111110010000111100011010000010110111010001100000111100000000000100000111100011010000111101110100011000001110000000000000000100000000001000001111001110100001100110111111001111001101111110010000111100111010000011110111010001100000111100000000000100000111100111010000111101110100011000001110000000000000000100000000001000001111000001100001100110111111001111001101111110010000111100000110000011110111010001100000111100000000000100000111100000110000100011110100011000001110000000000000000100000000001000001111001001100001100110111111001111001101111110010000111100100110000010001111010001100000111100000000000100000111100100110000100011110100011000001110000000000000000100000000001000001111000101100001100110111111001111001101111110010000111100010110000010001111010001100000111100000000000100000111100010110000110011110100011000001110000000000000000100000000001000001111001101100001100110111111001111001101111110010000111100110110000011001111010001100000111100000000000100000111100110110000110011110100011000001110000000000000000100000000001000001111000011100001100110111111001111001101111110010000111100001110000011001111010001100000111100000000000100000111100001110000101011110100011000001110000000000000000100000000001000001111001011100001100110111111001111001101111110010000111100101110000010101111010001100000111100000000000100000111100101110000101011110100011000001110000000000000000100000000001000001111000111100001100110111111001111001101111110010000111100011110000010101111010001100000111100000000000100000111100011110000111011110100011000001110000000000000000100000000001000001111001111100001100110111111001111001101111110010000111100111110000011101111010001100000111100000000000100000111100111110000111011110100011000001110000000000000000100000000001000001111000000010001100110111111001111001101111110010000111100000001000011101111010001100000111100000000000100000111100000001000100111110100011000001110000000000000000100000000001000001111001000010001100110111111001111001101111110010000111100100001000010011111010001100000111100000000000100000111100100001000100111110100011000001110000000000000000100000000001000001111000100010001100110111111001111001101111110010000111100010001000010011111010001100000111100000000000100000111100010001000110111110100011000001110000000000000000100000000001000001111001100010001100110111111001111001101111110010000111100110001000011011111010001100000111100000000000100000111100110001000110111110100011000001110000000000000000100000000001000001111000010010001100110111111001111001101111110010000111100001001000011011111010001100000111100000000000100000111100001001000101111110100011000001110000000000000000100000000001000001111001010010001100110111111001111001101111110010000111100101001000010111111010001100000111100000000000100000111100101001000101111110100011000001110000000000000000100000000001000001111000110010001100110111111001111001101111110010000111100011001000010111111010001100000111100000000000100000111100011001000111111110100011000001110000000000000000100000000001000001111001110010001100110111111001111001101111110010000111100111001000011111111010001100000111100000000000100000111100111001000111111110100011000001110000000000000000100000000001000001111000001010001100110111111001111001101111110010000111100000101000011111111010001100000111100000000000100000111100000101000100000001100011000001110000000000000000100000000001000001111001001010001100110111111001111001101111110010000111100100101000010000000110001100000111100000000000100000111100100101000100000001100011000001110000000000000000100000000001000001111000101010001100110111111001111001101111110010000111100010101000010000000110001100000111100000000000100000111100010101000110000001100011000001110000000000000000100000000001000001111001101010001100110111111001111001101111110010000111100110101000011000000110001100000111100000000000100000111100110101000110000001100011000001110000000000000000100000000001000001111000011010001100110111111001111001101111110010000111100001101000011000000110001100000111100000000000100000111100001101000101000001100011000001110000000000000000100000000001000001111001011010001100110111111001111001101111110010000111100101101000010100000110001100000111100000000000100000111100101101000101000001100011000001110000000000000000100000000001000001111000111010001100110111111001111001101111110010000111100011101000010100000110001100000111100000000000100000111100011101000111000001100011000001110000000000000000100000000001000001111001111010001100110111111001111001101111110010000111100111101000011100000110001100000111100000000000100000111100111101000111000001100011000001110000000000000000100000000001000001111000000110001100110111111001111001101111110010000111100000011000011100000110001100000111100000000000100000111100000011000100100001100011000001110000000000000000100000000001000001111001000110001100110111111001111001101111110010000111100100011000010010000110001100000111100000000000100000111100100011000100100001100011000001110000000000000000100000000001000001111000100110001100110111111001111001101111110010000111100010011000010010000110001100000111100000000000100000111100010011000110100001100011000001110000000000000000100000000001010001111000000000001100110111111001111001101111110011000111100000000000011010000110001100000111100000000000101000111100000000000110100001100011000001110000000000000000100000000001010001111001000000001100110111111001111001101111110011000111100100000000011010000110001100000111100000000000101000111100100000000101100001100011000001110000000000000000100000000001010001111000100000001100110111111001111001101111110011000111100010000000010110000110001100000111100000000000101000111100010000000101100001100011000001110000000000000000100000000001010001111001100000001100110111111001111001101111110011000111100110000000010110000110001100000111100000000000101000111100110000000111100001100011000001110000000000000000100000000001010001111000010000001100110111111001111001101111110011000111100001000000011110000110001100000111100000000000101000111100001000000111100001100011000001110000000000000000100000000001010001111001010000001100110111111001111001101111110011000111100101000000011110000110001100000111100000000000101000111100101000000100010001100011000001110000000000000000100000000001010001111000110000001100110111111001111001101111110011000111100011000000010001000110001100000111100000000000101000111100011000000100010001100011000001110000000000000000100000000001010001111001110000001100110111111001111001101111110011000111100111000000010001000110001100000111100000000000101000111100111000000110010001100011000001110000000000000000100000000001010001111000001000001100110111111001111001101111110011000111100000100000011001000110001100000111100000000000101000111100000100000110010001100011000001110000000000000000100000000001010001111001001000001100110111111001111001101111110011000111100100100000011001000110001100000111100000000000101000111100100100000101010001100011000001110000000000000000100000000001010001111000101000001100110111111001111001101111110011000111100010100000010101000110001100000111100000000000101000111100010100000101010001100011000001110000000000000000100000000001010001111001101000001100110111111001111001101111110011000111100110100000010101000110001100000111100000000000101000111100110100000111010001100011000001110000000000000000100000000001010001111000011000001100110111111001111001101111110011000111100001100000011101000110001100000111100000000000101000111100001100000111010001100011000001110000000000000000100000000001010001111001011000001100110111111001111001101111110011000111100101100000011101000110001100000111100000000000101000111100101100000100110001100011000001110000000000000000100000000001010001111000111000001100110111111001111001101111110011000111100011100000010011000110001100000111100000000000101000111100011100000100110001100011000001110000000000000000100000000001010001111001111000001100110111111001111001101111110011000111100111100000010011000110001100000111100000000000101000111100111100000110110001100011000001110000000000000000100000000001010001111000000100001100110111111001111001101111110011000111100000010000011011000110001100000111100000000000101000111100000010000110110001100011000001110000000000000000100000000001010001111001000100001100110111111001111001101111110011000111100100010000011011000110001100000111100000000000101000111100100010000101110001100011000001110000000000000000100000000001010001111000100100001100110111111001111001101111110011000111100010010000010111000110001100000111100000000000101000111100010010000101110001100011000001110000000000000000100000000001010001111001100100001100110111111001111001101111110011000111100110010000010111000110001100000111100000000000101000111100110010000111110001100011000001110000000000000000100000000001010001111000010100001100110111111001111001101111110011000111100001010000011111000110001100000111100000000000101000111100001010000111110001100011000001110000000000000000100000000001010001111001010100001100110111111001111001101111110011000111100101010000011111000110001100000111100000000000101000111100101010000100001001100011000001110000000000000000100000000001010001111000110100001100110111111001111001101111110011000111100011010000010000100110001100000111100000000000101000111100011010000100001001100011000001110000000000000000100000000001010001111001110100001100110111111001111001101111110011000111100111010000010000100110001100000111100000000000101000111100111010000110001001100011000001110000000000000000100000000001010001111000001100001100110111111001111001101111110011000111100000110000000010011011110000010111100000000000101000111100000110000110001001100011000001010000000000000000100000000001010001111001001100001100110111111001111001101111110011000111100100110000000010011011110000010111100000000000101000111100100110000101001001100011000001010000000000000000100000000001010001111000101100001100110111111001111001101111110011000111100010110000000010011011110000001111100000000000101000111100010110000101001001100011000001010000000000000000100000000001010001111001101100001100110111111001111001101111110011000111100110110000000010011011110000001111100000000000101000111100110110000111001001100011000001010000000000000000100000000001010001111000011100001100110111111001111001101111110011000111100001110000000010011011110000011111100000000000101000111100001110000111001001100011000001010000000000000000100000000001010001111001011100001100110111111001111001101111110011000111100101110000000010011011110000011111100000000000101000111100101110000100101001100011000001010000000000000000100000000001010001111000111100001100110111111001111001101111110011000111100011110000001010011011110000000111100000000000101000111100011110000100101001100011000001010000000000000000100000000001010001111001111100001100110111111001111001101111110011000111100111110000001010011011110000000111100000000000101000111100111110000110101001100011000001010000000000000000100000000001010001111000000010001100110111111001111001101111110011000111100000001000001010011011110000010111100000000000101000111100000001000110101001100011000001010000000000000000100000000001010001111001000010001100110111111001111001101111110011000111100100001000001010011011110000010111100000000000101000111100100001000101101001100011000001010000000000000000100000000001010001111000100010001100110111111001111001101111110011000111100010001000001010011011110000001111100000000000101000111100010001000101101001100011000001010000000000000000100000000001010001111001100010001100110111111001111001101111110011000111100110001000001010011011110000001111100000000000101000111100110001000111101001100011000001010000000000000000100000000001010001111000010010001100110111111001111001101111110011000111100001001000001010011011110000011111100000000000101000111100001001000111101001100011000001010000000000000000100000000001010001111001010010001100110111111001111001101111110011000111100101001000001010011011110000011111100000000000101000111100101001000100011001100011000001010000000000000000100000000001010001111000110010001100110111111001111001101111110011000111100011001000000110011011110000000111100000000000101000111100011001000100011001100011000001010000000000000000100000000001010001111001110010001100110111111001111001101111110011000111100111001000000110011011110000000111100000000000101000111100111001000110011001100011000001010000000000000000100000000001010001111000001010001100110111111001111001101111110011000111100000101000000110011011110000010111100000000000101000111100000101000110011001100011000001010000000000000000100000000001010001111001001010001100110111111001111001101111110011000111100100101000000110011011110000010111100000000000101000111100100101000101011001100011000001010000000000000000100000000001010001111000101010001100110111111001111001101111110011000111100010101000000110011011110000001111100000000000101000111100010101000101011001100011000001010000000000000000100000000001010001111001101010001100110111111001111001101111110011000111100110101000000110011011110000001111100000000000101000111100110101000111011001100011000001010000000000000000100000000001010001111000011010001100110111111001111001101111110011000111100001101000000110011011110000011111100000000000101000111100001101000111011001100011000001010000000000000000100000000001010001111001011010001100110111111001111001101111110011000111100101101000000110011011110000011111100000000000101000111100101101000100111001100011000001010000000000000000100000000001010001111000111010001100110111111001111001101111110011000111100011101000001110011011110000000111100000000000101000111100011101000100111001100011000001010000000000000000100000000001010001111001111010001100110111111001111001101111110011000111100111101000001110011011110000000111100000000000101000111100111101000110111001100011000001010000000000000000100000000001010001111000000110001100110111111001111001101111110011000111100000011000001110011011110000010111100000000000101000111100000011000110111001100011000001010000000000000000100000000001010001111001000110001100110111111001111001101111110011000111100100011000001110011011110000010111100000000000101000111100100011000101111001100011000001010000000000000000100000000001010001111000100110001100110111111001111001101111110011000111100010011000001110011011110000001111100000000000101000111100010011000101111001100011000001010000000000000000100000000001001001111000000000001100110111111001111001101111110010100111100000000000001110011011110000001111100000000000100100111100000000000111111001100011000001010000000000000000100000000001001001111001000000001100110111111001111001101111110010100111100100000000001110011011110000011111100000000000100100111100100000000111111001100011000001010000000000000000100000000001001001111000100000001100110111111001111001101111110010100111100010000000001110011011110000011111100000000000100100111100010000000100000101100011000001010000000000000000100000000001001001111001100000001100110111111001111001101111110010100111100110000000000001011011110000000111100000000000100100111100110000000100000101100011000001010000000000000000100000000001001001111000010000001100110111111001111001101111110010100111100001000000000001011011110000000111100000000000100100111100001000000110000101100011000001010000000000000000100000000001001001111001010000001100110111111001111001101111110010100111100101000000000001011011110000010111100000000000100100111100101000000110000101100011000001010000000000000000100000000001001001111000110000001100110111111001111001101111110010100111100011000000000001011011110000010111100000000000100100111100011000000101000101100011000001010000000000000000100000000001001001111001110000001100110111111001111001101111110010100111100111000000000001011011110000001111100000000000100100111100111000000101000101100011000001010000000000000000100000000001001001111000001000001100110111111001111001101111110010100111100000100000000001011011110000001111100000000000100100111100000100000111000101100011000001010000000000000000100000000001001001111001001000001100110111111001111001101111110010100111100100100000000001011011110000011111100000000000100100111100100100000111000101100011000001010000000000000000100000000001001001111000101000001100110111111001111001101111110010100111100010100000000001011011110000011111100000000000100100111100010100000100100101100011000001010000000000000000100000000001001001111001101000001100110111111001111001101111110010100111100110100000001001011011110000000111100000000000100100111100110100000100100101100011000001010000000000000000100000000001001001111000011000001100110111111001111001101111110010100111100001100000001001011011110000000111100000000000100100111100001100000110100101100011000001010000000000000000100000000001001001111001011000001100110111111001111001101111110010100111100101100000001001011011110000010111100000000000100100111100101100000110100101100011000001010000000000000000100000000001001001111000111000001100110111111001111001101111110010100111100011100000001001011011110000010111100000000000100100111100011100000101100101100011000001010000000000000000100000000001001001111001111000001100110111111001111001101111110010100111100111100000001001011011110000001111100000000000100100111100111100000101100101100011000001010000000000000000100000000001001001111000000100001100110111111001111001101111110010100111100000010000001001011011110000001111100000000000100100111100000010000111100101100011000001010000000000000000100000000001001001111001000100001100110111111001111001101111110010100111100100010000001001011011110000011111100000000000100100111100100010000111100101100011000001010000000000000000100000000001001001111000100100001100110111111001111001101111110010100111100010010000001001011011110000011111100000000000100100111100010010000100010101100011000001010000000000000000100000000001001001111001100100001100110111111001111001101111110010100111100110010000000101011011110000000111100000000000100100111100110010000100010101100011000001010000000000000000100000000001001001111000010100001100110111111001111001101111110010100111100001010000000101011011110000000111100000000000100100111100001010000110010101100011000001010000000000000000100000000001001001111001010100001100110111111001111001101111110010100111100101010000000101011011110000010111100000000000100100111100101010000110010101100011000001010000000000000000100000000001001001111000110100001100110111111001111001101111110010100111100011010000000101011011110000010111100000000000100100111100011010000101010101100011000001010000000000000000100000000001001001111001110100001100110111111001111001101111110010100111100111010000000101011011110000001111100000000000100100111100111010000101010101100011000001010000000000000000100000000001001001111000001100001100110111111001111001101111110010100111100000110000000101011011110000001111100000000000100100111100000110000111010101100011000001010000000000000000100000000001001001111001001100001100110111111001111001101111110010100111100100110000000101011011110000011111100000000000100100111100100110000111010101100011000001010000000000000000100000000001001001111000101100001100110111111001111001101111110010100111100010110000000101011011110000011111100000000000100100111100010110000100110101100011000001010000000000000000100000000001001001111001101100001100110111111001111001101111110010100111100110110000001101011011110000000111100000000000100100111100110110000100110101100011000001010000000000000000100000000001001001111000011100001100110111111001111001101111110010100111100001110000001101011011110000000111100000000000100100111100001110000110110101100011000001010000000000000000100000000001001001111001011100001100110111111001111001101111110010100111100101110000001101011011110000010111100000000000100100111100101110000110110101100011000001010000000000000000100000000001001001111000111100001100110111111001111001101111110010100111100011110000001101011011110000010111100000000000100100111100011110000101110101100011000001010000000000000000100000000001001001111001111100001100110111111001111001101111110010100111100111110000001101011011110000001111100000000000100100111100111110000101110101100011000001010000000000000000100000000001001001111000000010001100110111111001111001101111110010100111100000001000001101011011110000001111100000000000100100111100000001000111110101100011000001010000000000000000100000000001001001111001000010001100110111111001111001101111110010100111100100001000001101011011110000011111100000000000100100111100100001000111110101100011000001010000000000000000100000000001001001111000100010001100110111111001111001101111110010100111100010001000001101011011110000011111100000000000100100111100010001000100001101100011000001010000000000000000100000000001001001111001100010001100110111111001111001101111110010100111100110001000000011011011110000000111100000000000100100111100110001000100001101100011000001010000000000000000100000000001001001111000010010001100110111111001111001101111110010100111100001001000000011011011110000000111100000000000100100111100001001000110001101100011000001010000000000000000100000000001001001111001010010001100110111111001111001101111110010100111100101001000000011011011110000010111100000000000100100111100101001000110001101100011000001010000000000000000100000000001001001111000110010001100110111111001111001101111110010100111100011001000000011011011110000010111100000000000100100111100011001000101001101100011000001010000000000000000100000000001001001111001110010001100110111111001111001101111110010100111100111001000000011011011110000001111100000000000100100111100111001000101001101100011000001010000000000000000100000000001001001111000001010001100110111111001111001101111110010100111100000101000000011011011110000001111100000000000100100111100000101000111001101100011000001010000000000000000100000000001001001111001001010001100110111111001111001101111110010100111100100101000000011011011110000011111100000000000100100111100100101000111001101100011000001010000000000000000100000000001001001111000101010001100110111111001111001101111110010100111100010101000000011011011110000011111100000000000100100111100010101000100101101100011000001010000000000000000100000000001001001111001101010001100110111111001111001101111110010100111100110101000001011011011110000000111100000000000100100111100110101000100101101100011000001010000000000000000100000000001001001111000011010001100110111111001111001101111110010100111100001101000001011011011110000000111100000000000100100111100001101000110101101100011000001010000000000000000100000000001001001111001011010001100110111111001111001101111110010100111100101101000001011011011110000010111100000000000100100111100101101000110101101100011000001010000000000000000100000000001001001111000111010001100110111111001111001101111110010100111100011101000001011011011110000010111100000000000100100111100011101000101101101100011000001010000000000000000100000000001001001111001111010001100110111111001111001101111110010100111100111101000001011011011110000001111100000000000100100111100111101000101101101100011000001010000000000000000100000000001001001111000000110001100110111111001111001101111110010100111100000011000001011011011110000001111100000000000100100111100000011000111101101100011000001010000000000000000100000000001001001111001000110001100110111111001111001101111110010100111100100011000001011011011110000011111100000000000100100111100100011000111101101100011000001010000000000000000100000000001001001111000100110001100110111111001111001101111110010100111100010011000001011011011110000011111100000000000100100111100010011000100011101100011000001010000000000000000100000000001011001111000000000001100110111111001111001101111110011100111100000000000000111011011110000000111100000000000101100111100000000000100011101100011000001010000000000000000100000000001011001111001000000001100110111111001111001101111110011100111100100000000000111011011110000000111100000000000101100111100100000000110011101100011000001010000000000000000100000000001011001111000100000001100110111111001111001101111110011100111100010000000000111011011110000010111100000000000101100111100010000000110011101100011000001010000000000000000100000000001011001111001100000001100110111111001111001101111110011100111100110000000000111011011110000010111100000000000101100111100110000000101011101100011000001010000000000000000100000000001011001111000010000001100110111111001111001101111110011100111100001000000000111011011110000001111100000000000101100111100001000000101011101100011000001010000000000000000100000000001011001111001010000001100110111111001111001101111110011100111100101000000000111011011110000001111100000000000101100111100101000000111011101100011000001010000000000000000100000000001011001111000110000001100110111111001111001101111110011100111100011000000000111011011110000011111100000000000101100111100011000000111011101100011000001010000000000000000100000000001011001111001110000001100110111111001111001101111110011100111100111000000000111011011110000011111100000000000101100111100111000000100111101100011000001010000000000000000100000000001011001111000001000001100110111111001111001101111110011100111100000100000001111011011110000000111100000000000101100111100000100000100111101100011000001010000000000000000100000000001011001111001001000001100110111111001111001101111110011100111100100100000001111011011110000000111100000000000101100111100100100000110111101100011000001010000000000000000100000000001011001111000101000001100110111111001111001101111110011100111100010100000001111011011110000010111100000000000101100111100010100000110111101100011000001010000000000000000100000000001011001111001101000001100110111111001111001101111110011100111100110100000001111011011110000010111100000000000101100111100110100000101111101100011000001010000000000000000100000000001011001111000011000001100110111111001111001101111110011100111100001100000001111011011110000001111100000000000101100111100001100000101111101100011000001010000000000000000100000000001011001111001011000001100110111111001111001101111110011100111100101100000001111011011110000001111100000000000101100111100101100000111111101100011000001010000000000000000100000000001011001111000111000001100110111111001111001101111110011100111100011100000001111011011110000011111100000000000101100111100011100000111111101100011000001010000000000000000100000000001011001111001111000001100110111111001111001101111110011100111100111100000001111011011110000011111100000000000101100111100111100000100000011100011000001010000000000000000100000000001011001111000000100001100110111111001111001101111110011100111100000010000000000111011110000000111100000000000101100111100000010000100000011100011000001010000000000000000100000000001011001111001000100001100110111111001111001101111110011100111100100010000000000111011110000000111100000000000101100111100100010000110000011100011000001010000000000000000100000000001011001111000100100001100110111111001111001101111110011100111100010010000000000111011110000010111100000000000101100111100010010000110000011100011000001010000000000000000100000000001011001111001100100001100110111111001111001101111110011100111100110010000000000111011110000010111100000000000101100111100110010000101000011100011000001010000000000000000100000000001011001111000010100001100110111111001111001101111110011100111100001010000000000111011110000001111100000000000101100111100001010000101000011100011000001010000000000000000100000000001011001111001010100001100110111111001111001101111110011100111100101010000000000111011110000001111100000000000101100111100101010000111000011100011000001010000000000000000100000000001011001111000110100001100110111111001111001101111110011100111100011010000000000111011110000011111100000000000101100111100011010000111000011100011000001010000000000000000100000000001011001111001110100001100110111111001111001101111110011100111100111010000000000111011110000011111100000000000101100111100111010000100100011100011000001010000000000000000100000000001011001111000001100001100110111111001111001101111110011100111100000110000001000111011110000000111100000000000101100111100000110000100100011100011000001010000000000000000100000000001011001111001001100001100110111111001111001101111110011100111100100110000001000111011110000000111100000000000101100111100100110000110100011100011000001010000000000000000100000000001011001111000101100001100110111111001111001101111110011100111100010110000001000111011110000010111100000000000101100111100010110000110100011100011000001010000000000000000100000000001011001111001101100001100110111111001111001101111110011100111100110110000001000111011110000010111100000000000101100111100110110000101100011100011000001010000000000000000100000000001011001111000011100001100110111111001111001101111110011100111100001110000001000111011110000001111100000000000101100111100001110000101100011100011000001010000000000000000100000000001011001111001011100001100110111111001111001101111110011100111100101110000001000111011110000001111100000000000101100111100101110000111100011100011000001010000000000000000100000000001011001111000111100001100110111111001111001101111110011100111100011110000001000111011110000011111100000000000101100111100011110000111100011100011000001010000000000000000100000000001011001111001111100001100110111111001111001101111110011100111100111110000001000111011110000011111100000000000101100111100111110000100010011100011000001010000000000000000100000000001011001111000000010001100110111111001111001101111110011100111100000001000000100111011110000000111100000000000101100111100000001000100010011100011000001010000000000000000100000000001011001111001000010001100110111111001111001101111110011100111100100001000000100111011110000000111100000000000101100111100100001000110010011100011000001010000000000000000100000000001011001111000100010001100110111111001111001101111110011100111100010001000000100111011110000010111100000000000101100111100010001000110010011100011000001010000000000000000100000000001011001111001100010001100110111111001111001101111110011100111100110001000000100111011110000010111100000000000101100111100110001000101010011100011000001010000000000000000100000000001011001111000010010001100110111111001111001101111110011100111100001001000000100111011110000001111100000000000101100111100001001000101010011100011000001010000000000000000100000000001011001111001010010001100110111111001111001101111110011100111100101001000000100111011110000001111100000000000101100111100101001000111010011100011000001010000000000000000100000000001011001111000110010001100110111111001111001101111110011100111100011001000000100111011110000011111100000000000101100111100011001000111010011100011000001010000000000000000100000000001011001111001110010001100110111111001111001101111110011100111100111001000000100111011110000011111100000000000101100111100111001000100110011100011000001010000000000000000100000000001011001111000001010001100110111111001111001101111110011100111100000101000001100111011110000000111100000000000101100111100000101000100110011100011000001010000000000000000100000000001011001111001001010001100110111111001111001101111110011100111100100101000001100111011110000000111100000000000101100111100100101000110110011100011000001010000000000000000100000000001011001111000101010001100110111111001111001101111110011100111100010101000001100111011110000010111100000000000101100111100010101000110110011100011000001010000000000000000100000000001011001111001101010001100110111111001111001101111110011100111100110101000001100111011110000010111100000000000101100111100110101000101110011100011000001010000000000000000100000000001011001111000011010001100110111111001111001101111110011100111100001101000001100111011110000001111100000000000101100111100001101000101110011100011000001010000000000000000100000000001011001111001011010001100110111111001111001101111110011100111100101101000001100111011110000001111100000000000101100111100101101000111110011100011000001010000000000000000100000000001011001111000111010001100110111111001111001101111110011100111100011101000001100111011110000011111100000000000101100111100011101000111110011100011000001010000000000000000100000000001011001111001111010001100110111111001111001101111110011100111100111101000001100111011110000011111100000000000101100111100111101000100001011100011000001010000000000000000100000000001011001111000000110001100110111111001111001101111110011100111100000011000000010111011110000000111100000000000101100111100000011000100001011100011000001010000000000000000100000000001011001111001000110001100110111111001111001101111110011100111100100011000000010111011110000000111100000000000101100111100100011000110001011100011000001010000000000000000100000000001011001111000100110001100110111111001111001101111110011100111100010011000000010111011110000010111100000000000101100111100010011000110001011100011000001010000000000000000100000000001000101111000000000001100110111111001111001101111110010010111100000000000000010111011110000010111100000000000100010111100000000000101001011100011000001010000000000000000100000000001000101111001000000001100110111111001111001101111110010010111100100000000000010111011110000001111100000000000100010111100100000000101001011100011000001010000000000000000100000000001000101111000100000001100110111111001111001101111110010010111100010000000000010111011110000001111100000000000100010111100010000000111001011100011000001010000000000000000100000000001000101111001100000001100110111111001111001101111110010010111100110000000000010111011110000011111100000000000100010111100110000000111001011100011000001010000000000000000100000000001000101111000010000001100110111111001111001101111110010010111100001000000000010111011110000011111100000000000100010111100001000000100101011100011000001010000000000000000100000000001000101111001010000001100110111111001111001101111110010010111100101000000001010111011110000000111100000000000100010111100101000000100101011100011000001010000000000000000100000000001000101111000110000001100110111111001111001101111110010010111100011000000001010111011110000000111100000000000100010111100011000000110101011100011000001010000000000000000100000000001000101111001110000001100110111111001111001101111110010010111100111000000001010111011110000010111100000000000100010111100111000000110101011100011000001010000000000000000100000000001000101111000001000001100110111111001111001101111110010010111100000100000001010111011110000010111100000000000100010111100000100000101101011100011000001010000000000000000100000000001000101111001001000001100110111111001111001101111110010010111100100100000001010111011110000001111100000000000100010111100100100000101101011100011000001010000000000000000100000000001000101111000101000001100110111111001111001101111110010010111100010100000001010111011110000001111100000000000100010111100010100000111101011100011000001010000000000000000100000000001000101111001101000001100110111111001111001101111110010010111100110100000001010111011110000011111100000000000100010111100110100000111101011100011000001010000000000000000100000000001000101111000011000001100110111111001111001101111110010010111100001100000001010111011110000011111100000000000100010111100001100000100011011100011000001010000000000000000100000000001000101111001011000001100110111111001111001101111110010010111100101100000000110111011110000000111100000000000100010111100101100000100011011100011000001010000000000000000100000000001000101111000111000001100110111111001111001101111110010010111100011100000000110111011110000000111100000000000100010111100011100000110011011100011000001010000000000000000100000000001000101111001111000001100110111111001111001101111110010010111100111100000000110111011110000010111100000000000100010111100111100000110011011100011000001010000000000000000100000000001000101111000000100001100110111111001111001101111110010010111100000010000000110111011110000010111100000000000100010111100000010000101011011100011000001010000000000000000100000000001000101111001000100001100110111111001111001101111110010010111100100010000000110111011110000001111100000000000100010111100100010000101011011100011000001010000000000000000100000000001000101111000100100001100110111111001111001101111110010010111100010010000000110111011110000001111100000000000100010111100010010000111011011100011000001010000000000000000100000000001000101111001100100001100110111111001111001101111110010010111100110010000000110111011110000011111100000000000100010111100110010000111011011100011000001010000000000000000100000000001000101111000010100001100110111111001111001101111110010010111100001010000000110111011110000011111100000000000100010111100001010000100111011100011000001010000000000000000100000000001000101111001010100001100110111111001111001101111110010010111100101010000001110111011110000000111100000000000100010111100101010000100111011100011000001010000000000000000100000000001000101111000110100001100110111111001111001101111110010010111100011010000001110111011110000000111100000000000100010111100011010000110111011100011000001010000000000000000100000000001000101111001110100001100110111111001111001101111110010010111100111010000001110111011110000010111100000000000100010111100111010000110111011100011000001010000000000000000100000000001000101111000001100001100110111111001111001101111110010010111100000110000001110111011110000010111100000000000100010111100000110000101111011100011000001010000000000000000100000000001000101111001001100001100110111111001111001101111110010010111100100110000001110111011110000001111100000000000100010111100100110000101111011100011000001010000000000000000100000000001000101111000101100001100110111111001111001101111110010010111100010110000001110111011110000001111100000000000100010111100010110000111111011100011000001010000000000000000100000000001000101111001101100001100110111111001111001101111110010010111100110110000001110111011110000011111100000000000100010111100110110000111111011100011000001010000000000000000100000000001000101111000011100001100110111111001111001101111110010010111100001110000001110111011110000011111100000000000100010111100001110000100000111100011000001010000000000000000100000000001000101111001011100001100110111111001111001101111110010010111100101110000000001111011110000000111100000000000100010111100101110000100000111100011000001010000000000000000100000000001000101111000111100001100110111111001111001101111110010010111100011110000000001111011110000000111100000000000100010111100011110000110000111100011000001010000000000000000100000000001000101111001111100001100110111111001111001101111110010010111100111110000000001111011110000010111100000000000100010111100111110000110000111100011000001010000000000000000100000000001000101111000000010001100110111111001111001101111110010010111100000001000000001111011110000010111100000000000100010111100000001000101000111100011000001010000000000000000100000000001000101111001000010001100110111111001111001101111110010010111100100001000000001111011110000001111100000000000100010111100100001000101000111100011000001010000000000000000100000000001000101111000100010001100110111111001111001101111110010010111100010001000000001111011110000001111100000000000100010111100010001000111000111100011000001010000000000000000100000000001000101111001100010001100110111111001111001101111110010010111100110001000000001111011110000011111100000000000100010111100110001000111000111100011000001010000000000000000100000000001000101111000010010001100110111111001111001101111110010010111100001001000000001111011110000011111100000000000100010111100001001000100100111100011000001010000000000000000100000000001000101111001010010001100110111111001111001101111110010010111100101001000001001111011110000000111100000000000100010111100101001000100100111100011000001010000000000000000100000000001000101111000110010001100110111111001111001101111110010010111100011001000001001111011110000000111100000000000100010111100011001000110100111100011000001010000000000000000100000000001000101111001110010001100110111111001111001101111110010010111100111001000001001111011110000010111100000000000100010111100111001000110100111100011000001010000000000000000100000000001000101111000001010001100110111111001111001101111110010010111100000101000001001111011110000010111100000000000100010111100000101000101100111100011000001010000000000000000100000000001000101111001001010001100110111111001111001101111110010010111100100101000001001111011110000001111100000000000100010111100100101000101100111100011000001010000000000000000100000000001000101111000101010001100110111111001111001101111110010010111100010101000001001111011110000001111100000000000100010111100010101000111100111100011000001010000000000000000100000000001000101111001101010001100110111111001111001101111110010010111100110101000001001111011110000011111100000000000100010111100110101000111100111100011000001010000000000000000100000000001000101111000011010001100110111111001111001101111110010010111100001101000001001111011110000011111100000000000100010111100001101000100010111100011000001010000000000000000100000000001000101111001011010001100110111111001111001101111110010010111100101101000000101111011110000000111100000000000100010111100101101000100010111100011000001010000000000000000100000000001000101111000111010001100110111111001111001101111110010010111100011101000000101111011110000000111100000000000100010111100011101000110010111100011000001010000000000000000100000000001000101111001111010001100110111111001111001101111110010010111100111101000000101111011110000010111100000000000100010111100111101000110010111100011000001010000000000000000100000000001000101111000000110001100110111111001111001101111110010010111100000011000000101111011110000010111100000000000100010111100000011000101010111100011000001010000000000000000100000000001000101111001000110001100110111111001111001101111110010010111100100011000000101111011110000001111100000000000100010111100100011000101010111100011000001010000000000000000100000000001000101111000100110001100110111111001111001101111110010010111100010011000000101111011110000001111100000000000100010111100010011000111010111100011000001010000000000000000100000000001010101111000000000001100110111111001111001101111110011010111100000000000000101111011110000011111100000000000101010111100000000000111010111100011000001010000000000000000100000000001010101111001000000001100110111111001111001101111110011010111100100000000000101111011110000011111100000000000101010111100100000000100110111100011000001010000000000000000100000000001010101111000100000001100110111111001111001101111110011010111100010000000001101111011110000000111100000000000101010111100010000000100110111100011000001010000000000000000100000000001010101111001100000001100110111111001111001101111110011010111100110000000001101111011110000000111100000000000101010111100110000000110110111100011000001010000000000000000100000000001010101111000010000001100110111111001111001101111110011010111100001000000001101111011110000010111100000000000101010111100001000000110110111100011000001010000000000000000100000000001010101111001010000001100110111111001111001101111110011010111100101000000001101111011110000010111100000000000101010111100101000000101110111100011000001010000000000000000100000000001010101111000110000001100110111111001111001101111110011010111100011000000001101111011110000001111100000000000101010111100011000000101110111100011000001010000000000000000100000000001010101111001110000001100110111111001111001101111110011010111100111000000001101111011110000001111100000000000101010111100111000000111110111100011000001010000000000000000100000000001010101111000001000001100110111111001111001101111110011010111100000100000001101111011110000011111100000000000101010111100000100000111110111100011000001010000000000000000100000000001010101111001001000001100110111111001111001101111110011010111100100100000001101111011110000011111100000000000101010111100100100000100001111100011000001010000000000000000100000000001010101111000101000001100110111111001111001101111110011010111100010100000000011111011110000000111100000000000101010111100010100000100001111100011000001010000000000000000100000000001010101111001101000001100110111111001111001101111110011010111100110100000000011111011110000000111100000000000101010111100110100000110001111100011000001010000000000000000100000000001010101111000011000001100110111111001111001101111110011010111100001100000000011111011110000010111100000000000101010111100001100000110001111100011000001010000000000000000100000000001010101111001011000001100110111111001111001101111110011010111100101100000000011111011110000010111100000000000101010111100101100000101001111100011000001010000000000000000100000000001010101111000111000001100110111111001111001101111110011010111100011100000000011111011110000001111100000000000101010111100011100000101001111100011000001010000000000000000100000000001010101111001111000001100110111111001111001101111110011010111100111100000000011111011110000001111100000000000101010111100111100000111001111100011000001010000000000000000100000000001010101111000000100001100110111111001111001101111110011010111100000010000000011111011110000011111100000000000101010111100000010000111001111100011000001010000000000000000100000000001010101111001000100001100110111111001111001101111110011010111100100010000000011111011110000011111100000000000101010111100100010000100101111100011000001010000000000000000100000000001010101111000100100001100110111111001111001101111110011010111100010010000001011111011110000000111100000000000101010111100010010000100101111100011000001010000000000000000100000000001010101111001100100001100110111111001111001101111110011010111100110010000001011111011110000000111100000000000101010111100110010000110101111100011000001010000000000000000100000000001010101111000010100001100110111111001111001101111110011010111100001010000001011111011110000010111100000000000101010111100001010000110101111100011000001010000000000000000100000000001010101111001010100001100110111111001111001101111110011010111100101010000001011111011110000010111100000000000101010111100101010000101101111100011000001010000000000000000100000000001010101111000110100001100110111111001111001101111110011010111100011010000001011111011110000001111100000000000101010111100011010000101101111100011000001010000000000000000100000000001010101111001110100001100110111111001111001101111110011010111100111010000001011111011110000001111100000000000101010111100111010000111101111100011000001010000000000000000100000000001010101111000001100001100110111111001111001101111110011010111100000110000001011111011110000011111100000000000101010111100000110000111101111100011000001010000000000000000100000000001010101111001001100001100110111111001111001101111110011010111100100110000001011111011110000011111100000000000101010111100100110000100011111100011000001010000000000000000100000000001010101111000101100001100110111111001111001101111110011010111100010110000000111111011110000000111100000000000101010111100010110000100011111100011000001010000000000000000100000000001010101111001101100001100110111111001111001101111110011010111100110110000000111111011110000000111100000000000101010111100110110000110011111100011000001010000000000000000100000000001010101111000011100001100110111111001111001101111110011010111100001110000000111111011110000010111100000000000101010111100001110000110011111100011000001010000000000000000100000000001010101111001011100001100110111111001111001101111110011010111100101110000000111111011110000010111100000000000101010111100101110000101011111100011000001010000000000000000100000000001010101111000111100001100110111111001111001101111110011010111100011110000000111111011110000001111100000000000101010111100011110000101011111100011000001010000000000000000100000000001010101111001111100001100110111111001111001101111110011010111100111110000000111111011110000001111100000000000101010111100111110000111011111100011000001010000000000000000100000000001010101111000000010001100110111111001111001101111110011010111100000001000000111111011110000011111100000000000101010111100000001000111011111100011000001010000000000000000100000000001010101111001000010001100110111111001111001101111110011010111100100001000000111111011110000011111100000000000101010111100100001000100111111100011000001010000000000000000100000000001010101111000100010001100110111111001111001101111110011010111100010001000001111111011110000000111100000000000101010111100010001000100111111100011000001010000000000000000100000000001010101111001100010001100110111111001111001101111110011010111100110001000001111111011110000000111100000000000101010111100110001000110111111100011000001010000000000000000100000000001010101111000010010001100110111111001111001101111110011010111100001001000001111111011110000010111100000000000101010111100001001000110111111100011000001010000000000000000100000000001010101111001010010001100110111111001111001101111110011010111100101001000001111111011110000010111100000000000101010111100101001000101111111100011000001010000000000000000100000000001010101111000110010001100110111111001111001101111110011010111100011001000001111111011110000001111100000000000101010111100011001000101111111100011000001010000000000000000100000000001010101111001110010001100110111111001111001101111110011010111100111001000001111111011110000001111100000000000101010111100111001000111111111100011000001010000000000000000100000000001010101111000001010001100110111111001111001101111110011010111100000101000001111111011110000011111100000000000101010111100000101000111111111100011000001010000000000000000100000000001010101111001001010001100110111111001111001101111110011010111100100101000001111111011110000011111100000000000101010111100100101000100000000010011000001010000000000000000100000000001010101111000101010001100110111111001111001101111110011010111100010101000000000000111110000000111100000000000101010111100010101000100000000010011000001010000000000000000100000000001010101111001101010001100110111111001111001101111110011010111100110101000000000000111110000000111100000000000101010111100110101000110000000010011000001010000000000000000100000000001010101111000011010001100110111111001111001101111110011010111100001101000000000000111110000010111100000000000101010111100001101000110000000010011000001010000000000000000100000000001010101111001011010001100110111111001111001101111110011010111100101101000000000000111110000010111100000000000101010111100101101000101000000010011000001010000000000000000100000000001010101111000111010001100110111111001111001101111110011010111100011101000000000000111110000001111100000000000101010111100011101000101000000010011000001010000000000000000100000000001010101111001111010001100110111111001111001101111110011010111100111101000000000000111110000001111100000000000101010111100111101000111000000010011000001010000000000000000100000000001010101111000000110001100110111111001111001101111110011010111100000011000000000000111110000011111100000000000101010111100000011000111000000010011000001010000000000000000100000000001010101111001000110001100110111111001111001101111110011010111100100011000000000000111110000011111100000000000101010111100100011000100100000010011000001010000000000000000100000000001010101111000100110001100110111111001111001101111110011010111100010011000001000000111110000000111100000000000101010111100010011000100100000010011000001010000000000000000100000000001001101111000000000001100110111111001111001101111110010110111100000000000001000000111110000000111100000000000100110111100000000000110100000010011000001010000000000000000100000000001001101111001000000001100110111111001111001101111110010110111100100000000001000000111110000010111100000000000100110111100100000000110100000010011000001010000000000000000100000000001001101111000100000001100110111111001111001101111110010110111100010000000001000000111110000010111100000000000100110111100010000000101100000010011000001010000000000000000100000000001001101111001100000001100110111111001111001101111110010110111100110000000001000000111110000001111100000000000100110111100110000000101100000010011000001010000000000000000100000000001001101111000010000001100110111111001111001101111110010110111100001000000001000000111110000001111100000000000100110111100001000000111100000010011000001010000000000000000100000000001001101111001010000001100110111111001111001101111110010110111100101000000001000000111110000011111100000000000100110111100101000000111100000010011000001010000000000000000100000000001001101111000110000001100110111111001111001101111110010110111100011000000001000000111110000011111100000000000100110111100011000000100010000010011000001010000000000000000100000000001001101111001110000001100110111111001111001101111110010110111100111000000000100000111110000000111100000000000100110111100111000000100010000010011000001010000000000000000100000000001001101111000001000001100110111111001111001101111110010110111100000100000000100000111110000000111100000000000100110111100000100000110010000010011000001010000000000000000100000000001001101111001001000001100110111111001111001101111110010110111100100100000000100000111110000010111100000000000100110111100100100000110010000010011000001010000000000000000100000000001001101111000101000001100110111111001111001101111110010110111100010100000000100000111110000010111100000000000100110111100010100000101010000010011000001010000000000000000100000000001001101111001101000001100110111111001111001101111110010110111100110100000000100000111110000001111100000000000100110111100110100000101010000010011000001010000000000000000100000000001001101111000011000001100110111111001111001101111110010110111100001100000000100000111110000001111100000000000100110111100001100000111010000010011000001010000000000000000100000000001001101111001011000001100110111111001111001101111110010110111100101100000000100000111110000011111100000000000100110111100101100000111010000010011000001010000000000000000100000000001001101111000111000001100110111111001111001101111110010110111100011100000000100000111110000011111100000000000100110111100011100000100110000010011000001010000000000000000100000000001001101111001111000001100110111111001111001101111110010110111100111100000001100000111110000000111100000000000100110111100111100000100110000010011000001010000000000000000100000000001001101111000000100001100110111111001111001101111110010110111100000010000001100000111110000000111100000000000100110111100000010000110110000010011000001010000000000000000100000000001001101111001000100001100110111111001111001101111110010110111100100010000001100000111110000010111100000000000100110111100100010000110110000010011000001010000000000000000100000000001001101111000100100001100110111111001111001101111110010110111100010010000001100000111110000010111100000000000100110111100010010000101110000010011000001010000000000000000100000000001001101111001100100001100110111111001111001101111110010110111100110010000001100000111110000001111100000000000100110111100110010000101110000010011000001010000000000000000100000000001001101111000010100001100110111111001111001101111110010110111100001010000001100000111110000001111100000000000100110111100001010000111110000010011000001010000000000000000100000000001001101111001010100001100110111111001111001101111110010110111100101010000001100000111110000011111100000000000100110111100101010000111110000010011000001010000000000000000100000000001001101111000110100001100110111111001111001101111110010110111100011010000001100000111110000011111100000000000100110111100011010000100001000010011000001010000000000000000100000000001001101111001110100001100110111111001111001101111110010110111100111010000000010000111110000000111100000000000100110111100111010000100001000010011000001010000000000000000100000000001001101111000001100001100110111111001111001101111110010110111100000110000000010000111110000000111100000000000100110111100000110000110001000010011000001010000000000000000100000000001001101111001001100001100110111111001111001101111110010110111100100110000000010000111110000010111100000000000100110111100100110000110001000010011000001010000000000000000100000000001001101111000101100001100110111111001111001101111110010110111100010110000000010000111110000010111100000000000100110111100010110000101001000010011000001010000000000000000100000000001001101111001101100001100110111111001111001101111110010110111100110110000000010000111110000001111100000000000100110111100110110000101001000010011000001010000000000000000100000000001001101111000011100001100110111111001111001101111110010110111100001110000000010000111110000001111100000000000100110111100001110000111001000010011000001010000000000000000100000000001001101111001011100001100110111111001111001101111110010110111100101110000000010000111110000011111100000000000100110111100101110000111001000010011000001010000000000000000100000000001001101111000111100001100110111111001111001101111110010110111100011110000000010000111110000011111100000000000100110111100011110000100101000010011000001010000000000000000100000000001001101111001111100001100110111111001111001101111110010110111100111110000001010000111110000000111100000000000100110111100111110000100101000010011000001010000000000000000100000000001001101111000000010001100110111111001111001101111110010110111100000001000001010000111110000000111100000000000100110111100000001000110101000010011000001010000000000000000100000000001001101111001000010001100110111111001111001101111110010110111100100001000001010000111110000010111100000000000100110111100100001000110101000010011000001010000000000000000100000000001001101111000100010001100110111111001111001101111110010110111100010001000001010000111110000010111100000000000100110111100010001000101101000010011000001010000000000000000100000000001001101111001100010001100110111111001111001101111110010110111100110001000001010000111110000001111100000000000100110111100110001000101101000010011000001010000000000000000100000000001001101111000010010001100110111111001111001101111110010110111100001001000001010000111110000001111100000000000100110111100001001000111101000010011000001010000000000000000100000000001001101111001010010001100110111111001111001101111110010110111100101001000001010000111110000011111100000000000100110111100101001000111101000010011000001010000000000000000100000000001001101111000110010001100110111111001111001101111110010110111100011001000001010000111110000011111100000000000100110111100011001000100011000010011000001010000000000000000100000000001001101111001110010001100110111111001111001101111110010110111100111001000000110000111110000000111100000000000100110111100111001000100011000010011000001010000000000000000100000000001001101111000001010001100110111111001111001101111110010110111100000101000000110000111110000000111100000000000100110111100000101000110011000010011000001010000000000000000100000000001001101111001001010001100110111111001111001101111110010110111100100101000000110000111110000010111100000000000100110111100100101000110011000010011000001010000000000000000100000000001001101111000101010001100110111111001111001101111110010110111100010101000000110000111110000010111100000000000100110111100010101000101011000010011000001010000000000000000100000000001001101111001101010001100110111111001111001101111110010110111100110101000000110000111110000001111100000000000100110111100110101000101011000010011000001010000000000000000100000000001001101111000011010001100110111111001111001101111110010110111100001101000000110000111110000001111100000000000100110111100001101000111011000010011000001010000000000000000100000000001001101111001011010001100110111111001111001101111110010110111100101101000000110000111110000011111100000000000100110111100101101000111011000010011000001010000000000000000100000000001001101111000111010001100110111111001111001101111110010110111100011101000000110000111110000011111100000000000100110111100011101000100111000010011000001010000000000000000100000000001001101111001111010001100110111111001111001101111110010110111100111101000001110000111110000000111100000000000100110111100111101000100111000010011000001010000000000000000100000000001001101111000000110001100110111111001111001101111110010110111100000011000001110000111110000000111100000000000100110111100000011000110111000010011000001010000000000000000100000000001001101111001000110001100110111111001111001101111110010110111100100011000001110000111110000010111100000000000100110111100100011000110111000010011000001010000000000000000100000000001001101111000100110001100110111111001111001101111110010110111100010011000001110000111110000010111100000000000100110111100010011000101111000010011000001010000000000000000100000000001011101111000000000001100110111111001111001101111110011110111100000000000001110000111110000001111100000000000101110111100000000000101111000010011000001010000000000000000100000000001011101111001000000001100110111111001111001101111110011110111100100000000001110000111110000001111100000000000101110111100100000000111111000010011000001010000000000000000100000000001011101111000100000001100110111111001111001101111110011110111100010000000001110000111110000011111100000000000101110111100010000000111111000010011000001010000000000000000100000000001011101111001100000001100110111111001111001101111110011110111100110000000001110000111110000011111100000000000101110111100110000000100000100010011000001010000000000000000100000000001011101111000010000001100110111111001111001101111110011110111100001000000000001000111110000000111100000000000101110111100001000000100000100010011000001010000000000000000100000000001011101111001010000001100110111111001111001101111110011110111100101000000000001000111110000000111100000000000101110111100101000000110000100010011000001010000000000000000100000000001011101111000110000001100110111111001111001101111110011110111100011000000000001000111110000010111100000000000101110111100011000000110000100010011000001010000000000000000100000000001011101111001110000001100110111111001111001101111110011110111100111000000000001000111110000010111100000000000101110111100111000000101000100010011000001010000000000000000100000000001011101111000001000001100110111111001111001101111110011110111100000100000000001000111110000001111100000000000101110111100000100000101000100010011000001010000000000000000100000000001011101111001001000001100110111111001111001101111110011110111100100100000000001000111110000001111100000000000101110111100100100000111000100010011000001010000000000000000100000000001011101111000101000001100110111111001111001101111110011110111100010100000000001000111110000011111100000000000101110111100010100000111000100010011000001010000000000000000100000000001011101111001101000001100110111111001111001101111110011110111100110100000000001000111110000011111100000000000101110111100110100000100100100010011000001010000000000000000100000000001011101111000011000001100110111111001111001101111110011110111100001100000001001000111110000000111100000000000101110111100001100000100100100010011000001010000000000000000100000000001011101111001011000001100110111111001111001101111110011110111100101100000001001000111110000000111100000000000101110111100101100000110100100010011000001010000000000000000100000000001011101111000111000001100110111111001111001101111110011110111100011100000001001000111110000010111100000000000101110111100011100000110100100010011000001010000000000000000100000000001011101111001111000001100110111111001111001101111110011110111100111100000001001000111110000010111100000000000101110111100111100000101100100010011000001010000000000000000100000000001011101111000000100001100110111111001111001101111110011110111100000010000001001000111110000001111100000000000101110111100000010000101100100010011000001010000000000000000100000000001011101111001000100001100110111111001111001101111110011110111100100010000001001000111110000001111100000000000101110111100100010000111100100010011000001010000000000000000100000000001011101111000100100001100110111111001111001101111110011110111100010010000001001000111110000011111100000000000101110111100010010000111100100010011000001010000000000000000100000000001011101111001100100001100110111111001111001101111110011110111100110010000001001000111110000011111100000000000101110111100110010000100010100010011000001010000000000000000100000000001011101111000010100001100110111111001111001101111110011110111100001010000000101000111110000000111100000000000101110111100001010000100010100010011000001010000000000000000100000000001011101111001010100001100110111111001111001101111110011110111100101010000000101000111110000000111100000000000101110111100101010000110010100010011000001010000000000000000100000000001011101111000110100001100110111111001111001101111110011110111100011010000000101000111110000010111100000000000101110111100011010000110010100010011000001010000000000000000100000000001011101111001110100001100110111111001111001101111110011110111100111010000000101000111110000010111100000000000101110111100111010000101010100010011000001010000000000000000100000000001011101111000001100001100110111111001111001101111110011110111100000110000000101000111110000001111100000000000101110111100000110000101010100010011000001010000000000000000100000000001011101111001001100001100110111111001111001101111110011110111100100110000000101000111110000001111100000000000101110111100100110000111010100010011000001010000000000000000100000000001011101111000101100001100110111111001111001101111110011110111100010110000000101000111110000011111100000000000101110111100010110000111010100010011000001010000000000000000100000000001011101111001101100001100110111111001111001101111110011110111100110110000000101000111110000011111100000000000101110111100110110000100110100010011000001010000000000000000100000000001011101111000011100001100110111111001111001101111110011110111100001110000001101000111110000000111100000000000101110111100001110000100110100010011000001010000000000000000100000000001011101111001011100001100110111111001111001101111110011110111100101110000001101000111110000000111100000000000101110111100101110000110110100010011000001010000000000000000100000000001011101111000111100001100110111111001111001101111110011110111100011110000001101000111110000010111100000000000101110111100011110000110110100010011000001010000000000000000100000000001011101111001111100001100110111111001111001101111110011110111100111110000001101000111110000010111100000000000101110111100111110000101110100010011000001010000000000000000100000000001011101111000000010001100110111111001111001101111110011110111100000001000001101000111110000001111100000000000101110111100000001000101110100010011000001010000000000000000100000000001011101111001000010001100110111111001111001101111110011110111100100001000001101000111110000001111100000000000101110111100100001000111110100010011000001010000000000000000100000000001011101111000100010001100110111111001111001101111110011110111100010001000001101000111110000011111100000000000101110111100010001000111110100010011000001010000000000000000100000000001011101111001100010001100110111111001111001101111110011110111100110001000001101000111110000011111100000000000101110111100110001000100001100010011000001010000000000000000100000000001011101111000010010001100110111111001111001101111110011110111100001001000000011000111110000000111100000000000101110111100001001000100001100010011000001010000000000000000100000000001011101111001010010001100110111111001111001101111110011110111100101001000000011000111110000000111100000000000101110111100101001000110001100010011000001010000000000000000100000000001011101111000110010001100110111111001111001101111110011110111100011001000000011000111110000010111100000000000101110111100011001000110001100010011000001010000000000000000100000000001011101111001110010001100110111111001111001101111110011110111100111001000000011000111110000010111100000000000101110111100111001000101001100010011000001010000000000000000100000000001011101111000001010001100110111111001111001101111110011110111100000101000000011000111110000001111100000000000101110111100000101000101001100010011000001010000000000000000100000000001011101111001001010001100110111111001111001101111110011110111100100101000000011000111110000001111100000000000101110111100100101000111001100010011000001010000000000000000100000000001011101111000101010001100110111111001111001101111110011110111100010101000000011000111110000011111100000000000101110111100010101000111001100010011000001010000000000000000100000000001011101111001101010001100110111111001111001101111110011110111100110101000000011000111110000011111100000000000101110111100110101000100101100010011000001010000000000000000100000000001011101111000011010001100110111111001111001101111110011110111100001101000001011000111110000000111100000000000101110111100001101000100101100010011000001010000000000000000100000000001011101111001011010001100110111111001111001101111110011110111100101101000001011000111110000000111100000000000101110111100101101000110101100010011000001010000000000000000100000000001011101111000111010001100110111111001111001101111110011110111100011101000001011000111110000010111100000000000101110111100011101000110101100010011000001010000000000000000100000000001011101111001111010001100110111111001111001101111110011110111100111101000001011000111110000010111100000000000101110111100111101000101101100010011000001010000000000000000100000000001011101111000000110001100110111111001111001101111110011110111100000011000001011000111110000001111100000000000101110111100000011000101101100010011000001010000000000000000100000000001011101111001000110001100110111111001111001101111110011110111100100011000001011000111110000001111100000000000101110111100100011000111101100010011000001010000000000000000100000000001011101111000100110001100110111111001111001101111110011110111100010011000001011000111110000011111100000000000101110111100010011000111101100010011000001010000000000000000100000000001000011111000000000001100110111111001111001101111110010001111100000000000001011000111110000011111100000000000100001111100000000000100011100010011000001010000000000000000100000000001000011111001000000001100110111111001111001101111110010001111100100000000000111000111110000000111100000000000100001111100100000000100011100010011000001010000000000000000100000000001000011111000100000001100110111111001111001101111110010001111100010000000000111000111110000000111100000000000100001111100010000000110011100010011000001010000000000000000100000000001000011111001100000001100110111111001111001101111110010001111100110000000000111000111110000010111100000000000100001111100110000000110011100010011000001010000000000000000100000000001000011111000010000001100110111111001111001101111110010001111100001000000000111000111110000010111100000000000100001111100001000000101011100010011000001010000000000000000100000000001000011111001010000001100110111111001111001101111110010001111100101000000000111000111110000001111100000000000100001111100101000000101011100010011000001010000000000000000100000000001000011111000110000001100110111111001111001101111110010001111100011000000000111000111110000001111100000000000100001111100011000000111011100010011000001010000000000000000100000000001000011111001110000001100110111111001111001101111110010001111100111000000000111000111110000011111100000000000100001111100111000000111011100010011000001010000000000000000100000000001000011111000001000001100110111111001111001101111110010001111100000100000000111000111110000011111100000000000100001111100000100000100111100010011000001010000000000000000100000000001000011111001001000001100110111111001111001101111110010001111100100100000001111000111110000000111100000000000100001111100100100000100111100010011000001010000000000000000100000000001000011111000101000001100110111111001111001101111110010001111100010100000001111000111110000000111100000000000100001111100010100000110111100010011000001010000000000000000100000000001000011111001101000001100110111111001111001101111110010001111100110100000001111000111110000010111100000000000100001111100110100000110111100010011000001010000000000000000100000000001000011111000011000001100110111111001111001101111110010001111100001100000001111000111110000010111100000000000100001111100001100000101111100010011000001010000000000000000100000000001000011111001011000001100110111111001111001101111110010001111100101100000001111000111110000001111100000000000100001111100101100000101111100010011000001010000000000000000100000000001000011111000111000001100110111111001111001101111110010001111100011100000001111000111110000001111100000000000100001111100011100000111111100010011000001010000000000000000100000000001000011111001111000001100110111111001111001101111110010001111100111100000001111000111110000011111100000000000100001111100111100000111111100010011000001010000000000000000100000000001000011111000000100001100110111111001111001101111110010001111100000010000001111000111110000011111100000000000100001111100000010000100000010010011000001010000000000000000100000000001000011111001000100001100110111111001111001101111110010001111100100010000000000100111110000000111100000000000100001111100100010000100000010010011000001010000000000000000100000000001000011111000100100001100110111111001111001101111110010001111100010010000000000100111110000000111100000000000100001111100010010000110000010010011000001010000000000000000100000000001000011111001100100001100110111111001111001101111110010001111100110010000000000100111110000010111100000000000100001111100110010000110000010010011000001010000000000000000100000000001000011111000010100001100110111111001111001101111110010001111100001010000000000100111110000010111100000000000100001111100001010000101000010010011000001010000000000000000100000000001000011111001010100001100110111111001111001101111110010001111100101010000000000100111110000001111100000000000100001111100101010000101000010010011000001010000000000000000100000000001000011111000110100001100110111111001111001101111110010001111100011010000000000100111110000001111100000000000100001111100011010000111000010010011000001010000000000000000100000000001000011111001110100001100110111111001111001101111110010001111100111010000000000100111110000011111100000000000100001111100111010000111000010010011000001010000000000000000100000000001000011111000001100001100110111111001111001101111110010001111100000110000000000100111110000011111100000000000100001111100000110000100100010010011000001010000000000000000100000000001000011111001001100001100110111111001111001101111110010001111100100110000001000100111110000000111100000000000100001111100100110000100100010010011000001010000000000000000100000000001000011111000101100001100110111111001111001101111110010001111100010110000001000100111110000000111100000000000100001111100010110000110100010010011000001010000000000000000100000000001000011111001101100001100110111111001111001101111110010001111100110110000001000100111110000010111100000000000100001111100110110000110100010010011000001010000000000000000100000000001000011111000011100001100110111111001111001101111110010001111100001110000001000100111110000010111100000000000100001111100001110000101100010010011000001010000000000000000100000000001000011111001011100001100110111111001111001101111110010001111100101110000001000100111110000001111100000000000100001111100101110000101100010010011000001010000000000000000100000000001000011111000111100001100110111111001111001101111110010001111100011110000001000100111110000001111100000000000100001111100011110000111100010010011000001010000000000000000100000000001000011111001111100001100110111111001111001101111110010001111100111110000001000100111110000011111100000000000100001111100111110000111100010010011000001010000000000000000100000000001000011111000000010001100110111111001111001101111110010001111100000001000001000100111110000011111100000000000100001111100000001000100010010010011000001010000000000000000100000000001000011111001000010001100110111111001111001101111110010001111100100001000000100100111110000000111100000000000100001111100100001000100010010010011000001010000000000000000100000000001000011111000100010001100110111111001111001101111110010001111100010001000000100100111110000000111100000000000100001111100010001000110010010010011000001010000000000000000100000000001000011111001100010001100110111111001111001101111110010001111100110001000000100100111110000010111100000000000100001111100110001000110010010010011000001010000000000000000100000000001000011111000010010001100110111111001111001101111110010001111100001001000000100100111110000010111100000000000100001111100001001000101010010010011000001010000000000000000100000000001000011111001010010001100110111111001111001101111110010001111100101001000000100100111110000001111100000000000100001111100101001000101010010010011000001010000000000000000100000000001000011111000110010001100110111111001111001101111110010001111100011001000000100100111110000001111100000000000100001111100011001000111010010010011000001010000000000000000100000000001000011111001110010001100110111111001111001101111110010001111100111001000000100100111110000011111100000000000100001111100111001000111010010010011000001010000000000000000100000000001000011111000001010001100110111111001111001101111110010001111100000101000000100100111110000011111100000000000100001111100000101000100110010010011000001010000000000000000100000000001000011111001001010001100110111111001111001101111110010001111100100101000001100100111110000000111100000000000100001111100100101000100110010010011000001010000000000000000100000000001000011111000101010001100110111111001111001101111110010001111100010101000001100100111110000000111100000000000100001111100010101000110110010010011000001010000000000000000100000000001000011111001101010001100110111111001111001101111110010001111100110101000001100100111110000010111100000000000100001111100110101000110110010010011000001010000000000000000100000000001000011111000011010001100110111111001111001101111110010001111100001101000001100100111110000010111100000000000100001111100001101000101110010010011000001010000000000000000100000000001000011111001011010001100110111111001111001101111110010001111100101101000001100100111110000001111100000000000100001111100101101000101110010010011000001010000000000000000100000000001000011111000111010001100110111111001111001101111110010001111100011101000001100100111110000001111100000000000100001111100011101000111110010010011000001010000000000000000100000000001000011111001111010001100110111111001111001101111110010001111100111101000001100100111110000011111100000000000100001111100111101000111110010010011000001010000000000000000100000000001000011111000000110001100110111111001111001101111110010001111100000011000001100100111110000011111100000000000100001111100000011000100001010010011000001010000000000000000100000000001000011111001000110001100110111111001111001101111110010001111100100011000000010100111110000000111100000000000100001111100100011000100001010010011000001010000000000000000100000000001000011111000100110001100110111111001111001101111110010001111100010011000000010100111110000000111100000000000100001111100010011000110001010010011000001010000000000000000100000000001010011111000000000001100110111111001111001101111110011001111100000000000000010100111110000010111100000000000101001111100000000000110001010010011000001010000000000000000100000000001010011111001000000001100110111111001111001101111110011001111100100000000000010100111110000010111100000000000101001111100100000000101001010010011000001010000000000000000100000000001010011111000100000001100110111111001111001101111110011001111100010000000000010100111110000001111100000000000101001111100010000000101001010010011000001010000000000000000100000000001010011111001100000001100110111111001111001101111110011001111100110000000000010100111110000001111100000000000101001111100110000000111001010010011000001010000000000000000100000000001010011111000010000001100110111111001111001101111110011001111100001000000000010100111110000011111100000000000101001111100001000000111001010010011000001010000000000000000100000000001010011111001010000001100110111111001111001101111110011001111100101000000000010100111110000011111100000000000101001111100101000000100101010010011000001010000000000000000100000000001010011111000110000001100110111111001111001101111110011001111100011000000001010100111110000000111100000000000101001111100011000000100101010010011000001010000000000000000100000000001010011111001110000001100110111111001111001101111110011001111100111000000001010100111110000000111100000000000101001111100111000000110101010010011000001010000000000000000100000000001010011111000001000001100110111111001111001101111110011001111100000100000001010100111110000010111100000000000101001111100000100000110101010010011000001010000000000000000100000000001010011111001001000001100110111111001111001101111110011001111100100100000001010100111110000010111100000000000101001111100100100000101101010010011000001010000000000000000100000000001010011111000101000001100110111111001111001101111110011001111100010100000001010100111110000001111100000000000101001111100010100000101101010010011000001010000000000000000100000000001010011111001101000001100110111111001111001101111110011001111100110100000001010100111110000001111100000000000101001111100110100000111101010010011000001010000000000000000100000000001010011111000011000001100110111111001111001101111110011001111100001100000001010100111110000011111100000000000101001111100001100000111101010010011000001010000000000000000100000000001010011111001011000001100110111111001111001101111110011001111100101100000001010100111110000011111100000000000101001111100101100000100011010010011000001010000000000000000100000000001010011111000111000001100110111111001111001101111110011001111100011100000000110100111110000000111100000000000101001111100011100000100011010010011000001010000000000000000100000000001010011111001111000001100110111111001111001101111110011001111100111100000000110100111110000000111100000000000101001111100111100000110011010010011000001010000000000000000100000000001010011111000000100001100110111111001111001101111110011001111100000010000000110100111110000010111100000000000101001111100000010000110011010010011000001010000000000000000100000000001010011111001000100001100110111111001111001101111110011001111100100010000000110100111110000010111100000000000101001111100100010000101011010010011000001010000000000000000100000000001010011111000100100001100110111111001111001101111110011001111100010010000000110100111110000001111100000000000101001111100010010000101011010010011000001010000000000000000100000000001010011111001100100001100110111111001111001101111110011001111100110010000000110100111110000001111100000000000101001111100110010000111011010010011000001010000000000000000100000000001010011111000010100001100110111111001111001101111110011001111100001010000000110100111110000011111100000000000101001111100001010000111011010010011000001010000000000000000100000000001010011111001010100001100110111111001111001101111110011001111100101010000000110100111110000011111100000000000101001111100101010000100111010010011000001010000000000000000100000000001010011111000110100001100110111111001111001101111110011001111100011010000001110100111110000000111100000000000101001111100011010000100111010010011000001010000000000000000100000000001010011111001110100001100110111111001111001101111110011001111100111010000001110100111110000000111100000000000101001111100111010000110111010010011000001010000000000000000100000000001010011111000001100001100110111111001111001101111110011001111100000110000001110100111110000010111100000000000101001111100000110000110111010010011000001010000000000000000100000000001010011111001001100001100110111111001111001101111110011001111100100110000001110100111110000010111100000000000101001111100100110000101111010010011000001010000000000000000100000000001010011111000101100001100110111111001111001101111110011001111100010110000001110100111110000001111100000000000101001111100010110000101111010010011000001010000000000000000100000000001010011111001101100001100110111111001111001101111110011001111100110110000001110100111110000001111100000000000101001111100110110000111111010010011000001010000000000000000100000000001010011111000011100001100110111111001111001101111110011001111100001110000001110100111110000011111100000000000101001111100001110000111111010010011000001010000000000000000100000000001010011111001011100001100110111111001111001101111110011001111100101110000001110100111110000011111100000000000101001111100101110000100000110010011000001010000000000000000100000000001010011111000111100001100110111111001111001101111110011001111100011110000000001100111110000000111100000000000101001111100011110000100000110010011000001010000000000000000100000000001010011111001111100001100110111111001111001101111110011001111100111110000000001100111110000000111100000000000101001111100111110000110000110010011000001010000000000000000100000000001010011111000000010001100110111111001111001101111110011001111100000001000000001100111110000010111100000000000101001111100000001000110000110010011000001010000000000000000100000000001010011111001000010001100110111111001111001101111110011001111100100001000000001100111110000010111100000000000101001111100100001000101000110010011000001010000000000000000100000000001010011111000100010001100110111111001111001101111110011001111100010001000000001100111110000001111100000000000101001111100010001000101000110010011000001010000000000000000100000000001010011111001100010001100110111111001111001101111110011001111100110001000000001100111110000001111100000000000101001111100110001000111000110010011000001010000000000000000100000000001010011111000010010001100110111111001111001101111110011001111100001001000000001100111110000011111100000000000101001111100001001000111000110010011000001010000000000000000100000000001010011111001010010001100110111111001111001101111110011001111100101001000000001100111110000011111100000000000101001111100101001000100100110010011000001010000000000000000100000000001010011111000110010001100110111111001111001101111110011001111100011001000001001100111110000000111100000000000101001111100011001000100100110010011000001010000000000000000100000000001010011111001110010001100110111111001111001101111110011001111100111001000001001100111110000000111100000000000101001111100111001000110100110010011000001010000000000000000100000000001010011111000001010001100110111111001111001101111110011001111100000101000001001100111110000010111100000000000101001111100000101000110100110010011000001010000000000000000100000000001010011111001001010001100110111111001111001101111110011001111100100101000001001100111110000010111100000000000101001111100100101000101100110010011000001010000000000000000100000000001010011111000101010001100110111111001111001101111110011001111100010101000001001100111110000001111100000000000101001111100010101000101100110010011000001010000000000000000100000000001010011111001101010001100110111111001111001101111110011001111100110101000001001100111110000001111100000000000101001111100110101000111100110010011000001010000000000000000100000000001010011111000011010001100110111111001111001101111110011001111100001101000001001100111110000011111100000000000101001111100001101000111100110010011000001010000000000000000100000000001010011111001011010001100110111111001111001101111110011001111100101101000001001100111110000011111100000000000101001111100101101000100010110010011000001010000000000000000100000000001010011111000111010001100110111111001111001101111110011001111100011101000000101100111110000000111100000000000101001111100011101000100010110010011000001010000000000000000100000000001010011111001111010001100110111111001111001101111110011001111100111101000000101100111110000000111100000000000101001111100111101000110010110010011000001010000000000000000100000000001010011111000000110001100110111111001111001101111110011001111100000011000000101100111110000010111100000000000101001111100000011000110010110010011000001010000000000000000100000000001010011111001000110001100110111111001111001101111110011001111100100011000000101100111110000010111100000000000101001111100100011000101010110010011000001010000000000000000100000000001010011111000100110001100110111111001111001101111110011001111100010011000000101100111110000001111100000000000101001111100010011000101010110010011000001010000000000000000100000000001001011111000000000001100110111111001111001101111110010101111100000000000000101100111110000001111100000000000100101111100000000000111010110010011000001010000000000000000100000000001001011111001000000001100110111111001111001101111110010101111100100000000000101100111110000011111100000000000100101111100100000000111010110010011000001010000000000000000100000000001001011111000100000001100110111111001111001101111110010101111100010000000000101100111110000011111100000000000100101111100010000000100110110010011000001010000000000000000100000000001001011111001100000001100110111111001111001101111110010101111100110000000001101100111110000000111100000000000100101111100110000000100110110010011000001010000000000000000100000000001001011111000010000001100110111111001111001101111110010101111100001000000001101100111110000000111100000000000100101111100001000000110110110010011000001010000000000000000100000000001001011111001010000001100110111111001111001101111110010101111100101000000001101100111110000010111100000000000100101111100101000000110110110010011000001010000000000000000100000000001001011111000110000001100110111111001111001101111110010101111100011000000001101100111110000010111100000000000100101111100011000000101110110010011000001010000000000000000100000000001001011111001110000001100110111111001111001101111110010101111100111000000001101100111110000001111100000000000100101111100111000000101110110010011000001010000000000000000100000000001001011111000001000001100110111111001111001101111110010101111100000100000001101100111110000001111100000000000100101111100000100000111110110010011000001010000000000000000100000000001001011111001001000001100110111111001111001101111110010101111100100100000001101100111110000011111100000000000100101111100100100000111110110010011000001010000000000000000100000000001001011111000101000001100110111111001111001101111110010101111100010100000001101100111110000011111100000000000100101111100010100000100001110010011000001010000000000000000100000000001001011111001101000001100110111111001111001101111110010101111100110100000000011100111110000000111100000000000100101111100110100000100001110010011000001010000000000000000100000000001001011111000011000001100110111111001111001101111110010101111100001100000000011100111110000000111100000000000100101111100001100000110001110010011000001010000000000000000100000000001001011111001011000001100110111111001111001101111110010101111100101100000000011100111110000010111100000000000100101111100101100000110001110010011000001010000000000000000100000000001001011111000111000001100110111111001111001101111110010101111100011100000000011100111110000010111100000000000100101111100011100000101001110010011000001010000000000000000100000000001001011111001111000001100110111111001111001101111110010101111100111100000000011100111110000001111100000000000100101111100111100000101001110010011000001010000000000000000100000000001001011111000000100001100110111111001111001101111110010101111100000010000000011100111110000001111100000000000100101111100000010000111001110010011000001010000000000000000100000000001001011111001000100001100110111111001111001101111110010101111100100010000000011100111110000011111100000000000100101111100100010000111001110010011000001010000000000000000100000000001001011111000100100001100110111111001111001101111110010101111100010010000000011100111110000011111100000000000100101111100010010000100101110010011000001010000000000000000100000000001001011111001100100001100110111111001111001101111110010101111100110010000001011100111110000000111100000000000100101111100110010000100101110010011000001010000000000000000100000000001001011111000010100001100110111111001111001101111110010101111100001010000001011100111110000000111100000000000100101111100001010000110101110010011000001010000000000000000100000000001001011111001010100001100110111111001111001101111110010101111100101010000001011100111110000010111100000000000100101111100101010000110101110010011000001010000000000000000100000000001001011111000110100001100110111111001111001101111110010101111100011010000001011100111110000010111100000000000100101111100011010000101101110010011000001010000000000000000100000000001001011111001110100001100110111111001111001101111110010101111100111010000001011100111110000001111100000000000100101111100111010000101101110010011000001010000000000000000100000000001001011111000001100001100110111111001111001101111110010101111100000110000001011100111110000001111100000000000100101111100000110000111101110010011000001010000000000000000100000000001001011111001001100001100110111111001111001101111110010101111100100110000001011100111110000011111100000000000100101111100100110000111101110010011000001010000000000000000100000000001001011111000101100001100110111111001111001101111110010101111100010110000001011100111110000011111100000000000100101111100010110000100011110010011000001010000000000000000100000000001001011111001101100001100110111111001111001101111110010101111100110110000000111100111110000000111100000000000100101111100110110000100011110010011000001010000000000000000100000000001001011111000011100001100110111111001111001101111110010101111100001110000000111100111110000000111100000000000100101111100001110000110011110010011000001010000000000000000100000000001001011111001011100001100110111111001111001101111110010101111100101110000000111100111110000010111100000000000100101111100101110000110011110010011000001010000000000000000100000000001001011111000111100001100110111111001111001101111110010101111100011110000000111100111110000010111100000000000100101111100011110000101011110010011000001010000000000000000100000000001001011111001111100001100110111111001111001101111110010101111100111110000000111100111110000001111100000000000100101111100111110000101011110010011000001010000000000000000100000000001001011111000000010001100110111111001111001101111110010101111100000001000000111100111110000001111100000000000100101111100000001000111011110010011000001010000000000000000100000000001001011111001000010001100110111111001111001101111110010101111100100001000000111100111110000011111100000000000100101111100100001000111011110010011000001010000000000000000100000000001001011111000100010001100110111111001111001101111110010101111100010001000000111100111110000011111100000000000100101111100010001000100111110010011000001010000000000000000100000000001001011111001100010001100110111111001111001101111110010101111100110001000001111100111110000000111100000000000100101111100110001000100111110010011000001010000000000000000100000000001001011111000010010001100110111111001111001101111110010101111100001001000001111100111110000000111100000000000100101111100001001000110111110010011000001010000000000000000100000000001001011111001010010001100110111111001111001101111110010101111100101001000001111100111110000010111100000000000100101111100101001000110111110010011000001010000000000000000100000000001001011111000110010001100110111111001111001101111110010101111100011001000001111100111110000010111100000000000100101111100011001000101111110010011000001010000000000000000100000000001001011111001110010001100110111111001111001101111110010101111100111001000001111100111110000001111100000000000100101111100111001000101111110010011000001010000000000000000100000000001001011111000001010001100110111111001111001101111110010101111100000101000001111100111110000001111100000000000100101111100000101000111111110010011000001010000000000000000100000000001001011111001001010001100110111111001111001101111110010101111100100101000001111100111110000011111100000000000100101111100100101000111111110010011000001010000000000000000100000000001001011111000101010001100110111111001111001101111110010101111100010101000001111100111110000011111100000000000100101111100010101000100000001010011000001010000000000000000100000000001001011111001101010001100110111111001111001101111110010101111100110101000000000010111110000000111100000000000100101111100110101000100000001010011000001010000000000000000100000000001001011111000011010001100110111111001111001101111110010101111100001101000000000010111110000000111100000000000100101111100001101000110000001010011000001010000000000000000100000000001001011111001011010001100110111111001111001101111110010101111100101101000000000010111110000010111100000000000100101111100101101000110000001010011000001010000000000000000100000000001001011111000111010001100110111111001111001101111110010101111100011101000000000010111110000010111100000000000100101111100011101000101000001010011000001010000000000000000100000000001001011111001111010001100110111111001111001101111110010101111100111101000000000010111110000001111100000000000100101111100111101000101000001010011000001010000000000000000100000000001001011111000000110001100110111111001111001101111110010101111100000011000000000010111110000001111100000000000100101111100000011000111000001010011000001010000000000000000100000000001001011111001000110001100110111111001111001101111110010101111100100011000000000010111110000011111100000000000100101111100100011000111000001010011000001010000000000000000100000000001001011111000100110001100110111111001111001101111110010101111100010011000000000010111110000011111100000000000100101111100010011000100100001010011000001010000000000000000100000000001011011111000000000001100110111111001111001101111110011101111100000000000001000010111110000000111100000000000101101111100000000000100100001010011000001010000000000000000100000000001011011111001000000001100110111111001111001101111110011101111100100000000001000010111110000000111100000000000101101111100100000000110100001010011000001010000000000000000100000000001011011111000100000001100110111111001111001101111110011101111100010000000001000010111110000010111100000000000101101111100010000000110100001010011000001010000000000000000100000000001011011111001100000001100110111111001111001101111110011101111100110000000001000010111110000010111100000000000101101111100110000000101100001010011000001010000000000000000100000000001011011111000010000001100110111111001111001101111110011101111100001000000001000010111110000001111100000000000101101111100001000000101100001010011000001010000000000000000100000000001011011111001010000001100110111111001111001101111110011101111100101000000001000010111110000001111100000000000101101111100101000000111100001010011000001010000000000000000100000000001011011111000110000001100110111111001111001101111110011101111100011000000001000010111110000011111100000000000101101111100011000000111100001010011000001010000000000000000100000000001011011111001110000001100110111111001111001101111110011101111100111000000001000010111110000011111100000000000101101111100111000000100010001010011000001010000000000000000100000000001011011111000001000001100110111111001111001101111110011101111100000100000000100010111110000000111100000000000101101111100000100000100010001010011000001010000000000000000100000000001011011111001001000001100110111111001111001101111110011101111100100100000000100010111110000000111100000000000101101111100100100000110010001010011000001010000000000000000100000000001011011111000101000001100110111111001111001101111110011101111100010100000000100010111110000010111100000000000101101111100010100000110010001010011000001010000000000000000100000000001011011111001101000001100110111111001111001101111110011101111100110100000000100010111110000010111100000000000101101111100110100000101010001010011000001010000000000000000100000000001011011111000011000001100110111111001111001101111110011101111100001100000000100010111110000001111100000000000101101111100001100000101010001010011000001010000000000000000100000000001011011111001011000001100110111111001111001101111110011101111100101100000000100010111110000001111100000000000101101111100101100000111010001010011000001010000000000000000100000000001011011111000111000001100110111111001111001101111110011101111100011100000000100010111110000011111100000000000101101111100011100000111010001010011000001010000000000000000100000000001011011111001111000001100110111111001111001101111110011101111100111100000000100010111110000011111100000000000101101111100111100000100110001010011000001010000000000000000100000000001011011111000000100001100110111111001111001101111110011101111100000010000001100010111110000000111100000000000101101111100000010000100110001010011000001010000000000000000100000000001011011111001000100001100110111111001111001101111110011101111100100010000001100010111110000000111100000000000101101111100100010000110110001010011000001010000000000000000100000000001011011111000100100001100110111111001111001101111110011101111100010010000001100010111110000010111100000000000101101111100010010000110110001010011000001010000000000000000100000000001011011111001100100001100110111111001111001101111110011101111100110010000001100010111110000010111100000000000101101111100110010000101110001010011000001010000000000000000100000000001011011111000010100001100110111111001111001101111110011101111100001010000001100010111110000001111100000000000101101111100001010000101110001010011000001010000000000000000100000000001011011111001010100001100110111111001111001101111110011101111100101010000001100010111110000001111100000000000101101111100101010000111110001010011000001010000000000000000100000000001011011111000110100001100110111111001111001101111110011101111100011010000001100010111110000011111100000000000101101111100011010000111110001010011000001010000000000000000100000000001011011111001110100001100110111111001111001101111110011101111100111010000001100010111110000011111100000000000101101111100111010000100001001010011000001010000000000000000100000000001011011111000001100001100110111111001111001101111110011101111100000110000000010010111110000000111100000000000101101111100000110000100001001010011000001010000000000000000100000000001011011111001001100001100110111111001111001101111110011101111100100110000000010010111110000000111100000000000101101111100100110000110001001010011000001010000000000000000100000000001011011111000101100001100110111111001111001101111110011101111100010110000000010010111110000010111100000000000101101111100010110000110001001010011000001010000000000000000100000000001011011111001101100001100110111111001111001101111110011101111100110110000000010010111110000010111100000000000101101111100110110000101001001010011000001010000000000000000100000000001011011111000011100001100110111111001111001101111110011101111100001110000000010010111110000001111100000000000101101111100001110000101001001010011000001010000000000000000100000000001011011111001011100001100110111111001111001101111110011101111100101110000000010010111110000001111100000000000101101111100101110000111001001010011000001010000000000000000100000000001011011111000111100001100110111111001111001101111110011101111100011110000000010010111110000011111100000000000101101111100011110000111001001010011000001010000000000000000100000000001011011111001111100001100110111111001111001101111110011101111100111110000000010010111110000011111100000000000101101111100111110000100101001010011000001010000000000000000100000000001011011111000000010001100110111111001111001101111110011101111100000001000001010010111110000000111100000000000101101111100000001000100101001010011000001010000000000000000100000000001011011111001000010001100110111111001111001101111110011101111100100001000001010010111110000000111100000000000101101111100100001000110101001010011000001010000000000000000100000000001011011111000100010001100110111111001111001101111110011101111100010001000001010010111110000010111100000000000101101111100010001000110101001010011000001010000000000000000100000000001011011111001100010001100110111111001111001101111110011101111100110001000001010010111110000010111100000000000101101111100110001000101101001010011000001010000000000000000100000000001011011111000010010001100110111111001111001101111110011101111100001001000001010010111110000001111100000000000101101111100001001000101101001010011000001010000000000000000100000000001011011111001010010001100110111111001111001101111110011101111100101001000001010010111110000001111100000000000101101111100101001000111101001010011000001010000000000000000100000000001011011111000110010001100110111111001111001101111110011101111100011001000001010010111110000011111100000000000101101111100011001000111101001010011000001010000000000000000100000000001011011111001110010001100110111111001111001101111110011101111100111001000001010010111110000011111100000000000101101111100111001000100011001010011000001010000000000000000100000000001011011111000001010001100110111111001111001101111110011101111100000101000000110010111110000000111100000000000101101111100000101000100011001010011000001010000000000000000100000000001011011111001001010001100110111111001111001101111110011101111100100101000000110010111110000000111100000000000101101111100100101000110011001010011000001010000000000000000100000000001011011111000101010001100110111111001111001101111110011101111100010101000000110010111110000010111100000000000101101111100010101000110011001010011000001010000000000000000100000000001011011111001101010001100110111111001111001101111110011101111100110101000000110010111110000010111100000000000101101111100110101000101011001010011000001010000000000000000100000000001011011111000011010001100110111111001111001101111110011101111100001101000000110010111110000001111100000000000101101111100001101000101011001010011000001010000000000000000100000000001011011111001011010001100110111111001111001101111110011101111100101101000000110010111110000001111100000000000101101111100101101000111011001010011000001010000000000000000100000000001011011111000111010001100110111111001111001101111110011101111100011101000000110010111110000011111100000000000101101111100011101000111011001010011000001010000000000000000100000000001011011111001111010001100110111111001111001101111110011101111100111101000000110010111110000011111100000000000101101111100111101000100111001010011000001010000000000000000100000000001011011111000000110001100110111111001111001101111110011101111100000011000001110010111110000000111100000000000101101111100000011000100111001010011000001010000000000000000100000000001011011111001000110001100110111111001111001101111110011101111100100011000001110010111110000000111100000000000101101111100100011000110111001010011000001010000000000000000100000000001011011111000100110001100110111111001111001101111110011101111100010011000001110010111110000010111100000000000101101111100010011000110111001010011000001010000000000000000100000000001000111111000000000001100110111111001111001101111110010011111100000000000001110010111110000010111100000000000100011111100000000000101111001010011000001010000000000000000100000000001000111111001000000001100110111111001111001101111110010011111100100000000001110010111110000001111100000000000100011111100100000000101111001010011000001010000000000000000100000000001000111111000100000001100110111111001111001101111110010011111100010000000001110010111110000001111100000000000100011111100010000000111111001010011000001010000000000000000100000000001000111111001100000001100110111111001111001101111110010011111100110000000001110010111110000011111100000000000100011111100110000000111111001010011000001010000000000000000100000000001000111111000010000001100110111111001111001101111110010011111100001000000001110010111110000011111100000000000100011111100001000000100000101010011000001010000000000000000100000000001000111111001010000001100110111111001111001101111110010011111100101000000000001010111110000000111100000000000100011111100101000000100000101010011000001010000000000000000100000000001000111111000110000001100110111111001111001101111110010011111100011000000000001010111110000000111100000000000100011111100011000000110000101010011000001010000000000000000100000000001000111111001110000001100110111111001111001101111110010011111100111000000000001010111110000010111100000000000100011111100111000000110000101010011000001010000000000000000100000000001000111111000001000001100110111111001111001101111110010011111100000100000000001010111110000010111100000000000100011111100000100000101000101010011000001010000000000000000100000000001000111111001001000001100110111111001111001101111110010011111100100100000000001010111110000001111100000000000100011111100100100000101000101010011000001010000000000000000100000000001000111111000101000001100110111111001111001101111110010011111100010100000000001010111110000001111100000000000100011111100010100000111000101010011000001010000000000000000100000000001000111111001101000001100110111111001111001101111110010011111100110100000000001010111110000011111100000000000100011111100110100000111000101010011000001010000000000000000100000000001000111111000011000001100110111111001111001101111110010011111100001100000000001010111110000011111100000000000100011111100001100000100100101010011000001010000000000000000100000000001000111111001011000001100110111111001111001101111110010011111100101100000001001010111110000000111100000000000100011111100101100000100100101010011000001010000000000000000100000000001000111111000111000001100110111111001111001101111110010011111100011100000001001010111110000000111100000000000100011111100011100000110100101010011000001010000000000000000100000000001000111111001111000001100110111111001111001101111110010011111100111100000001001010111110000010111100000000000100011111100111100000110100101010011000001010000000000000000100000000001000111111000000100001100110111111001111001101111110010011111100000010000001001010111110000010111100000000000100011111100000010000101100101010011000001010000000000000000100000000001000111111001000100001100110111111001111001101111110010011111100100010000001001010111110000001111100000000000100011111100100010000101100101010011000001010000000000000000100000000001000111111000100100001100110111111001111001101111110010011111100010010000001001010111110000001111100000000000100011111100010010000111100101010011000001010000000000000000100000000001000111111001100100001100110111111001111001101111110010011111100110010000001001010111110000011111100000000000100011111100110010000111100101010011000001010000000000000000100000000001000111111000010100001100110111111001111001101111110010011111100001010000001001010111110000011111100000000000100011111100001010000100010101010011000001010000000000000000100000000001000111111001010100001100110111111001111001101111110010011111100101010000000101010111110000000111100000000000100011111100101010000100010101010011000001010000000000000000100000000001000111111000110100001100110111111001111001101111110010011111100011010000000101010111110000000111100000000000100011111100011010000110010101010011000001010000000000000000100000000001000111111001110100001100110111111001111001101111110010011111100111010000000101010111110000010111100000000000100011111100111010000110010101010011000001010000000000000000100000000001000111111000001100001100110111111001111001101111110010011111100000110000000101010111110000010111100000000000100011111100000110000101010101010011000001010000000000000000100000000001000111111001001100001100110111111001111001101111110010011111100100110000000101010111110000001111100000000000100011111100100110000101010101010011000001010000000000000000100000000001000111111000101100001100110111111001111001101111110010011111100010110000000101010111110000001111100000000000100011111100010110000111010101010011000001010000000000000000100000000001000111111001101100001100110111111001111001101111110010011111100110110000000101010111110000011111100000000000100011111100110110000111010101010011000001010000000000000000100000000001000111111000011100001100110111111001111001101111110010011111100001110000000101010111110000011111100000000000100011111100001110000100110101010011000001010000000000000000100000000001000111111001011100001100110111111001111001101111110010011111100101110000001101010111110000000111100000000000100011111100101110000100110101010011000001010000000000000000100000000001000111111000111100001100110111111001111001101111110010011111100011110000001101010111110000000111100000000000100011111100011110000110110101010011000001010000000000000000100000000001000111111001111100001100110111111001111001101111110010011111100111110000001101010111110000010111100000000000100011111100111110000110110101010011000001010000000000000000100000000001000111111000000010001100110111111001111001101111110010011111100000001000001101010111110000010111100000000000100011111100000001000101110101010011000001010000000000000000100000000001000111111001000010001100110111111001111001101111110010011111100100001000001101010111110000001111100000000000100011111100100001000101110101010011000001010000000000000000100000000001000111111000100010001100110111111001111001101111110010011111100010001000001101010111110000001111100000000000100011111100010001000111110101010011000001010000000000000000100000000001000111111001100010001100110111111001111001101111110010011111100110001000001101010111110000011111100000000000100011111100110001000111110101010011000001010000000000000000100000000001000111111000010010001100110111111001111001101111110010011111100001001000001101010111110000011111100000000000100011111100001001000100001101010011000001010000000000000000100000000001000111111001010010001100110111111001111001101111110010011111100101001000000011010111110000000111100000000000100011111100101001000100001101010011000001010000000000000000100000000001000111111000110010001100110111111001111001101111110010011111100011001000000011010111110000000111100000000000100011111100011001000110001101010011000001010000000000000000100000000001000111111001110010001100110111111001111001101111110010011111100111001000000011010111110000010111100000000000100011111100111001000110001101010011000001010000000000000000100000000001000111111000001010001100110111111001111001101111110010011111100000101000000011010111110000010111100000000000100011111100000101000101001101010011000001010000000000000000100000000001000111111001001010001100110111111001111001101111110010011111100100101000000011010111110000001111100000000000100011111100100101000101001101010011000001010000000000000000100000000001000111111000101010001100110111111001111001101111110010011111100010101000000011010111110000001111100000000000100011111100010101000111001101010011000001010000000000000000100000000001000111111001101010001100110111111001111001101111110010011111100110101000000011010111110000011111100000000000100011111100110101000111001101010011000001010000000000000000100000000001000111111000011010001100110111111001111001101111110010011111100001101000000011010111110000011111100000000000100011111100001101000100101101010011000001010000000000000000100000000001000111111001011010001100110111111001111001101111110010011111100101101000001011010111110000000111100000000000100011111100101101000100101101010011000001010000000000000000100000000001000111111000111010001100110111111001111001101111110010011111100011101000001011010111110000000111100000000000100011111100011101000110101101010011000001010000000000000000100000000001000111111001111010001100110111111001111001101111110010011111100111101000001011010111110000010111100000000000100011111100111101000110101101010011000001010000000000000000100000000001000111111000000110001100110111111001111001101111110010011111100000011000001011010111110000010111100000000000100011111100000011000101101101010011000001010000000000000000100000000001000111111001000110001100110111111001111001101111110010011111100100011000001011010111110000001111100000000000100011111100100011000101101101010011000001010000000000000000100000000001000111111000100110001100110111111001111001101111110010011111100010011000001011010111110000001111100000000000100011111100010011000111101101010011000001010000000000000000100000000001010111111000000000001100110111111001111001101111110011011111100000000000001011010111110000011111100000000000101011111100000000000111101101010011000001010000000000000000100000000001010111111001000000001100110111111001111001101111110011011111100100000000001011010111110000011111100000000000101011111100100000000100011101010011000001010000000000000000100000000001010111111000100000001100110111111001111001101111110011011111100010000000000111010111110000000111100000000000101011111100010000000100011101010011000001010000000000000000100000000001010111111001100000001100110111111001111001101111110011011111100110000000000111010111110000000111100000000000101011111100110000000110011101010011000001010000000000000000100000000001010111111000010000001100110111111001111001101111110011011111100001000000000111010111110000010111100000000000101011111100001000000110011101010011000001010000000000000000100000000001010111111001010000001100110111111001111001101111110011011111100101000000000111010111110000010111100000000000101011111100101000000101011101010011000001010000000000000000100000000001010111111000110000001100110111111001111001101111110011011111100011000000000111010111110000001111100000000000101011111100011000000101011101010011000001010000000000000000100000000001010111111001110000001100110111111001111001101111110011011111100111000000000111010111110000001111100000000000101011111100111000000111011101010011000001010000000000000000100000000001010111111000001000001100110111111001111001101111110011011111100000100000000111010111110000011111100000000000101011111100000100000111011101010011000001010000000000000000100000000001010111111001001000001100110111111001111001101111110011011111100100100000000111010111110000011111100000000000101011111100100100000100111101010011000001010000000000000000100000000001010111111000101000001100110111111001111001101111110011011111100010100000001111010111110000000111100000000000101011111100010100000100111101010011000001010000000000000000100000000001010111111001101000001100110111111001111001101111110011011111100110100000001111010111110000000111100000000000101011111100110100000110111101010011000001010000000000000000100000000001010111111000011000001100110111111001111001101111110011011111100001100000001111010111110000010111100000000000101011111100001100000110111101010011000001010000000000000000100000000001010111111001011000001100110111111001111001101111110011011111100101100000001111010111110000010111100000000000101011111100101100000101111101010011000001010000000000000000100000000001010111111000111000001100110111111001111001101111110011011111100011100000001111010111110000001111100000000000101011111100011100000101111101010011000001010000000000000000100000000001010111111001111000001100110111111001111001101111110011011111100111100000001111010111110000001111100000000000101011111100111100000111111101010011000001010000000000000000100000000001010111111000000100001100110111111001111001101111110011011111100000010000001111010111110000011111100000000000101011111100000010000111111101010011000001010000000000000000100000000001010111111001000100001100110111111001111001101111110011011111100100010000001111010111110000011111100000000000101011111100100010000100000011010011000001010000000000000000100000000001010111111000100100001100110111111001111001101111110011011111100010010000000000110111110000000111100000000000101011111100010010000100000011010011000001010000000000000000100000000001010111111001100100001100110111111001111001101111110011011111100110010000000000110111110000000111100000000000101011111100110010000110000011010011000001010000000000000000100000000001010111111000010100001100110111111001111001101111110011011111100001010000000000110111110000010111100000000000101011111100001010000110000011010011000001010000000000000000100000000001010111111001010100001100110111111001111001101111110011011111100101010000000000110111110000010111100000000000101011111100101010000101000011010011000001010000000000000000100000000001010111111000110100001100110111111001111001101111110011011111100011010000000000110111110000001111100000000000101011111100011010000101000011010011000001010000000000000000100000000001010111111001110100001100110111111001111001101111110011011111100111010000000000110111110000001111100000000000101011111100111010000111000011010011000001010000000000000000100000000001010111111000001100001100110111111001111001101111110011011111100000110000000000110111110000011111100000000000101011111100000110000111000011010011000001010000000000000000100000000001010111111001001100001100110111111001111001101111110011011111100100110000000000110111110000011111100000000000101011111100100110000100100011010011000001010000000000000000100000000001010111111000101100001100110111111001111001101111110011011111100010110000001000110111110000000111100000000000101011111100010110000100100011010011000001010000000000000000100000000001010111111001101100001100110111111001111001101111110011011111100110110000001000110111110000000111100000000000101011111100110110000110100011010011000001010000000000000000100000000001010111111000011100001100110111111001111001101111110011011111100001110000001000110111110000010111100000000000101011111100001110000110100011010011000001010000000000000000100000000001010111111001011100001100110111111001111001101111110011011111100101110000001000110111110000010111100000000000101011111100101110000101100011010011000001010000000000000000100000000001010111111000111100001100110111111001111001101111110011011111100011110000001000110111110000001111100000000000101011111100011110000101100011010011000001010000000000000000100000000001010111111001111100001100110111111001111001101111110011011111100111110000001000110111110000001111100000000000101011111100111110000111100011010011000001010000000000000000100000000001010111111000000010001100110111111001111001101111110011011111100000001000001000110111110000011111100000000000101011111100000001000111100011010011000001010000000000000000100000000001010111111001000010001100110111111001111001101111110011011111100100001000001000110111110000011111100000000000101011111100100001000100010011010011000001010000000000000000100000000001010111111000100010001100110111111001111001101111110011011111100010001000000100110111110000000111100000000000101011111100010001000100010011010011000001010000000000000000100000000001010111111001100010001100110111111001111001101111110011011111100110001000000100110111110000000111100000000000101011111100110001000110010011010011000001010000000000000000100000000001010111111000010010001100110111111001111001101111110011011111100001001000000100110111110000010111100000000000101011111100001001000110010011010011000001010000000000000000100000000001010111111001010010001100110111111001111001101111110011011111100101001000000100110111110000010111100000000000101011111100101001000101010011010011000001010000000000000000100000000001010111111000110010001100110111111001111001101111110011011111100011001000000100110111110000001111100000000000101011111100011001000101010011010011000001010000000000000000100000000001010111111001110010001100110111111001111001101111110011011111100111001000000100110111110000001111100000000000101011111100111001000111010011010011000001010000000000000000100000000001010111111000001010001100110111111001111001101111110011011111100000101000000100110111110000011111100000000000101011111100000101000111010011010011000001010000000000000000100000000001010111111001001010001100110111111001111001101111110011011111100100101000000100110111110000011111100000000000101011111100100101000100110011010011000001010000000000000000100000000001010111111000101010001100110111111001111001101111110011011111100010101000001100110111110000000111100000000000101011111100010101000100110011010011000001010000000000000000100000000001010111111001101010001100110111111001111001101111110011011111100110101000001100110111110000000111100000000000101011111100110101000110110011010011000001010000000000000000100000000001010111111000011010001100110111111001111001101111110011011111100001101000001100110111110000010111100000000000101011111100001101000110110011010011000001010000000000000000100000000001010111111001011010001100110111111001111001101111110011011111100101101000001100110111110000010111100000000000101011111100101101000101110011010011000001010000000000000000100000000001010111111000111010001100110111111001111001101111110011011111100011101000001100110111110000001111100000000000101011111100011101000101110011010011000001010000000000000000100000000001010111111001111010001100110111111001111001101111110011011111100111101000001100110111110000001111100000000000101011111100111101000111110011010011000001010000000000000000100000000001010111111000000110001100110111111001111001101111110011011111100000011000001100110111110000011111100000000000101011111100000011000111110011010011000001010000000000000000100000000001010111111001000110001100110111111001111001101111110011011111100100011000001100110111110000011111100000000000101011111100100011000100001011010011000001010000000000000000100000000001010111111000100110001100110111111001111001101111110011011111100010011000000010110111110000000111100000000000101011111100010011000100001011010011000001010000000000000000100000000001001111111000000000001100110111111001111001101111110010111111100000000000000010110111110000000111100000000000100111111100000000000110001011010011000001010000000000000000100000000001001111111001000000001100110111111001111001101111110010111111100100000000000010110111110000010111100000000000100111111100100000000110001011010011000001010000000000000000100000000001001111111000100000001100110111111001111001101111110010111111100010000000000010110111110000010111100000000000100111111100010000000101001011010011000001010000000000000000100000000001001111111001100000001100110111111001111001101111110010111111100110000000000010110111110000001111100000000000100111111100110000000101001011010011000001010000000000000000100000000001001111111000010000001100110111111001111001101111110010111111100001000000000010110111110000001111100000000000100111111100001000000111001011010011000001010000000000000000100000000001001111111001010000001100110111111001111001101111110010111111100101000000000010110111110000011111100000000000100111111100101000000111001011010011000001010000000000000000100000000001001111111000110000001100110111111001111001101111110010111111100011000000000010110111110000011111100000000000100111111100011000000100101011010011000001010000000000000000100000000001001111111001110000001100110111111001111001101111110010111111100111000000001010110111110000000111100000000000100111111100111000000100101011010011000001010000000000000000100000000001001111111000001000001100110111111001111001101111110010111111100000100000001010110111110000000111100000000000100111111100000100000110101011010011000001010000000000000000100000000001001111111001001000001100110111111001111001101111110010111111100100100000001010110111110000010111100000000000100111111100100100000110101011010011000001010000000000000000100000000001001111111000101000001100110111111001111001101111110010111111100010100000001010110111110000010111100000000000100111111100010100000101101011010011000001010000000000000000100000000001001111111001101000001100110111111001111001101111110010111111100110100000001010110111110000001111100000000000100111111100110100000101101011010011000001010000000000000000100000000001001111111000011000001100110111111001111001101111110010111111100001100000001010110111110000001111100000000000100111111100001100000111101011010011000001010000000000000000100000000001001111111001011000001100110111111001111001101111110010111111100101100000001010110111110000011111100000000000100111111100101100000111101011010011000001010000000000000000100000000001001111111000111000001100110111111001111001101111110010111111100011100000001010110111110000011111100000000000100111111100011100000100011011010011000001010000000000000000100000000001001111111001111000001100110111111001111001101111110010111111100111100000000110110111110000000111100000000000100111111100111100000100011011010011000001010000000000000000100000000001001111111000000100001100110111111001111001101111110010111111100000010000000110110111110000000111100000000000100111111100000010000110011011010011000001010000000000000000100000000001001111111001000100001100110111111001111001101111110010111111100100010000000110110111110000010111100000000000100111111100100010000110011011010011000001010000000000000000100000000001001111111000100100001100110111111001111001101111110010111111100010010000000110110111110000010111100000000000100111111100010010000101011011010011000001010000000000000000100000000001001111111001100100001100110111111001111001101111110010111111100110010000000110110111110000001111100000000000100111111100110010000101011011010011000001010000000000000000100000000001001111111000010100001100110111111001111001101111110010111111100001010000000110110111110000001111100000000000100111111100001010000111011011010011000001010000000000000000100000000001001111111001010100001100110111111001111001101111110010111111100101010000000110110111110000011111100000000000100111111100101010000111011011010011000001010000000000000000100000000001001111111000110100001100110111111001111001101111110010111111100011010000000110110111110000011111100000000000100111111100011010000100111011010011000001010000000000000000100000000001001111111001110100001100110111111001111001101111110010111111100111010000001110110111110000000111100000000000100111111100111010000100111011010011000001010000000000000000100000000001001111111000001100001100110111111001111001101111110010111111100000110000001110110111110000000111100000000000100111111100000110000110111011010011000001010000000000000000100000000001001111111001001100001100110111111001111001101111110010111111100100110000001110110111110000010111100000000000100111111100100110000110111011010011000001010000000000000000100000000001001111111000101100001100110111111001111001101111110010111111100010110000001110110111110000010111100000000000100111111100010110000101111011010011000001010000000000000000100000000001001111111001101100001100110111111001111001101111110010111111100110110000001110110111110000001111100000000000100111111100110110000101111011010011000001010000000000000000100000000001001111111000011100001100110111111001111001101111110010111111100001110000001110110111110000001111100000000000100111111100001110000111111011010011000001010000000000000000100000000001001111111001011100001100110111111001111001101111110010111111100101110000001110110111110000011111100000000000100111111100101110000111111011010011000001010000000000000000100000000001001111111000111100001100110111111001111001101111110010111111100011110000001110110111110000011111100000000000100111111100011110000100000111010011000001010000000000000000100000000001001111111001111100001100110111111001111001101111110010111111100111110000000001110111110000000111100000000000100111111100111110000100000111010011000001010000000000000000100000000001001111111000000010001100110111111001111001101111110010111111100000001000000001110111110000000111100000000000100111111100000001000110000111010011000001010000000000000000100000000001001111111001000010001100110111111001111001101111110010111111100100001000000001110111110000010111100000000000100111111100100001000110000111010011000001010000000000000000100000000001001111111000100010001100110111111001111001101111110010111111100010001000000001110111110000010111100000000000100111111100010001000101000111010011000001010000000000000000100000000001001111111001100010001100110111111001111001101111110010111111100110001000000001110111110000001111100000000000100111111100110001000101000111010011000001010000000000000000100000000001001111111000010010001100110111111001111001101111110010111111100001001000000001110111110000001111100000000000100111111100001001000111000111010011000001010000000000000000100000000001001111111001010010001100110111111001111001101111110010111111100101001000000001110111110000011111100000000000100111111100101001000111000111010011000001010000000000000000100000000001001111111000110010001100110111111001111001101111110010111111100011001000000001110111110000011111100000000000100111111100011001000100100111010011000001010000000000000000100000000001001111111001110010001100110111111001111001101111110010111111100111001000001001110111110000000111100000000000100111111100111001000100100111010011000001010000000000000000100000000001001111111000001010001100110111111001111001101111110010111111100000101000001001110111110000000111100000000000100111111100000101000110100111010011000001010000000000000000100000000001001111111001001010001100110111111001111001101111110010111111100100101000001001110111110000010111100000000000100111111100100101000110100111010011000001010000000000000000100000000001001111111000101010001100110111111001111001101111110010111111100010101000001001110111110000010111100000000000100111111100010101000101100111010011000001010000000000000000100000000001001111111001101010001100110111111001111001101111110010111111100110101000001001110111110000001111100000000000100111111100110101000101100111010011000001010000000000000000100000000001001111111000011010001100110111111001111001101111110010111111100001101000001001110111110000001111100000000000100111111100001101000111100111010011000001010000000000000000100000000001001111111001011010001100110111111001111001101111110010111111100101101000001001110111110000011111100000000000100111111100101101000111100111010011000001010000000000000000100000000001001111111000111010001100110111111001111001101111110010111111100011101000001001110111110000011111100000000000100111111100011101000100010111010011000001010000000000000000100000000001001111111001111010001100110111111001111001101111110010111111100111101000000101110111110000000111100000000000100111111100111101000100010111010011000001010000000000000000100000000001001111111000000110001100110111111001111001101111110010111111100000011000000101110111110000000111100000000000100111111100000011000110010111010011000001010000000000000000100000000001001111111001000110001100110111111001111001101111110010111111100100011000000101110111110000010111100000000000100111111100100011000110010111010011000001010000000000000000100000000001001111111000100110001100110111111001111001101111110010111111100010011000000101110111110000010111100000000000100111111100010011000101010111010011000001010000000000000000100000000001011111111000000000001100110111111001111001101111110011111111100000000000000101110111110000001111100000000000101111111100000000000101010111010011000001010000000000000000100000000001011111111001000000001100110111111001111001101111110011111111100100000000000101110111110000001111100000000000101111111100100000000111010111010011000001010000000000000000100000000001011111111000100000001100110111111001111001101111110011111111100010000000000101110111110000011111100000000000101111111100010000000111010111010011000001010000000000000000100000000001011111111001100000001100110111111001111001101111110011111111100110000000000101110111110000011111100000000000101111111100110000000100110111010011000001010000000000000000100000000001011111111000010000001100110111111001111001101111110011111111100001000000001101110111110000000111100000000000101111111100001000000100110111010011000001010000000000000000100000000001011111111001010000001100110111111001111001101111110011111111100101000000001101110111110000000111100000000000101111111100101000000110110111010011000001010000000000000000100000000001011111111000110000001100110111111001111001101111110011111111100011000000001101110111110000010111100000000000101111111100011000000110110111010011000001010000000000000000100000000001011111111001110000001100110111111001111001101111110011111111100111000000001101110111110000010111100000000000101111111100111000000101110111010011000001010000000000000000100000000001011111111000001000001100110111111001111001101111110011111111100000100000001101110111110000001111100000000000101111111100000100000101110111010011000001010000000000000000100000000001011111111001001000001100110111111001111001101111110011111111100100100000001101110111110000001111100000000000101111111100100100000111110111010011000001010000000000000000100000000001011111111000101000001100110111111001111001101111110011111111100010100000001101110111110000011111100000000000101111111100010100000111110111010011000001010000000000000000100000000001011111111001101000001100110111111001111001101111110011111111100110100000001101110111110000011111100000000000101111111100110100000100001111010011000001010000000000000000100000000001011111111000011000001100110111111001111001101111110011111111100001100000000011110111110000000111100000000000101111111100001100000100001111010011000001010000000000000000100000000001011111111001011000001100110111111001111001101111110011111111100101100000000011110111110000000111100000000000101111111100101100000110001111010011000001010000000000000000100000000001011111111000111000001100110111111001111001101111110011111111100011100000000011110111110000010111100000000000101111111100011100000110001111010011000001010000000000000000100000000001011111111001111000001100110111111001111001101111110011111111100111100000000011110111110000010111100000000000101111111100111100000101001111010011000001010000000000000000100000000001011111111000000100001100110111111001111001101111110011111111100000010000000011110111110000001111100000000000101111111100000010000101001111010011000001010000000000000000100000000001011111111001000100001100110111111001111001101111110011111111100100010000000011110111110000001111100000000000101111111100100010000111001111010011000001010000000000000000100000000001011111111000100100001100110111111001111001101111110011111111100010010000000011110111110000011111100000000000101111111100010010000111001111010011000001010000000000000000100000000001011111111001100100001100110111111001111001101111110011111111100110010000000011110111110000011111100000000000101111111100110010000100101111010011000001010000000000000000100000000001011111111000010100001100110111111001111001101111110011111111100001010000001011110111110000000111100000000000101111111100001010000100101111010011000001010000000000000000100000000001011111111001010100001100110111111001111001101111110011111111100101010000001011110111110000000111100000000000101111111100101010000110101111010011000001010000000000000000100000000001011111111000110100001100110111111001111001101111110011111111100011010000001011110111110000010111100000000000101111111100011010000110101111010011000001010000000000000000100000000001011111111001110100001100110111111001111001101111110011111111100111010000001011110111110000010111100000000000101111111100111010000101101111010011000001010000000000000000100000000001011111111000001100001100110111111001111001101111110011111111100000110000001011110111110000001111100000000000101111111100000110000101101111010011000001010000000000000000100000000001011111111001001100001100110111111001111001101111110011111111100100110000001011110111110000001111100000000000101111111100100110000111101111010011000001010000000000000000100000000001011111111000101100001100110111111001111001101111110011111111100010110000001011110111110000011111100000000000101111111100010110000111101111010011000001010000000000000000100000000001011111111001101100001100110111111001111001101111110011111111100110110000001011110111110000011111100000000000101111111100110110000100011111010011000001010000000000000000100000000001011111111000011100001100110111111001111001101111110011111111100001110000000111110111110000000111100000000000101111111100001110000100011111010011000001010000000000000000100000000001011111111001011100001100110111111001111001101111110011111111100101110000000111110111110000000111100000000000101111111100101110000110011111010011000001010000000000000000100000000001011111111000111100001100110111111001111001101111110011111111100011110000000111110111110000010111100000000000101111111100011110000110011111010011000001010000000000000000100000000001011111111001111100001100110111111001111001101111110011111111100111110000000111110111110000010111100000000000101111111100111110000101011111010011000001010000000000000000100000000001011111111000000010001100110111111001111001101111110011111111100000001000000111110111110000001111100000000000101111111100000001000101011111010011000001010000000000000000100000000001011111111001000010001100110111111001111001101111110011111111100100001000000111110111110000001111100000000000101111111100100001000111011111010011000001010000000000000000100000000001011111111000100010001100110111111001111001101111110011111111100010001000000111110111110000011111100000000000101111111100010001000111011111010011000001010000000000000000100000000001011111111001100010001100110111111001111001101111110011111111100110001000000111110111110000011111100000000000101111111100110001000100111111010011000001010000000000000000100000000001011111111000010010001100110111111001111001101111110011111111100001001000001111110111110000000111100000000000101111111100001001000100111111010011000001010000000000000000100000000001011111111001010010001100110111111001111001101111110011111111100101001000001111110111110000000111100000000000101111111100101001000110111111010011000001010000000000000000100000000001011111111000110010001100110111111001111001101111110011111111100011001000001111110111110000010111100000000000101111111100011001000110111111010011000001010000000000000000100000000001011111111001110010001100110111111001111001101111110011111111100111001000001111110111110000010111100000000000101111111100111001000101111111010011000001010000000000000000100000000001011111111000001010001100110111111001111001101111110011111111100000101000001111110111110000001111100000000000101111111100000101000101111111010011000001010000000000000000100000000001011111111001001010001100110111111001111001101111110011111111100100101000001111110111110000001111100000000000101111111100100101000111111111010011000001010000000000000000100000000001011111111000101010001100110111111001111001101111110011111111100010101000001111110111110000011111100000000000101111111100010101000111111111010011000001010000000000000000100000000001011111111001101010001100110111111001111001101111110011111111100110101000001111110111110000011111100000000000101111111100110101000100000000110011000001010000000000000000100000000001011111111000011010001100110111111001111001101111110011111111100001101000000000001111110000000111100000000000101111111100001101000100000000110011000001010000000000000000100000000001011111111001011010001100110111111001111001101111110011111111100101101000000000001111110000000111100000000000101111111100101101000110000000110011000001010000000000000000100000000001011111111000111010001100110111111001111001101111110011111111100011101000000000001111110000010111100000000000101111111100011101000110000000110011000001010000000000000000100000000001011111111001111010001100110111111001111001101111110011111111100111101000000000001111110000010111100000000000101111111100111101000101000000110011000001010000000000000000100000000001011111111000000110001100110111111001111001101111110011111111100000011000000000001111110000001111100000000000101111111100000011000101000000110011000001010000000000000000100000000001011111111001000110001100110111111001111001101111110011111111100100011000000000001111110000001111100000000000101111111100100011000111000000110011000001010000000000000000100000000001011111111000100110001100110111111001111001101111110011111111100010011000000000001111110000011111100000000000101111111100010011000111000000110011000001010000000000000000100000000001000000000100000000001100110111111001111001101111110010000000010000000000000000001111110000011111100000000000100000000010000000000100100000110011000001010000000000000000100000000001000000000101000000001100110111111001111001101111110010000000010100000000001000001111110000000111100000000000100000000010100000000100100000110011000001010000000000000000100000000001000000000100100000001100110111111001111001101111110010000000010010000000001000001111110000000111100000000000100000000010010000000110100000110011000001010000000000000000100000000001000000000101100000001100110111111001111001101111110010000000010110000000001000001111110000010111100000000000100000000010110000000110100000110011000001010000000000000000100000000001000000000100010000001100110111111001111001101111110010000000010001000000001000001111110000010111100000000000100000000010001000000101100000110011000001010000000000000000100000000001000000000101010000001100110111111001111001101111110010000000010101000000001000001111110000001111100000000000100000000010101000000101100000110011000001010000000000000000100000000001000000000100110000001100110111111001111001101111110010000000010011000000001000001111110000001111100000000000100000000010011000000111100000110011000001010000000000000000100000000001000000000101110000001100110111111001111001101111110010000000010111000000001000001111110000011111100000000000100000000010111000000111100000110011000001010000000000000000100000000001000000000100001000001100110111111001111001101111110010000000010000100000001000001111110000011111100000000000100000000010000100000100010000110011000001010000000000000000100000000001000000000101001000001100110111111001111001101111110010000000010100100000000100001111110000000111100000000000100000000010100100000100010000110011000001010000000000000000100000000001000000000100101000001100110111111001111001101111110010000000010010100000000100001111110000000111100000000000100000000010010100000110010000110011000001010000000000000000100000000001000000000101101000001100110111111001111001101111110010000000010110100000000100001111110000010111100000000000100000000010110100000110010000110011000001010000000000000000100000000001000000000100011000001100110111111001111001101111110010000000010001100000000100001111110000010111100000000000100000000010001100000101010000110011000001010000000000000000100000000001000000000101011000001100110111111001111001101111110010000000010101100000000100001111110000001111100000000000100000000010101100000101010000110011000001010000000000000000100000000001000000000100111000001100110111111001111001101111110010000000010011100000000100001111110000001111100000000000100000000010011100000111010000110011000001010000000000000000100000000001000000000101111000001100110111111001111001101111110010000000010111100000000100001111110000011111100000000000100000000010111100000111010000110011000001010000000000000000100000000001000000000100000100001100110111111001111001101111110010000000010000010000000100001111110000011111100000000000100000000010000010000100110000110011000001010000000000000000100000000001000000000101000100001100110111111001111001101111110010000000010100010000001100001111110000000111100000000000100000000010100010000100110000110011000001010000000000000000100000000001000000000100100100001100110111111001111001101111110010000000010010010000001100001111110000000111100000000000100000000010010010000110110000110011000001010000000000000000100000000001000000000101100100001100110111111001111001101111110010000000010110010000001100001111110000010111100000000000100000000010110010000110110000110011000001010000000000000000100000000001000000000100010100001100110111111001111001101111110010000000010001010000001100001111110000010111100000000000100000000010001010000101110000110011000001010000000000000000100000000001000000000101010100001100110111111001111001101111110010000000010101010000001100001111110000001111100000000000100000000010101010000101110000110011000001010000000000000000100000000001000000000100110100001100110111111001111001101111110010000000010011010000001100001111110000001111100000000000100000000010011010000111110000110011000001010000000000000000100000000001000000000101110100001100110111111001111001101111110010000000010111010000001100001111110000011111100000000000100000000010111010000111110000110011000001010000000000000000100000000001000000000100001100001100110111111001111001101111110010000000010000110000001100001111110000011111100000000000100000000010000110000100001000110011000001010000000000000000100000000001000000000101001100001100110111111001111001101111110010000000010100110000000010001111110000000111100000000000100000000010100110000100001000110011000001010000000000000000100000000001000000000100101100001100110111111001111001101111110010000000010010110000000010001111110000000111100000000000100000000010010110000110001000110011000001010000000000000000100000000001000000000101101100001100110111111001111001101111110010000000010110110000000010001111110000010111100000000000100000000010110110000110001000110011000001010000000000000000100000000001000000000100011100001100110111111001111001101111110010000000010001110000000010001111110000010111100000000000100000000010001110000101001000110011000001010000000000000000100000000001000000000101011100001100110111111001111001101111110010000000010101110000000010001111110000001111100000000000100000000010101110000101001000110011000001010000000000000000100000000001000000000100111100001100110111111001111001101111110010000000010011110000000010001111110000001111100000000000100000000010011110000111001000110011000001010000000000000000100000000001000000000101111100001100110111111001111001101111110010000000010111110000000010001111110000011111100000000000100000000010111110000111001000110011000001010000000000000000100000000001000000000100000010001100110111111001111001101111110010000000010000001000000010001111110000011111100000000000100000000010000001000100101000110011000001010000000000000000100000000001000000000101000010001100110111111001111001101111110010000000010100001000001010001111110000000111100000000000100000000010100001000100101000110011000001010000000000000000100000000001000000000100100010001100110111111001111001101111110010000000010010001000001010001111110000000111100000000000100000000010010001000110101000110011000001010000000000000000100000000001000000000101100010001100110111111001111001101111110010000000010110001000001010001111110000010111100000000000100000000010110001000110101000110011000001010000000000000000100000000001000000000100010010001100110111111001111001101111110010000000010001001000001010001111110000010111100000000000100000000010001001000101101000110011000001010000000000000000100000000001000000000101010010001100110111111001111001101111110010000000010101001000001010001111110000001111100000000000100000000010101001000101101000110011000001010000000000000000100000000001000000000100110010001100110111111001111001101111110010000000010011001000001010001111110000001111100000000000100000000010011001000111101000110011000001010000000000000000100000000001000000000101110010001100110111111001111001101111110010000000010111001000001010001111110000011111100000000000100000000010111001000111101000110011000001010000000000000000100000000001000000000100001010001100110111111001111001101111110010000000010000101000001010001111110000011111100000000000100000000010000101000100011000110011000001010000000000000000100000000001000000000101001010001100110111111001111001101111110010000000010100101000000110001111110000000111100000000000100000000010100101000100011000110011000001010000000000000000100000000001000000000100101010001100110111111001111001101111110010000000010010101000000110001111110000000111100000000000100000000010010101000110011000110011000001010000000000000000100000000001000000000101101010001100110111111001111001101111110010000000010110101000000110001111110000010111100000000000100000000010110101000110011000110011000001010000000000000000100000000001000000000100011010001100110111111001111001101111110010000000010001101000000110001111110000010111100000000000100000000010001101000101011000110011000001010000000000000000100000000001000000000101011010001100110111111001111001101111110010000000010101101000000110001111110000001111100000000000100000000010101101000101011000110011000001010000000000000000100000000001000000000100111010001100110111111001111001101111110010000000010011101000000110001111110000001111100000000000100000000010011101000111011000110011000001010000000000000000100000000001000000000101111010001100110111111001111001101111110010000000010111101000000110001111110000011111100000000000100000000010111101000111011000110011000001010000000000000000100000000001000000000100000110001100110111111001111001101111110010000000010000011000000110001111110000011111100000000000100000000010000011000100111000110011000001010000000000000000100000000001000000000101000110001100110111111001111001101111110010000000010100011000001110001111110000000111100000000000100000000010100011000100111000110011000001010000000000000000100000000001000000000100100110001100110111111001111001101111110010000000010010011000001110001111110000000111100000000000100000000010010011000110111000110011000001010000000000000000100000000001010000000100000000001100110111111001111001101111110011000000010000000000001110001111110000010111100000000000101000000010000000000110111000110011000001010000000000000000100000000001010000000101000000001100110111111001111001101111110011000000010100000000001110001111110000010111100000000000101000000010100000000101111000110011000001010000000000000000100000000001010000000100100000001100110111111001111001101111110011000000010010000000001110001111110000001111100000000000101000000010010000000101111000110011000001010000000000000000100000000001010000000101100000001100110111111001111001101111110011000000010110000000001110001111110000001111100000000000101000000010110000000111111000110011000001010000000000000000100000000001010000000100010000001100110111111001111001101111110011000000010001000000001110001111110000011111100000000000101000000010001000000111111000110011000001010000000000000000100000000001010000000101010000001100110111111001111001101111110011000000010101000000001110001111110000011111100000000000101000000010101000000100000000000000000001010000000000000000100000000001000000000110000000001011010100000010111001101111110011000000010011000000000000000011000000000111100000000000101000000010011000000100000000000000000001010000000000000000000000000001010000000101110000001100110111111001011001101111110011000000010111000000000000000011000000000101001010000001001000000010111000000110000000000000000001010000000000000000000000000001000000000110000000101101010001011101011001101111110011000000010111000000000000000011000000010101001010000001001000000010111000000110000000000000000001010000000000000000000000000001010000000100001000001100110111111001011001101111110011000000010000100000000000000011000000010110101000101110101000000010000100000101000000000000000001010000000000000000000000000001000000000110000000011101111111110100011001101111110011000000010000100000000000000011000000001110101000101110101000000010000100000101000000000000000001010000000000000000000000000001010000000101001000001100110111111001011001101111110011000000010100100000000000000011000000001110111111111010001000000010100100000111000000000000000001010000000000000000000000000001000000000110000000111100010101000100011001101111110011000000010100100000000000000011000000011110111111111010001000000010100100000111000000000000000001010000000000000000000000000001010000000100101000001100110111111001011001101111110011000000010010100000000000000011000000011110001010100010001000000010010100000100100000000000000001010000000000000000000000000001010000000110000000000010000101000101011001101111110011000000010010100000001000000011000000000110001010100010001000000010010100000100100000000000000001010000000000000000000000000001010000000101101000001100110111111001011001101111110011000000010110100000001000000011000000000001000010100010101000000010110100000110100000000000000001010000000000000000000000000001010000000110000000101001011101101011011001101111110011000000010110100000001000000011000000010001000010100010101000000010110100000110100000000000000001010000000000000000000000000001010000000100011000001100110111111001011001101111110011000000010001100000001000000011000000010100101110110101101000000010001100000101100000000000000001010000000000000000000000000001010000000110000000010100001111011010011001101111110011000000010001100000001000000011000000001100101110110101101000000010001100000101100000000000000001010000000000000000000000000001010000000101011000001100110111111001011001101111110011000000010101100000001000000011000000001010000111101101001000000010101100000111100000000000000001010000000000000000000000000001010000000110000000111111101011000100011001101111110011000000010101100000001000000011000000011010000111101101001000000010101100000111100000000000000001010000000000000000000000000001010000000100111000001100110111111001011001101111110011000000010011100000001000000011000000011111110101100010001000000010011100000100010000000000000001010000000000000000000000000001001000000110000000000001101101001111011001101111110011000000010011100000000100000011000000000111110101100010001000000010011100000100010000000000000001010000000000000000000000000001010000000101111000001100110111111001011001101111110011000000010111100000000100000011000000000000110110100111101000000010111100000110010000000000000001010000000000000000000000000001001000000110000000100000010110101010011001101111110011000000010111100000000100000011000000010000110110100111101000000010111100000110010000000000000001010000000000000000000000000001010000000100000100001100110111111001011001101111110011000000010000010000000100000011000000010000001011010101001000000010000010000101010000000000000001010000000000000000000000000001001000000110000000011110111100111001011001101111110011000000010000010000000100000011000000001000001011010101001000000010000010000101010000000000000001010000000000000000000000000001010000000101000100001100110111111001011001101111110011000000010100010000000100000011000000001111011110011100101000000010100010000111010000000000000001010000000000000000000000000001001000000110000000111011011010010010011001101111110011000000010100010000000100000011000000011111011110011100101000000010100010000111010000000000000001010000000000000000000000000001010000000100100100001100110111111001011001101111110011000000010010010000000100000011000000011101101101001001001000000010010010000100110000000000000001010000000000000000000000000001011000000110000000001101000111000101011001101111110011000000010010010000001100000011000000000101101101001001001000000010010010000100110000000000000001010000000000000000000000000001010000000101100100001100110111111001011001101111110011000000010110010000001100000011000000000110100011100010101000000010110010000110110000000000000001010000000000000000000000000001011000000110000000100110110011110100011001101111110011000000010110010000001100000011000000010110100011100010101000000010110010000110110000000000000001010000000000000000000000000001010000000100010100001100110111111001011001101111110011000000010001010000001100000011000000010011011001111010001000000010001010000101110000000000000001010000000000000000000000000001011000000110000000010001001110010101011001101111110011000000010001010000001100000011000000001011011001111010001000000010001010000101110000000000000001010000000000000000000000000001010000000101010100001100110111111001011001101111110011000000010101010000001100000011000000001000100111001010101000000010101010000111110000000000000001010000000000000000000000000001011000000110000000110010000001011111011001101111110011000000010101010000001100000011000000011000100111001010101000000010101010000111110000000000000001010000000000000000000000000001010000000100110100001100110111111001011001101111110011000000010011010000001100000011000000011001000000101111101000000010011010000100001000000000000001010000000000000000000000000001000100000110000000000000111100000000011001101111110011000000010011010000000010000011000000000001000000101111101000000010011010000100001000000000000001010000000000000000000000000001010000000101110100001100110111111001011001101111110011000000010111010000000010000011000000000000011110000000001000000010111010000110001000000000000001010000000000000000000000000001000100000110000000100111100000111100011001101111110011000000010111010000000010000011000000010000011110000000001000000010111010000110001000000000000001010000000000000000000000000001010000000100001100001100110111111001011001101111110011000000010000110000000010000011000000010011110000011110001000000010000110000101001000000000000001010000000000000000000000000001000100000110000000011110111001111001011001101111110011000000010000110000000010000011000000001011110000011110001000000010000110000101001000000000000001010000000000000000000000000001010000000101001100001100110111111001011001101111110011000000010100110000000010000011000000001111011100111100101000000010100110000111001000000000000001010000000000000000000000000001000100000110000000111011110010100000011001101111110011000000010100110000000010000011000000011111011100111100101000000010100110000111001000000000000001010000000000000000000000000001010000000100101100001100110111111001011001101111110011000000010010110000000010000011000000011101111001010000001000000010010110000100101000000000000001010000000000000000000000000001100101000000000000000100001100100000011001101111110011000000010010110000010010100000000000000101111001010000001000000010010110000100101000000000000001110000000000000000000000000001010000000101101100001100110111111001011001101111110011000000010110110000010010100000000000000011000110010011001000000010110110000110101000000000000001110000000000000000000000000001110101000000000000001100110111111001011001101111110011000000010110110000011010100000000000000011000110010011001000000010110110000110101000000000000001111000100111001101000010001001010000000100011100001100110111111001011001101111110011000000010001110000011010100000000000000110011011111100101000000010001110000101101000000000000001111000100111001101000010001001101101000000000000001100110111111001011001101111110011000000010001110000010110100000000000000110011011111100101000000010001110000101101000000000000001111111111100110011001100110001010000000101011100001100110111111001011001101111110011000000010101110000010110100000000000000110011011111100101000000010101110000111101000000000000001111111111100110011001100110001111101000000000000001100110111111001011001101111110011000000010101110000011110100000000000000110011011111100101000000010101110000111101000000000000001111111111100110011001100110001010000000100111100001100110111111001011001101111110011000000010011110000011110100000000000000110011011111100101000000010011110000100011000000000000001111111111100110011001100110001100011000000000000001100110111111001011001101111110011000000010011110000010001100000000000000110011011111100101000000010011110000100011000000000000001111111111100110011001100110001010000000101111100001100110111111001011001101111110011000000010111110000010001100000000000000110011011111100101000000010111110000110011000000000000001111111111100110011001100110001110011000000000000001100110111111001011001101111110011000000010111110000011001100000000000000110011011111100101000000010111110000110011000000000000001111111111100110011001100110001010000000100000010001100110111111001011001101111110011000000010000001000011001100000000000000110011011111100101000000010000001000101011000000000000001111111111100110011001100110001101011000000000000001100110111111001011001101111110011000000010000001000010101100000000000000110011011111100101000000010000001000101011000000000000001111111111100110011001100110001010000000101000010001100110111111001011001101111110011000000010100001000010101100000000000000110011011111100101000000010100001000111011000000000000001111111111100110011001100110001111011000000000000001100110111111001011001101111110011000000010100001000011101100000000000000110011011111100101000000010100001000111011000000000000001111111111100110011001100110001010000000100100010001100110111111001011001101111110011000000010010001000011101100000000000000110011011111100101000000010010001000100111000000000000001111111111100110011001100110001100111000000000000001100110111111001011001101111110011000000010010001000010011100000000000000110011011111100101000000010010001000100111000000000000001111111111100110011001100110001010000000101100010001100110111111001011001101111110011000000010110001000010011100000000000000110011011111100101000000010110001000110111000000000000001111111111100110011001100110001110111000000000000001100110111111001011001101111110011000000010110001000011011100000000000000110011011111100101000000010110001000110111000000000000001111111111100110011001100110001010000000100010010001100110111111001011001101111110011000000010001001000011011100000000000000110011011111100101000000010001001000101111000000000000001111111111100110011001100110001101111000000000000001100110111111001011001101111110011000000010001001000010111100000000000000110011011111100101000000010001001000101111000000000000001111111111100110011001100110001010000000101010010001100110111111001011001101111110011000000010101001000010111100000000000000110011011111100101000000010101001000111111000000000000001111111111100110011001100110001111111000000000000001100110111111001011001101111110011000000010101001000011111100000000000000110011011111100101000000010101001000111111000000000000001111111111100110011001100110001010000000100110010001100110111111001011001101111110011000000010011001000011111100000000000000110011011111100101000000010011001000100000100000000000001111111111100110011001100110001100000100000000000001100110111111001011001101111110011000000010011001000010000010000000000000110011011111100101000000010011001000100000100000000000001111111111100110011001100110001010000000101110010001100110111111001011001101111110011000000010111001000010000010000000000000110011011111100101000000010111001000110000100000000000001111111111100110011001100110001110000100000000000001100110111111001011001101111110011000000010111001000011000010000000000000110011011111100101000000010111001000110000100000000000001111111111100110011001100110001010000000100001010001100110111111001011001101111110011000000010000101000011000010000000000000110011011111100101000000010000101000101000100000000000001111111111100110011001100110001101000100000000000001100110111111001011001101111110011000000010000101000010100010000000000000110011011111100101000000010000101000101000100000000000001111111111100110011001100110001010000000101001010001100110111111001011001101111110011000000010100101000010100010000000000000110011011111100101000000010100101000111000100000000000001111111111100110011001100110001111000100000000000001100110111111001011001101111110011000000010100101000011100010000000000000110011011111100101000000010100101000111000100000000000001111111111100110011001100110001010000000100101010001100110111111001011001101111110011000000010010101000011100010000000000000110011011111100101000000010010101000100100100000000000001111111111100110011001100110001100100100000000000001100110111111001011001101111110011000000010010101000010010010000000000000110011011111100101000000010010101000100100100000000000001111111111100110011001100110001010000000101101010001100110111111001011001101111110011000000010110101000010010010000000000000110011011111100101000000010110101000110100100000000000001111111111100110011001100110001110100100000000000001100110111111001011001101111110011000000010110101000011010010000000000000110011011111100101000000010110101000110100100000000000001111111111100110011001100110001010000000100011010001100110111111001011001101111110011000000010001101000011010010000000000000110011011111100101000000010001101000101100100000000000001111111111100110011001100110001101100100000000000001100110111111001011001101111110011000000010001101000010110010000000000000110011011111100101000000010001101000101100100000000000001111111111100110011001100110001010000000101011010001100110111111001011001101111110011000000010101101000010110010000000000000110011011111100101000000010101101000111100100000000000001111111111100110011001100110001111100100000000000001100110111111001011001101111110011000000010101101000011110010000000000000110011011111100101000000010101101000111100100000000000001111111111100110011001100110001010000000100111010001100110111111001011001101111110011000000010011101000011110010000000000000110011011111100101000000010011101000100010100000000000001111111111100110011001100110001100010100000000000001100110111111001011001101111110011000000010011101000010001010000000000000110011011111100101000000010011101000100010100000000000001111111111100110011001100110001010000000101111010001100110111111001011001101111110011000000010111101000010001010000000000000110011011111100101000000010111101000110010100000000000001111111111100110011001100110001110010100000000000001100110111111001011001101111110011000000010111101000011001010000000000000110011011111100101000000010111101000110010100000000000001111111111100110011001100110001010000000100000110001100110111111001011001101111110011000000010000011000011001010000000000000110011011111100101000000010000011000101010100000000000001111111111100110011001100110001101010100000000000001100110111111001011001101111110011000000010000011000010101010000000000000110011011111100101000000010000011000101010100000000000001111111111100110011001100110001010000000101000110001100110111111001011001101111110011000000010100011000010101010000000000000110011011111100101000000010100011000111010100000000000001111111111100110011001100110001111010100000000000001100110111111001011001101111110011000000010100011000011101010000000000000110011011111100101000000010100011000111010100000000000001111111111100110011001100110001010000000100100110001100110111111001011001101111110011000000010010011000011101010000000000000110011011111100101000000010010011000100110100000000000001111111111100110011001100110001100110100000000000001100110111111001011001101111110011000000010010011000010011010000000000000110011011111100101000000010010011000100110100000000000001111111111100110011001100110001001000000100000000001100110111111001011001101111110010100000010000000000010011010000000000000110011011111100100100000010000000000110110100000000000001111111111100110011001100110001110110100000000000001100110111111001011001101111110010100000010000000000011011010000000000000110011011111100100100000010000000000110110100000000000001111111111100110011001100110001001000000101000000001100110111111001011001101111110010100000010100000000011011010000000000000110011011111100100100000010100000000101110100000000000001111111111100110011001100110001101110100000000000001100110111111001011001101111110010100000010100000000010111010000000000000110011011111100100100000010100000000101110100000000000001111111111100110011001100110001001000000100100000001100110111111001011001101111110010100000010010000000010111010000000000000110011011111100100100000010010000000111110100000000000001111111111100110011001100110001111110100000000000001100110111111001011001101111110010100000010010000000011111010000000000000110011011111100100100000010010000000111110100000000000001111111111100110011001100110001001000000101100000001100110111111001011001101111110010100000010110000000011111010000000000000110011011111100100100000010110000000100001100000000000001111111111100110011001100110001100001100000000000001100110111111001011001101111110010100000010110000000010000110000000000000110011011111100100100000010110000000100001100000000000001111111111100110011001100110001001000000100010000001100110111111001011001101111110010100000010001000000010000110000000000000110011011111100100100000010001000000110001100000000000001111111111100110011001100110001110001100000000000001100110111111001011001101111110010100000010001000000011000110000000000000110011011111100100100000010001000000110001100000000000001111111111100110011001100110001001000000101010000001100110111111001011001101111110010100000010101000000011000110000000000000110011011111100100100000010101000000101001100000000000001111111111100110011001100110001101001100000000000001100110111111001011001101111110010100000010101000000010100110000000000000110011011111100100100000010101000000101001100000000000001111111111100110011001100110001001000000100110000001100110111111001011001101111110010100000010011000000010100110000000000000110011011111100100100000010011000000111001100000000000001111111111100110011001100110001111001100000000000001100110111111001011001101111110010100000010011000000011100110000000000000110011011111100100100000010011000000111001100000000000001111111111100110011001100110001001000000101110000001100110111111001011001101111110010100000010111000000011100110000000000000110011011111100100100000010111000000100101100000000000001111111111100110011001100110001100101100000000000001100110111111001011001101111110010100000010111000000010010110000000000000110011011111100100100000010111000000100101100000000000001111111111100110011001100110001001000000100001000001100110111111001011001101111110010100000010000100000010010110000000000000110011011111100100100000010000100000110101100000000000001111111111100110011001100110001110101100000000000001100110111111001011001101111110010100000010000100000011010110000000000000110011011111100100100000010000100000110101100000000000001111111111100110011001100110001001000000101001000001100110111111001011001101111110010100000010100100000011010110000000000000110011011111100100100000010100100000101101100000000000001111111111100110011001100110001101101100000000000001100110111111001011001101111110010100000010100100000010110110000000000000110011011111100100100000010100100000101101100000000000001111111111100110011001100110001001000000100101000001100110111111001011001101111110010100000010010100000010110110000000000000110011011111100100100000010010100000111101100000000000001111111111100110011001100110001111101100000000000001100110111111001011001101111110010100000010010100000011110110000000000000110011011111100100100000010010100000111101100000000000001111111111100110011001100110001001000000101101000001100110111111001011001101111110010100000010110100000011110110000000000000110011011111100100100000010110100000100011100000000000001111111111100110011001100110001100011100000000000001100110111111001011001101111110010100000010110100000010001110000000000000110011011111100100100000010110100000100011100000000000001111111111100110011001100110001001000000100011000001100110111111001011001101111110010100000010001100000010001110000000000000110011011111100100100000010001100000110011100000000000001111111111100110011001100110001110011100000000000001100110111111001011001101111110010100000010001100000011001110000000000000110011011111100100100000010001100000110011100000000000001111111111100110011001100110001001000000101011000001100110111111001011001101111110010100000010101100000011001110000000000000110011011111100100100000010101100000101011100000000000001111111111100110011001100110001101011100000000000001100110111111001011001101111110010100000010101100000010101110000000000000110011011111100100100000010101100000101011100000000000001111111111100110011001100110001001000000100111000001100110111111001011001101111110010100000010011100000010101110000000000000110011011111100100100000010011100000111011100000000000001111111111100110011001100110001111011100000000000001100110111111001011001101111110010100000010011100000011101110000000000000110011011111100100100000010011100000111011100000000000001111111111100110011001100110001001000000101111000001100110111111001011001101111110010100000010111100000011101110000000000000110011011111100100100000010111100000100111100000000000001111111111100110011001100110001100111100000000000001100110111111001011001101111110010100000010111100000010011110000000000000110011011111100100100000010111100000100111100000000000001111111111100110011001100110001001000000100000100001100110111111001011001101111110010100000010000010000010011110000000000000110011011111100100100000010000010000110111100000000000001111111111100110011001100110001110111100000000000001100110111111001011001101111110010100000010000010000011011110000000000000110011011111100100100000010000010000110111100000000000001111111111100110011001100110001001000000101000100001100110111111001011001101111110010100000010100010000011011110000000000000110011011111100100100000010100010000101111100000000000001111111111100110011001100110001101111100000000000001100110111111001011001101111110010100000010100010000010111110000000000000110011011111100100100000010100010000101111100000000000001111111111100110011001100110001001000000100100100001100110111111001011001101111110010100000010010010000010111110000000000000110011011111100100100000010010010000111111100000000000001111111111100110011001100110001111111100000000000001100110111111001011001101111110010100000010010010000011111110000000000000110011011111100100100000010010010000111111100000000000001111111111100110011001100110001001000000101100100001100110111111001011001101111110010100000010110010000011111110000000000000110011011111100100100000010110010000100000010000000000001111111111100110011001100110001100000010000000000001100110111111001011001101111110010100000010110010000010000001000000000000110011011111100100100000010110010000100000010000000000001111111111100110011001100110001001000000100010100001100110111111001011001101111110010100000010001010000010000001000000000000110011011111100100100000010001010000110000010000000000001111111111100110011001100110001110000010000000000001100110111111001011001101111110010100000010001010000011000001000000000000110011011111100100100000010001010000110000010000000000001111111111100110011001100110001001000000101010100001100110111111001011001101111110010100000010101010000011000001000000000000110011011111100100100000010101010000101000010000000000001111111111100110011001100110001101000010000000000001100110111111001011001101111110010100000010101010000010100001000000000000110011011111100100100000010101010000101000010000000000001111111111100110011001100110001001000000100110100001100110111111001011001101111110010100000010011010000010100001000000000000110011011111100100100000010011010000111000010000000000001111111111100110011001100110001111000010000000000001100110111111001011001101111110010100000010011010000011100001000000000000110011011111100100100000010011010000111000010000000000001111111111100110011001100110001001000000101110100001100110111111001011001101111110010100000010111010000011100001000000000000110011011111100100100000010111010000100100010000000000001111111111100110011001100110001100100010000000000001100110111111001011001101111110010100000010111010000010010001000000000000110011011111100100100000010111010000100100010000000000001111111111100110011001100110001001000000100001100001100110111111001011001101111110010100000010000110000010010001000000000000110011011111100100100000010000110000110100010000000000001111111111100110011001100110001110100010000000000001100110111111001011001101111110010100000010000110000011010001000000000000110011011111100100100000010000110000110100010000000000001111111111100110011001100110001001000000101001100001100110111111001011001101111110010100000010100110000011010001000000000000110011011111100100100000010100110000101100010000000000001111111111100110011001100110001101100010000000000001100110111111001011001101111110010100000010100110000010110001000000000000110011011111100100100000010100110000101100010000000000001111111111100110011001100110001001000000100101100001100110111111001011001101111110010100000010010110000010110001000000000000110011011111100100100000010010110000111100010000000000001111111111100110011001100110001111100010000000000001100110111111001011001101111110010100000010010110000011110001000000000000110011011111100100100000010010110000111100010000000000001111111111100110011001100110001001000000101101100001100110111111001011001101111110010100000010110110000011110001000000000000110011011111100100100000010110110000100010010000000000001111111111100110011001100110001100010010000000000001100110111111001011001101111110010100000010110110000010001001000000000000110011011111100100100000010110110000100010010000000000001111111111100110011001100110001001000000100011100001100110111111001011001101111110010100000010001110000010001001000000000000110011011111100100100000010001110000110010010000000000001111111111100110011001100110001110010010000000000001100110111111001011001101111110010100000010001110000011001001000000000000110011011111100100100000010001110000110010010000000000001111111111100110011001100110001001000000101011100001100110111111001011001101111110010100000010101110000011001001000000000000110011011111100100100000010101110000101010010000000000001111111111100110011001100110001101010010000000000001100110111111001011001101111110010100000010101110000010101001000000000000110011011111100100100000010101110000101010010000000000001111111111100110011001100110001001000000100111100001100110111111001011001101111110010100000010011110000010101001000000000000110011011111100100100000010011110000111010010000000000001111111111100110011001100110001111010010000000000001100110111111001011001101111110010100000010011110000011101001000000000000110011011111100100100000010011110000111010010000000000001111111111100110011001100110001001000000101111100001100110111111001011001101111110010100000010111110000011101001000000000000110011011111100100100000010111110000100110010000000000001111111111100110011001100110001100110010000000000001100110111111001011001101111110010100000010111110000010011001000000000000110011011111100100100000010111110000100110010000000000001111111111100110011001100110001001000000100000010001100110111111001011001101111110010100000010000001000010011001000000000000110011011111100100100000010000001000110110010000000000001111111111100110011001100110001110110010000000000001100110111111001011001101111110010100000010000001000011011001000000000000110011011111100100100000010000001000110110010000000000001111111111100110011001100110001001000000101000010001100110111111001011001101111110010100000010100001000011011001000000000000110011011111100100100000010100001000101110010000000000001111111111100110011001100110001101110010000000000001100110111111001011001101111110010100000010100001000010111001000000000000110011011111100100100000010100001000101110010000000000001111111111100110011001100110001001000000100100010001100110111111001011001101111110010100000010010001000010111001000000000000110011011111100100100000010010001000111110010000000000001111111111100110011001100110001111110010000000000001100110111111001011001101111110010100000010010001000011111001000000000000110011011111100100100000010010001000111110010000000000001111111111100110011001100110001001000000101100010001100110111111001011001101111110010100000010110001000011111001000000000000110011011111100100100000010110001000100001010000000000001111111111100110011001100110001100001010000000000001100110111111001011001101111110010100000010110001000010000101000000000000110011011111100100100000010110001000100001010000000000001111111111100110011001100110001001000000100010010001100110111111001011001101111110010100000010001001000010000101000000000000110011011111100100100000010001001000110001010000000000001111111111100110011001100110001110001010000000000001100110111111001011001101111110010100000010001001000011000101000000000000110011011111100100100000010001001000110001010000000000001111111111100110011001100110001001000000101010010001100110111111001011001101111110010100000010101001000011000101000000000000110011011111100100100000010101001000101001010000000000001111111111100110011001100110001101001010000000000001100110111111001011001101111110010100000010101001000010100101000000000000110011011111100100100000010101001000101001010000000000001111111111100110011001100110001001000000100110010001100110111111001011001101111110010100000010011001000010100101000000000000110011011111100100100000010011001000111001010000000000001111111111100110011001100110001111001010000000000001100110111111001011001101111110010100000010011001000011100101000000000000110011011111100100100000010011001000111001010000000000001111111111100110011001100110001001000000101110010001100110111111001011001101111110010100000010111001000011100101000000000000110011011111100100100000010111001000100101010000000000001111111111100110011001100110001100101010000000000001100110111111001011001101111110010100000010111001000010010101000000000000110011011111100100100000010111001000100101010000000000001111111111100110011001100110001001000000100001010001100110111111001011001101111110010100000010000101000010010101000000000000110011011111100100100000010000101000110101010000000000001111111111100110011001100110001110101010000000000001100110111111001011001101111110010100000010000101000011010101000000000000110011011111100100100000010000101000110101010000000000001111111111100110011001100110001001000000101001010001100110111111001011001101111110010100000010100101000011010101000000000000110011011111100100100000010100101000101101010000000000001111111111100110011001100110001101101010000000000001100110111111001011001101111110010100000010100101000010110101000000000000110011011111100100100000010100101000101101010000000000001111111111100110011001100110001001000000100101010001100110111111001011001101111110010100000010010101000010110101000000000000110011011111100100100000010010101000111101010000000000001111111111100110011001100110001111101010000000000001100110111111001011001101111110010100000010010101000011110101000000000000110011011111100100100000010010101000111101010000000000001111111111100110011001100110001001000000101101010001100110111111001011001101111110010100000010110101000011110101000000000000110011011111100100100000010110101000100011010000000000001111111111100110011001100110001100011010000000000001100110111111001011001101111110010100000010110101000010001101000000000000110011011111100100100000010110101000100011010000000000001111111111100110011001100110001001000000100011010001100110111111001011001101111110010100000010001101000010001101000000000000110011011111100100100000010001101000110011010000000000001111111111100110011001100110001110011010000000000001100110111111001011001101111110010100000010001101000011001101000000000000110011011111100100100000010001101000110011010000000000001111111111100110011001100110001001000000101011010001100110111111001011001101111110010100000010101101000011001101000000000000110011011111100100100000010101101000101011010000000000001111111111100110011001100110001101011010000000000001100110111111001011001101111110010100000010101101000010101101000000000000110011011111100100100000010101101000101011010000000000001111111111100110011001100110001001000000100111010001100110111111001011001101111110010100000010011101000010101101000000000000110011011111100100100000010011101000111011010000000000001111111111100110011001100110001111011010000000000001100110111111001011001101111110010100000010011101000011101101000000000000110011011111100100100000010011101000111011010000000000001111111111100110011001100110001001000000101111010001100110111111001011001101111110010100000010111101000011101101000000000000110011011111100100100000010111101000100111010000000000001111111111100110011001100110001100111010000000000001100110111111001011001101111110010100000010111101000010011101000000000000110011011111100100100000010111101000100111010000000000001111111111100110011001100110001001000000100000110001100110111111001011001101111110010100000010000011000010011101000000000000110011011111100100100000010000011000110111010000000000001111111111100110011001100110001110111010000000000001100110111111001011001101111110010100000010000011000011011101000000000000110011011111100100100000010000011000110111010000000000001111111111100110011001100110001001000000101000110001100110111111001011001101111110010100000010100011000011011101000000000000110011011111100100100000010100011000101111010000000000001111111111100110011001100110001101111010000000000001100110111111001011001101111110010100000010100011000010111101000000000000110011011111100100100000010100011000101111010000000000001111111111100110011001100110001001000000100100110001100110111111001011001101111110010100000010010011000010111101000000000000110011011111100100100000010010011000111111010000000000001111111111100110011001100110001111111010000000000001100110111111001011001101111110010100000010010011000011111101000000000000110011011111100100100000010010011000111111010000000000001111111111100110011001100110001011000000100000000001100110111111001011001101111110011100000010000000000011111101000000000000110011011111100101100000010000000000100000110000000000001111111111100110011001100110001100000110000000000001100110111111001011001101111110011100000010000000000010000011000000000000110011011111100101100000010000000000100000110000000000001111111111100110011001100110001011000000101000000001100110111111001011001101111110011100000010100000000010000011000000000000110011011111100101100000010100000000110000110000000000001111111111100110011001100110001110000110000000000001100110111111001011001101111110011100000010100000000011000011000000000000110011011111100101100000010100000000110000110000000000001111111111100110011001100110001011000000100100000001100110111111001011001101111110011100000010010000000011000011000000000000110011011111100101100000010010000000101000110000000000001111111111100110011001100110001101000110000000000001100110111111001011001101111110011100000010010000000010100011000000000000110011011111100101100000010010000000101000110000000000001111111111100110011001100110001011000000101100000001100110111111001011001101111110011100000010110000000010100011000000000000110011011111100101100000010110000000111000110000000000001111111111100110011001100110001111000110000000000001100110111111001011001101111110011100000010110000000011100011000000000000110011011111100101100000010110000000111000110000000000001111111111100110011001100110001011000000100010000001100110111111001011001101111110011100000010001000000011100011000000000000110011011111100101100000010001000000100100110000000000001111111111100110011001100110001100100110000000000001100110111111001011001101111110011100000010001000000010010011000000000000110011011111100101100000010001000000100100110000000000001111111111100110011001100110001011000000101010000001100110111111001011001101111110011100000010101000000010010011000000000000110011011111100101100000010101000000110100110000000000001111111111100110011001100110001110100110000000000001100110111111001011001101111110011100000010101000000011010011000000000000110011011111100101100000010101000000110100110000000000001111111111100110011001100110001011000000100110000001100110111111001011001101111110011100000010011000000011010011000000000000110011011111100101100000010011000000101100110000000000001111111111100110011001100110001101100110000000000001100110111111001011001101111110011100000010011000000010110011000000000000110011011111100101100000010011000000101100110000000000001111111111100110011001100110001011000000101110000001100110111111001011001101111110011100000010111000000010110011000000000000110011011111100101100000010111000000111100110000000000001111111111100110011001100110001111100110000000000001100110111111001011001101111110011100000010111000000011110011000000000000110011011111100101100000010111000000111100110000000000001111111111100110011001100110001011000000100001000001100110111111001011001101111110011100000010000100000011110011000000000000110011011111100101100000010000100000100010110000000000001111111111100110011001100110001100010110000000000001100110111111001011001101111110011100000010000100000010001011000000000000110011011111100101100000010000100000100010110000000000001111111111100110011001100110001011000000101001000001100110111111001011001101111110011100000010100100000010001011000000000000110011011111100101100000010100100000110010110000000000001111111111100110011001100110001110010110000000000001100110111111001011001101111110011100000010100100000011001011000000000000110011011111100101100000010100100000110010110000000000001111111111100110011001100110001011000000100101000001100110111111001011001101111110011100000010010100000011001011000000000000110011011111100101100000010010100000101010110000000000001111111111100110011001100110001101010110000000000001100110111111001011001101111110011100000010010100000010101011000000000000110011011111100101100000010010100000101010110000000000001111111111100110011001100110001011000000101101000001100110111111001011001101111110011100000010110100000010101011000000000000110011011111100101100000010110100000111010110000000000001111111111100110011001100110001111010110000000000001100110111111001011001101111110011100000010110100000011101011000000000000110011011111100101100000010110100000111010110000000000001111111111100110011001100110001011000000100011000001100110111111001011001101111110011100000010001100000011101011000000000000110011011111100101100000010001100000100110110000000000001111111111100110011001100110001100110110000000000001100110111111001011001101111110011100000010001100000010011011000000000000110011011111100101100000010001100000100110110000000000001111111111100110011001100110001011000000101011000001100110111111001011001101111110011100000010101100000010011011000000000000110011011111100101100000010101100000110110110000000000001111111111100110011001100110001110110110000000000001100110111111001011001101111110011100000010101100000011011011000000000000110011011111100101100000010101100000110110110000000000001111111111100110011001100110001011000000100111000001100110111111001011001101111110011100000010011100000011011011000000000000110011011111100101100000010011100000101110110000000000001111111111100110011001100110001101110110000000000001100110111111001011001101111110011100000010011100000010111011000000000000110011011111100101100000010011100000101110110000000000001111111111100110011001100110001011000000101111000001100110111111001011001101111110011100000010111100000010111011000000000000110011011111100101100000010111100000111110110000000000001111111111100110011001100110001111110110000000000001100110111111001011001101111110011100000010111100000011111011000000000000110011011111100101100000010111100000111110110000000000001111111111100110011001100110001011000000100000100001100110111111001011001101111110011100000010000010000011111011000000000000110011011111100101100000010000010000100001110000000000001111111111100110011001100110001100001110000000000001100110111111001011001101111110011100000010000010000010000111000000000000110011011111100101100000010000010000100001110000000000001111111111100110011001100110001011000000101000100001100110111111001011001101111110011100000010100010000010000111000000000000110011011111100101100000010100010000110001110000000000001111111111100110011001100110001110001110000000000001100110111111001011001101111110011100000010100010000011000111000000000000110011011111100101100000010100010000110001110000000000001111111111100110011001100110001011000000100100100001100110111111001011001101111110011100000010010010000011000111000000000000110011011111100101100000010010010000101001110000000000001111111111100110011001100110001101001110000000000001100110111111001011001101111110011100000010010010000010100111000000000000110011011111100101100000010010010000101001110000000000001111111111100110011001100110001011000000101100100001100110111111001011001101111110011100000010110010000010100111000000000000110011011111100101100000010110010000111001110000000000001111111111100110011001100110001111001110000000000001100110111111001011001101111110011100000010110010000011100111000000000000110011011111100101100000010110010000111001110000000000001111111111100110011001100110001011000000100010100001100110111111001011001101111110011100000010001010000011100111000000000000110011011111100101100000010001010000100101110000000000001111111111100110011001100110001100101110000000000001100110111111001011001101111110011100000010001010000010010111000000000000110011011111100101100000010001010000100101110000000000001111111111100110011001100110001011000000101010100001100110111111001011001101111110011100000010101010000010010111000000000000110011011111100101100000010101010000110101110000000000001111111111100110011001100110001110101110000000000001100110111111001011001101111110011100000010101010000011010111000000000000110011011111100101100000010101010000110101110000000000001111111111100110011001100110001011000000100110100001100110111111001011001101111110011100000010011010000011010111000000000000110011011111100101100000010011010000101101110000000000001111111111100110011001100110001101101110000000000001100110111111001011001101111110011100000010011010000010110111000000000000110011011111100101100000010011010000101101110000000000001111111111100110011001100110001011000000101110100001100110111111001011001101111110011100000010111010000010110111000000000000110011011111100101100000010111010000111101110000000000001111111111100110011001100110001111101110000000000001100110111111001011001101111110011100000010111010000011110111000000000000110011011111100101100000010111010000111101110000000000001111111111100110011001100110001011000000100001100001100110111111001011001101111110011100000010000110000011110111000000000000110011011111100101100000010000110000100011110000000000001111111111100110011001100110001100011110000000000001100110111111001011001101111110011100000010000110000010001111000000000000110011011111100101100000010000110000100011110000000000001111111111100110011001100110001011000000101001100001100110111111001011001101111110011100000010100110000010001111000000000000110011011111100101100000010100110000110011110000000000001111111111100110011001100110001110011110000000000001100110111111001011001101111110011100000010100110000011001111000000000000110011011111100101100000010100110000110011110000000000001111111111100110011001100110001011000000100101100001100110111111001011001101111110011100000010010110000011001111000000000000110011011111100101100000010010110000101011110000000000001111111111100110011001100110001101011110000000000001100110111111001011001101111110011100000010010110000010101111000000000000110011011111100101100000010010110000101011110000000000001111111111100110011001100110001011000000101101100001100110111111001011001101111110011100000010110110000010101111000000000000110011011111100101100000010110110000111011110000000000001111111111100110011001100110001111011110000000000001100110111111001011001101111110011100000010110110000011101111000000000000110011011111100101100000010110110000111011110000000000001111111111100110011001100110001011000000100011100001100110111111001011001101111110011100000010001110000011101111000000000000110011011111100101100000010001110000100111110000000000001111111111100110011001100110001100111110000000000001100110111111001011001101111110011100000010001110000010011111000000000000110011011111100101100000010001110000100111110000000000001111111111100110011001100110001011000000101011100001100110111111001011001101111110011100000010101110000010011111000000000000110011011111100101100000010101110000110111110000000000001111111111100110011001100110001110111110000000000001100110111111001011001101111110011100000010101110000011011111000000000000110011011111100101100000010101110000110111110000000000001111111111100110011001100110001011000000100111100001100110111111001011001101111110011100000010011110000011011111000000000000110011011111100101100000010011110000101111110000000000001111111111100110011001100110001101111110000000000001100110111111001011001101111110011100000010011110000010111111000000000000110011011111100101100000010011110000101111110000000000001111111111100110011001100110001011000000101111100001100110111111001011001101111110011100000010111110000010111111000000000000110011011111100101100000010111110000111111110000000000001111111111100110011001100110001111111110000000000001100110111111001011001101111110011100000010111110000011111111000000000000110011011111100101100000010111110000111111110000000000001111111111100110011001100110001011000000100000010001100110111111001011001101111110011100000010000001000011111111000000000000110011011111100101100000010000001000100000001000000000001111111111100110011001100110001100000001000000000001100110111111001011001101111110011100000010000001000010000000100000000000110011011111100101100000010000001000100000001000000000001111111111100110011001100110001011000000101000010001100110111111001011001101111110011100000010100001000010000000100000000000110011011111100101100000010100001000110000001000000000001111111111100110011001100110001110000001000000000001100110111111001011001101111110011100000010100001000011000000100000000000110011011111100101100000010100001000110000001000000000001111111111100110011001100110001011000000100100010001100110111111001011001101111110011100000010010001000011000000100000000000110011011111100101100000010010001000101000001000000000001111111111100110011001100110001101000001000000000001100110111111001011001101111110011100000010010001000010100000100000000000110011011111100101100000010010001000101000001000000000001111111111100110011001100110001011000000101100010001100110111111001011001101111110011100000010110001000010100000100000000000110011011111100101100000010110001000111000001000000000001111111111100110011001100110001111000001000000000001100110111111001011001101111110011100000010110001000011100000100000000000110011011111100101100000010110001000111000001000000000001111111111100110011001100110001011000000100010010001100110111111001011001101111110011100000010001001000011100000100000000000110011011111100101100000010001001000100100001000000000001111111111100110011001100110001100100001000000000001100110111111001011001101111110011100000010001001000010010000100000000000110011011111100101100000010001001000100100001000000000001111111111100110011001100110001011000000101010010001100110111111001011001101111110011100000010101001000010010000100000000000110011011111100101100000010101001000110100001000000000001111111111100110011001100110001110100001000000000001100110111111001011001101111110011100000010101001000011010000100000000000110011011111100101100000010101001000110100001000000000001111111111100110011001100110001011000000100110010001100110111111001011001101111110011100000010011001000011010000100000000000110011011111100101100000010011001000101100001000000000001111111111100110011001100110001101100001000000000001100110111111001011001101111110011100000010011001000010110000100000000000110011011111100101100000010011001000101100001000000000001111111111100110011001100110001011000000101110010001100110111111001011001101111110011100000010111001000010110000100000000000110011011111100101100000010111001000111100001000000000001111111111100110011001100110001111100001000000000001100110111111001011001101111110011100000010111001000011110000100000000000110011011111100101100000010111001000111100001000000000001111111111100110011001100110001011000000100001010001100110111111001011001101111110011100000010000101000011110000100000000000110011011111100101100000010000101000100010001000000000001111111111100110011001100110001100010001000000000001100110111111001011001101111110011100000010000101000010001000100000000000110011011111100101100000010000101000100010001000000000001111111111100110011001100110001011000000101001010001100110111111001011001101111110011100000010100101000010001000100000000000110011011111100101100000010100101000110010001000000000001111111111100110011001100110001110010001000000000001100110111111001011001101111110011100000010100101000011001000100000000000110011011111100101100000010100101000110010001000000000001111111111100110011001100110001011000000100101010001100110111111001011001101111110011100000010010101000011001000100000000000110011011111100101100000010010101000101010001000000000001111111111100110011001100110001101010001000000000001100110111111001011001101111110011100000010010101000010101000100000000000110011011111100101100000010010101000101010001000000000001111111111100110011001100110001011000000101101010001100110111111001011001101111110011100000010110101000010101000100000000000110011011111100101100000010110101000111010001000000000001111111111100110011001100110001111010001000000000001100110111111001011001101111110011100000010110101000011101000100000000000110011011111100101100000010110101000111010001000000000001111111111100110011001100110001011000000100011010001100110111111001011001101111110011100000010001101000011101000100000000000110011011111100101100000010001101000100110001000000000001111111111100110011001100110001100110001000000000001100110111111001011001101111110011100000010001101000010011000100000000000110011011111100101100000010001101000100110001000000000001111111111100110011001100110001011000000101011010001100110111111001011001101111110011100000010101101000010011000100000000000110011011111100101100000010101101000110110001000000000001111111111100110011001100110001110110001000000000001100110111111001011001101111110011100000010101101000011011000100000000000110011011111100101100000010101101000110110001000000000001111111111100110011001100110001011000000100111010001100110111111001011001101111110011100000010011101000011011000100000000000110011011111100101100000010011101000101110001000000000001111111111100110011001100110001101110001000000000001100110111111001011001101111110011100000010011101000010111000100000000000110011011111100101100000010011101000101110001000000000001111111111100110011001100110001011000000101111010001100110111111001011001101111110011100000010111101000010111000100000000000110011011111100101100000010111101000111110001000000000001111111111100110011001100110001111110001000000000001100110111111001011001101111110011100000010111101000011111000100000000000110011011111100101100000010111101000111110001000000000001111111111100110011001100110001011000000100000110001100110111111001011001101111110011100000010000011000011111000100000000000110011011111100101100000010000011000100001001000000000001111111111100110011001100110001100001001000000000001100110111111001011001101111110011100000010000011000010000100100000000000110011011111100101100000010000011000100001001000000000001111111111100110011001100110001011000000101000110001100110111111001011001101111110011100000010100011000010000100100000000000110011011111100101100000010100011000110001001000000000001111111111100110011001100110001110001001000000000001100110111111001011001101111110011100000010100011000011000100100000000000110011011111100101100000010100011000110001001000000000001111111111100110011001100110001011000000100100110001100110111111001011001101111110011100000010010011000011000100100000000000110011011111100101100000010010011000101001001000000000001111111111100110011001100110001101001001000000000001100110111111001011001101111110011100000010010011000010100100100000000000110011011111100101100000010010011000101001001000000000001111111111100110011001100110001000100000100000000001100110111111001011001101111110010010000010000000000010100100100000000000110011011111100100010000010000000000111001001000000000001111111111100110011001100110001111001001000000000001100110111111001011001101111110010010000010000000000011100100100000000000110011011111100100010000010000000000111001001000000000001111111111100110011001100110001000100000101000000001100110111111001011001101111110010010000010100000000011100100100000000000110011011111100100010000010100000000100101001000000000001111111111100110011001100110001100101001000000000001100110111111001011001101111110010010000010100000000010010100100000000000110011011111100100010000010100000000100101001000000000001111111111100110011001100110001000100000100100000001100110111111001011001101111110010010000010010000000010010100100000000000110011011111100100010000010010000000110101001000000000001111111111100110011001100110001110101001000000000001100110111111001011001101111110010010000010010000000011010100100000000000110011011111100100010000010010000000110101001000000000001111111111100110011001100110001000100000101100000001100110111111001011001101111110010010000010110000000011010100100000000000110011011111100100010000010110000000101101001000000000001111111111100110011001100110001101101001000000000001100110111111001011001101111110010010000010110000000010110100100000000000110011011111100100010000010110000000101101001000000000001111111111100110011001100110001000100000100010000001100110111111001011001101111110010010000010001000000010110100100000000000110011011111100100010000010001000000111101001000000000001111111111100110011001100110001111101001000000000001100110111111001011001101111110010010000010001000000011110100100000000000110011011111100100010000010001000000111101001000000000001111111111100110011001100110001000100000101010000001100110111111001011001101111110010010000010101000000011110100100000000000110011011111100100010000010101000000100011001000000000001111111111100110011001100110001100011001000000000001100110111111001011001101111110010010000010101000000010001100100000000000110011011111100100010000010101000000100011001000000000001111111111100110011001100110001000100000100110000001100110111111001011001101111110010010000010011000000010001100100000000000110011011111100100010000010011000000110011001000000000001111111111100110011001100110001110011001000000000001100110111111001011001101111110010010000010011000000011001100100000000000110011011111100100010000010011000000110011001000000000001111111111100110011001100110001000100000101110000001100110111111001011001101111110010010000010111000000011001100100000000000110011011111100100010000010111000000101011001000000000001111111111100110011001100110001101011001000000000001100110111111001011001101111110010010000010111000000010101100100000000000110011011111100100010000010111000000101011001000000000001111111111100110011001100110001000100000100001000001100110111111001011001101111110010010000010000100000010101100100000000000110011011111100100010000010000100000111011001000000000001111111111100110011001100110001111011001000000000001100110111111001011001101111110010010000010000100000011101100100000000000110011011111100100010000010000100000111011001000000000001111111111100110011001100110001000100000101001000001100110111111001011001101111110010010000010100100000011101100100000000000110011011111100100010000010100100000100111001000000000001111111111100110011001100110001100111001000000000001100110111111001011001101111110010010000010100100000010011100100000000000110011011111100100010000010100100000100111001000000000001111111111100110011001100110001000100000100101000001100110111111001011001101111110010010000010010100000010011100100000000000110011011111100100010000010010100000110111001000000000001111111111100110011001100110001110111001000000000001100110111111001011001101111110010010000010010100000011011100100000000000110011011111100100010000010010100000110111001000000000001111111111100110011001100110001000100000101101000001100110111111001011001101111110010010000010110100000011011100100000000000110011011111100100010000010110100000101111001000000000001111111111100110011001100110001101111001000000000001100110111111001011001101111110010010000010110100000010111100100000000000110011011111100100010000010110100000101111001000000000001111111111100110011001100110001000100000100011000001100110111111001011001101111110010010000010001100000010111100100000000000110011011111100100010000010001100000111111001000000000001111111111100110011001100110001111111001000000000001100110111111001011001101111110010010000010001100000011111100100000000000110011011111100100010000010001100000111111001000000000001111111111100110011001100110001000100000101011000001100110111111001011001101111110010010000010101100000011111100100000000000110011011111100100010000010101100000100000101000000000001111111111100110011001100110001100000101000000000001100110111111001011001101111110010010000010101100000010000010100000000000110011011111100100010000010101100000100000101000000000001111111111100110011001100110001000100000100111000001100110111111001011001101111110010010000010011100000010000010100000000000110011011111100100010000010011100000110000101000000000001111111111100110011001100110001110000101000000000001100110111111001011001101111110010010000010011100000011000010100000000000110011011111100100010000010011100000110000101000000000001111111111100110011001100110001000100000101111000001100110111111001011001101111110010010000010111100000011000010100000000000110011011111100100010000010111100000101000101000000000001111111111100110011001100110001101000101000000000001100110111111001011001101111110010010000010111100000010100010100000000000110011011111100100010000010111100000101000101000000000001111111111100110011001100110001000100000100000100001100110111111001011001101111110010010000010000010000010100010100000000000110011011111100100010000010000010000111000101000000000001111111111100110011001100110001111000101000000000001100110111111001011001101111110010010000010000010000011100010100000000000110011011111100100010000010000010000111000101000000000001111111111100110011001100110001000100000101000100001100110111111001011001101111110010010000010100010000011100010100000000000110011011111100100010000010100010000100100101000000000001111111111100110011001100110001100100101000000000001100110111111001011001101111110010010000010100010000010010010100000000000110011011111100100010000010100010000100100101000000000001111111111100110011001100110001000100000100100100001100110111111001011001101111110010010000010010010000010010010100000000000110011011111100100010000010010010000110100101000000000001111111111100110011001100110001110100101000000000001100110111111001011001101111110010010000010010010000011010010100000000000110011011111100100010000010010010000110100101000000000001111111111100110011001100110001000100000101100100001100110111111001011001101111110010010000010110010000011010010100000000000110011011111100100010000010110010000101100101000000000001111111111100110011001100110001101100101000000000001100110111111001011001101111110010010000010110010000010110010100000000000110011011111100100010000010110010000101100101000000000001111111111100110011001100110001000100000100010100001100110111111001011001101111110010010000010001010000010110010100000000000110011011111100100010000010001010000111100101000000000001111111111100110011001100110001111100101000000000001100110111111001011001101111110010010000010001010000011110010100000000000110011011111100100010000010001010000111100101000000000001111111111100110011001100110001000100000101010100001100110111111001011001101111110010010000010101010000011110010100000000000110011011111100100010000010101010000100010101000000000001111111111100110011001100110001100010101000000000001100110111111001011001101111110010010000010101010000010001010100000000000110011011111100100010000010101010000100010101000000000001111111111100110011001100110001000100000100110100001100110111111001011001101111110010010000010011010000010001010100000000000110011011111100100010000010011010000110010101000000000001111111111100110011001100110001110010101000000000001100110111111001011001101111110010010000010011010000011001010100000000000110011011111100100010000010011010000110010101000000000001111111111100110011001100110001000100000101110100001100110111111001011001101111110010010000010111010000011001010100000000000110011011111100100010000010111010000101010101000000000001111111111100110011001100110001101010101000000000001100110111111001011001101111110010010000010111010000010101010100000000000110011011111100100010000010111010000101010101000000000001111111111100110011001100110001000100000100001100001100110111111001011001101111110010010000010000110000010101010100000000000110011011111100100010000010000110000111010101000000000001111111111100110011001100110001111010101000000000001100110111111001011001101111110010010000010000110000011101010100000000000110011011111100100010000010000110000111010101000000000001111111111100110011001100110001000100000101001100001100110111111001011001101111110010010000010100110000011101010100000000000110011011111100100010000010100110000100110101000000000001111111111100110011001100110001100110101000000000001100110111111001011001101111110010010000010100110000010011010100000000000110011011111100100010000010100110000100110101000000000001111111111100110011001100110001000100000100101100001100110111111001011001101111110010010000010010110000010011010100000000000110011011111100100010000010010110000110110101000000000001111111111100110011001100110001110110101000000000001100110111111001011001101111110010010000010010110000011011010100000000000110011011111100100010000010010110000110110101000000000001111111111100110011001100110001000100000101101100001100110111111001011001101111110010010000010110110000011011010100000000000110011011111100100010000010110110000101110101000000000001111111111100110011001100110001101110101000000000001100110111111001011001101111110010010000010110110000010111010100000000000110011011111100100010000010110110000101110101000000000001111111111100110011001100110001000100000100011100001100110111111001011001101111110010010000010001110000010111010100000000000110011011111100100010000010001110000111110101000000000001111111111100110011001100110001111110101000000000001100110111111001011001101111110010010000010001110000011111010100000000000110011011111100100010000010001110000111110101000000000001111111111100110011001100110001000100000101011100001100110111111001011001101111110010010000010101110000011111010100000000000110011011111100100010000010101110000100001101000000000001111111111100110011001100110001100001101000000000001100110111111001011001101111110010010000010101110000010000110100000000000110011011111100100010000010101110000100001101000000000001111111111100110011001100110001000100000100111100001100110111111001011001101111110010010000010011110000010000110100000000000110011011111100100010000010011110000110001101000000000001111111111100110011001100110001110001101000000000001100110111111001011001101111110010010000010011110000011000110100000000000110011011111100100010000010011110000110001101000000000001111111111100110011001100110001000100000101111100001100110111111001011001101111110010010000010111110000011000110100000000000110011011111100100010000010111110000101001101000000000001111111111100110011001100110001101001101000000000001100110111111001011001101111110010010000010111110000010100110100000000000110011011111100100010000010111110000101001101000000000001111111111100110011001100110001000100000100000010001100110111111001011001101111110010010000010000001000010100110100000000000110011011111100100010000010000001000111001101000000000001111111111100110011001100110001111001101000000000001100110111111001011001101111110010010000010000001000011100110100000000000110011011111100100010000010000001000111001101000000000001111111111100110011001100110001000100000101000010001100110111111001011001101111110010010000010100001000011100110100000000000110011011111100100010000010100001000100101101000000000001111111111100110011001100110001100101101000000000001100110111111001011001101111110010010000010100001000010010110100000000000110011011111100100010000010100001000100101101000000000001111111111100110011001100110001000100000100100010001100110111111001011001101111110010010000010010001000010010110100000000000110011011111100100010000010010001000110101101000000000001111111111100110011001100110001110101101000000000001100110111111001011001101111110010010000010010001000011010110100000000000110011011111100100010000010010001000110101101000000000001111111111100110011001100110001000100000101100010001100110111111001011001101111110010010000010110001000011010110100000000000110011011111100100010000010110001000101101101000000000001111111111100110011001100110001101101101000000000001100110111111001011001101111110010010000010110001000010110110100000000000110011011111100100010000010110001000101101101000000000001111111111100110011001100110001000100000100010010001100110111111001011001101111110010010000010001001000010110110100000000000110011011111100100010000010001001000111101101000000000001111111111100110011001100110001111101101000000000001100110111111001011001101111110010010000010001001000011110110100000000000110011011111100100010000010001001000111101101000000000001111111111100110011001100110001000100000101010010001100110111111001011001101111110010010000010101001000011110110100000000000110011011111100100010000010101001000100011101000000000001111111111100110011001100110001100011101000000000001100110111111001011001101111110010010000010101001000010001110100000000000110011011111100100010000010101001000100011101000000000001111111111100110011001100110001000100000100110010001100110111111001011001101111110010010000010011001000010001110100000000000110011011111100100010000010011001000110011101000000000001111111111100110011001100110001110011101000000000001100110111111001011001101111110010010000010011001000011001110100000000000110011011111100100010000010011001000110011101000000000001111111111100110011001100110001000100000101110010001100110111111001011001101111110010010000010111001000011001110100000000000110011011111100100010000010111001000101011101000000000001111111111100110011001100110001101011101000000000001100110111111001011001101111110010010000010111001000010101110100000000000110011011111100100010000010111001000101011101000000000001111111111100110011001100110001000100000100001010001100110111111001011001101111110010010000010000101000010101110100000000000110011011111100100010000010000101000111011101000000000001111111111100110011001100110001111011101000000000001100110111111001011001101111110010010000010000101000011101110100000000000110011011111100100010000010000101000111011101000000000001111111111100110011001100110001000100000101001010001100110111111001011001101111110010010000010100101000011101110100000000000110011011111100100010000010100101000100111101000000000001111111111100110011001100110001100111101000000000001100110111111001011001101111110010010000010100101000010011110100000000000110011011111100100010000010100101000100111101000000000001111111111100110011001100110001000100000100101010001100110111111001011001101111110010010000010010101000010011110100000000000110011011111100100010000010010101000110111101000000000001111111111100110011001100110001110111101000000000001100110111111001011001101111110010010000010010101000011011110100000000000110011011111100100010000010010101000110111101000000000001111111111100110011001100110001000100000101101010001100110111111001011001101111110010010000010110101000011011110100000000000110011011111100100010000010110101000101111101000000000001111111111100110011001100110001101111101000000000001100110111111001011001101111110010010000010110101000010111110100000000000110011011111100100010000010110101000101111101000000000001111111111100110011001100110001000100000100011010001100110111111001011001101111110010010000010001101000010111110100000000000110011011111100100010000010001101000111111101000000000001111111111100110011001100110001111111101000000000001100110111111001011001101111110010010000010001101000011111110100000000000110011011111100100010000010001101000111111101000000000001111111111100110011001100110001000100000101011010001100110111111001011001101111110010010000010101101000011111110100000000000110011011111100100010000010101101000100000011000000000001111111111100110011001100110001100000011000000000001100110111111001011001101111110010010000010101101000010000001100000000000110011011111100100010000010101101000100000011000000000001111111111100110011001100110001000100000100111010001100110111111001011001101111110010010000010011101000010000001100000000000110011011111100100010000010011101000110000011000000000001111111111100110011001100110001110000011000000000001100110111111001011001101111110010010000010011101000011000001100000000000110011011111100100010000010011101000110000011000000000001111111111100110011001100110001000100000101111010001100110111111001011001101111110010010000010111101000011000001100000000000110011011111100100010000010111101000101000011000000000001111111111100110011001100110001101000011000000000001100110111111001011001101111110010010000010111101000010100001100000000000110011011111100100010000010111101000101000011000000000001111111111100110011001100110001000100000100000110001100110111111001011001101111110010010000010000011000010100001100000000000110011011111100100010000010000011000111000011000000000001111111111100110011001100110001111000011000000000001100110111111001011001101111110010010000010000011000011100001100000000000110011011111100100010000010000011000111000011000000000001111111111100110011001100110001000100000101000110001100110111111001011001101111110010010000010100011000011100001100000000000110011011111100100010000010100011000100100011000000000001111111111100110011001100110001100100011000000000001100110111111001011001101111110010010000010100011000010010001100000000000110011011111100100010000010100011000100100011000000000001111111111100110011001100110001000100000100100110001100110111111001011001101111110010010000010010011000010010001100000000000110011011111100100010000010010011000110100011000000000001111111111100110011001100110001110100011000000000001100110111111001011001101111110010010000010010011000011010001100000000000110011011111100100010000010010011000110100011000000000001111111111100110011001100110001010100000100000000001100110111111001011001101111110011010000010000000000011010001100000000000110011011111100101010000010000000000101100011000000000001111111111100110011001100110001101100011000000000001100110111111001011001101111110011010000010000000000010110001100000000000110011011111100101010000010000000000101100011000000000001111111111100110011001100110001010100000101000000001100110111111001011001101111110011010000010100000000010110001100000000000110011011111100101010000010100000000111100011000000000001111111111100110011001100110001111100011000000000001100110111111001011001101111110011010000010100000000011110001100000000000110011011111100101010000010100000000111100011000000000001111111111100110011001100110001010100000100100000001100110111111001011001101111110011010000010010000000011110001100000000000110011011111100101010000010010000000100010011000000000001111111111100110011001100110001100010011000000000001100110111111001011001101111110011010000010010000000010001001100000000000110011011111100101010000010010000000100010011000000000001111111111100110011001100110001010100000101100000001100110111111001011001101111110011010000010110000000010001001100000000000110011011111100101010000010110000000110010011000000000001111111111100110011001100110001110010011000000000001100110111111001011001101111110011010000010110000000011001001100000000000110011011111100101010000010110000000110010011000000000001111111111100110011001100110001010100000100010000001100110111111001011001101111110011010000010001000000011001001100000000000110011011111100101010000010001000000101010011000000000001111111111100110011001100110001101010011000000000001100110111111001011001101111110011010000010001000000010101001100000000000110011011111100101010000010001000000101010011000000000001111111111100110011001100110001010100000101010000001100110111111001011001101111110011010000010101000000010101001100000000000110011011111100101010000010101000000111010011000000000001111111111100110011001100110001111010011000000000001100110111111001011001101111110011010000010101000000011101001100000000000110011011111100101010000010101000000111010011000000000001111111111100110011001100110001010100000100110000001100110111111001011001101111110011010000010011000000011101001100000000000110011011111100101010000010011000000100110011000000000001111111111100110011001100110001100110011000000000001100110111111001011001101111110011010000010011000000010011001100000000000110011011111100101010000010011000000100110011000000000001111111111100110011001100110001010100000101110000001100110111111001011001101111110011010000010111000000010011001100000000000110011011111100101010000010111000000110110011000000000001111111111100110011001100110001110110011000000000001100110111111001011001101111110011010000010111000000011011001100000000000110011011111100101010000010111000000110110011000000000001111111111100110011001100110001010100000100001000001100110111111001011001101111110011010000010000100000011011001100000000000110011011111100101010000010000100000101110011000000000001111111111100110011001100110001101110011000000000001100110111111001011001101111110011010000010000100000010111001100000000000110011011111100101010000010000100000101110011000000000001111111111100110011001100110001010100000101001000001100110111111001011001101111110011010000010100100000010111001100000000000110011011111100101010000010100100000111110011000000000001111111111100110011001100110001111110011000000000001100110111111001011001101111110011010000010100100000011111001100000000000110011011111100101010000010100100000111110011000000000001111111111100110011001100110001010100000100101000001100110111111001011001101111110011010000010010100000011111001100000000000110011011111100101010000010010100000100001011000000000001111111111100110011001100110001100001011000000000001100110111111001011001101111110011010000010010100000010000101100000000000110011011111100101010000010010100000100001011000000000001111111111100110011001100110001010100000101101000001100110111111001011001101111110011010000010110100000010000101100000000000110011011111100101010000010110100000110001011000000000001111111111100110011001100110001110001011000000000001100110111111001011001101111110011010000010110100000011000101100000000000110011011111100101010000010110100000110001011000000000001111111111100110011001100110001010100000100011000001100110111111001011001101111110011010000010001100000011000101100000000000110011011111100101010000010001100000101001011000000000001111111111100110011001100110001101001011000000000001100110111111001011001101111110011010000010001100000010100101100000000000110011011111100101010000010001100000101001011000000000001111111111100110011001100110001010100000101011000001100110111111001011001101111110011010000010101100000010100101100000000000110011011111100101010000010101100000111001011000000000001111111111100110011001100110001111001011000000000001100110111111001011001101111110011010000010101100000011100101100000000000110011011111100101010000010101100000111001011000000000001111111111100110011001100110001010100000100111000001100110111111001011001101111110011010000010011100000011100101100000000000110011011111100101010000010011100000100101011000000000001111111111100110011001100110001100101011000000000001100110111111001011001101111110011010000010011100000010010101100000000000110011011111100101010000010011100000100101011000000000001111111111100110011001100110001010100000101111000001100110111111001011001101111110011010000010111100000010010101100000000000110011011111100101010000010111100000110101011000000000001111111111100110011001100110001110101011000000000001100110111111001011001101111110011010000010111100000011010101100000000000110011011111100101010000010111100000110101011000000000001111111111100110011001100110001010100000100000100001100110111111001011001101111110011010000010000010000011010101100000000000110011011111100101010000010000010000101101011000000000001111111111100110011001100110001101101011000000000001100110111111001011001101111110011010000010000010000010110101100000000000110011011111100101010000010000010000101101011000000000001111111111100110011001100110001010100000101000100001100110111111001011001101111110011010000010100010000010110101100000000000110011011111100101010000010100010000111101011000000000001111111111100110011001100110001111101011000000000001100110111111001011001101111110011010000010100010000011110101100000000000110011011111100101010000010100010000111101011000000000001111111111100110011001100110001010100000100100100001100110111111001011001101111110011010000010010010000011110101100000000000110011011111100101010000010010010000100011011000000000001111111111100110011001100110001100011011000000000001100110111111001011001101111110011010000010010010000010001101100000000000110011011111100101010000010010010000100011011000000000001111111111100110011001100110001010100000101100100001100110111111001011001101111110011010000010110010000010001101100000000000110011011111100101010000010110010000110011011000000000001111111111100110011001100110001110011011000000000001100110111111001011001101111110011010000010110010000011001101100000000000110011011111100101010000010110010000110011011000000000001111111111100110011001100110001010100000100010100001100110111111001011001101111110011010000010001010000011001101100000000000110011011111100101010000010001010000101011011000000000001111111111100110011001100110001101011011000000000001100110111111001011001101111110011010000010001010000010101101100000000000110011011111100101010000010001010000101011011000000000001111111111100110011001100110001010100000101010100001100110111111001011001101111110011010000010101010000010101101100000000000110011011111100101010000010101010000111011011000000000001111111111100110011001100110001111011011000000000001100110111111001011001101111110011010000010101010000011101101100000000000110011011111100101010000010101010000111011011000000000001111111111100110011001100110001010100000100110100001100110111111001011001101111110011010000010011010000011101101100000000000110011011111100101010000010011010000100111011000000000001111111111100110011001100110001100111011000000000001100110111111001011001101111110011010000010011010000010011101100000000000110011011111100101010000010011010000100111011000000000001111111111100110011001100110001010100000101110100001100110111111001011001101111110011010000010111010000010011101100000000000110011011111100101010000010111010000110111011000000000001111111111100110011001100110001110111011000000000001100110111111001011001101111110011010000010111010000011011101100000000000110011011111100101010000010111010000110111011000000000001111111111100110011001100110001010100000100001100001100110111111001011001101111110011010000010000110000011011101100000000000110011011111100101010000010000110000101111011000000000001111111111100110011001100110001101111011000000000001100110111111001011001101111110011010000010000110000010111101100000000000110011011111100101010000010000110000101111011000000000001111111111100110011001100110001010100000101001100001100110111111001011001101111110011010000010100110000010111101100000000000110011011111100101010000010100110000111111011000000000001111111111100110011001100110001111111011000000000001100110111111001011001101111110011010000010100110000011111101100000000000110011011111100101010000010100110000111111011000000000001111111111100110011001100110001010100000100101100001100110111111001011001101111110011010000010010110000011111101100000000000110011011111100101010000010010110000100000111000000000001111111111100110011001100110001100000111000000000001100110111111001011001101111110011010000010010110000010000011100000000000110011011111100101010000010010110000100000111000000000001111111111100110011001100110001010100000101101100001100110111111001011001101111110011010000010110110000010000011100000000000110011011111100101010000010110110000110000111000000000001111111111100110011001100110001110000111000000000001100110111111001011001101111110011010000010110110000011000011100000000000110011011111100101010000010110110000110000111000000000001111111111100110011001100110001010100000100011100001100110111111001011001101111110011010000010001110000011000011100000000000110011011111100101010000010001110000101000111000000000001111111111100110011001100110001101000111000000000001100110111111001011001101111110011010000010001110000010100011100000000000110011011111100101010000010001110000101000111000000000001111111111100110011001100110001010100000101011100001100110111111001011001101111110011010000010101110000010100011100000000000110011011111100101010000010101110000111000111000000000001111111111100110011001100110001111000111000000000001100110111111001011001101111110011010000010101110000011100011100000000000110011011111100101010000010101110000111000111000000000001111111111100110011001100110001010100000100111100001100110111111001011001101111110011010000010011110000011100011100000000000110011011111100101010000010011110000100100111000000000001111111111100110011001100110001100100111000000000001100110111111001011001101111110011010000010011110000010010011100000000000110011011111100101010000010011110000100100111000000000001111111111100110011001100110001010100000101111100001100110111111001011001101111110011010000010111110000010010011100000000000110011011111100101010000010111110000110100111000000000001111111111100110011001100110001110100111000000000001100110111111001011001101111110011010000010111110000011010011100000000000110011011111100101010000010111110000110100111000000000001111111111100110011001100110001010100000100000010001100110111111001011001101111110011010000010000001000011010011100000000000110011011111100101010000010000001000101100111000000000001111111111100110011001100110001101100111000000000001100110111111001011001101111110011010000010000001000010110011100000000000110011011111100101010000010000001000101100111000000000001111111111100110011001100110001010100000101000010001100110111111001011001101111110011010000010100001000010110011100000000000110011011111100101010000010100001000111100111000000000001111111111100110011001100110001111100111000000000001100110111111001011001101111110011010000010100001000011110011100000000000110011011111100101010000010100001000111100111000000000001111111111100110011001100110001010100000100100010001100110111111001011001101111110011010000010010001000011110011100000000000110011011111100101010000010010001000100010111000000000001111111111100110011001100110001100010111000000000001100110111111001011001101111110011010000010010001000010001011100000000000110011011111100101010000010010001000100010111000000000001111111111100110011001100110001010100000101100010001100110111111001011001101111110011010000010110001000010001011100000000000110011011111100101010000010110001000110010111000000000001111111111100110011001100110001110010111000000000001100110111111001011001101111110011010000010110001000011001011100000000000110011011111100101010000010110001000110010111000000000001111111111100110011001100110001010100000100010010001100110111111001011001101111110011010000010001001000011001011100000000000110011011111100101010000010001001000101010111000000000001111111111100110011001100110001101010111000000000001100110111111001011001101111110011010000010001001000010101011100000000000110011011111100101010000010001001000101010111000000000001111111111100110011001100110001010100000101010010001100110111111001011001101111110011010000010101001000010101011100000000000110011011111100101010000010101001000111010111000000000001111111111100110011001100110001111010111000000000001100110111111001011001101111110011010000010101001000011101011100000000000110011011111100101010000010101001000111010111000000000001111111111100110011001100110001010100000100110010001100110111111001011001101111110011010000010011001000011101011100000000000110011011111100101010000010011001000100110111000000000001111111111100110011001100110001100110111000000000001100110111111001011001101111110011010000010011001000010011011100000000000110011011111100101010000010011001000100110111000000000001111111111100110011001100110001010100000101110010001100110111111001011001101111110011010000010111001000010011011100000000000110011011111100101010000010111001000110110111000000000001111111111100110011001100110001110110111000000000001100110111111001011001101111110011010000010111001000011011011100000000000110011011111100101010000010111001000110110111000000000001111111111100110011001100110001010100000100001010001100110111111001011001101111110011010000010000101000011011011100000000000110011011111100101010000010000101000101110111000000000001111111111100110011001100110001101110111000000000001100110111111001011001101111110011010000010000101000010111011100000000000110011011111100101010000010000101000101110111000000000001111111111100110011001100110001010100000101001010001100110111111001011001101111110011010000010100101000010111011100000000000110011011111100101010000010100101000111110111000000000001111111111100110011001100110001111110111000000000001100110111111001011001101111110011010000010100101000011111011100000000000110011011111100101010000010100101000111110111000000000001111111111100110011001100110001010100000100101010001100110111111001011001101111110011010000010010101000011111011100000000000110011011111100101010000010010101000100001111000000000001111111111100110011001100110001100001111000000000001100110111111001011001101111110011010000010010101000010000111100000000000110011011111100101010000010010101000100001111000000000001111111111100110011001100110001010100000101101010001100110111111001011001101111110011010000010110101000010000111100000000000110011011111100101010000010110101000110001111000000000001111111111100110011001100110001110001111000000000001100110111111001011001101111110011010000010110101000011000111100000000000110011011111100101010000010110101000110001111000000000001111111111100110011001100110001010100000100011010001100110111111001011001101111110011010000010001101000011000111100000000000110011011111100101010000010001101000101001111000000000001111111111100110011001100110001101001111000000000001100110111111001011001101111110011010000010001101000010100111100000000000110011011111100101010000010001101000101001111000000000001111111111100110011001100110001010100000101011010001100110111111001011001101111110011010000010101101000010100111100000000000110011011111100101010000010101101000111001111000000000001111111111100110011001100110001111001111000000000001100110111111001011001101111110011010000010101101000011100111100000000000110011011111100101010000010101101000111001111000000000001111111111100110011001100110001010100000100111010001100110111111001011001101111110011010000010011101000011100111100000000000110011011111100101010000010011101000100101111000000000001111111111100110011001100110001100101111000000000001100110111111001011001101111110011010000010011101000010010111100000000000110011011111100101010000010011101000100101111000000000001111111111100110011001100110001010100000101111010001100110111111001011001101111110011010000010111101000010010111100000000000110011011111100101010000010111101000110101111000000000001111111111100110011001100110001110101111000000000001100110111111001011001101111110011010000010111101000011010111100000000000110011011111100101010000010111101000110101111000000000001111111111100110011001100110001010100000100000110001100110111111001011001101111110011010000010000011000011010111100000000000110011011111100101010000010000011000101101111000000000001111111111100110011001100110001101101111000000000001100110111111001011001101111110011010000010000011000010110111100000000000110011011111100101010000010000011000101101111000000000001111111111100110011001100110001010100000101000110001100110111111001011001101111110011010000010100011000010110111100000000000110011011111100101010000010100011000111101111000000000001111111111100110011001100110001111101111000000000001100110111111001011001101111110011010000010100011000011110111100000000000110011011111100101010000010100011000111101111000000000001111111111100110011001100110001010100000100100110001100110111111001011001101111110011010000010010011000011110111100000000000110011011111100101010000010010011000100011111000000000001111111111100110011001100110001100011111000000000001100110111111001011001101111110011010000010010011000010001111100000000000110011011111100101010000010010011000100011111000000000001111111111100110011001100110001001100000100000000001100110111111001011001101111110010110000010000000000010001111100000000000110011011111100100110000010000000000110011111000000000001111111111100110011001100110001110011111000000000001100110111111001011001101111110010110000010000000000011001111100000000000110011011111100100110000010000000000110011111000000000001111111111100110011001100110001001100000101000000001100110111111001011001101111110010110000010100000000011001111100000000000110011011111100100110000010100000000101011111000000000001111111111100110011001100110001101011111000000000001100110111111001011001101111110010110000010100000000010101111100000000000110011011111100100110000010100000000101011111000000000001111111111100110011001100110001001100000100100000001100110111111001011001101111110010110000010010000000010101111100000000000110011011111100100110000010010000000111011111000000000001111111111100110011001100110001111011111000000000001100110111111001011001101111110010110000010010000000011101111100000000000110011011111100100110000010010000000111011111000000000001111111111100110011001100110001001100000101100000001100110111111001011001101111110010110000010110000000011101111100000000000110011011111100100110000010110000000100111111000000000001111111111100110011001100110001100111111000000000001100110111111001011001101111110010110000010110000000010011111100000000000110011011111100100110000010110000000100111111000000000001111111111100110011001100110001001100000100010000001100110111111001011001101111110010110000010001000000010011111100000000000110011011111100100110000010001000000110111111000000000001111111111100110011001100110001110111111000000000001100110111111001011001101111110010110000010001000000011011111100000000000110011011111100100110000010001000000110111111000000000001111111111100110011001100110001001100000101010000001100110111111001011001101111110010110000010101000000011011111100000000000110011011111100100110000010101000000101111111000000000001111111111100110011001100110001101111111000000000001100110111111001011001101111110010110000010101000000010111111100000000000110011011111100100110000010101000000101111111000000000001111111111100110011001100110001001100000100110000001100110111111001011001101111110010110000010011000000010111111100000000000110011011111100100110000010011000000111111111000000000001111111111100110011001100110001111111111000000000001100110111111001011001101111110010110000010011000000011111111100000000000110011011111100100110000010011000000111111111000000000001111111111100110011001100110001001100000101110000001100110111111001011001101111110010110000010111000000011111111100000000000110011011111100100110000010111000000100000000100000000001111111111100110011001100110001100000000100000000001100110111111001011001101111110010110000010111000000010000000010000000000110011011111100100110000010111000000100000000100000000001111111111100110011001100110001001100000100001000001100110111111001011001101111110010110000010000100000010000000010000000000110011011111100100110000010000100000110000000100000000001111111111100110011001100110001110000000100000000001100110111111001011001101111110010110000010000100000011000000010000000000110011011111100100110000010000100000110000000100000000001111111111100110011001100110001001100000101001000001100110111111001011001101111110010110000010100100000011000000010000000000110011011111100100110000010100100000101000000100000000001111111111100110011001100110001101000000100000000001100110111111001011001101111110010110000010100100000010100000010000000000110011011111100100110000010100100000101000000100000000001111111111100110011001100110001001100000100101000001100110111111001011001101111110010110000010010100000010100000010000000000110011011111100100110000010010100000111000000100000000001111111111100110011001100110001111000000100000000001100110111111001011001101111110010110000010010100000011100000010000000000110011011111100100110000010010100000111000000100000000001111111111100110011001100110001001100000101101000001100110111111001011001101111110010110000010110100000011100000010000000000110011011111100100110000010110100000100100000100000000001111111111100110011001100110001100100000100000000001100110111111001011001101111110010110000010110100000010010000010000000000110011011111100100110000010110100000100100000100000000001111111111100110011001100110001001100000100011000001100110111111001011001101111110010110000010001100000010010000010000000000110011011111100100110000010001100000110100000100000000001111111111100110011001100110001110100000100000000001100110111111001011001101111110010110000010001100000011010000010000000000110011011111100100110000010001100000110100000100000000001111111111100110011001100110001001100000101011000001100110111111001011001101111110010110000010101100000011010000010000000000110011011111100100110000010101100000101100000100000000001111111111100110011001100110001101100000100000000001100110111111001011001101111110010110000010101100000010110000010000000000110011011111100100110000010101100000101100000100000000001111111111100110011001100110001001100000100111000001100110111111001011001101111110010110000010011100000010110000010000000000110011011111100100110000010011100000111100000100000000001111111111100110011001100110001111100000100000000001100110111111001011001101111110010110000010011100000011110000010000000000110011011111100100110000010011100000111100000100000000001111111111100110011001100110001001100000101111000001100110111111001011001101111110010110000010111100000011110000010000000000110011011111100100110000010111100000100010000100000000001111111111100110011001100110001100010000100000000001100110111111001011001101111110010110000010111100000010001000010000000000110011011111100100110000010111100000100010000100000000001111111111100110011001100110001001100000100000100001100110111111001011001101111110010110000010000010000010001000010000000000110011011111100100110000010000010000110010000100000000001111111111100110011001100110001110010000100000000001100110111111001011001101111110010110000010000010000011001000010000000000110011011111100100110000010000010000110010000100000000001111111111100110011001100110001001100000101000100001100110111111001011001101111110010110000010100010000011001000010000000000110011011111100100110000010100010000101010000100000000001111111111100110011001100110001101010000100000000001100110111111001011001101111110010110000010100010000010101000010000000000110011011111100100110000010100010000101010000100000000001111111111100110011001100110001001100000100100100001100110111111001011001101111110010110000010010010000010101000010000000000110011011111100100110000010010010000111010000100000000001111111111100110011001100110001111010000100000000001100110111111001011001101111110010110000010010010000011101000010000000000110011011111100100110000010010010000111010000100000000001111111111100110011001100110001001100000101100100001100110111111001011001101111110010110000010110010000011101000010000000000110011011111100100110000010110010000100110000100000000001111111111100110011001100110001100110000100000000001100110111111001011001101111110010110000010110010000010011000010000000000110011011111100100110000010110010000100110000100000000001111111111100110011001100110001001100000100010100001100110111111001011001101111110010110000010001010000010011000010000000000110011011111100100110000010001010000110110000100000000001111111111100110011001100110001110110000100000000001100110111111001011001101111110010110000010001010000011011000010000000000110011011111100100110000010001010000110110000100000000001111111111100110011001100110001001100000101010100001100110111111001011001101111110010110000010101010000011011000010000000000110011011111100100110000010101010000101110000100000000001111111111100110011001100110001101110000100000000001100110111111001011001101111110010110000010101010000010111000010000000000110011011111100100110000010101010000101110000100000000001111111111100110011001100110001001100000100110100001100110111111001011001101111110010110000010011010000010111000010000000000110011011111100100110000010011010000111110000100000000001111111111100110011001100110001111110000100000000001100110111111001011001101111110010110000010011010000011111000010000000000110011011111100100110000010011010000111110000100000000001111111111100110011001100110001001100000101110100001100110111111001011001101111110010110000010111010000011111000010000000000110011011111100100110000010111010000100001000100000000001111111111100110011001100110001100001000100000000001100110111111001011001101111110010110000010111010000010000100010000000000110011011111100100110000010111010000100001000100000000001111111111100110011001100110001001100000100001100001100110111111001011001101111110010110000010000110000010000100010000000000110011011111100100110000010000110000110001000100000000001111111111100110011001100110001110001000100000000001100110111111001011001101111110010110000010000110000011000100010000000000110011011111100100110000010000110000110001000100000000001111111111100110011001100110001001100000101001100001100110111111001011001101111110010110000010100110000011000100010000000000110011011111100100110000010100110000101001000100000000001111111111100110011001100110001101001000100000000001100110111111001011001101111110010110000010100110000010100100010000000000110011011111100100110000010100110000101001000100000000001111111111100110011001100110001001100000100101100001100110111111001011001101111110010110000010010110000010100100010000000000110011011111100100110000010010110000111001000100000000001111111111100110011001100110001111001000100000000001100110111111001011001101111110010110000010010110000011100100010000000000110011011111100100110000010010110000111001000100000000001111111111100110011001100110001001100000101101100001100110111111001011001101111110010110000010110110000011100100010000000000110011011111100100110000010110110000100101000100000000001111111111100110011001100110001100101000100000000001100110111111001011001101111110010110000010110110000010010100010000000000110011011111100100110000010110110000100101000100000000001111111111100110011001100110001001100000100011100001100110111111001011001101111110010110000010001110000010010100010000000000110011011111100100110000010001110000110101000100000000001111111111100110011001100110001110101000100000000001100110111111001011001101111110010110000010001110000011010100010000000000110011011111100100110000010001110000110101000100000000001111111111100110011001100110001001100000101011100001100110111111001011001101111110010110000010101110000011010100010000000000110011011111100100110000010101110000101101000100000000001111111111100110011001100110001101101000100000000001100110111111001011001101111110010110000010101110000010110100010000000000110011011111100100110000010101110000101101000100000000001111111111100110011001100110001001100000100111100001100110111111001011001101111110010110000010011110000010110100010000000000110011011111100100110000010011110000111101000100000000001111111111100110011001100110001111101000100000000001100110111111001011001101111110010110000010011110000011110100010000000000110011011111100100110000010011110000111101000100000000001111111111100110011001100110001001100000101111100001100110111111001011001101111110010110000010111110000011110100010000000000110011011111100100110000010111110000100011000100000000001111111111100110011001100110001100011000100000000001100110111111001011001101111110010110000010111110000010001100010000000000110011011111100100110000010111110000100011000100000000001111111111100110011001100110001001100000100000010001100110111111001011001101111110010110000010000001000010001100010000000000110011011111100100110000010000001000110011000100000000001111111111100110011001100110001110011000100000000001100110111111001011001101111110010110000010000001000011001100010000000000110011011111100100110000010000001000110011000100000000001111111111100110011001100110001001100000101000010001100110111111001011001101111110010110000010100001000011001100010000000000110011011111100100110000010100001000101011000100000000001111111111100110011001100110001101011000100000000001100110111111001011001101111110010110000010100001000010101100010000000000110011011111100100110000010100001000101011000100000000001111111111100110011001100110001001100000100100010001100110111111001011001101111110010110000010010001000010101100010000000000110011011111100100110000010010001000111011000100000000001111111111100110011001100110001111011000100000000001100110111111001011001101111110010110000010010001000011101100010000000000110011011111100100110000010010001000111011000100000000001111111111100110011001100110001001100000101100010001100110111111001011001101111110010110000010110001000011101100010000000000110011011111100100110000010110001000100111000100000000001111111111100110011001100110001100111000100000000001100110111111001011001101111110010110000010110001000010011100010000000000110011011111100100110000010110001000100111000100000000001111111111100110011001100110001001100000100010010001100110111111001011001101111110010110000010001001000010011100010000000000110011011111100100110000010001001000110111000100000000001111111111100110011001100110001110111000100000000001100110111111001011001101111110010110000010001001000011011100010000000000110011011111100100110000010001001000110111000100000000001111111111100110011001100110001001100000101010010001100110111111001011001101111110010110000010101001000011011100010000000000110011011111100100110000010101001000101111000100000000001111111111100110011001100110001101111000100000000001100110111111001011001101111110010110000010101001000010111100010000000000110011011111100100110000010101001000101111000100000000001111111111100110011001100110001001100000100110010001100110111111001011001101111110010110000010011001000010111100010000000000110011011111100100110000010011001000111111000100000000001111111111100110011001100110001111111000100000000001100110111111001011001101111110010110000010011001000011111100010000000000110011011111100100110000010011001000111111000100000000001111111111100110011001100110001001100000101110010001100110111111001011001101111110010110000010111001000011111100010000000000110011011111100100110000010111001000100000100100000000001111111111100110011001100110001100000100100000000001100110111111001011001101111110010110000010111001000010000010010000000000110011011111100100110000010111001000100000100100000000001111111111100110011001100110001001100000100001010001100110111111001011001101111110010110000010000101000010000010010000000000110011011111100100110000010000101000110000100100000000001111111111100110011001100110001110000100100000000001100110111111001011001101111110010110000010000101000011000010010000000000110011011111100100110000010000101000110000100100000000001111111111100110011001100110001001100000101001010001100110111111001011001101111110010110000010100101000011000010010000000000110011011111100100110000010100101000101000100100000000001111111111100110011001100110001101000100100000000001100110111111001011001101111110010110000010100101000010100010010000000000110011011111100100110000010100101000101000100100000000001111111111100110011001100110001001100000100101010001100110111111001011001101111110010110000010010101000010100010010000000000110011011111100100110000010010101000111000100100000000001111111111100110011001100110001111000100100000000001100110111111001011001101111110010110000010010101000011100010010000000000110011011111100100110000010010101000111000100100000000001111111111100110011001100110001001100000101101010001100110111111001011001101111110010110000010110101000011100010010000000000110011011111100100110000010110101000100100100100000000001111111111100110011001100110001100100100100000000001100110111111001011001101111110010110000010110101000010010010010000000000110011011111100100110000010110101000100100100100000000001111111111100110011001100110001001100000100011010001100110111111001011001101111110010110000010001101000010010010010000000000110011011111100100110000010001101000110100100100000000001111111111100110011001100110001110100100100000000001100110111111001011001101111110010110000010001101000011010010010000000000110011011111100100110000010001101000110100100100000000001111111111100110011001100110001001100000101011010001100110111111001011001101111110010110000010101101000011010010010000000000110011011111100100110000010101101000101100100100000000001111111111100110011001100110001101100100100000000001100110111111001011001101111110010110000010101101000010110010010000000000110011011111100100110000010101101000101100100100000000001111111111100110011001100110001001100000100111010001100110111111001011001101111110010110000010011101000010110010010000000000110011011111100100110000010011101000111100100100000000001111111111100110011001100110001111100100100000000001100110111111001011001101111110010110000010011101000011110010010000000000110011011111100100110000010011101000111100100100000000001111111111100110011001100110001001100000101111010001100110111111001011001101111110010110000010111101000011110010010000000000110011011111100100110000010111101000100010100100000000001111111111100110011001100110001100010100100000000001100110111111001011001101111110010110000010111101000010001010010000000000110011011111100100110000010111101000100010100100000000001111111111100110011001100110001001100000100000110001100110111111001011001101111110010110000010000011000010001010010000000000110011011111100100110000010000011000110010100100000000001111111111100110011001100110001110010100100000000001100110111111001011001101111110010110000010000011000011001010010000000000110011011111100100110000010000011000110010100100000000001111111111100110011001100110001001100000101000110001100110111111001011001101111110010110000010100011000011001010010000000000110011011111100100110000010100011000101010100100000000001111111111100110011001100110001101010100100000000001100110111111001011001101111110010110000010100011000010101010010000000000110011011111100100110000010100011000101010100100000000001111111111100110011001100110001001100000100100110001100110111111001011001101111110010110000010010011000010101010010000000000110011011111100100110000010010011000111010100100000000001111111111100110011001100110001111010100100000000001100110111111001011001101111110010110000010010011000011101010010000000000110011011111100100110000010010011000111010100100000000001111111111100110011001100110001011100000100000000001100110111111001011001101111110011110000010000000000011101010010000000000110011011111100101110000010000000000100110100100000000001111111111100110011001100110001100110100100000000001100110111111001011001101111110011110000010000000000010011010010000000000110011011111100101110000010000000000100110100100000000001111111111100110011001100110001011100000101000000001100110111111001011001101111110011110000010100000000010011010010000000000110011011111100101110000010100000000110110100100000000001111111111100110011001100110001110110100100000000001100110111111001011001101111110011110000010100000000011011010010000000000110011011111100101110000010100000000110110100100000000001111111111100110011001100110001011100000100100000001100110111111001011001101111110011110000010010000000011011010010000000000110011011111100101110000010010000000101110100100000000001111111111100110011001100110001101110100100000000001100110111111001011001101111110011110000010010000000010111010010000000000110011011111100101110000010010000000101110100100000000001111111111100110011001100110001011100000101100000001100110111111001011001101111110011110000010110000000010111010010000000000110011011111100101110000010110000000111110100100000000001111111111100110011001100110001111110100100000000001100110111111001011001101111110011110000010110000000011111010010000000000110011011111100101110000010110000000111110100100000000001111111111100110011001100110001011100000100010000001100110111111001011001101111110011110000010001000000011111010010000000000110011011111100101110000010001000000100001100100000000001111111111100110011001100110001100001100100000000001100110111111001011001101111110011110000010001000000010000110010000000000110011011111100101110000010001000000100001100100000000001111111111100110011001100110001011100000101010000001100110111111001011001101111110011110000010101000000010000110010000000000110011011111100101110000010101000000110001100100000000001111111111100110011001100110001110001100100000000001100110111111001011001101111110011110000010101000000011000110010000000000110011011111100101110000010101000000110001100100000000001111111111100110011001100110001011100000100110000001100110111111001011001101111110011110000010011000000011000110010000000000110011011111100101110000010011000000101001100100000000001111111111100110011001100110001101001100100000000001100110111111001011001101111110011110000010011000000010100110010000000000110011011111100101110000010011000000101001100100000000001111111111100110011001100110001011100000101110000001100110111111001011001101111110011110000010111000000010100110010000000000110011011111100101110000010111000000111001100100000000001111111111100110011001100110001111001100100000000001100110111111001011001101111110011110000010111000000011100110010000000000110011011111100101110000010111000000111001100100000000001111111111100110011001100110001011100000100001000001100110111111001011001101111110011110000010000100000011100110010000000000110011011111100101110000010000100000100101100100000000001111111111100110011001100110001100101100100000000001100110111111001011001101111110011110000010000100000010010110010000000000110011011111100101110000010000100000100101100100000000001111111111100110011001100110001011100000101001000001100110111111001011001101111110011110000010100100000010010110010000000000110011011111100101110000010100100000110101100100000000001111111111100110011001100110001110101100100000000001100110111111001011001101111110011110000010100100000011010110010000000000110011011111100101110000010100100000110101100100000000001111111111100110011001100110001011100000100101000001100110111111001011001101111110011110000010010100000011010110010000000000110011011111100101110000010010100000101101100100000000001111111111100110011001100110001101101100100000000001100110111111001011001101111110011110000010010100000010110110010000000000110011011111100101110000010010100000101101100100000000001111111111100110011001100110001011100000101101000001100110111111001011001101111110011110000010110100000010110110010000000000110011011111100101110000010110100000111101100100000000001111111111100110011001100110001111101100100000000001100110111111001011001101111110011110000010110100000011110110010000000000110011011111100101110000010110100000111101100100000000001111111111100110011001100110001011100000100011000001100110111111001011001101111110011110000010001100000011110110010000000000110011011111100101110000010001100000100011100100000000001111111111100110011001100110001100011100100000000001100110111111001011001101111110011110000010001100000010001110010000000000110011011111100101110000010001100000100011100100000000001111111111100110011001100110001011100000101011000001100110111111001011001101111110011110000010101100000010001110010000000000110011011111100101110000010101100000110011100100000000001111111111100110011001100110001110011100100000000001100110111111001011001101111110011110000010101100000011001110010000000000110011011111100101110000010101100000110011100100000000001111111111100110011001100110001011100000100111000001100110111111001011001101111110011110000010011100000011001110010000000000110011011111100101110000010011100000101011100100000000001111111111100110011001100110001101011100100000000001100110111111001011001101111110011110000010011100000010101110010000000000110011011111100101110000010011100000101011100100000000001111111111100110011001100110001011100000101111000001100110111111001011001101111110011110000010111100000010101110010000000000110011011111100101110000010111100000111011100100000000001111111111100110011001100110001111011100100000000001100110111111001011001101111110011110000010111100000011101110010000000000110011011111100101110000010111100000111011100100000000001111111111100110011001100110001011100000100000100001100110111111001011001101111110011110000010000010000011101110010000000000110011011111100101110000010000010000100111100100000000001111111111100110011001100110001100111100100000000001100110111111001011001101111110011110000010000010000010011110010000000000110011011111100101110000010000010000100111100100000000001111111111100110011001100110001011100000101000100001100110111111001011001101111110011110000010100010000010011110010000000000110011011111100101110000010100010000110111100100000000001111111111100110011001100110001110111100100000000001100110111111001011001101111110011110000010100010000011011110010000000000110011011111100101110000010100010000110111100100000000001111111111100110011001100110001011100000100100100001100110111111001011001101111110011110000010010010000011011110010000000000110011011111100101110000010010010000101111100100000000001111111111100110011001100110001101111100100000000001100110111111001011001101111110011110000010010010000010111110010000000000110011011111100101110000010010010000101111100100000000001111111111100110011001100110001011100000101100100001100110111111001011001101111110011110000010110010000010111110010000000000110011011111100101110000010110010000111111100100000000001111111111100110011001100110001111111100100000000001100110111111001011001101111110011110000010110010000011111110010000000000110011011111100101110000010110010000111111100100000000001111111111100110011001100110001011100000100010100001100110111111001011001101111110011110000010001010000011111110010000000000110011011111100101110000010001010000100000010100000000001111111111100110011001100110001100000010100000000001100110111111001011001101111110011110000010001010000010000001010000000000110011011111100101110000010001010000100000010100000000001111111111100110011001100110001011100000101010100001100110111111001011001101111110011110000010101010000010000001010000000000110011011111100101110000010101010000110000010100000000001111111111100110011001100110001110000010100000000001100110111111001011001101111110011110000010101010000011000001010000000000110011011111100101110000010101010000110000010100000000001111111111100110011001100110001011100000100110100001100110111111001011001101111110011110000010011010000011000001010000000000110011011111100101110000010011010000101000010100000000001111111111100110011001100110001101000010100000000001100110111111001011001101111110011110000010011010000010100001010000000000110011011111100101110000010011010000101000010100000000001111111111100110011001100110001011100000101110100001100110111111001011001101111110011110000010111010000010100001010000000000110011011111100101110000010111010000111000010100000000001111111111100110011001100110001111000010100000000001100110111111001011001101111110011110000010111010000011100001010000000000110011011111100101110000010111010000111000010100000000001111111111100110011001100110001011100000100001100001100110111111001011001101111110011110000010000110000011100001010000000000110011011111100101110000010000110000100100010100000000001111111111100110011001100110001100100010100000000001100110111111001011001101111110011110000010000110000010010001010000000000110011011111100101110000010000110000100100010100000000001111111111100110011001100110001011100000101001100001100110111111001011001101111110011110000010100110000010010001010000000000110011011111100101110000010100110000110100010100000000001111111111100110011001100110001110100010100000000001100110111111001011001101111110011110000010100110000011010001010000000000110011011111100101110000010100110000110100010100000000001111111111100110011001100110001011100000100101100001100110111111001011001101111110011110000010010110000011010001010000000000110011011111100101110000010010110000101100010100000000001111111111100110011001100110001101100010100000000001100110111111001011001101111110011110000010010110000010110001010000000000110011011111100101110000010010110000101100010100000000001111111111100110011001100110001011100000101101100001100110111111001011001101111110011110000010110110000010110001010000000000110011011111100101110000010110110000111100010100000000001111111111100110011001100110001111100010100000000001100110111111001011001101111110011110000010110110000011110001010000000000110011011111100101110000010110110000111100010100000000001111111111100110011001100110001011100000100011100001100110111111001011001101111110011110000010001110000011110001010000000000110011011111100101110000010001110000100010010100000000001111111111100110011001100110001100010010100000000001100110111111001011001101111110011110000010001110000010001001010000000000110011011111100101110000010001110000100010010100000000001111111111100110011001100110001011100000101011100001100110111111001011001101111110011110000010101110000010001001010000000000110011011111100101110000010101110000110010010100000000001111111111100110011001100110001110010010100000000001100110111111001011001101111110011110000010101110000011001001010000000000110011011111100101110000010101110000110010010100000000001111111111100110011001100110001011100000100111100001100110111111001011001101111110011110000010011110000011001001010000000000110011011111100101110000010011110000101010010100000000001111111111100110011001100110001101010010100000000001100110111111001011001101111110011110000010011110000010101001010000000000110011011111100101110000010011110000101010010100000000001111111111100110011001100110001011100000101111100001100110111111001011001101111110011110000010111110000010101001010000000000110011011111100101110000010111110000111010010100000000001111111111100110011001100110001111010010100000000001100110111111001011001101111110011110000010111110000011101001010000000000110011011111100101110000010111110000111010010100000000001111111111100110011001100110001011100000100000010001100110111111001011001101111110011110000010000001000011101001010000000000110011011111100101110000010000001000100110010100000000001111111111100110011001100110001100110010100000000001100110111111001011001101111110011110000010000001000010011001010000000000110011011111100101110000010000001000100110010100000000001111111111100110011001100110001011100000101000010001100110111111001011001101111110011110000010100001000010011001010000000000110011011111100101110000010100001000110110010100000000001111111111100110011001100110001110110010100000000001100110111111001011001101111110011110000010100001000011011001010000000000110011011111100101110000010100001000110110010100000000001111111111100110011001100110001011100000100100010001100110111111001011001101111110011110000010010001000011011001010000000000110011011111100101110000010010001000101110010100000000001111111111100110011001100110001101110010100000000001100110111111001011001101111110011110000010010001000010111001010000000000110011011111100101110000010010001000101110010100000000001111111111100110011001100110001011100000101100010001100110111111001011001101111110011110000010110001000010111001010000000000110011011111100101110000010110001000111110010100000000001111111111100110011001100110001111110010100000000001100110111111001011001101111110011110000010110001000011111001010000000000110011011111100101110000010110001000111110010100000000001111111111100110011001100110001011100000100010010001100110111111001011001101111110011110000010001001000011111001010000000000110011011111100101110000010001001000100001010100000000001111111111100110011001100110001100001010100000000001100110111111001011001101111110011110000010001001000010000101010000000000110011011111100101110000010001001000100001010100000000001111111111100110011001100110001011100000101010010001100110111111001011001101111110011110000010101001000010000101010000000000110011011111100101110000010101001000110001010100000000001111111111100110011001100110001110001010100000000001100110111111001011001101111110011110000010101001000011000101010000000000110011011111100101110000010101001000110001010100000000001111111111100110011001100110001011100000100110010001100110111111001011001101111110011110000010011001000011000101010000000000110011011111100101110000010011001000101001010100000000001111111111100110011001100110001101001010100000000001100110111111001011001101111110011110000010011001000010100101010000000000110011011111100101110000010011001000101001010100000000001111111111100110011001100110001011100000101110010001100110111111001011001101111110011110000010111001000010100101010000000000110011011111100101110000010111001000111001010100000000001111111111100110011001100110001111001010100000000001100110111111001011001101111110011110000010111001000011100101010000000000110011011111100101110000010111001000111001010100000000001111111111100110011001100110001011100000100001010001100110111111001011001101111110011110000010000101000011100101010000000000110011011111100101110000010000101000100101010100000000001111111111100110011001100110001100101010100000000001100110111111001011001101111110011110000010000101000010010101010000000000110011011111100101110000010000101000100101010100000000001111111111100110011001100110001011100000101001010001100110111111001011001101111110011110000010100101000010010101010000000000110011011111100101110000010100101000110101010100000000001111111111100110011001100110001110101010100000000001100110111111001011001101111110011110000010100101000011010101010000000000110011011111100101110000010100101000110101010100000000001111111111100110011001100110001011100000100101010001100110111111001011001101111110011110000010010101000011010101010000000000110011011111100101110000010010101000101101010100000000001111111111100110011001100110001101101010100000000001100110111111001011001101111110011110000010010101000010110101010000000000110011011111100101110000010010101000101101010100000000001111111111100110011001100110001011100000101101010001100110111111001011001101111110011110000010110101000010110101010000000000110011011111100101110000010110101000111101010100000000001111111111100110011001100110001111101010100000000001100110111111001011001101111110011110000010110101000011110101010000000000110011011111100101110000010110101000111101010100000000001111111111100110011001100110001011100000100011010001100110111111001011001101111110011110000010001101000011110101010000000000110011011111100101110000010001101000100011010100000000001111111111100110011001100110001100011010100000000001100110111111001011001101111110011110000010001101000010001101010000000000110011011111100101110000010001101000100011010100000000001111111111100110011001100110001011100000101011010001100110111111001011001101111110011110000010101101000010001101010000000000110011011111100101110000010101101000110011010100000000001111111111100110011001100110001110011010100000000001100110111111001011001101111110011110000010101101000011001101010000000000110011011111100101110000010101101000110011010100000000001111111111100110011001100110001011100000100111010001100110111111001011001101111110011110000010011101000011001101010000000000110011011111100101110000010011101000101011010100000000001111111111100110011001100110001101011010100000000001100110111111001011001101111110011110000010011101000010101101010000000000110011011111100101110000010011101000101011010100000000001111111111100110011001100110001011100000101111010001100110111111001011001101111110011110000010111101000010101101010000000000110011011111100101110000010111101000111011010100000000001111111111100110011001100110001111011010100000000001100110111111001011001101111110011110000010111101000011101101010000000000110011011111100101110000010111101000111011010100000000001111111111100110011001100110001011100000100000110001100110111111001011001101111110011110000010000011000011101101010000000000110011011111100101110000010000011000100111010100000000001111111111100110011001100110001100111010100000000001100110111111001011001101111110011110000010000011000010011101010000000000110011011111100101110000010000011000100111010100000000001111111111100110011001100110001011100000101000110001100110111111001011001101111110011110000010100011000010011101010000000000110011011111100101110000010100011000110111010100000000001111111111100110011001100110001110111010100000000001100110111111001011001101111110011110000010100011000011011101010000000000110011011111100101110000010100011000110111010100000000001111111111100110011001100110001011100000100100110001100110111111001011001101111110011110000010010011000011011101010000000000110011011111100101110000010010011000101111010100000000001111111111100110011001100110001101111010100000000001100110111111001011001101111110011110000010010011000010111101010000000000110011011111100101110000010010011000101111010100000000001111111111100110011001100110001000010000100000000001100110111111001011001101111110010001000010000000000010111101010000000000110011011111100100001000010000000000111111010100000000001111111111100110011001100110001111111010100000000001100110111111001011001101111110010001000010000000000011111101010000000000110011011111100100001000010000000000111111010100000000001111111111100110011001100110001000010000101000000001100110111111001011001101111110010001000010100000000011111101010000000000110011011111100100001000010100000000100000110100000000001111111111100110011001100110001100000110100000000001100110111111001011001101111110010001000010100000000010000011010000000000110011011111100100001000010100000000100000110100000000001111111111100110011001100110001000010000100100000001100110111111001011001101111110010001000010010000000010000011010000000000110011011111100100001000010010000000110000110100000000001111111111100110011001100110001110000110100000000001100110111111001011001101111110010001000010010000000011000011010000000000110011011111100100001000010010000000110000110100000000001111111111100110011001100110001000010000101100000001100110111111001011001101111110010001000010110000000011000011010000000000110011011111100100001000010110000000101000110100000000001111111111100110011001100110001101000110100000000001100110111111001011001101111110010001000010110000000010100011010000000000110011011111100100001000010110000000101000110100000000001111111111100110011001100110001000010000100010000001100110111111001011001101111110010001000010001000000010100011010000000000110011011111100100001000010001000000111000110100000000001111111111100110011001100110001111000110100000000001100110111111001011001101111110010001000010001000000011100011010000000000110011011111100100001000010001000000111000110100000000001111111111100110011001100110001000010000101010000001100110111111001011001101111110010001000010101000000011100011010000000000110011011111100100001000010101000000100100110100000000001111111111100110011001100110001100100110100000000001100110111111001011001101111110010001000010101000000010010011010000000000110011011111100100001000010101000000100100110100000000001111111111100110011001100110001000010000100110000001100110111111001011001101111110010001000010011000000010010011010000000000110011011111100100001000010011000000110100110100000000001111111111100110011001100110001110100110100000000001100110111111001011001101111110010001000010011000000011010011010000000000110011011111100100001000010011000000110100110100000000001111111111100110011001100110001000010000101110000001100110111111001011001101111110010001000010111000000011010011010000000000110011011111100100001000010111000000101100110100000000001111111111100110011001100110001101100110100000000001100110111111001011001101111110010001000010111000000010110011010000000000110011011111100100001000010111000000101100110100000000001111111111100110011001100110001000010000100001000001100110111111001011001101111110010001000010000100000010110011010000000000110011011111100100001000010000100000111100110100000000001111111111100110011001100110001111100110100000000001100110111111001011001101111110010001000010000100000011110011010000000000110011011111100100001000010000100000111100110100000000001111111111100110011001100110001000010000101001000001100110111111001011001101111110010001000010100100000011110011010000000000110011011111100100001000010100100000100010110100000000001111111111100110011001100110001100010110100000000001100110111111001011001101111110010001000010100100000010001011010000000000110011011111100100001000010100100000100010110100000000001111111111100110011001100110001000010000100101000001100110111111001011001101111110010001000010010100000010001011010000000000110011011111100100001000010010100000110010110100000000001111111111100110011001100110001110010110100000000001100110111111001011001101111110010001000010010100000011001011010000000000110011011111100100001000010010100000110010110100000000001111111111100110011001100110001000010000101101000001100110111111001011001101111110010001000010110100000011001011010000000000110011011111100100001000010110100000101010110100000000001111111111100110011001100110001101010110100000000001100110111111001011001101111110010001000010110100000010101011010000000000110011011111100100001000010110100000101010110100000000001111111111100110011001100110001000010000100011000001100110111111001011001101111110010001000010001100000010101011010000000000110011011111100100001000010001100000111010110100000000001111111111100110011001100110001111010110100000000001100110111111001011001101111110010001000010001100000011101011010000000000110011011111100100001000010001100000111010110100000000001111111111100110011001100110001000010000101011000001100110111111001011001101111110010001000010101100000011101011010000000000110011011111100100001000010101100000100110110100000000001111111111100110011001100110001100110110100000000001100110111111001011001101111110010001000010101100000010011011010000000000110011011111100100001000010101100000100110110100000000001111111111100110011001100110001000010000100111000001100110111111001011001101111110010001000010011100000010011011010000000000110011011111100100001000010011100000110110110100000000001111111111100110011001100110001110110110100000000001100110111111001011001101111110010001000010011100000011011011010000000000110011011111100100001000010011100000110110110100000000001111111111100110011001100110001000010000101111000001100110111111001011001101111110010001000010111100000011011011010000000000110011011111100100001000010111100000101110110100000000001111111111100110011001100110001101110110100000000001100110111111001011001101111110010001000010111100000010111011010000000000110011011111100100001000010111100000101110110100000000001111111111100110011001100110001000010000100000100001100110111111001011001101111110010001000010000010000010111011010000000000110011011111100100001000010000010000111110110100000000001111111111100110011001100110001111110110100000000001100110111111001011001101111110010001000010000010000011111011010000000000110011011111100100001000010000010000111110110100000000001111111111100110011001100110001000010000101000100001100110111111001011001101111110010001000010100010000011111011010000000000110011011111100100001000010100010000100001110100000000001111111111100110011001100110001100001110100000000001100110111111001011001101111110010001000010100010000010000111010000000000110011011111100100001000010100010000100001110100000000001111111111100110011001100110001000010000100100100001100110111111001011001101111110010001000010010010000010000111010000000000110011011111100100001000010010010000110001110100000000001111111111100110011001100110001110001110100000000001100110111111001011001101111110010001000010010010000011000111010000000000110011011111100100001000010010010000110001110100000000001111111111100110011001100110001000010000101100100001100110111111001011001101111110010001000010110010000011000111010000000000110011011111100100001000010110010000101001110100000000001111111111100110011001100110001101001110100000000001100110111111001011001101111110010001000010110010000010100111010000000000110011011111100100001000010110010000101001110100000000001111111111100110011001100110001000010000100010100001100110111111001011001101111110010001000010001010000010100111010000000000110011011111100100001000010001010000111001110100000000001111111111100110011001100110001111001110100000000001100110111111001011001101111110010001000010001010000011100111010000000000110011011111100100001000010001010000111001110100000000001111111111100110011001100110001000010000101010100001100110111111001011001101111110010001000010101010000011100111010000000000110011011111100100001000010101010000100101110100000000001111111111100110011001100110001100101110100000000001100110111111001011001101111110010001000010101010000010010111010000000000110011011111100100001000010101010000100101110100000000001111111111100110011001100110001000010000100110100001100110111111001011001101111110010001000010011010000010010111010000000000110011011111100100001000010011010000110101110100000000001111111111100110011001100110001110101110100000000001100110111111001011001101111110010001000010011010000011010111010000000000110011011111100100001000010011010000110101110100000000001111111111100110011001100110001000010000101110100001100110111111001011001101111110010001000010111010000011010111010000000000110011011111100100001000010111010000101101110100000000001111111111100110011001100110001101101110100000000001100110111111001011001101111110010001000010111010000010110111010000000000110011011111100100001000010111010000101101110100000000001111111111100110011001100110001000010000100001100001100110111111001011001101111110010001000010000110000010110111010000000000110011011111100100001000010000110000111101110100000000001111111111100110011001100110001111101110100000000001100110111111001011001101111110010001000010000110000011110111010000000000110011011111100100001000010000110000111101110100000000001111111111100110011001100110001000010000101001100001100110111111001011001101111110010001000010100110000011110111010000000000110011011111100100001000010100110000100011110100000000001111111111100110011001100110001100011110100000000001100110111111001011001101111110010001000010100110000010001111010000000000110011011111100100001000010100110000100011110100000000001111111111100110011001100110001000010000100101100001100110111111001011001101111110010001000010010110000010001111010000000000110011011111100100001000010010110000110011110100000000001111111111100110011001100110001110011110100000000001100110111111001011001101111110010001000010010110000011001111010000000000110011011111100100001000010010110000110011110100000000001111111111100110011001100110001000010000101101100001100110111111001011001101111110010001000010110110000011001111010000000000110011011111100100001000010110110000101011110100000000001111111111100110011001100110001101011110100000000001100110111111001011001101111110010001000010110110000010101111010000000000110011011111100100001000010110110000101011110100000000001111111111100110011001100110001000010000100011100001100110111111001011001101111110010001000010001110000010101111010000000000110011011111100100001000010001110000111011110100000000001111111111100110011001100110001111011110100000000001100110111111001011001101111110010001000010001110000011101111010000000000110011011111100100001000010001110000111011110100000000001111111111100110011001100110001000010000101011100001100110111111001011001101111110010001000010101110000011101111010000000000110011011111100100001000010101110000100111110100000000001111111111100110011001100110001100111110100000000001100110111111001011001101111110010001000010101110000010011111010000000000110011011111100100001000010101110000100111110100000000001111111111100110011001100110001000010000100111100001100110111111001011001101111110010001000010011110000010011111010000000000110011011111100100001000010011110000110111110100000000001111111111100110011001100110001110111110100000000001100110111111001011001101111110010001000010011110000011011111010000000000110011011111100100001000010011110000110111110100000000001111111111100110011001100110001000010000101111100001100110111111001011001101111110010001000010111110000011011111010000000000110011011111100100001000010111110000101111110100000000001111111111100110011001100110001101111110100000000001100110111111001011001101111110010001000010111110000010111111010000000000110011011111100100001000010111110000101111110100000000001111111111100110011001100110001000010000100000010001100110111111001011001101111110010001000010000001000010111111010000000000110011011111100100001000010000001000111111110100000000001111111111100110011001100110001111111110100000000001100110111111001011001101111110010001000010000001000011111111010000000000110011011111100100001000010000001000111111110100000000001111111111100110011001100110001000010000101000010001100110111111001011001101111110010001000010100001000011111111010000000000110011011111100100001000010100001000100000001100000000001111111111100110011001100110001100000001100000000001100110111111001011001101111110010001000010100001000010000000110000000000110011011111100100001000010100001000100000001100000000001111111111100110011001100110001000010000100100010001100110111111001011001101111110010001000010010001000010000000110000000000110011011111100100001000010010001000110000001100000000001111111111100110011001100110001110000001100000000001100110111111001011001101111110010001000010010001000011000000110000000000110011011111100100001000010010001000110000001100000000001111111111100110011001100110001000010000101100010001100110111111001011001101111110010001000010110001000011000000110000000000110011011111100100001000010110001000101000001100000000001111111111100110011001100110001101000001100000000001100110111111001011001101111110010001000010110001000010100000110000000000110011011111100100001000010110001000101000001100000000001111111111100110011001100110001000010000100010010001100110111111001011001101111110010001000010001001000010100000110000000000110011011111100100001000010001001000111000001100000000001111111111100110011001100110001111000001100000000001100110111111001011001101111110010001000010001001000011100000110000000000110011011111100100001000010001001000111000001100000000001111111111100110011001100110001000010000101010010001100110111111001011001101111110010001000010101001000011100000110000000000110011011111100100001000010101001000100100001100000000001111111111100110011001100110001100100001100000000001100110111111001011001101111110010001000010101001000010010000110000000000110011011111100100001000010101001000100100001100000000001111111111100110011001100110001000010000100110010001100110111111001011001101111110010001000010011001000010010000110000000000110011011111100100001000010011001000110100001100000000001111111111100110011001100110001110100001100000000001100110111111001011001101111110010001000010011001000011010000110000000000110011011111100100001000010011001000110100001100000000001111111111100110011001100110001000010000101110010001100110111111001011001101111110010001000010111001000011010000110000000000110011011111100100001000010111001000101100001100000000001111111111100110011001100110001101100001100000000001100110111111001011001101111110010001000010111001000010110000110000000000110011011111100100001000010111001000101100001100000000001111111111100110011001100110001000010000100001010001100110111111001011001101111110010001000010000101000010110000110000000000110011011111100100001000010000101000111100001100000000001111111111100110011001100110001111100001100000000001100110111111001011001101111110010001000010000101000011110000110000000000110011011111100100001000010000101000111100001100000000001111111111100110011001100110001000010000101001010001100110111111001011001101111110010001000010100101000011110000110000000000110011011111100100001000010100101000100010001100000000001111111111100110011001100110001100010001100000000001100110111111001011001101111110010001000010100101000010001000110000000000110011011111100100001000010100101000100010001100000000001111111111100110011001100110001000010000100101010001100110111111001011001101111110010001000010010101000010001000110000000000110011011111100100001000010010101000110010001100000000001111111111100110011001100110001110010001100000000001100110111111001011001101111110010001000010010101000011001000110000000000110011011111100100001000010010101000110010001100000000001111111111100110011001100110001000010000101101010001100110111111001011001101111110010001000010110101000011001000110000000000110011011111100100001000010110101000101010001100000000001111111111100110011001100110001101010001100000000001100110111111001011001101111110010001000010110101000010101000110000000000110011011111100100001000010110101000101010001100000000001111111111100110011001100110001000010000100011010001100110111111001011001101111110010001000010001101000010101000110000000000110011011111100100001000010001101000111010001100000000001111111111100110011001100110001111010001100000000001100110111111001011001101111110010001000010001101000011101000110000000000110011011111100100001000010001101000111010001100000000001111111111100110011001100110001000010000101011010001100110111111001011001101111110010001000010101101000011101000110000000000110011011111100100001000010101101000100110001100000000001111111111100110011001100110001100110001100000000001100110111111001011001101111110010001000010101101000010011000110000000000110011011111100100001000010101101000100110001100000000001111111111100110011001100110001000010000100111010001100110111111001011001101111110010001000010011101000010011000110000000000110011011111100100001000010011101000110110001100000000001111111111100110011001100110001110110001100000000001100110111111001011001101111110010001000010011101000011011000110000000000110011011111100100001000010011101000110110001100000000001111111111100110011001100110001000010000101111010001100110111111001011001101111110010001000010111101000011011000110000000000110011011111100100001000010111101000101110001100000000001111111111100110011001100110001101110001100000000001100110111111001011001101111110010001000010111101000010111000110000000000110011011111100100001000010111101000101110001100000000001111111111100110011001100110001000010000100000110001100110111111001011001101111110010001000010000011000010111000110000000000110011011111100100001000010000011000111110001100000000001111111111100110011001100110001111110001100000000001100110111111001011001101111110010001000010000011000011111000110000000000110011011111100100001000010000011000111110001100000000001111111111100110011001100110001000010000101000110001100110111111001011001101111110010001000010100011000011111000110000000000110011011111100100001000010100011000100001001100000000001111111111100110011001100110001100001001100000000001100110111111001011001101111110010001000010100011000010000100110000000000110011011111100100001000010100011000100001001100000000001111111111100110011001100110001000010000100100110001100110111111001011001101111110010001000010010011000010000100110000000000110011011111100100001000010010011000110001001100000000001111111111100110011001100110001000100110110000000101010110111100101011001101111110010001000010010011000000010011011000000010110011011111100100001000010010011000110001001100000000001011111111100110011001100110001010010000100000000001100110111111001011001101111110011001000010000000000000010011011000000010101011011110010101001000010000000000101001001100000000001011111111100110011001100110001000100110110000000011001010011000110011001101111110011001000010000000000000010011011000000001101011011110010101001000010000000000101001001100000000001010000000000000000000000000001010010000101000000001100110111111001011001101111110011001000010100000000000010011011000000001100101001100011001001000010100000000111001001100000000001010000000000000000000000000001000100110110000000110001101110110100011001101111110011001000010100000000000010011011000000011100101001100011001001000010100000000111001001100000000001010000000000000000000000000001010010000100100000001100110111111001011001101111110011001000010010000000000010011011000000011000110111011010001001000010010000000100101001100000000001010000000000000000000000000001010100110110000000001010011101100101011001101111110011001000010010000000001010011011000000000000110111011010001001000010010000000100101001100000000001010000000000000000000000000001010010000101100000001100110111111001011001101111110011001000010110000000001010011011000000000101001110110010101001000010110000000110101001100000000001010000000000000000000000000001010100110110000000100011110101100000011001101111110011001000010110000000001010011011000000010101001110110010101001000010110000000110101001100000000001010000000000000000000000000001010010000100010000001100110111111001011001101111110011001000010001000000001010011011000000010001111010110000001001000010001000000101101001100000000001010000000000000000000000000001010100110110000000011011001000100011011001101111110011001000010001000000001010011011000000001001111010110000001001000010001000000101101001100000000001010000000000000000000000000001010010000101010000001100110111111001011001101111110011001000010101000000001010011011000000001101100100010001101001000010101000000111101001100000000001010000000000000000000000000001010100110110000000111101011101101001011001101111110011001000010101000000001010011011000000011101100100010001101001000010101000000111101001100000000001010000000000000000000000000001010010000100110000001100110111111001011001101111110011001000010011000000001010011011000000011110101110110100101001000010011000000100011001100000000001010000000000000000000000000001001100110110000000000011001000110100011001101111110011001000010011000000000110011011000000000110101110110100101001000010011000000100011001100000000001010000000000000000000000000001010010000101110000001100110111111001011001101111110011001000010111000000000110011011000000000001100100011010001001000010111000000110011001100000000001010000000000000000000000000001001100110110000000101010000100101101011001101111110011001000010111000000000110011011000000010001100100011010001001000010111000000110011001100000000001010000000000000000000000000001010010000100001000001100110111111001011001101111110011001000010000100000000110011011000000010101000010010110101001000010000100000101011001100000000001010000000000000000000000000001001100110110000000010000111110001100011001101111110011001000010000100000000110011011000000001101000010010110101001000010000100000101011001100000000001010000000000000000000000000001010010000101001000001100110111111001011001101111110011001000010100100000000110011011000000001000011111000110001001000010100100000111011001100000000001010000000000000000000000000001001100110110000000111111011001011011011001101111110011001000010100100000000110011011000000011000011111000110001001000010100100000111011001100000000001010000000000000000000000000001010010000100101000001100110111111001011001101111110011001000010010100000000110011011000000011111101100101101101001000010010100000100111001100000000001010000000000000000000000000001011100110110000000001101111111000110011001101111110011001000010010100000001110011011000000000111101100101101101001000010010100000100111001100000000001010000000000000000000000000001010010000101101000001100110111111001011001101111110011001000010110100000001110011011000000000110111111100011001001000010110100000110111001100000000001010000000000000000000000000001011100110110000000101001010011011000011001101111110011001000010110100000001110011011000000010110111111100011001001000010110100000110111001100000000001010000000000000000000000000001010010000100011000001100110111111001011001101111110011001000010001100000001110011011000000010100101001101100001001000010001100000101111001100000000001010000000000000000000000000001011100110110000000011000100011001101011001101111110011001000010001100000001110011011000000001100101001101100001001000010001100000101111001100000000001010000000000000000000000000001010010000101011000001100110111111001011001101111110011001000010101100000001110011011000000001100010001100110101001000010101100000111111001100000000001010000000000000000000000000001011100110110000000110000100011110001011001101111110011001000010101100000001110011011000000011100010001100110101001000010101100000111111001100000000001010000000000000000000000000001010010000100111000001100110111111001011001101111110011001000010011100000001110011011000000011000010001111000101001000010011100000100000101100000000001010000000000000000000000000001000010110110000000000100111001111010011001101111110011001000010011100000000001011011000000000000010001111000101001000010011100000100000101100000000001010000000000000000000000000001010010000101111000001100110111111001011001101111110011001000010111100000000001011011000000000010011100111101001001000010111100000110000101100000000001010000000000000000000000000001000010110110000000100000110111111100011001101111110011001000010111100000000001011011000000010010011100111101001001000010111100000110000101100000000001010000000000000000000000000001010010000100000100001100110111111001011001101111110011001000010000010000000001011011000000010000011011111110001001000010000010000101000101100000000001010000000000000000000000000001000010110110000000011111011010101011011001101111110011001000010000010000000001011011000000001000011011111110001001000010000010000101000101100000000001010000000000000000000000000001010010000101000100001100110111111001011001101111110011001000010100010000000001011011000000001111101101010101101001000010100010000111000101100000000001010000000000000000000000000001000010110110000000110001010111010001011001101111110011001000010100010000000001011011000000011111101101010101101001000010100010000111000101100000000001010000000000000000000000000001010010000100100100001100110111111001011001101111110011001000010010010000000001011011000000011000101011101000101001000010010010000100100101100000000001010000000000000000000000000001010010110110000000000011110011110010011001101111110011001000010010010000001001011011000000000000101011101000101001000010010010000100100101100000000001010000000000000000000000000001010010000101100100001100110111111001011001101111110011001000010110010000001001011011000000000001111001111001001001000010110010000110100101100000000001010000000000000000000000000001010010110110000000101000110001110001011001101111110011001000010110010000001001011011000000010001111001111001001001000010110010000110100101100000000001010000000000000000000000000001010010000100010100001100110111111001011001101111110011001000010001010000001001011011000000010100011000111000101001000010001010000101100101100000000001010000000000000000000000000001010010110110000000011100010001110000011001101111110011001000010001010000001001011011000000001100011000111000101001000010001010000101100101100000000001010000000000000000000000000001010010000101010100001100110111111001011001101111110011001000010101010000001001011011000000001110001000111000001001000010101010000111100101100000000001010000000000000000000000000001010010110110000000110100010110111000011001101111110011001000010101010000001001011011000000011110001000111000001001000010101010000111100101100000000001010000000000000000000000000001010010000100110100001100110111111001011001101111110011001000010011010000001001011011000000011010001011011100001001000010011010000100010101100000000001010000000000000000000000000001001010110110000000000100100111100001011001101111110011001000010011010000000101011011000000000010001011011100001001000010011010000100010101100000000001010000000000000000000000000001010010000101110100001100110111111001011001101111110011001000010111010000000101011011000000000010010011110000101001000010111010000110010101100000000001010000000000000000000000000001001010110110000000100000000010110010011001101111110011001000010111010000000101011011000000010010010011110000101001000010111010000110010101100000000001010000000000000000000000000001010010000100001100001100110111111001011001101111110011001000010000110000000101011011000000010000000001011001001001000010000110000101010101100000000001010000000000000000000000000001001010110110000000010000000011111010011001101111110011001000010000110000000101011011000000001000000001011001001001000010000110000101010101100000000001010000000000000000000000000001010010000101001100001100110111111001011001101111110011001000010100110000000101011011000000001000000001111101001001000010100110000111010101100000000001010000000000000000000000000001001010110110000000111110011100101010011001101111110011001000010100110000000101011011000000011000000001111101001001000010100110000111010101100000000001010000000000000000000000000001010010000100101100001100110111111001011001101111110011001000010010110000000101011011000000011111001110010101001001000010010110000100110101100000000001010000000000000000000000000001011010110110000000001100110111010000011001101111110011001000010010110000001101011011000000000111001110010101001001000010010110000100110101100000000001010000000000000000000000000001010010000101101100001100110111111001011001101111110011001000010110110000001101011011000000000110011011101000001001000010110110000110110101100000000001010000000000000000000000000001011010110110000000101000000010101001011001101111110011001000010110110000001101011011000000010110011011101000001001000010110110000110110101100000000001010000000000000000000000000001010010000100011100001100110111111001011001101111110011001000010001110000001101011011000000010100000001010100101001000010001110000101110101100000000001010000000000000000000000000001011010110110000000010100100001000000011001101111110011001000010001110000001101011011000000001100000001010100101001000010001110000101110101100000000001010000000000000000000000000001010010000101011100001100110111111001011001101111110011001000010101110000001101011011000000001010010000100000001001000010101110000111110101100000000001010000000000000000000000000001011010110110000000110100110111101000011001101111110011001000010101110000001101011011000000011010010000100000001001000010101110000111110101100000000001010000000000000000000000000001010010000100111100001100110111111001011001101111110011001000010011110000001101011011000000011010011011110100001001000010011110000100001101100000000001010000000000000000000000000001000110110110000000001100110111111001011001101111110011001000010011110000000011011011000000000010011011110100001001000010011110000100001101100000000001010000000000000000000000000001010010000101111100001100110111111001011001101111110011001000010111110000000011011011000000000110011011111100101001000010111110000110001101100000000001010000000000000000000000000001000110110110000000101011000101101100011001101111110011001000010111110000000011011011000000010110011011111100101001000010111110000110001101100000000001010000000000000000000000000001010010000100000010001100110111111001011001101111110011001000010000001000000011011011000000010101100010110110001001000010000001000101001101100000000001010000000000000000000000000001000110110110000000010000100111111000011001101111110011001000010000001000000011011011000000001101100010110110001001000010000001000101001101100000000001010000000000000000000000000001010010000101000010001100110111111001011001101111110011001000010100001000000011011011000000001000010011111100001001000010100001000111001101100000000001010000000000000000000000000001000110110110000000110110101001001011011001101111110011001000010100001000000011011011000000011000010011111100001001000010100001000111001101100000000001010000000000000000000000000001010010000100100010001100110111111001011001101111110011001000010010001000000011011011000000011011010100100101101001000010010001000100101101100000000001010000000000000000000000000001010110110110000000001100000001000001011001101111110011001000010010001000001011011011000000000011010100100101101001000010010001000100101101100000000001010000000000000000000000000001010010000101100010001100110111111001011001101111110011001000010110001000001011011011000000000110000000100000101001000010110001000110101101100000000001010000000000000000000000000001010110110110000000100000100110001000011001101111110011001000010110001000001011011011000000010110000000100000101001000010110001000110101101100000000001010000000000000000000000000001010010000100010010001100110111111001011001101111110011001000010001001000001011011011000000010000010011000100001001000010001001000101101101100000000001010000000000000000000000000001010110110110000000011000110011110000011001101111110011001000010001001000001011011011000000001000010011000100001001000010001001000101101101100000000001010000000000000000000000000001010010000101010010001100110111111001011001101111110011001000010101001000001011011011000000001100011001111000001001000010101001000111101101100000000001010000000000000000000000000001010110110110000000110000100100110001011001101111110011001000010101001000001011011011000000011100011001111000001001000010101001000111101101100000000001010000000000000000000000000001010010000100110010001100110111111001011001101111110011001000010011001000001011011011000000011000010010011000101001000010011001000100011101100000000001010000000000000000000000000001001110110110000000001100000011001001011001101111110011001000010011001000000111011011000000000000010010011000101001000010011001000100011101100000000001010000000000000000000000000001010010000101110010001100110111111001011001101111110011001000010111001000000111011011000000000110000001100100101001000010111001000110011101100000000001010000000000000000000000000001001110110110000000101110101111101110011001101111110011001000010111001000000111011011000000010110000001100100101001000010111001000110011101100000000001010000000000000000000000000001010010000100001010001100110111111001011001101111110011001000010000101000000111011011000000010111010111110111001001000010000101000101011101100000000001010000000000000000000000000001001110110110000000010000010111100001011001101111110011001000010000101000000111011011000000001111010111110111001001000010000101000101011101100000000001010000000000000000000000000001010010000101001010001100110111111001011001101111110011001000010100101000000111011011000000001000001011110000101001000010100101000111011101100000000001010000000000000000000000000001001110110110000000110110011111100110011001101111110011001000010100101000000111011011000000011000001011110000101001000010100101000111011101100000000001010000000000000000000000000001010010000100101010001100110111111001011001101111110011001000010010101000000111011011000000011011001111110011001001000010010101000100111101100000000001010000000000000000000000000001011110110110000000001100000111011001011001101111110011001000010010101000001111011011000000000011001111110011001001000010010101000100111101100000000001010000000000000000000000000001010010000101101010001100110111111001011001101111110011001000010110101000001111011011000000000110000011101100101001000010110101000110111101100000000001010000000000000000000000000001011110110110000000100000000011000000011001101111110011001000010110101000001111011011000000010110000011101100101001000010110101000110111101100000000001010000000000000000000000000001010010000100011010001100110111111001011001101111110011001000010001101000001111011011000000010000000001100000001001000010001101000101111101100000000001010000000000000000000000000001011110110110000000010000100100101000011001101111110011001000010001101000001111011011000000001000000001100000001001000010001101000101111101100000000001010000000000000000000000000001010010000101011010001100110111111001011001101111110011001000010101101000001111011011000000001000010010010100001001000010101101000111111101100000000001010000000000000000000000000001011110110110000000110100110111001000011001101111110011001000010101101000001111011011000000011000010010010100001001000010101101000111111101100000000001010000000000000000000000000001010010000100111010001100110111111001011001101111110011001000010011101000001111011011000000011010011011100100001001000010011101000100000011100000000001010000000000000000000000000001000001110110000000001100110111110001011001101111110011001000010011101000000000111011000000000010011011100100001001000010011101000100000011100000000001010000000000000000000000000001010010000101111010001100110111111001011001101111110011001000010111101000000000111011000000000110011011111000101001000010111101000110000011100000000001010000000000000000000000000001000001110110000000100111010111110100011001101111110011001000010111101000000000111011000000010110011011111000101001000010111101000110000011100000000001010000000000000000000000000001010010000100000110001100110111111001011001101111110011001000010000011000000000111011000000010011101011111010001001000010000011000101000011100000000001010000000000000000000000000001000001110110000000011000010111001000011001101111110011001000010000011000000000111011000000001011101011111010001001000010000011000101000011100000000001010000000000000000000000000001010010000101000110001100110111111001011001101111110011001000010100011000000000111011000000001100001011100100001001000010100011000111000011100000000001010000000000000000000000000001000001110110000000111001010010101110011001101111110011001000010100011000000000111011000000011100001011100100001001000010100011000111000011100000000001010000000000000000000000000001010010000100100110001100110111111001011001101111110011001000010010011000000000111011000000011100101001010111001001000010010011000100100011100000000001010000000000000000000000000001010001110110000000000100010100101000011001101111110011001000010010011000001000111011000000000100101001010111001001000010010011000100100011100000000001010000000000000000000000000001001010000100000000001100110111111001011001101111110010101000010000000000001000111011000000000010001010010100000101000010000000000110100011100000000001010000000000000000000000000001010001110110000000100011001010011110011001101111110010101000010000000000001000111011000000010010001010010100000101000010000000000110100011100000000001010000000000000000000000000001001010000101000000001100110111111001011001101111110010101000010100000000001000111011000000010001100101001111000101000010100000000101100011100000000001010000000000000000000000000001010001110110000000010000100101100001011001101111110010101000010100000000001000111011000000001001100101001111000101000010100000000101100011100000000001010000000000000000000000000001001010000100100000001100110111111001011001101111110010101000010010000000001000111011000000001000010010110000100101000010010000000111100011100000000001010000000000000000000000000001010001110110000000111110100011001010011001101111110010101000010010000000001000111011000000011000010010110000100101000010010000000111100011100000000001010000000000000000000000000001001010000101100000001100110111111001011001101111110010101000010110000000001000111011000000011111010001100101000101000010110000000100010011100000000001010000000000000000000000000001001001110110000000000000110100011000011001101111110010101000010110000000000100111011000000000111010001100101000101000010110000000100010011100000000001010000000000000000000000000001001010000100010000001100110111111001011001101111110010101000010001000000000100111011000000000000011010001100000101000010001000000110010011100000000001010000000000000000000000000001001001110110000000101000000101110010011001101111110010101000010001000000000100111011000000010000011010001100000101000010001000000110010011100000000001010000000000000000000000000001001010000101010000001100110111111001011001101111110010101000010101000000000100111011000000010100000010111001000101000010101000000101010011100000000001010000000000000000000000000001001001110110000000010000010100101001011001101111110010101000010101000000000100111011000000001100000010111001000101000010101000000101010011100000000001010000000000000000000000000001001010000100110000001100110111111001011001101111110010101000010011000000000100111011000000001000001010010100100101000010011000000111010011100000000001010000000000000000000000000001001001110110000000111000111011011000011001101111110010101000010011000000000100111011000000011000001010010100100101000010011000000111010011100000000001010000000000000000000000000001001010000101110000001100110111111001011001101111110010101000010111000000000100111011000000011100011101101100000101000010111000000100110011100000000001010000000000000000000000000001011001110110000000001100000010001000011001101111110010101000010111000000001100111011000000000100011101101100000101000010111000000100110011100000000001010000000000000000000000000001001010000100001000001100110111111001011001101111110010101000010000100000001100111011000000000110000001000100000101000010000100000110110011100000000001010000000000000000000000000001011001110110000000100011011001000001011001101111110010101000010000100000001100111011000000010110000001000100000101000010000100000110110011100000000001010000000000000000000000000001001010000101001000001100110111111001011001101111110010101000010100100000001100111011000000010001101100100000100101000010100100000101110011100000000001010000000000000000000000000001011001110110000000010000110010100001011001101111110010101000010100100000001100111011000000001001101100100000100101000010100100000101110011100000000001010000000000000000000000000001001010000100101000001100110111111001011001101111110010101000010010100000001100111011000000001000011001010000100101000010010100000111110011100000000001010000000000000000000000000001011001110110000000111001001101111011011001101111110010101000010010100000001100111011000000011000011001010000100101000010010100000111110011100000000001010000000000000000000000000001001010000101101000001100110111111001011001101111110010101000010110100000001100111011000000011100100110111101100101000010110100000100001011100000000001010000000000000000000000000001000101110110000000001000000111001000011001101111110010101000010110100000000010111011000000000100100110111101100101000010110100000100001011100000000001010000000000000000000000000001001010000100011000001100110111111001011001101111110010101000010001100000000010111011000000000100000011100100000101000010001100000110001011100000000001010000000000000000000000000001000101110110000000101100000000110000011001101111110010101000010001100000000010111011000000010100000011100100000101000010001100000110001011100000000001010000000000000000000000000001001010000101011000001100110111111001011001101111110010101000010101100000000010111011000000010110000000011000000101000010101100000101001011100000000001010000000000000000000000000001000101110110000000010000110011111000011001101111110010101000010101100000000010111011000000001110000000011000000101000010101100000101001011100000000001010000000000000000000000000001001010000100111000001100110111111001011001101111110010101000010011100000000010111011000000001000011001111100000101000010011100000111001011100000000001010000000000000000000000000001000101110110000000110010000110110011011001101111110010101000010011100000000010111011000000011000011001111100000101000010011100000111001011100000000001010000000000000000000000000001001010000101111000001100110111111001011001101111110010101000010111100000000010111011000000011001000011011001100101000010111100000100101011100000000001010000000000000000000000000001010101110110000000001000100111000001011001101111110010101000010111100000001010111011000000000001000011011001100101000010111100000100101011100000000001010000000000000000000000000001001010000100000100001100110111111001011001101111110010101000010000010000001010111011000000000100010011100000100101000010000010000110101011100000000001010000000000000000000000000001010101110110000000101111101111101101011001101111110010101000010000010000001010111011000000010100010011100000100101000010000010000110101011100000000001010000000000000000000000000001001010000101000100001100110111111001011001101111110010101000010100010000001010111011000000010111110111110110100101000010100010000101101011100000000001010000000000000000000000000001010101110110000000010100000001100001011001101111110010101000010100010000001010111011000000001111110111110110100101000010100010000101101011100000000001010000000000000000000000000001001010000100100100001100110111111001011001101111110010101000010010010000001010111011000000001010000000110000100101000010010010000111101011100000000001010000000000000000000000000001010101110110000000111111001101100110011001101111110010101000010010010000001010111011000000011010000000110000100101000010010010000111101011100000000001010000000000000000000000000001001010000101100100001100110111111001011001101111110010101000010110010000001010111011000000011111100110110011000101000010110010000100011011100000000001010000000000000000000000000001001101110110000000000100110000000000011001101111110010101000010110010000000110111011000000000111100110110011000101000010110010000100011011100000000001010000000000000000000000000001001010000100010100001100110111111001011001101111110010101000010001010000000110111011000000000010011000000000000101000010001010000110011011100000000001010000000000000000000000000001001101110110000000100101100010000001011001101111110010101000010001010000000110111011000000010010011000000000000101000010001010000110011011100000000001010000000000000000000000000001001010000101010100001100110111111001011001101111110010101000010101010000000110111011000000010010110001000000100101000010101010000101011011100000000001010000000000000000000000000001001101110110000000010000110001100000011001101111110010101000010101010000000110111011000000001010110001000000100101000010101010000101011011100000000001010000000000000000000000000001001010000100110100001100110111111001011001101111110010101000010011010000000110111011000000001000011000110000000101000010011010000111011011100000000001010000000000000000000000000001001101110110000000110100011010101000011001101111110010101000010011010000000110111011000000011000011000110000000101000010011010000111011011100000000001010000000000000000000000000001001010000101110100001100110111111001011001101111110010101000010111010000000110111011000000011010001101010100000101000010111010000100111011100000000001010000000000000000000000000001011101110110000000001000100110010001011001101111110010101000010111010000001110111011000000000010001101010100000101000010111010000100111011100000000001010000000000000000000000000001001010000100001100001100110111111001011001101111110010101000010000110000001110111011000000000100010011001000100101000010000110000110111011100000000001010000000000000000000000000001011101110110000000100010011010101110011001101111110010101000010000110000001110111011000000010100010011001000100101000010000110000110111011100000000001010000000000000000000000000001001010000101001100001100110111111001011001101111110010101000010100110000001110111011000000010001001101010111000101000010100110000101111011100000000001010000000000000000000000000001011101110110000000011000100000100001011001101111110010101000010100110000001110111011000000001001001101010111000101000010100110000101111011100000000001010000000000000000000000000001001010000100101100001100110111111001011001101111110010101000010010110000001110111011000000001100010000010000100101000010010110000111111011100000000001010000000000000000000000000001011101110110000000111100100011100110011001101111110010101000010010110000001110111011000000011100010000010000100101000010010110000111111011100000000001010000000000000000000000000001001010000101101100001100110111111001011001101111110010101000010110110000001110111011000000011110010001110011000101000010110110000100000111100000000001010000000000000000000000000001000011110110000000001100010111100000011001101111110010101000010110110000000001111011000000000110010001110011000101000010110110000100000111100000000001010000000000000000000000000001001010000100011100001100110111111001011001101111110010101000010001110000000001111011000000000110001011110000000101000010001110000110000111100000000001010000000000000000000000000001000011110110000000100010110001110001011001101111110010101000010001110000000001111011000000010110001011110000000101000010001110000110000111100000000001010000000000000000000000000001001010000101011100001100110111111001011001101111110010101000010101110000000001111011000000010001011000111000100101000010101110000101000111100000000001010000000000000000000000000001000011110110000000010000000101110001011001101111110010101000010101110000000001111011000000001001011000111000100101000010101110000101000111100000000001010000000000000000000000000001001010000100111100001100110111111001011001101111110010101000010011110000000001111011000000001000000010111000100101000010011110000111000111100000000001010000000000000000000000000001000011110110000000111001110010000111011001101111110010101000010011110000000001111011000000011000000010111000100101000010011110000111000111100000000001010000000000000000000000000001001010000101111100001100110111111001011001101111110010101000010111110000000001111011000000011100111001000011100101000010111110000100100111100000000001010000000000000000000000000001010011110110000000001000000010011001011001101111110010101000010111110000001001111011000000000100111001000011100101000010111110000100100111100000000001010000000000000000000000000001001010000100000010001100110111111001011001101111110010101000010000001000001001111011000000000100000001001100100101000010000001000110100111100000000001010000000000000000000000000001010011110110000000101000100110011001011001101111110010101000010000001000001001111011000000010100000001001100100101000010000001000110100111100000000001010000000000000000000000000001001010000101000010001100110111111001011001101111110010101000010100001000001001111011000000010100010011001100100101000010100001000101100111100000000001010000000000000000000000000001010011110110000000010100100110001000011001101111110010101000010100001000001001111011000000001100010011001100100101000010100001000101100111100000000001010000000000000000000000000001001010000100100010001100110111111001011001101111110010101000010010001000001001111011000000001010010011000100000101000010010001000111100111100000000001010000000000000000000000000001010011110110000000110000110110100000011001101111110010101000010010001000001001111011000000011010010011000100000101000010010001000111100111100000000001010000000000000000000000000001001010000101100010001100110111111001011001101111110010101000010110001000001001111011000000011000011011010000000101000010110001000100010111100000000001010000000000000000000000000001001011110110000000000000010000111001011001101111110010101000010110001000000101111011000000000000011011010000000101000010110001000100010111100000000001010000000000000000000000000001001010000100010010001100110111111001011001101111110010101000010001001000000101111011000000000000001000011100100101000010001001000110010111100000000001010000000000000000000000000001001011110110000000100011110001111101011001101111110010101000010001001000000101111011000000010000001000011100100101000010001001000110010111100000000001010000000000000000000000000001001010000101010010001100110111111001011001101111110010101000010101001000000101111011000000010001111000111110100101000010101001000101010111100000000001010000000000000000000000000001001011110110000000010000000111101000011001101111110010101000010101001000000101111011000000001001111000111110100101000010101001000101010111100000000001010000000000000000000000000001001010000100110010001100110111111001011001101111110010101000010011001000000101111011000000001000000011110100000101000010011001000111010111100000000001010000000000000000000000000001001011110110000000111100101001000000011001101111110010101000010011001000000101111011000000011000000011110100000101000010011001000111010111100000000001010000000000000000000000000001001010000101110010001100110111111001011001101111110010101000010111001000000101111011000000011110010100100000000101000010111001000100110111100000000001010000000000000000000000000001011011110110000000001000100010110001011001101111110010101000010111001000001101111011000000000110010100100000000101000010111001000100110111100000000001010000000000000000000000000001001010000100001010001100110111111001011001101111110010101000010000101000001101111011000000000100010001011000100101000010000101000110110111100000000001010000000000000000000000000001011011110110000000101000010010111000011001101111110010101000010000101000001101111011000000010100010001011000100101000010000101000110110111100000000001010000000000000000000000000001001010000101001010001100110111111001011001101111110010101000010100101000001101111011000000010100001001011100000101000010100101000101110111100000000001010000000000000000000000000001011011110110000000011000110010100001011001101111110010101000010100101000001101111011000000001100001001011100000101000010100101000101110111100000000001010000000000000000000000000001001010000100101010001100110111111001011001101111110010101000010010101000001101111011000000001100011001010000100101000010010101000111110111100000000001010000000000000000000000000001011011110110000000110100010111100000011001101111110010101000010010101000001101111011000000011100011001010000100101000010010101000111110111100000000001010000000000000000000000000001001010000101101010001100110111111001011001101111110010101000010110101000001101111011000000011010001011110000000101000010110101000100001111100000000001010000000000000000000000000001000111110110000000000000100101011000011001101111110010101000010110101000000011111011000000000010001011110000000101000010110101000100001111100000000001010000000000000000000000000001001010000100011010001100110111111001011001101111110010101000010001101000000011111011000000000000010010101100000101000010001101000110001111100000000001010000000000000000000000000001000111110110000000101110001110110000011001101111110010101000010001101000000011111011000000010000010010101100000101000010001101000110001111100000000001010000000000000000000000000001001010000101011010001100110111111001011001101111110010101000010101101000000011111011000000010111000111011000000101000010101101000101001111100000000001010000000000000000000000000001000111110110000000010000110111100001011001101111110010101000010101101000000011111011000000001111000111011000000101000010101101000101001111100000000001010000000000000000000000000001001010000100111010001100110111111001011001101111110010101000010011101000000011111011000000001000011011110000100101000010011101000111001111100000000001010000000000000000000000000001000111110110000000111010110000010110011001101111110010101000010011101000000011111011000000011000011011110000100101000010011101000111001111100000000001010000000000000000000000000001001010000101111010001100110111111001011001101111110010101000010111101000000011111011000000011101011000001011000101000010111101000100101111100000000001010000000000000000000000000001010111110110000000001100110010101000011001101111110010101000010111101000001011111011000000000101011000001011000101000010111101000100101111100000000001010000000000000000000000000001001010000100000110001100110111111001011001101111110010101000010000011000001011111011000000000110011001010100000101000010000011000110101111100000000001010000000000000000000000000001010111110110000000100100000101111000011001101111110010101000010000011000001011111011000000010110011001010100000101000010000011000110101111100000000001010000000000000000000000000001001010000101000110001100110111111001011001101111110010101000010100011000001011111011000000010010000010111100000101000010100011000101101111100000000001010000000000000000000000000001010111110110000000010100010011111001011001101111110010101000010100011000001011111011000000001010000010111100000101000010100011000101101111100000000001010000000000000000000000000001001010000100100110001100110111111001011001101111110010101000010010011000001011111011000000001010001001111100100101000010010011000111101111100000000001010000000000000000000000000001010111110110000000110000110000111000011001101111110010101000010010011000001011111011000000011010001001111100100101000010010011000111101111100000000001010000000000000000000000000001011010000100000000001100110111111001011001101111110011101000010000000000001011111011000000011000011000011100001101000010000000000100011111100000000001010000000000000000000000000001001111110110000000000000110001011001011001101111110011101000010000000000000111111011000000000000011000011100001101000010000000000100011111100000000001010000000000000000000000000001011010000101000000001100110111111001011001101111110011101000010100000000000111111011000000000000011000101100101101000010100000000110011111100000000001010000000000000000000000000001001111110110000000100101101110000111011001101111110011101000010100000000000111111011000000010000011000101100101101000010100000000110011111100000000001010000000000000000000000000001011010000100100000001100110111111001011001101111110011101000010010000000000111111011000000010010110111000011101101000010010000000101011111100000000001010000000000000000000000000001001111110110000000011000100101000000011001101111110011101000010010000000000111111011000000001010110111000011101101000010010000000101011111100000000001010000000000000000000000000001011010000101100000001100110111111001011001101111110011101000010110000000000111111011000000001100010010100000001101000010110000000111011111100000000001010000000000000000000000000001001111110110000000110000011010100001011001101111110011101000010110000000000111111011000000011100010010100000001101000010110000000111011111100000000001010000000000000000000000000001011010000100010000001100110111111001011001101111110011101000010001000000000111111011000000011000001101010000101101000010001000000100111111100000000001010000000000000000000000000001011111110110000000001000000100001000011001101111110011101000010001000000001111111011000000000000001101010000101101000010001000000100111111100000000001010000000000000000000000000001011010000101010000001100110111111001011001101111110011101000010101000000001111111011000000000100000010000100001101000010101000000110111111100000000001010000000000000000000000000001011111110110000000101100100011110001011001101111110011101000010101000000001111111011000000010100000010000100001101000010101000000110111111100000000001010000000000000000000000000001011010000100110000001100110111111001011001101111110011101000010011000000001111111011000000010110010001111000101101000010011000000101111111100000000001010000000000000000000000000001011111110110000000010100010000010001011001101111110011101000010011000000001111111011000000001110010001111000101101000010011000000101111111100000000001010000000000000000000000000001011010000101110000001100110111111001011001101111110011101000010111000000001111111011000000001010001000001000101101000010111000000111111111100000000001010000000000000000000000000001011111110110000000110000000000001000011001101111110011101000010111000000001111111011000000011010001000001000101101000010111000000111111111100000000001010000000000000000000000000001011010000100001000001100110111111001011001101111110011101000010000100000001111111011000000011000000000000100001101000010000100000100000000010000000001010000000000000000000000000001000000001110000000000010011010011011011001101111110011101000010000100000000000000111000000000000000000000100001101000010000100000100000000010000000001010000000000000000000000000001011010000101001000001100110111111001011001101111110011101000010100100000000000000111000000000001001101001101101101000010100100000110000000010000000001010000000000000000000000000001000000001110000000100100100000100010011001101111110011101000010100100000000000000111000000010001001101001101101101000010100100000110000000010000000001010000000000000000000000000001011010000100101000001100110111111001011001101111110011101000010010100000000000000111000000010010010000010001001101000010010100000101000000010000000001010000000000000000000000000001000000001110000000011010011100010100011001101111110011101000010010100000000000000111000000001010010000010001001101000010010100000101000000010000000001010000000000000000000000000001011010000101101000001100110111111001011001101111110011101000010110100000000000000111000000001101001110001010001101000010110100000111000000010000000001010000000000000000000000000001000000001110000000110001101110000100011001101111110011101000010110100000000000000111000000011101001110001010001101000010110100000111000000010000000001010000000000000000000000000001011010000100011000001100110111111001011001101111110011101000010001100000000000000111000000011000110111000010001101000010001100000100100000010000000001010000000000000000000000000001010000001110000000000000000001110010011001101111110011101000010001100000001000000111000000000000110111000010001101000010001100000100100000010000000001010000000000000000000000000001011010000101011000001100110111111001011001101111110011101000010101100000001000000111000000000000000000111001001101000010101100000110100000010000000001010000000000000000000000000001010000001110000000100110100110011100011001101111110011101000010101100000001000000111000000010000000000111001001101000010101100000110100000010000000001010000000000000000000000000001011010000100111000001100110111111001011001101111110011101000010011100000001000000111000000010011010011001110001101000010011100000101100000010000000001010000000000000000000000000001010000001110000000010010010011000111011001101111110011101000010011100000001000000111000000001011010011001110001101000010011100000101100000010000000001010000000000000000000000000001011010000101111000001100110111111001011001101111110011101000010111100000001000000111000000001001001001100011101101000010111100000111100000010000000001010000000000000000000000000001010000001110000000111011011101110000011001101111110011101000010111100000001000000111000000011001001001100011101101000010111100000111100000010000000001010000000000000000000000000001011010000100000100001100110111111001011001101111110011101000010000010000001000000111000000011101101110111000001101000010000010000100010000010000000001010000000000000000000000000001001000001110000000000101110000011100011001101111110011101000010000010000000100000111000000000101101110111000001101000010000010000100010000010000000001010000000000000000000000000001011010000101000100001100110111111001011001101111110011101000010100010000000100000111000000000010111000001110001101000010100010000110010000010000000001010000000000000000000000000001001000001110000000101100001010011100011001101111110011101000010100010000000100000111000000010010111000001110001101000010100010000110010000010000000001010000000000000000000000000001011010000100100100001100110111111001011001101111110011101000010010010000000100000111000000010110000101001110001101000010010010000101010000010000000001010000000000000000000000000001001000001110000000010011100111110000011001101111110011101000010010010000000100000111000000001110000101001110001101000010010010000101010000010000000001010000000000000000000000000001011010000101100100001100110111111001011001101111110011101000010110010000000100000111000000001001110011111000001101000010110010000111010000010000000001010000000000000000000000000001001000001110000000110001110010011101011001101111110011101000010110010000000100000111000000011001110011111000001101000010110010000111010000010000000001010000000000000000000000000001011010000100010100001100110111111001011001101111110011101000010001010000000100000111000000011000111001001110101101000010001010000100110000010000000001010000000000000000000000000001011000001110000000001110111110010110011001101111110011101000010001010000001100000111000000000000111001001110101101000010001010000100110000010000000001010000000000000000000000000001011010000101010100001100110111111001011001101111110011101000010101010000001100000111000000000111011111001011001101000010101010000110110000010000000001010000000000000000000000000001011000001110000000101001111011110111011001101111110011101000010101010000001100000111000000010111011111001011001101000010101010000110110000010000000001010000000000000000000000000001011010000100110100001100110111111001011001101111110011101000010011010000001100000111000000010100111101111011101101000010011010000101110000010000000001010000000000000000000000000001011000001110000000011010000100110100011001101111110011101000010011010000001100000111000000001100111101111011101101000010011010000101110000010000000001010000000000000000000000000001011010000101110100001100110111111001011001101111110011101000010111010000001100000111000000001101000010011010001101000010111010000111110000010000000001010000000000000000000000000001011000001110000000110110101011111001011001101111110011101000010111010000001100000111000000011101000010011010001101000010111010000111110000010000000001010000000000000000000000000001011010000100001100001100110111111001011001101111110011101000010000110000001100000111000000011011010101111100101101000010000110000100001000010000000001010000000000000000000000000001000100001110000000000001010010110001011001101111110011101000010000110000000010000111000000000011010101111100101101000010000110000100001000010000000001010000000000000000000000000001011010000101001100001100110111111001011001101111110011101000010100110000000010000111000000000000101001011000101101000010100110000110001000010000000001010000000000000000000000000001000100001110000000100011100101101101011001101111110011101000010100110000000010000111000000010000101001011000101101000010100110000110001000010000000001010000000000000000000000000001011010000100101100001100110111111001011001101111110011101000010010110000000010000111000000010001110010110110101101000010010110000101001000010000000001010000000000000000000000000001000100001110000000011000101011001101011001101111110011101000010010110000000010000111000000001001110010110110101101000010010110000101001000010000000001010000000000000000000000000001011010000101101100001100110111111001011001101111110011101000010110110000000010000111000000001100010101100110101101000010110110000111001000010000000001010000000000000000000000000001000100001110000000111000010000100100011001101111110011101000010110110000000010000111000000011100010101100110101101000010110110000111001000010000000001010000000000000000000000000001011010000100011100001100110111111001011001101111110011101000010001110000000010000111000000011100001000010010001101000010001110000100101000010000000001010000000000000000000000000001010100001110000000001100011111111100011001101111110011101000010001110000001010000111000000000100001000010010001101000010001110000100101000010000000001010000000000000000000000000001011010000101011100001100110111111001011001101111110011101000010101110000001010000111000000000110001111111110001101000010101110000110101000010000000001010000000000000000000000000001010100001110000000100001011001000100011001101111110011101000010101110000001010000111000000010110001111111110001101000010101110000110101000010000000001010000000000000000000000000001011010000100111100001100110111111001011001101111110011101000010011110000001010000111000000010000101100100010001101000010011110000101101000010000000001010000000000000000000000000001010100001110000000011001000010010010011001101111110011101000010011110000001010000111000000001000101100100010001101000010011110000101101000010000000001010000000000000000000000000001011010000101111100001100110111111001011001101111110011101000010111110000001010000111000000001100100001001001001101000010111110000111101000010000000001010000000000000000000000000001010100001110000000110111010010010101011001101111110011101000010111110000001010000111000000011100100001001001001101000010111110000111101000010000000001010000000000000000000000000001011010000100000010001100110111111001011001101111110011101000010000001000001010000111000000011011101001001010101101000010000001000100011000010000000001010000000000000000000000000001001100001110000000000110011000000101011001101111110011101000010000001000000110000111000000000011101001001010101101000010000001000100011000010000000001010000000000000000000000000001011010000101000010001100110111111001011001101111110011101000010100001000000110000111000000000011001100000010101101000010100001000110011000010000000001010000000000000000000000000001001100001110000000100100101100111000011001101111110011101000010100001000000110000111000000010011001100000010101101000010100001000110011000010000000001010000000000000000000000000001011010000100100010001100110111111001011001101111110011101000010010001000000110000111000000010010010110011100001101000010010001000101011000010000000001010000000000000000000000000001001100001110000000010111010110011101011001101111110011101000010010001000000110000111000000001010010110011100001101000010010001000101011000010000000001010000000000000000000000000001011010000101100010001100110111111001011001101111110011101000010110001000000110000111000000001011101011001110101101000010110001000111011000010000000001010000000000000000000000000001001100001110000000111001101010011000011001101111110011101000010110001000000110000111000000011011101011001110101101000010110001000111011000010000000001010000000000000000000000000001011010000100010010001100110111111001011001101111110011101000010001001000000110000111000000011100110101001100001101000010001001000100111000010000000001010000000000000000000000000001011100001110000000000100100001010110011001101111110011101000010001001000001110000111000000000100110101001100001101000010001001000100111000010000000001010000000000000000000000000001011010000101010010001100110111111001011001101111110011101000010101001000001110000111000000000010010000101011001101000010101001000110111000010000000001010000000000000000000000000001011100001110000000100000001010000101011001101111110011101000010101001000001110000111000000010010010000101011001101000010101001000110111000010000000001010000000000000000000000000001011010000100110010001100110111111001011001101111110011101000010011001000001110000111000000010000000101000010101101000010011001000101111000010000000001010000000000000000000000000001011100001110000000011011001100011111011001101111110011101000010011001000001110000111000000001000000101000010101101000010011001000101111000010000000001010000000000000000000000000001011010000101110010001100110111111001011001101111110011101000010111001000001110000111000000001101100110001111101101000010111001000111111000010000000001010000000000000000000000000001011100001110000000111010010111010010011001101111110011101000010111001000001110000111000000011101100110001111101101000010111001000111111000010000000001010000000000000000000000000001011010000100001010001100110111111001011001101111110011101000010000101000001110000111000000011101001011101001001101000010000101000100000100010000000001010000000000000000000000000001000010001110000000001010001100010110011001101111110011101000010000101000000001000111000000000101001011101001001101000010000101000100000100010000000001010000000000000000000000000001011010000101001010001100110111111001011001101111110011101000010100101000000001000111000000000101000110001011001101000010100101000110000100010000000001010000000000000000000000000001000010001110000000101000111110110111011001101111110011101000010100101000000001000111000000010101000110001011001101000010100101000110000100010000000001010000000000000000000000000001011010000100101010001100110111111001011001101111110011101000010010101000000001000111000000010100011111011011101101000010010101000101000100010000000001010000000000000000000000000001000010001110000000011110100100111011011001101111110011101000010010101000000001000111000000001100011111011011101101000010010101000101000100010000000001010000000000000000000000000001011010000101101010001100110111111001011001101111110011101000010110101000000001000111000000001111010010011101101101000010110101000111000100010000000001010000000000000000000000000001000010001110000000110110011111101000011001101111110011101000010110101000000001000111000000011111010010011101101101000010110101000111000100010000000001010000000000000000000000000001011010000100011010001100110111111001011001101111110011101000010001101000000001000111000000011011001111110100001101000010001101000100100100010000000001010000000000000000000000000001010010001110000000001100001101010100011001101111110011101000010001101000001001000111000000000011001111110100001101000010001101000100100100010000000001010000000000000000000000000001011010000101011010001100110111111001011001101111110011101000010101101000001001000111000000000110000110101010001101000010101101000110100100010000000001010000000000000000000000000001010010001110000000100001111010001101011001101111110011101000010101101000001001000111000000010110000110101010001101000010101101000110100100010000000001010000000000000000000000000001011010000100111010001100110111111001011001101111110011101000010011101000001001000111000000010000111101000110101101000010011101000101100100010000000001010000000000000000000000000001010010001110000000011010011110100000011001101111110011101000010011101000001001000111000000001000111101000110101101000010011101000101100100010000000001010000000000000000000000000001011010000101111010001100110111111001011001101111110011101000010111101000001001000111000000001101001111010000001101000010111101000111100100010000000001010000000000000000000000000001010010001110000000110000111001101111011001101111110011101000010111101000001001000111000000011101001111010000001101000010111101000111100100010000000001010000000000000000000000000001011010000100000110001100110111111001011001101111110011101000010000011000001001000111000000011000011100110111101101000010000011000100010100010000000001010000000000000000000000000001001010001110000000001101110110010100011001101111110011101000010000011000000101000111000000000000011100110111101101000010000011000100010100010000000001010000000000000000000000000001011010000101000110001100110111111001011001101111110011101000010100011000000101000111000000000110111011001010001101000010100011000110010100010000000001010000000000000000000000000001001010001110000000100111010010001001011001101111110011101000010100011000000101000111000000010110111011001010001101000010100011000110010100010000000001010000000000000000000000000001011010000100100110001100110111111001011001101111110011101000010010011000000101000111000000010011101001000100101101000010010011000101010100010000000001010000000000000000000000000001001010001110000000010101011001110011011001101111110011101000010010011000000101000111000000001011101001000100101101000010010011000101010100010000000001010000000000000000000000000001000110000100000000001100110111111001011001101111110010011000010000000000000101000111000000001010101100111001100011000010000000000111010100010000000001010000000000000000000000000001001010001110000000111000100011100010011001101111110010011000010000000000000101000111000000011010101100111001100011000010000000000111010100010000000001010000000000000000000000000001000110000101000000001100110111111001011001101111110010011000010100000000000101000111000000011100010001110001000011000010100000000100110100010000000001010000000000000000000000000001011010001110000000001100111001101111011001101111110010011000010100000000001101000111000000000100010001110001000011000010100000000100110100010000000001010000000000000000000000000001000110000100100000001100110111111001011001101111110010011000010010000000001101000111000000000110011100110111100011000010010000000110110100010000000001010000000000000000000000000001011010001110000000100010101100100111011001101111110010011000010010000000001101000111000000010110011100110111100011000010010000000110110100010000000001010000000000000000000000000001000110000101100000001100110111111001011001101111110010011000010110000000001101000111000000010001010110010011100011000010110000000101110100010000000001010000000000000000000000000001011010001110000000011111001010011000011001101111110010011000010110000000001101000111000000001001010110010011100011000010110000000101110100010000000001010000000000000000000000000001000110000100010000001100110111111001011001101111110010011000010001000000001101000111000000001111100101001100000011000010001000000111110100010000000001010000000000000000000000000001011010001110000000111011110010111011011001101111110010011000010001000000001101000111000000011111100101001100000011000010001000000111110100010000000001010000000000000000000000000001000110000101010000001100110111111001011001101111110010011000010101000000001101000111000000011101111001011101100011000010101000000100001100010000000001010000000000000000000000000001000110001110000000000110000001001001011001101111110010011000010101000000000011000111000000000101111001011101100011000010101000000100001100010000000001010000000000000000000000000001000110000100110000001100110111111001011001101111110010011000010011000000000011000111000000000011000000100100100011000010011000000110001100010000000001010000000000000000000000000001000110001110000000101100000000101011011001101111110010011000010011000000000011000111000000010011000000100100100011000010011000000110001100010000000001010000000000000000000000000001000110000101110000001100110111111001011001101111110010011000010111000000000011000111000000010110000000010101100011000010111000000101001100010000000001010000000000000000000000000001000110001110000000010010110001010101011001101111110010011000010111000000000011000111000000001110000000010101100011000010111000000101001100010000000001010000000000000000000000000001000110000100001000001100110111111001011001101111110010011000010000100000000011000111000000001001011000101010100011000010000100000111001100010000000001010000000000000000000000000001000110001110000000111100101000100110011001101111110010011000010000100000000011000111000000011001011000101010100011000010000100000111001100010000000001010000000000000000000000000001000110000101001000001100110111111001011001101111110010011000010100100000000011000111000000011110010100010011000011000010100100000100101100010000000001010000000000000000000000000001010110001110000000001100011111011010011001101111110010011000010100100000001011000111000000000110010100010011000011000010100100000100101100010000000001010000000000000000000000000001000110000100101000001100110111111001011001101111110010011000010010100000001011000111000000000110001111101101000011000010010100000110101100010000000001010000000000000000000000000001010110001110000000101111100100110011011001101111110010011000010010100000001011000111000000010110001111101101000011000010010100000110101100010000000001010000000000000000000000000001000110000101101000001100110111111001011001101111110010011000010110100000001011000111000000010111110010011001100011000010110100000101101100010000000001010000000000000000000000000001010110001110000000010111011000100001011001101111110010011000010110100000001011000111000000001111110010011001100011000010110100000101101100010000000001010000000000000000000000000001000110000100011000001100110111111001011001101111110010011000010001100000001011000111000000001011101100010000100011000010001100000111101100010000000001010000000000000000000000000001010110001110000000111100110010101111011001101111110010011000010001100000001011000111000000011011101100010000100011000010001100000111101100010000000001010000000000000000000000000001000110000101011000001100110111111001011001101111110010011000010101100000001011000111000000011110011001010111100011000010101100000100011100010000000001010000000000000000000000000001001110001110000000000100010000101101011001101111110010011000010101100000000111000111000000000110011001010111100011000010101100000100011100010000000001010000000000000000000000000001000110000100111000001100110111111001011001101111110010011000010011100000000111000111000000000010001000010110100011000010011100000110011100010000000001010000000000000000000000000001001110001110000000100101011011111000011001101111110010011000010011100000000111000111000000010010001000010110100011000010011100000110011100010000000001010000000000000000000000000001000110000101111000001100110111111001011001101111110010011000010111100000000111000111000000010010101101111100000011000010111100000101011100010000000001010000000000000000000000000001001110001110000000010111010001001001011001101111110010011000010111100000000111000111000000001010101101111100000011000010111100000101011100010000000001010000000000000000000000000001000110000100000100001100110111111001011001101111110010011000010000010000000111000111000000001011101000100100100011000010000010000111011100010000000001010000000000000000000000000001001110001110000000110011010110111111011001101111110010011000010000010000000111000111000000011011101000100100100011000010000010000111011100010000000001010000000000000000000000000001000110000101000100001100110111111001011001101111110010011000010100010000000111000111000000011001101011011111100011000010100010000100111100010000000001010000000000000000000000000001011110001110000000000000101101100010011001101111110010011000010100010000001111000111000000000001101011011111100011000010100010000100111100010000000001010000000000000000000000000001000110000100100100001100110111111001011001101111110010011000010010010000001111000111000000000000010110110001000011000010010010000110111100010000000001010000000000000000000000000001011110001110000000100001110111011010011001101111110010011000010010010000001111000111000000010000010110110001000011000010010010000110111100010000000001010000000000000000000000000001000110000101100100001100110111111001011001101111110010011000010110010000001111000111000000010000111011101101000011000010110010000101111100010000000001010000000000000000000000000001011110001110000000010100010000001111011001101111110010011000010110010000001111000111000000001000111011101101000011000010110010000101111100010000000001010000000000000000000000000001000110000100010100001100110111111001011001101111110010011000010001010000001111000111000000001010001000000111100011000010001010000111111100010000000001010000000000000000000000000001011110001110000000111001101110111000011001101111110010011000010001010000001111000111000000011010001000000111100011000010001010000111111100010000000001010000000000000000000000000001000110000101010100001100110111111001011001101111110010011000010101010000001111000111000000011100110111011100000011000010101010000100000010010000000001010000000000000000000000000001000001001110000000001110010100100111011001101111110010011000010101010000000000100111000000000100110111011100000011000010101010000100000010010000000001010000000000000000000000000001000110000100110100001100110111111001011001101111110010011000010011010000000000100111000000000111001010010011100011000010011010000110000010010000000001010000000000000000000000000001000001001110000000100000100011110000011001101111110010011000010011010000000000100111000000010111001010010011100011000010011010000110000010010000000001010000000000000000000000000001000110000101110100001100110111111001011001101111110010011000010111010000000000100111000000010000010001111000000011000010111010000101000010010000000001010000000000000000000000000001000001001110000000010000101110010011011001101111110010011000010111010000000000100111000000001000010001111000000011000010111010000101000010010000000001010000000000000000000000000001000110000100001100001100110111111001011001101111110010011000010000110000000000100111000000001000010111001001100011000010000110000111000010010000000001010000000000000000000000000001000001001110000000110101001010001101011001101111110010011000010000110000000000100111000000011000010111001001100011000010000110000111000010010000000001010000000000000000000000000001000110000101001100001100110111111001011001101111110010011000010100110000000000100111000000011010100101000110100011000010100110000100100010010000000001010000000000000000000000000001010001001110000000001100010001010111011001101111110010011000010100110000001000100111000000000010100101000110100011000010100110000100100010010000000001010000000000000000000000000001000110000100101100001100110111111001011001101111110010011000010010110000001000100111000000000110001000101011100011000010010110000110100010010000000001010000000000000000000000000001010001001110000000101000011100101011011001101111110010011000010010110000001000100111000000010110001000101011100011000010010110000110100010010000000001010000000000000000000000000001000110000101101100001100110111111001011001101111110010011000010110110000001000100111000000010100001110010101100011000010110110000101100010010000000001010000000000000000000000000001010001001110000000010110101111010001011001101111110010011000010110110000001000100111000000001100001110010101100011000010110110000101100010010000000001010000000000000000000000000001000110000100011100001100110111111001011001101111110010011000010001110000001000100111000000001011010111101000100011000010001110000111100010010000000001010000000000000000000000000001010001001110000000111100000000111110011001101111110010011000010001110000001000100111000000011011010111101000100011000010001110000111100010010000000001010000000000000000000000000001000110000101011100001100110111111001011001101111110010011000010101110000001000100111000000011110000000011111000011000010101110000100010010010000000001010000000000000000000000000001001001001110000000001111010000101000011001101111110010011000010101110000000100100111000000000110000000011111000011000010101110000100010010010000000001010000000000000000000000000001000110000100111100001100110111111001011001101111110010011000010011110000000100100111000000000111101000010100000011000010011110000110010010010000000001010000000000000000000000000001001001001110000000100101000111110001011001101111110010011000010011110000000100100111000000010111101000010100000011000010011110000110010010010000000001010000000000000000000000000001000110000101111100001100110111111001011001101111110010011000010111110000000100100111000000010010100011111000100011000010111110000101010010010000000001010000000000000000000000000001001001001110000000010010111000111011011001101111110010011000010111110000000100100111000000001010100011111000100011000010111110000101010010010000000001010000000000000000000000000001000110000100000010001100110111111001011001101111110010011000010000001000000100100111000000001001011100011101100011000010000001000111010010010000000001010000000000000000000000000001001001001110000000111100111110110101011001101111110010011000010000001000000100100111000000011001011100011101100011000010000001000111010010010000000001010000000000000000000000000001000110000101000010001100110111111001011001101111110010011000010100001000000100100111000000011110011111011010100011000010100001000100110010010000000001010000000000000000000000000001011001001110000000000000110000100000011001101111110010011000010100001000001100100111000000000110011111011010100011000010100001000100110010010000000001010000000000000000000000000001000110000100100010001100110111111001011001101111110010011000010010001000001100100111000000000000011000010000000011000010010001000110110010010000000001010000000000000000000000000001011001001110000000101011111100000100011001101111110010011000010010001000001100100111000000010000011000010000000011000010010001000110110010010000000001010000000000000000000000000001000110000101100010001100110111111001011001101111110010011000010110001000001100100111000000010101111110000010000011000010110001000101110010010000000001010000000000000000000000000001011001001110000000011100111000101110011001101111110010011000010110001000001100100111000000001101111110000010000011000010110001000101110010010000000001010000000000000000000000000001000110000100010010001100110111111001011001101111110010011000010001001000001100100111000000001110011100010111000011000010001001000111110010010000000001010000000000000000000000000001011001001110000000110100111011010001011001101111110010011000010001001000001100100111000000011110011100010111000011000010001001000111110010010000000001010000000000000000000000000001000110000101010010001100110111111001011001101111110010011000010101001000001100100111000000011010011101101000100011000010101001000100001010010000000001010000000000000000000000000001000101001110000000000110100111101111011001101111110010011000010101001000000010100111000000000010011101101000100011000010101001000100001010010000000001010000000000000000000000000001000110000100110010001100110111111001011001101111110010011000010011001000000010100111000000000011010011110111100011000010011001000110001010010000000001010000000000000000000000000001000101001110000000101000101001111001011001101111110010011000010011001000000010100111000000010011010011110111100011000010011001000110001010010000000001010000000000000000000000000001000110000101110010001100110111111001011001101111110010011000010111001000000010100111000000010100010100111100100011000010111001000101001010010000000001010000000000000000000000000001000101001110000000011001001111010011011001101111110010011000010111001000000010100111000000001100010100111100100011000010111001000101001010010000000001010000000000000000000000000001000110000100001010001100110111111001011001101111110010011000010000101000000010100111000000001100100111101001100011000010000101000111001010010000000001010000000000000000000000000001000101001110000000111101011100100110011001101111110010011000010000101000000010100111000000011100100111101001100011000010000101000111001010010000000001010000000000000000000000000001000110000101001010001100110111111001011001101111110010011000010100101000000010100111000000011110101110010011000011000010100101000100101010010000000001010000000000000000000000000001010101001110000000000010110011111000011001101111110010011000010100101000001010100111000000000110101110010011000011000010100101000100101010010000000001010000000000000000000000000001000110000100101010001100110111111001011001101111110010011000010010101000001010100111000000000001011001111100000011000010010101000110101010010000000001010000000000000000000000000001010101001110000000101111001000100010011001101111110010011000010010101000001010100111000000010001011001111100000011000010010101000110101010010000000001010000000000000000000000000001000110000101101010001100110111111001011001101111110010011000010110101000001010100111000000010111100100010001000011000010110101000101101010010000000001010000000000000000000000000001010101001110000000010000110111111000011001101111110010011000010110101000001010100111000000001111100100010001000011000010110101000101101010010000000001010000000000000000000000000001000110000100011010001100110111111001011001101111110010011000010001101000001010100111000000001000011011111100000011000010001101000111101010010000000001010000000000000000000000000001010101001110000000110100000000101101011001101111110010011000010001101000001010100111000000011000011011111100000011000010001101000111101010010000000001010000000000000000000000000001000110000101011010001100110111111001011001101111110010011000010101101000001010100111000000011010000000010110100011000010101101000100011010010000000001010000000000000000000000000001001101001110000000001011100100101111011001101111110010011000010101101000000110100111000000000010000000010110100011000010101101000100011010010000000001010000000000000000000000000001000110000100111010001100110111111001011001101111110010011000010011101000000110100111000000000101110010010111100011000010011101000110011010010000000001010000000000000000000000000001001101001110000000100011101111000110011001101111110010011000010011101000000110100111000000010101110010010111100011000010011101000110011010010000000001010000000000000000000000000001000110000101111010001100110111111001011001101111110010011000010111101000000110100111000000010001110111100011000011000010111101000101011010010000000001010000000000000000000000000001001101001110000000010100110000001000011001101111110010011000010111101000000110100111000000001001110111100011000011000010111101000101011010010000000001010000000000000000000000000001000110000100000110001100110111111001011001101111110010011000010000011000000110100111000000001010011000000100000011000010000011000111011010010000000001010000000000000000000000000001001101001110000000110000011010100000011001101111110010011000010000011000000110100111000000011010011000000100000011000010000011000111011010010000000001010000000000000000000000000001000110000101000110001100110111111001011001101111110010011000010100011000000110100111000000011000001101010000000011000010100011000100111010010000000001010000000000000000000000000001011101001110000000001110101100001001011001101111110010011000010100011000001110100111000000000000001101010000000011000010100011000100111010010000000001010000000000000000000000000001000110000100100110001100110111111001011001101111110010011000010010011000001110100111000000000111010110000100100011000010010011000110111010010000000001010000000000000000000000000001011101001110000000101000011000000111011001101111110010011000010010011000001110100111000000010111010110000100100011000010010011000110111010010000000001010000000000000000000000000001010110000100000000001100110111111001011001101111110011011000010000000000001110100111000000010100001100000011101011000010000000000101111010010000000001010000000000000000000000000001011101001110000000010000001011100111011001101111110011011000010000000000001110100111000000001100001100000011101011000010000000000101111010010000000001010000000000000000000000000001010110000101000000001100110111111001011001101111110011011000010100000000001110100111000000001000000101110011101011000010100000000111111010010000000001010000000000000000000000000001011101001110000000110101000100101011011001101111110011011000010100000000001110100111000000011000000101110011101011000010100000000111111010010000000001010000000000000000000000000001010110000100100000001100110111111001011001101111110011011000010010000000001110100111000000011010100010010101101011000010010000000100000110010000000001010000000000000000000000000001000011001110000000001000110001011110011001101111110011011000010010000000000001100111000000000010100010010101101011000010010000000100000110010000000001010000000000000000000000000001010110000101100000001100110111111001011001101111110011011000010110000000000001100111000000000100011000101111001011000010110000000110000110010000000001010000000000000000000000000001000011001110000000101111000001010101011001101111110011011000010110000000000001100111000000010100011000101111001011000010110000000110000110010000000001010000000000000000000000000001010110000100010000001100110111111001011001101111110011011000010001000000000001100111000000010111100000101010101011000010001000000101000110010000000001010000000000000000000000000001000011001110000000011100100001100111011001101111110011011000010001000000000001100111000000001111100000101010101011000010001000000101000110010000000001010000000000000000000000000001010110000101010000001100110111111001011001101111110011011000010101000000000001100111000000001110010000110011101011000010101000000111000110010000000001010000000000000000000000000001000011001110000000110000100011110010011001101111110011011000010101000000000001100111000000011110010000110011101011000010101000000111000110010000000001010000000000000000000000000001010110000100110000001100110111111001011001101111110011011000010011000000000001100111000000011000010001111001001011000010011000000100100110010000000001010000000000000000000000000001010011001110000000001101001101111101011001101111110011011000010011000000001001100111000000000000010001111001001011000010011000000100100110010000000001010000000000000000000000000001010110000101110000001100110111111001011001101111110011011000010111000000001001100111000000000110100110111110101011000010111000000110100110010000000001010000000000000000000000000001010011001110000000100001101011111001011001101111110011011000010111000000001001100111000000010110100110111110101011000010111000000110100110010000000001010000000000000000000000000001010110000100001000001100110111111001011001101111110011011000010000100000001001100111000000010000110101111100101011000010000100000101100110010000000001010000000000000000000000000001010011001110000000010011101101000011011001101111110011011000010000100000001001100111000000001000110101111100101011000010000100000101100110010000000001010000000000000000000000000001010110000101001000001100110111111001011001101111110011011000010100100000001001100111000000001001110110100001101011000010100100000111100110010000000001010000000000000000000000000001010011001110000000111110111111111000011001101111110011011000010100100000001001100111000000011001110110100001101011000010100100000111100110010000000001010000000000000000000000000001010110000100101000001100110111111001011001101111110011011000010010100000001001100111000000011111011111111100001011000010010100000100010110010000000001010000000000000000000000000001001011001110000000001011100001110010011001101111110011011000010010100000000101100111000000000111011111111100001011000010010100000100010110010000000001010000000000000000000000000001010110000101101000001100110111111001011001101111110011011000010110100000000101100111000000000101110000111001001011000010110100000110010110010000000001010000000000000000000000000001001011001110000000100000110100010110011001101111110011011000010110100000000101100111000000010101110000111001001011000010110100000110010110010000000001010000000000000000000000000001010110000100011000001100110111111001011001101111110011011000010001100000000101100111000000010000011010001011001011000010001100000101010110010000000001010000000000000000000000000001001011001110000000011110111000111000011001101111110011011000010001100000000101100111000000001000011010001011001011000010001100000101010110010000000001010000000000000000000000000001010110000101011000001100110111111001011001101111110011011000010101100000000101100111000000001111011100011100001011000010101100000111010110010000000001010000000000000000000000000001001011001110000000111011111000100111011001101111110011011000010101100000000101100111000000011111011100011100001011000010101100000111010110010000000001010000000000000000000000000001010110000100111000001100110111111001011001101111110011011000010011100000000101100111000000011101111100010011101011000010011100000100110110010000000001010000000000000000000000000001011011001110000000000110110010001100011001101111110011011000010011100000001101100111000000000101111100010011101011000010011100000100110110010000000001010000000000000000000000000001010110000101111000001100110111111001011001101111110011011000010111100000001101100111000000000011011001000110001011000010111100000110110110010000000001010000000000000000000000000001011011001110000000101101011010011111011001101111110011011000010111100000001101100111000000010011011001000110001011000010111100000110110110010000000001010000000000000000000000000001010110000100000100001100110111111001011001101111110011011000010000010000001101100111000000010110101101001111101011000010000010000101110110010000000001010000000000000000000000000001011011001110000000010100000001011101011001101111110011011000010000010000001101100111000000001110101101001111101011000010000010000101110110010000000001010000000000000000000000000001010110000101000100001100110111111001011001101111110011011000010100010000001101100111000000001010000000101110101011000010100010000111110110010000000001010000000000000000000000000001011011001110000000110101010010111000011001101111110011011000010100010000001101100111000000011010000000101110101011000010100010000111110110010000000001010000000000000000000000000001010110000100100100001100110111111001011001101111110011011000010010010000001101100111000000011010101001011100001011000010010010000100001110010000000001010000000000000000000000000001000111001110000000000110101001110000011001101111110011011000010010010000000011100111000000000010101001011100001011000010010010000100001110010000000001010000000000000000000000000001010110000101100100001100110111111001011001101111110011011000010110010000000011100111000000000011010100111000001011000010110010000110001110010000000001010000000000000000000000000001000111001110000000100101100101111111011001101111110011011000010110010000000011100111000000010011010100111000001011000010110010000110001110010000000001010000000000000000000000000001010110000100010100001100110111111001011001101111110011011000010001010000000011100111000000010010110010111111101011000010001010000101001110010000000001010000000000000000000000000001000111001110000000011011001010011110011001101111110011011000010001010000000011100111000000001010110010111111101011000010001010000101001110010000000001010000000000000000000000000001010110000101010100001100110111111001011001101111110011011000010101010000000011100111000000001101100101001111001011000010101010000111001110010000000001010000000000000000000000000001000111001110000000111010110111111011011001101111110011011000010101010000000011100111000000011101100101001111001011000010101010000111001110010000000001010000000000000000000000000001010110000100110100001100110111111001011001101111110011011000010011010000000011100111000000011101011011111101101011000010011010000100101110010000000001010000000000000000000000000001010111001110000000001010011010001000011001101111110011011000010011010000001011100111000000000101011011111101101011000010011010000100101110010000000001010000000000000000000000000001010110000101110100001100110111111001011001101111110011011000010111010000001011100111000000000101001101000100001011000010111010000110101110010000000001010000000000000000000000000001010111001110000000100111000001100011011001101111110011011000010111010000001011100111000000010101001101000100001011000010111010000110101110010000000001010000000000000000000000000001010110000100001100001100110111111001011001101111110011011000010000110000001011100111000000010011100000110001101011000010000110000101101110010000000001010000000000000000000000000001010111001110000000010000100101100101011001101111110011011000010000110000001011100111000000001011100000110001101011000010000110000101101110010000000001010000000000000000000000000001010110000101001100001100110111111001011001101111110011011000010100110000001011100111000000001000010010110010101011000010100110000111101110010000000001010000000000000000000000000001010111001110000000110111110011000000011001101111110011011000010100110000001011100111000000011000010010110010101011000010100110000111101110010000000001010000000000000000000000000001010110000100101100001100110111111001011001101111110011011000010010110000001011100111000000011011111001100000001011000010010110000100011110010000000001010000000000000000000000000001001111001110000000000111000110010001011001101111110011011000010010110000000111100111000000000011111001100000001011000010010110000100011110010000000001010000000000000000000000000001010110000101101100001100110111111001011001101111110011011000010110110000000111100111000000000011100011001000101011000010110110000110011110010000000001010000000000000000000000000001001111001110000000101100011100101101011001101111110011011000010110110000000111100111000000010011100011001000101011000010110110000110011110010000000001010000000000000000000000000001010110000100011100001100110111111001011001101111110011011000010001110000000111100111000000010110001110010110101011000010001110000101011110010000000001010000000000000000000000000001001111001110000000011010011110110101011001101111110011011000010001110000000111100111000000001110001110010110101011000010001110000101011110010000000001010000000000000000000000000001010110000101011100001100110111111001011001101111110011011000010101110000000111100111000000001101001111011010101011000010101110000111011110010000000001010000000000000000000000000001001111001110000000111110101110110110011001101111110011011000010101110000000111100111000000011101001111011010101011000010101110000111011110010000000001010000000000000000000000000001010110000100111100001100110111111001011001101111110011011000010011110000000111100111000000011111010111011011001011000010011110000100111110010000000001010000000000000000000000000001011111001110000000000000100000111100011001101111110011011000010011110000001111100111000000000111010111011011001011000010011110000100111110010000000001010000000000000000000000000001010110000101111100001100110111111001011001101111110011011000010111110000001111100111000000000000010000011110001011000010111110000110111110010000000001010000000000000000000000000001011111001110000000101100011100100111011001101111110011011000010111110000001111100111000000010000010000011110001011000010111110000110111110010000000001010000000000000000000000000001010110000100000010001100110111111001011001101111110011011000010000001000001111100111000000010110001110010011101011000010000001000101111110010000000001010000000000000000000000000001011111001110000000010101010000000111011001101111110011011000010000001000001111100111000000001110001110010011101011000010000001000101111110010000000001010000000000000000000000000001010110000101000010001100110111111001011001101111110011011000010100001000001111100111000000001010101000000011101011000010100001000111111110010000000001010000000000000000000000000001011111001110000000111000100100010101011001101111110011011000010100001000001111100111000000011010101000000011101011000010100001000111111110010000000001010000000000000000000000000001010110000100100010001100110111111001011001101111110011011000010010001000001111100111000000011100010010001010101011000010010001000100000001010000000001010000000000000000000000000001010110000100100010001100110111111001011001101111110011011000010010001000000000010111000000000100010010001010101011000010010001000100000001010000000001010000000000000000000000000001010110000101100010001100110111111001011001101111110011011000010110001000000000010111000000000100010010001010101011000010110001000110000001010000000001010000000000000000000000000001010110000100010010001100110111111001011001101111110011011000010001001000000000010111000000010100010010001010101011000010001001000110000001010000000001010000000000000000000000000001010110000101010010001100110111111001011001101111110011011000010101001000000000010111000000010100010010001010101011000010101001000101000001010000000001010000000000000000000000000001010110000100110010001100110111111001011001101111110011011000010011001000000000010111000000001100010010001010101011000010011001000101000001010000000001010000000000000000000000000001010110000101110010001100110111111001011001101111110011011000010111001000000000010111000000001100010010001010101011000010111001000111000001010000000001010000000000000000000000000001010110000100001010001100110111111001011001101111110011011000010000101000000000010111000000011100010010001010101011000010000101000111000001010000000001010000000000000000000000000001010110000101001010001100110111111001011001101111110011011000010100101000000000010111000000011100010010001010101011000010100101000100100001010000000001010000000000000000000000000001010110000100101010001100110111111001011001101111110011011000010010101000001000010111000000000100010010001010101011000010010101000100100001010000000001010000000000000000000000000001010110000101101010001100110111111001011001101111110011011000010110101000001000010111000000000100010010001010101011000010110101000110100001010000000001010000000000000000000000000001010110000100011010001100110111111001011001101111110011011000010001101000001000010111000000010100010010001010101011000010001101000110100001010000000001010000000000000000000000000001010110000101011010001100110111111001011001101111110011011000010101101000001000010111000000010100010010001010101011000010101101000101100001010000000001010000000000000000000000000001010110000100111010001100110111111001011001101111110011011000010011101000001000010111000000001100010010001010101011000010011101000101100001010000000001010000000000000000000000000001010110000101111010001100110111111001011001101111110011011000010111101000001000010111000000001100010010001010101011000010111101000111100001010000000001010000000000000000000000000001010110000100000110001100110111111001011001101111110011011000010000011000001000010111000000011100010010001010101011000010000011000111100001010000000001010000000000000000000000000001010110000101000110001100110111111001011001101111110011011000010100011000001000010111000000011100010010001010101011000010100011000100010001010000000001010000000000000000000000000001010110000100100110001100110111111001011001101111110011011000010010011000000100010111000000000100010010001010101011000010010011000100010001010000000001010000000000000000000000000001001110000100000000001100110111111001011001101111110010111000010000000000000100010111000000000100010010001010100111000010000000000110010001010000000001010000000000000000000000000001001110000101000000001100110111111001011001101111110010111000010100000000000100010111000000010100010010001010100111000010100000000110010001010000000001010000000000000000000000000001001110000100100000001100110111111001011001101111110010111000010010000000000100010111000000010100010010001010100111000010010000000101010001010000000001010000000000000000000000000001001110000101100000001100110111111001011001101111110010111000010110000000000100010111000000001100010010001010100111000010110000000101010001010000000001010000000000000000000000000001001110000100010000001100110111111001011001101111110010111000010001000000000100010111000000001100010010001010100111000010001000000111010001010000000001010000000000000000000000000001001110000101010000001100110111111001011001101111110010111000010101000000000100010111000000011100010010001010100111000010101000000111010001010000000001010000000000000000000000000001001110000100110000001100110111111001011001101111110010111000010011000000000100010111000000011100010010001010100111000010011000000100110001010000000001010000000000000000000000000001001110000101110000001100110111111001011001101111110010111000010111000000001100010111000000000100010010001010100111000010111000000100110001010000000001010000000000000000000000000001001110000100001000001100110111111001011001101111110010111000010000100000001100010111000000000100010010001010100111000010000100000110110001010000000001010000000000000000000000000001001110000101001000001100110111111001011001101111110010111000010100100000001100010111000000010100010010001010100111000010100100000110110001010000000001010000000000000000000000000001001110000100101000001100110111111001011001101111110010111000010010100000001100010111000000010100010010001010100111000010010100000101110001010000000001010000000000000000000000000001001110000101101000001100110111111001011001101111110010111000010110100000001100010111000000001100010010001010100111000010110100000101110001010000000001010000000000000000000000000001001110000100011000001100110111111001011001101111110010111000010001100000001100010111000000001100010010001010100111000010001100000111110001010000000001010000000000000000000000000001001110000101011000001100110111111001011001101111110010111000010101100000001100010111000000011100010010001010100111000010101100000111110001010000000001010000000000000000000000000001001110000100111000001100110111111001011001101111110010111000010011100000001100010111000000011100010010001010100111000010011100000100001001010000000001010000000000000000000000000001001110000101111000001100110111111001011001101111110010111000010111100000000010010111000000000100010010001010100111000010111100000100001001010000000001010000000000000000000000000001001110000100000100001100110111111001011001101111110010111000010000010000000010010111000000000100010010001010100111000010000010000110001001010000000001010000000000000000000000000001001110000101000100001100110111111001011001101111110010111000010100010000000010010111000000010100010010001010100111000010100010000110001001010000000001010000000000000000000000000001001110000100100100001100110111111001011001101111110010111000010010010000000010010111000000010100010010001010100111000010010010000101001001010000000001010000000000000000000000000001001110000101100100001100110111111001011001101111110010111000010110010000000010010111000000001100010010001010100111000010110010000101001001010000000001010000000000000000000000000001001110000100010100001100110111111001011001101111110010111000010001010000000010010111000000001100010010001010100111000010001010000111001001010000000001010000000000000000000000000001001110000101010100001100110111111001011001101111110010111000010101010000000010010111000000011100010010001010100111000010101010000111001001010000000001010000000000000000000000000001001110000100110100001100110111111001011001101111110010111000010011010000000010010111000000011100010010001010100111000010011010000100101001010000000001010000000000000000000000000001001110000101110100001100110111111001011001101111110010111000010111010000001010010111000000000100010010001010100111000010111010000100101001010000000001010000000000000000000000000001001110000100001100001100110111111001011001101111110010111000010000110000001010010111000000000100010010001010100111000010000110000110101001010000000001010000000000000000000000000001001110000101001100001100110111111001011001101111110010111000010100110000001010010111000000010100010010001010100111000010100110000110101001010000000001010000000000000000000000000001001110000100101100001100110111111001011001101111110010111000010010110000001010010111000000010100010010001010100111000010010110000101101001010000000001010000000000000000000000000001001110000101101100001100110111111001011001101111110010111000010110110000001010010111000000001100010010001010100111000010110110000101101001010000000001010000000000000000000000000001001110000100011100001100110111111001011001101111110010111000010001110000001010010111000000001100010010001010100111000010001110000111101001010000000001010000000000000000000000000001001110000101011100001100110111111001011001101111110010111000010101110000001010010111000000011100010010001010100111000010101110000111101001010000000001010000000000000000000000000001001110000100111100001100110111111001011001101111110010111000010011110000001010010111000000011100010010001010100111000010011110000100011001010000000001010000000000000000000000000001001110000101111100001100110111111001011001101111110010111000010111110000000110010111000000000100010010001010100111000010111110000100011001010000000001010000000000000000000000000001001110000100000010001100110111111001011001101111110010111000010000001000000110010111000000000100010010001010100111000010000001000110011001010000000001010000000000000000000000000001001110000101000010001100110111111001011001101111110010111000010100001000000110010111000000010100010010001010100111000010100001000110011001010000000001010000000000000000000000000001001110000100100010001100110111111001011001101111110010111000010010001000000110010111000000010100010010001010100111000010010001000101011001010000000001010000000000000000000000000001001110000101100010001100110111111001011001101111110010111000010110001000000110010111000000001100010010001010100111000010110001000101011001010000000001010000000000000000000000000001001110000100010010001100110111111001011001101111110010111000010001001000000110010111000000001100010010001010100111000010001001000111011001010000000001010000000000000000000000000001001110000101010010001100110111111001011001101111110010111000010101001000000110010111000000011100010010001010100111000010101001000111011001010000000001010000000000000000000000000001001110000100110010001100110111111001011001101111110010111000010011001000000110010111000000011100010010001010100111000010011001000100111001010000000001010000000000000000000000000001001110000101110010001100110111111001011001101111110010111000010111001000001110010111000000000100010010001010100111000010111001000100111001010000000001010000000000000000000000000001001110000100001010001100110111111001011001101111110010111000010000101000001110010111000000000100010010001010100111000010000101000110111001010000000001010000000000000000000000000001001110000101001010001100110111111001011001101111110010111000010100101000001110010111000000010100010010001010100111000010100101000110111001010000000001010000000000000000000000000001001110000100101010001100110111111001011001101111110010111000010010101000001110010111000000010100010010001010100111000010010101000101111001010000000001010000000000000000000000000001001110000101101010001100110111111001011001101111110010111000010110101000001110010111000000001100010010001010100111000010110101000101111001010000000001010000000000000000000000000001001110000100011010001100110111111001011001101111110010111000010001101000001110010111000000001100010010001010100111000010001101000111111001010000000001010000000000000000000000000001001110000101011010001100110111111001011001101111110010111000010101101000001110010111000000011100010010001010100111000010101101000111111001010000000001010000000000000000000000000001001110000100111010001100110111111001011001101111110010111000010011101000001110010111000000011100010010001010100111000010011101000100000101010000000001010000000000000000000000000001001110000101111010001100110111111001011001101111110010111000010111101000000001010111000000000100010010001010100111000010111101000100000101010000000001010000000000000000000000000001001110000100000110001100110111111001011001101111110010111000010000011000000001010111000000000100010010001010100111000010000011000110000101010000000001010000000000000000000000000001001110000101000110001100110111111001011001101111110010111000010100011000000001010111000000010100010010001010100111000010100011000110000101010000000001010000000000000000000000000001001110000100100110001100110111111001011001101111110010111000010010011000000001010111000000010100010010001010100111000010010011000101000101010000000001010000000000000000000000000001011110000100000000001100110111111001011001101111110011111000010000000000000001010111000000001100010010001010101111000010000000000101000101010000000001010000000000000000000000000001011110000101000000001100110111111001011001101111110011111000010100000000000001010111000000001100010010001010101111000010100000000111000101010000000001010000000000000000000000000001011110000100100000001100110111111001011001101111110011111000010010000000000001010111000000011100010010001010101111000010010000000111000101010000000001010000000000000000000000000001011110000101100000001100110111111001011001101111110011111000010110000000000001010111000000011100010010001010101111000010110000000100100101010000000001010000000000000000000000000001011110000100010000001100110111111001011001101111110011111000010001000000001001010111000000000100010010001010101111000010001000000100100101010000000001010000000000000000000000000001011110000101010000001100110111111001011001101111110011111000010101000000001001010111000000000100010010001010101111000010101000000110100101010000000001010000000000000000000000000001011110000100110000001100110111111001011001101111110011111000010011000000001001010111000000010100010010001010101111000010011000000110100101010000000001010000000000000000000000000001011110000101110000001100110111111001011001101111110011111000010111000000001001010111000000010100010010001010101111000010111000000101100101010000000001010000000000000000000000000001011110000100001000001100110111111001011001101111110011111000010000100000001001010111000000001100010010001010101111000010000100000101100101010000000001010000000000000000000000000001011110000101001000001100110111111001011001101111110011111000010100100000001001010111000000001100010010001010101111000010100100000111100101010000000001010000000000000000000000000001011110000100101000001100110111111001011001101111110011111000010010100000001001010111000000011100010010001010101111000010010100000111100101010000000001010000000000000000000000000001011110000101101000001100110111111001011001101111110011111000010110100000001001010111000000011100010010001010101111000010110100000100010101010000000001010000000000000000000000000001011110000100011000001100110111111001011001101111110011111000010001100000000101010111000000000100010010001010101111000010001100000100010101010000000001010000000000000000000000000001011110000101011000001100110111111001011001101111110011111000010101100000000101010111000000000100010010001010101111000010101100000110010101010000000001010000000000000000000000000001011110000100111000001100110111111001011001101111110011111000010011100000000101010111000000010100010010001010101111000010011100000110010101010000000001010000000000000000000000000001011110000101111000001100110111111001011001101111110011111000010111100000000101010111000000010100010010001010101111000010111100000101010101010000000001010000000000000000000000000001011110000100000100001100110111111001011001101111110011111000010000010000000101010111000000001100010010001010101111000010000010000101010101010000000001010000000000000000000000000001011110000101000100001100110111111001011001101111110011111000010100010000000101010111000000001100010010001010101111000010100010000111010101010000000001010000000000000000000000000001011110000100100100001100110111111001011001101111110011111000010010010000000101010111000000011100010010001010101111000010010010000111010101010000000001010000000000000000000000000001011110000101100100001100110111111001011001101111110011111000010110010000000101010111000000011100010010001010101111000010110010000100110101010000000001010000000000000000000000000001011110000100010100001100110111111001011001101111110011111000010001010000001101010111000000000100010010001010101111000010001010000100110101010000000001010000000000000000000000000001011110000101010100001100110111111001011001101111110011111000010101010000001101010111000000000100010010001010101111000010101010000110110101010000000001010000000000000000000000000001011110000100110100001100110111111001011001101111110011111000010011010000001101010111000000010100010010001010101111000010011010000110110101010000000001010000000000000000000000000001011110000101110100001100110111111001011001101111110011111000010111010000001101010111000000010100010010001010101111000010111010000101110101010000000001010000000000000000000000000001011110000100001100001100110111111001011001101111110011111000010000110000001101010111000000001100010010001010101111000010000110000101110101010000000001010000000000000000000000000001011110000101001100001100110111111001011001101111110011111000010100110000001101010111000000001100010010001010101111000010100110000111110101010000000001010000000000000000000000000001011110000100101100001100110111111001011001101111110011111000010010110000001101010111000000011100010010001010101111000010010110000111110101010000000001010000000000000000000000000001011110000101101100001100110111111001011001101111110011111000010110110000001101010111000000011100010010001010101111000010110110000100001101010000000001010000000000000000000000000001011110000100011100001100110111111001011001101111110011111000010001110000000011010111000000000100010010001010101111000010001110000100001101010000000001010000000000000000000000000001011110000101011100001100110111111001011001101111110011111000010101110000000011010111000000000100010010001010101111000010101110000110001101010000000001010000000000000000000000000001011110000100111100001100110111111001011001101111110011111000010011110000000011010111000000010100010010001010101111000010011110000110001101010000000001010000000000000000000000000001011110000101111100001100110111111001011001101111110011111000010111110000000011010111000000010100010010001010101111000010111110000101001101010000000001010000000000000000000000000001011110000100000010001100110111111001011001101111110011111000010000001000000011010111000000001100010010001010101111000010000001000101001101010000000001010000000000000000000000000001011110000101000010001100110111111001011001101111110011111000010100001000000011010111000000001100010010001010101111000010100001000111001101010000000001010000000000000000000000000001011110000100100010001100110111111001011001101111110011111000010010001000000011010111000000011100010010001010101111000010010001000111001101010000000001010000000000000000000000000001011110000101100010001100110111111001011001101111110011111000010110001000000011010111000000011100010010001010101111000010110001000100101101010000000001010000000000000000000000000001011110000100010010001100110111111001011001101111110011111000010001001000001011010111000000000100010010001010101111000010001001000100101101010000000001010000000000000000000000000001011110000101010010001100110111111001011001101111110011111000010101001000001011010111000000000100010010001010101111000010101001000110101101010000000001010000000000000000000000000001011110000100110010001100110111111001011001101111110011111000010011001000001011010111000000010100010010001010101111000010011001000110101101010000000001010000000000000000000000000001011110000101110010001100110111111001011001101111110011111000010111001000001011010111000000010100010010001010101111000010111001000101101101010000000001010000000000000000000000000001011110000100001010001100110111111001011001101111110011111000010000101000001011010111000000001100010010001010101111000010000101000101101101010000000001010000000000000000000000000001011110000101001010001100110111111001011001101111110011111000010100101000001011010111000000001100010010001010101111000010100101000111101101010000000001010000000000000000000000000001011110000100101010001100110111111001011001101111110011111000010010101000001011010111000000011100010010001010101111000010010101000111101101010000000001010000000000000000000000000001011110000101101010001100110111111001011001101111110011111000010110101000001011010111000000011100010010001010101111000010110101000100011101010000000001010000000000000000000000000001011110000100011010001100110111111001011001101111110011111000010001101000000111010111000000000100010010001010101111000010001101000100011101010000000001010000000000000000000000000001011110000101011010001100110111111001011001101111110011111000010101101000000111010111000000000100010010001010101111000010101101000110011101010000000001010000000000000000000000000001011110000100111010001100110111111001011001101111110011111000010011101000000111010111000000010100010010001010101111000010011101000110011101010000000001010000000000000000000000000001011110000101111010001100110111111001011001101111110011111000010111101000000111010111000000010100010010001010101111000010111101000101011101010000000001010000000000000000000000000001011110000100000110001100110111111001011001101111110011111000010000011000000111010111000000001100010010001010101111000010000011000101011101010000000001010000000000000000000000000001011110000101000110001100110111111001011001101111110011111000010100011000000111010111000000001100010010001010101111000010100011000111011101010000000001010000000000000000000000000001011110000100100110001100110111111001011001101111110011111000010010011000000111010111000000011100010010001010101111000010010011000111011101010000000001010000000000000000000000000001000001000100000000001100110111111001011001101111110010000100010000000000000111010111000000011100010010001010100000100010000000000100111101010000000001010000000000000000000000000001000001000101000000001100110111111001011001101111110010000100010100000000001111010111000000000100010010001010100000100010100000000100111101010000000001010000000000000000000000000001000001000100100000001100110111111001011001101111110010000100010010000000001111010111000000000100010010001010100000100010010000000110111101010000000001010000000000000000000000000001000001000101100000001100110111111001011001101111110010000100010110000000001111010111000000010100010010001010100000100010110000000110111101010000000001010000000000000000000000000001000001000100010000001100110111111001011001101111110010000100010001000000001111010111000000010100010010001010100000100010001000000101111101010000000001010000000000000000000000000001000001000101010000001100110111111001011001101111110010000100010101000000001111010111000000001100010010001010100000100010101000000101111101010000000001010000000000000000000000000001000001000100110000001100110111111001011001101111110010000100010011000000001111010111000000001100010010001010100000100010011000000111111101010000000001010000000000000000000000000001000001000101110000001100110111111001011001101111110010000100010111000000001111010111000000011100010010001010100000100010111000000111111101010000000001010000000000000000000000000001000001000100001000001100110111111001011001101111110010000100010000100000001111010111000000011100010010001010100000100010000100000100000011010000000001010000000000000000000000000001000001000101001000001100110111111001011001101111110010000100010100100000000000110111000000000100010010001010100000100010100100000100000011010000000001010000000000000000000000000001000001000100101000001100110111111001011001101111110010000100010010100000000000110111000000000100010010001010100000100010010100000110000011010000000001010000000000000000000000000001000001000101101000001100110111111001011001101111110010000100010110100000000000110111000000010100010010001010100000100010110100000110000011010000000001010000000000000000000000000001000001000100011000001100110111111001011001101111110010000100010001100000000000110111000000010100010010001010100000100010001100000101000011010000000001010000000000000000000000000001000001000101011000001100110111111001011001101111110010000100010101100000000000110111000000001100010010001010100000100010101100000101000011010000000001010000000000000000000000000001000001000100111000001100110111111001011001101111110010000100010011100000000000110111000000001100010010001010100000100010011100000111000011010000000001010000000000000000000000000001000001000101111000001100110111111001011001101111110010000100010111100000000000110111000000011100010010001010100000100010111100000111000011010000000001010000000000000000000000000001000001000100000100001100110111111001011001101111110010000100010000010000000000110111000000011100010010001010100000100010000010000100100011010000000001010000000000000000000000000001000001000101000100001100110111111001011001101111110010000100010100010000001000110111000000000100010010001010100000100010100010000100100011010000000001010000000000000000000000000001000001000100100100001100110111111001011001101111110010000100010010010000001000110111000000000100010010001010100000100010010010000110100011010000000001010000000000000000000000000001000001000101100100001100110111111001011001101111110010000100010110010000001000110111000000010100010010001010100000100010110010000110100011010000000001010000000000000000000000000001000001000100010100001100110111111001011001101111110010000100010001010000001000110111000000010100010010001010100000100010001010000101100011010000000001010000000000000000000000000001000001000101010100001100110111111001011001101111110010000100010101010000001000110111000000001100010010001010100000100010101010000101100011010000000001010000000000000000000000000001000001000100110100001100110111111001011001101111110010000100010011010000001000110111000000001100010010001010100000100010011010000111100011010000000001010000000000000000000000000001000001000101110100001100110111111001011001101111110010000100010111010000001000110111000000011100010010001010100000100010111010000111100011010000000001010000000000000000000000000001000001000100001100001100110111111001011001101111110010000100010000110000001000110111000000011100010010001010100000100010000110000100010011010000000001010000000000000000000000000001000001000101001100001100110111111001011001101111110010000100010100110000000100110111000000000100010010001010100000100010100110000100010011010000000001010000000000000000000000000001000001000100101100001100110111111001011001101111110010000100010010110000000100110111000000000100010010001010100000100010010110000110010011010000000001010000000000000000000000000001000001000101101100001100110111111001011001101111110010000100010110110000000100110111000000010100010010001010100000100010110110000110010011010000000001010000000000000000000000000001000001000100011100001100110111111001011001101111110010000100010001110000000100110111000000010100010010001010100000100010001110000101010011010000000001010000000000000000000000000001000001000101011100001100110111111001011001101111110010000100010101110000000100110111000000001100010010001010100000100010101110000101010011010000000001010000000000000000000000000001000001000100111100001100110111111001011001101111110010000100010011110000000100110111000000001100010010001010100000100010011110000111010011010000000001010000000000000000000000000001000001000101111100001100110111111001011001101111110010000100010111110000000100110111000000011100010010001010100000100010111110000111010011010000000001010000000000000000000000000001000001000100000010001100110111111001011001101111110010000100010000001000000100110111000000011100010010001010100000100010000001000100110011010000000001010000000000000000000000000001000001000101000010001100110111111001011001101111110010000100010100001000001100110111000000000100010010001010100000100010100001000100110011010000000001010000000000000000000000000001000001000100100010001100110111111001011001101111110010000100010010001000001100110111000000000100010010001010100000100010010001000110110011010000000001010000000000000000000000000001000001000101100010001100110111111001011001101111110010000100010110001000001100110111000000010100010010001010100000100010110001000110110011010000000001010000000000000000000000000001000001000100010010001100110111111001011001101111110010000100010001001000001100110111000000010100010010001010100000100010001001000101110011010000000001010000000000000000000000000001000001000101010010001100110111111001011001101111110010000100010101001000001100110111000000001100010010001010100000100010101001000101110011010000000001010000000000000000000000000001000001000100110010001100110111111001011001101111110010000100010011001000001100110111000000001100010010001010100000100010011001000111110011010000000001010000000000000000000000000001000001000101110010001100110111111001011001101111110010000100010111001000001100110111000000011100010010001010100000100010111001000111110011010000000001010000000000000000000000000001000001000100001010001100110111111001011001101111110010000100010000101000001100110111000000011100010010001010100000100010000101000100001011010000000001010000000000000000000000000001000001000101001010001100110111111001011001101111110010000100010100101000000010110111000000000100010010001010100000100010100101000100001011010000000001010000000000000000000000000001000001000100101010001100110111111001011001101111110010000100010010101000000010110111000000000100010010001010100000100010010101000110001011010000000001010000000000000000000000000001000001000101101010001100110111111001011001101111110010000100010110101000000010110111000000010100010010001010100000100010110101000110001011010000000001010000000000000000000000000001000001000100011010001100110111111001011001101111110010000100010001101000000010110111000000010100010010001010100000100010001101000101001011010000000001010000000000000000000000000001000001000101011010001100110111111001011001101111110010000100010101101000000010110111000000001100010010001010100000100010101101000101001011010000000001010000000000000000000000000001000001000100111010001100110111111001011001101111110010000100010011101000000010110111000000001100010010001010100000100010011101000111001011010000000001010000000000000000000000000001000001000101111010001100110111111001011001101111110010000100010111101000000010110111000000011100010010001010100000100010111101000111001011010000000001010000000000000000000000000001000001000100000110001100110111111001011001101111110010000100010000011000000010110111000000011100010010001010100000100010000011000100101011010000000001010000000000000000000000000001000001000101000110001100110111111001011001101111110010000100010100011000001010110111000000000100010010001010100000100010100011000100101011010000000001010000000000000000000000000001000001000100100110001100110111111001011001101111110010000100010010011000001010110111000000000100010010001010100000100010010011000110101011010000000001010000000000000000000000000001010001000100000000001100110111111001011001101111110011000100010000000000001010110111000000010100010010001010101000100010000000000110101011010000000001010000000000000000000000000001010001000101000000001100110111111001011001101111110011000100010100000000001010110111000000010100010010001010101000100010100000000101101011010000000001010000000000000000000000000001010001000100100000001100110111111001011001101111110011000100010010000000001010110111000000001100010010001010101000100010010000000101101011010000000001010000000000000000000000000001010001000101100000001100110111111001011001101111110011000100010110000000001010110111000000001100010010001010101000100010110000000111101011010000000001010000000000000000000000000001010001000100010000001100110111111001011001101111110011000100010001000000001010110111000000011100010010001010101000100010001000000111101011010000000001010000000000000000000000000001010001000101010000001100110111111001011001101111110011000100010101000000001010110111000000011100010010001010101000100010101000000100011011010000000001010000000000000000000000000001010001000100110000001100110111111001011001101111110011000100010011000000000110110111000000000100010010001010101000100010011000000100011011010000000001010000000000000000000000000001010001000101110000001100110111111001011001101111110011000100010111000000000110110111000000000100010010001010101000100010111000000110011011010000000001010000000000000000000000000001010001000100001000001100110111111001011001101111110011000100010000100000000110110111000000010100010010001010101000100010000100000110011011010000000001010000000000000000000000000001010001000101001000001100110111111001011001101111110011000100010100100000000110110111000000010100010010001010101000100010100100000101011011010000000001010000000000000000000000000001010001000100101000001100110111111001011001101111110011000100010010100000000110110111000000001100010010001010101000100010010100000101011011010000000001010000000000000000000000000001010001000101101000001100110111111001011001101111110011000100010110100000000110110111000000001100010010001010101000100010110100000111011011010000000001010000000000000000000000000001010001000100011000001100110111111001011001101111110011000100010001100000000110110111000000011100010010001010101000100010001100000111011011010000000001010000000000000000000000000001010001000101011000001100110111111001011001101111110011000100010101100000000110110111000000011100010010001010101000100010101100000100111011010000000001010000000000000000000000000001010001000100111000001100110111111001011001101111110011000100010011100000001110110111000000000100010010001010101000100010011100000100111011010000000001010000000000000000000000000001010001000101111000001100110111111001011001101111110011000100010111100000001110110111000000000100010010001010101000100010111100000110111011010000000001010000000000000000000000000001010001000100000100001100110111111001011001101111110011000100010000010000001110110111000000010100010010001010101000100010000010000110111011010000000001010000000000000000000000000001010001000101000100001100110111111001011001101111110011000100010100010000001110110111000000010100010010001010101000100010100010000101111011010000000001010000000000000000000000000001010001000100100100001100110111111001011001101111110011000100010010010000001110110111000000001100010010001010101000100010010010000101111011010000000001010000000000000000000000000001010001000101100100001100110111111001011001101111110011000100010110010000001110110111000000001100010010001010101000100010110010000111111011010000000001010000000000000000000000000001010001000100010100001100110111111001011001101111110011000100010001010000001110110111000000011100010010001010101000100010001010000111111011010000000001010000000000000000000000000001010001000101010100001100110111111001011001101111110011000100010101010000001110110111000000011100010010001010101000100010101010000100000111010000000001010000000000000000000000000001010001000100110100001100110111111001011001101111110011000100010011010000000001110111000000000100010010001010101000100010011010000100000111010000000001010000000000000000000000000001010001000101110100001100110111111001011001101111110011000100010111010000000001110111000000000100010010001010101000100010111010000110000111010000000001010000000000000000000000000001010001000100001100001100110111111001011001101111110011000100010000110000000001110111000000010100010010001010101000100010000110000110000111010000000001010000000000000000000000000001010001000101001100001100110111111001011001101111110011000100010100110000000001110111000000010100010010001010101000100010100110000101000111010000000001010000000000000000000000000001010001000100101100001100110111111001011001101111110011000100010010110000000001110111000000001100010010001010101000100010010110000101000111010000000001010000000000000000000000000001010001000101101100001100110111111001011001101111110011000100010110110000000001110111000000001100010010001010101000100010110110000111000111010000000001010000000000000000000000000001010001000100011100001100110111111001011001101111110011000100010001110000000001110111000000011100010010001010101000100010001110000111000111010000000001010000000000000000000000000001010001000101011100001100110111111001011001101111110011000100010101110000000001110111000000011100010010001010101000100010101110000100100111010000000001010000000000000000000000000001010001000100111100001100110111111001011001101111110011000100010011110000001001110111000000000100010010001010101000100010011110000100100111010000000001010000000000000000000000000001010001000101111100001100110111111001011001101111110011000100010111110000001001110111000000000100010010001010101000100010111110000110100111010000000001010000000000000000000000000001010001000100000010001100110111111001011001101111110011000100010000001000001001110111000000010100010010001010101000100010000001000110100111010000000001010000000000000000000000000001010001000101000010001100110111111001011001101111110011000100010100001000001001110111000000010100010010001010101000100010100001000101100111010000000001010000000000000000000000000001010001000100100010001100110111111001011001101111110011000100010010001000001001110111000000001100010010001010101000100010010001000101100111010000000001010000000000000000000000000001010001000101100010001100110111111001011001101111110011000100010110001000001001110111000000001100010010001010101000100010110001000111100111010000000001010000000000000000000000000001010001000100010010001100110111111001011001101111110011000100010001001000001001110111000000011100010010001010101000100010001001000111100111010000000001010000000000000000000000000001010001000101010010001100110111111001011001101111110011000100010101001000001001110111000000011100010010001010101000100010101001000100010111010000000001010000000000000000000000000001010001000100110010001100110111111001011001101111110011000100010011001000000101110111000000000100010010001010101000100010011001000100010111010000000001010000000000000000000000000001010001000101110010001100110111111001011001101111110011000100010111001000000101110111000000000100010010001010101000100010111001000110010111010000000001010000000000000000000000000001010001000100001010001100110111111001011001101111110011000100010000101000000101110111000000010100010010001010101000100010000101000110010111010000000001010000000000000000000000000001010001000101001010001100110111111001011001101111110011000100010100101000000101110111000000010100010010001010101000100010100101000101010111010000000001010000000000000000000000000001010001000100101010001100110111111001011001101111110011000100010010101000000101110111000000001100010010001010101000100010010101000101010111010000000001010000000000000000000000000001010001000101101010001100110111111001011001101111110011000100010110101000000101110111000000001100010010001010101000100010110101000111010111010000000001010000000000000000000000000001010001000100011010001100110111111001011001101111110011000100010001101000000101110111000000011100010010001010101000100010001101000111010111010000000001010000000000000000000000000001010001000101011010001100110111111001011001101111110011000100010101101000000101110111000000011100010010001010101000100010101101000100110111010000000001010000000000000000000000000001010001000100111010001100110111111001011001101111110011000100010011101000001101110111000000000100010010001010101000100010011101000100110111010000000001010000000000000000000000000001010001000101111010001100110111111001011001101111110011000100010111101000001101110111000000000100010010001010101000100010111101000110110111010000000001010000000000000000000000000001010001000100000110001100110111111001011001101111110011000100010000011000001101110111000000010100010010001010101000100010000011000110110111010000000001010000000000000000000000000001010001000101000110001100110111111001011001101111110011000100010100011000001101110111000000010100010010001010101000100010100011000101110111010000000001010000000000000000000000000001010001000100100110001100110111111001011001101111110011000100010010011000001101110111000000001100010010001010101000100010010011000101110111010000000001010000000000000000000000000001001001000100000000001100110111111001011001101111110010100100010000000000001101110111000000001100010010001010100100100010000000000111110111010000000001010000000000000000000000000001001001000101000000001100110111111001011001101111110010100100010100000000001101110111000000011100010010001010100100100010100000000111110111010000000001010000000000000000000000000001001001000100100000001100110111111001011001101111110010100100010010000000001101110111000000011100010010001010100100100010010000000100001111010000000001010000000000000000000000000001001001000101100000001100110111111001011001101111110010100100010110000000000011110111000000000100010010001010100100100010110000000100001111010000000001010000000000000000000000000001001001000100010000001100110111111001011001101111110010100100010001000000000011110111000000000100010010001010100100100010001000000110001111010000000001010000000000000000000000000001001001000101010000001100110111111001011001101111110010100100010101000000000011110111000000010100010010001010100100100010101000000110001111010000000001010000000000000000000000000001001001000100110000001100110111111001011001101111110010100100010011000000000011110111000000010100010010001010100100100010011000000101001111010000000001010000000000000000000000000001001001000101110000001100110111111001011001101111110010100100010111000000000011110111000000001100010010001010100100100010111000000101001111010000000001010000000000000000000000000001001001000100001000001100110111111001011001101111110010100100010000100000000011110111000000001100010010001010100100100010000100000111001111010000000001010000000000000000000000000001001001000101001000001100110111111001011001101111110010100100010100100000000011110111000000011100010010001010100100100010100100000111001111010000000001010000000000000000000000000001001001000100101000001100110111111001011001101111110010100100010010100000000011110111000000011100010010001010100100100010010100000100101111010000000001010000000000000000000000000001001001000101101000001100110111111001011001101111110010100100010110100000001011110111000000000100010010001010100100100010110100000100101111010000000001010000000000000000000000000001001001000100011000001100110111111001011001101111110010100100010001100000001011110111000000000100010010001010100100100010001100000110101111010000000001010000000000000000000000000001001001000101011000001100110111111001011001101111110010100100010101100000001011110111000000010100010010001010100100100010101100000110101111010000000001010000000000000000000000000001001001000100111000001100110111111001011001101111110010100100010011100000001011110111000000010100010010001010100100100010011100000101101111010000000001010000000000000000000000000001001001000101111000001100110111111001011001101111110010100100010111100000001011110111000000001100010010001010100100100010111100000101101111010000000001010000000000000000000000000001001001000100000100001100110111111001011001101111110010100100010000010000001011110111000000001100010010001010100100100010000010000111101111010000000001010000000000000000000000000001001001000101000100001100110111111001011001101111110010100100010100010000001011110111000000011100010010001010100100100010100010000111101111010000000001010000000000000000000000000001001001000100100100001100110111111001011001101111110010100100010010010000001011110111000000011100010010001010100100100010010010000100011111010000000001010000000000000000000000000001001001000101100100001100110111111001011001101111110010100100010110010000000111110111000000000100010010001010100100100010110010000100011111010000000001010000000000000000000000000001001001000100010100001100110111111001011001101111110010100100010001010000000111110111000000000100010010001010100100100010001010000110011111010000000001010000000000000000000000000001001001000101010100001100110111111001011001101111110010100100010101010000000111110111000000010100010010001010100100100010101010000110011111010000000001010000000000000000000000000001001001000100110100001100110111111001011001101111110010100100010011010000000111110111000000010100010010001010100100100010011010000101011111010000000001010000000000000000000000000001001001000101110100001100110111111001011001101111110010100100010111010000000111110111000000001100010010001010100100100010111010000101011111010000000001010000000000000000000000000001001001000100001100001100110111111001011001101111110010100100010000110000000111110111000000001100010010001010100100100010000110000111011111010000000001010000000000000000000000000001001001000101001100001100110111111001011001101111110010100100010100110000000111110111000000011100010010001010100100100010100110000111011111010000000001010000000000000000000000000001001001000100101100001100110111111001011001101111110010100100010010110000000111110111000000011100010010001010100100100010010110000100111111010000000001010000000000000000000000000001001001000101101100001100110111111001011001101111110010100100010110110000001111110111000000000100010010001010100100100010110110000100111111010000000001010000000000000000000000000001001001000100011100001100110111111001011001101111110010100100010001110000001111110111000000000100010010001010100100100010001110000110111111010000000001010000000000000000000000000001001001000101011100001100110111111001011001101111110010100100010101110000001111110111000000010100010010001010100100100010101110000110111111010000000001010000000000000000000000000001001001000100111100001100110111111001011001101111110010100100010011110000001111110111000000010100010010001010100100100010011110000101111111010000000001010000000000000000000000000001001001000101111100001100110111111001011001101111110010100100010111110000001111110111000000001100010010001010100100100010111110000101111111010000000001010000000000000000000000000001001001000100000010001100110111111001011001101111110010100100010000001000001111110111000000001100010010001010100100100010000001000111111111010000000001010000000000000000000000000001001001000101000010001100110111111001011001101111110010100100010100001000001111110111000000011100010010001010100100100010100001000111111111010000000001010000000000000000000000000001001001000100100010001100110111111001011001101111110010100100010010001000001111110111000000011100010010001010100100100010010001000100000000110000000001010000000000000000000000000001001001000101100010001100110111111001011001101111110010100100010110001000000000001111000000000100010010001010100100100010110001000100000000110000000001010000000000000000000000000001001001000100010010001100110111111001011001101111110010100100010001001000000000001111000000000100010010001010100100100010001001000110000000110000000001010000000000000000000000000001001001000101010010001100110111111001011001101111110010100100010101001000000000001111000000010100010010001010100100100010101001000110000000110000000001010000000000000000000000000001001001000100110010001100110111111001011001101111110010100100010011001000000000001111000000010100010010001010100100100010011001000101000000110000000001010000000000000000000000000001001001000101110010001100110111111001011001101111110010100100010111001000000000001111000000001100010010001010100100100010111001000101000000110000000001010000000000000000000000000001001001000100001010001100110111111001011001101111110010100100010000101000000000001111000000001100010010001010100100100010000101000111000000110000000001010000000000000000000000000001001001000101001010001100110111111001011001101111110010100100010100101000000000001111000000011100010010001010100100100010100101000111000000110000000001010000000000000000000000000001001001000100101010001100110111111001011001101111110010100100010010101000000000001111000000011100010010001010100100100010010101000100100000110000000001010000000000000000000000000001001001000101101010001100110111111001011001101111110010100100010110101000001000001111000000000100010010001010100100100010110101000100100000110000000001010000000000000000000000000001001001000100011010001100110111111001011001101111110010100100010001101000001000001111000000000100010010001010100100100010001101000110100000110000000001010000000000000000000000000001001001000101011010001100110111111001011001101111110010100100010101101000001000001111000000010100010010001010100100100010101101000110100000110000000001010000000000000000000000000001001001000100111010001100110111111001011001101111110010100100010011101000001000001111000000010100010010001010100100100010011101000101100000110000000001010000000000000000000000000001001001000101111010001100110111111001011001101111110010100100010111101000001000001111000000001100010010001010100100100010111101000101100000110000000001010000000000000000000000000001001001000100000110001100110111111001011001101111110010100100010000011000001000001111000000001100010010001010100100100010000011000111100000110000000001010000000000000000000000000001001001000101000110001100110111111001011001101111110010100100010100011000001000001111000000011100010010001010100100100010100011000111100000110000000001010000000000000000000000000001001001000100100110001100110111111001011001101111110010100100010010011000001000001111000000011100010010001010100100100010010011000100010000110000000001010000000000000000000000000001011001000100000000001100110111111001011001101111110011100100010000000000000100001111000000000100010010001010101100100010000000000100010000110000000001010000000000000000000000000001011001000101000000001100110111111001011001101111110011100100010100000000000100001111000000000100010010001010101100100010100000000110010000110000000001010000000000000000000000000001011001000100100000001100110111111001011001101111110011100100010010000000000100001111000000010100010010001010101100100010010000000110010000110000000001010000000000000000000000000001011001000101100000001100110111111001011001101111110011100100010110000000000100001111000000010100010010001010101100100010110000000101010000110000000001010000000000000000000000000001011001000100010000001100110111111001011001101111110011100100010001000000000100001111000000001100010010001010101100100010001000000101010000110000000001010000000000000000000000000001011001000101010000001100110111111001011001101111110011100100010101000000000100001111000000001100010010001010101100100010101000000111010000110000000001010000000000000000000000000001011001000100110000001100110111111001011001101111110011100100010011000000000100001111000000011100010010001010101100100010011000000111010000110000000001010000000000000000000000000001011001000101110000001100110111111001011001101111110011100100010111000000000100001111000000011100010010001010101100100010111000000100110000110000000001010000000000000000000000000001011001000100001000001100110111111001011001101111110011100100010000100000001100001111000000000100010010001010101100100010000100000100110000110000000001010000000000000000000000000001011001000101001000001100110111111001011001101111110011100100010100100000001100001111000000000100010010001010101100100010100100000110110000110000000001010000000000000000000000000001011001000100101000001100110111111001011001101111110011100100010010100000001100001111000000010100010010001010101100100010010100000110110000110000000001010000000000000000000000000001011001000101101000001100110111111001011001101111110011100100010110100000001100001111000000010100010010001010101100100010110100000101110000110000000001010000000000000000000000000001011001000100011000001100110111111001011001101111110011100100010001100000001100001111000000001100010010001010101100100010001100000101110000110000000001010000000000000000000000000001011001000101011000001100110111111001011001101111110011100100010101100000001100001111000000001100010010001010101100100010101100000111110000110000000001010000000000000000000000000001011001000100111000001100110111111001011001101111110011100100010011100000001100001111000000011100010010001010101100100010011100000111110000110000000001010000000000000000000000000001011001000101111000001100110111111001011001101111110011100100010111100000001100001111000000011100010010001010101100100010111100000100001000110000000001010000000000000000000000000001011001000100000100001100110111111001011001101111110011100100010000010000000010001111000000000100010010001010101100100010000010000100001000110000000001010000000000000000000000000001011001000101000100001100110111111001011001101111110011100100010100010000000010001111000000000100010010001010101100100010100010000110001000110000000001010000000000000000000000000001011001000100100100001100110111111001011001101111110011100100010010010000000010001111000000010100010010001010101100100010010010000110001000110000000001010000000000000000000000000001011001000101100100001100110111111001011001101111110011100100010110010000000010001111000000010100010010001010101100100010110010000101001000110000000001010000000000000000000000000001011001000100010100001100110111111001011001101111110011100100010001010000000010001111000000001100010010001010101100100010001010000101001000110000000001010000000000000000000000000001011001000101010100001100110111111001011001101111110011100100010101010000000010001111000000001100010010001010101100100010101010000111001000110000000001010000000000000000000000000001011001000100110100001100110111111001011001101111110011100100010011010000000010001111000000011100010010001010101100100010011010000111001000110000000001010000000000000000000000000001011001000101110100001100110111111001011001101111110011100100010111010000000010001111000000011100010010001010101100100010111010000100101000110000000001010000000000000000000000000001011001000100001100001100110111111001011001101111110011100100010000110000001010001111000000000100010010001010101100100010000110000100101000110000000001010000000000000000000000000001011001000101001100001100110111111001011001101111110011100100010100110000001010001111000000000100010010001010101100100010100110000110101000110000000001010000000000000000000000000001011001000100101100001100110111111001011001101111110011100100010010110000001010001111000000010100010010001010101100100010010110000110101000110000000001010000000000000000000000000001011001000101101100001100110111111001011001101111110011100100010110110000001010001111000000010100010010001010101100100010110110000101101000110000000001010000000000000000000000000001011001000100011100001100110111111001011001101111110011100100010001110000001010001111000000001100010010001010101100100010001110000101101000110000000001010000000000000000000000000001011001000101011100001100110111111001011001101111110011100100010101110000001010001111000000001100010010001010101100100010101110000111101000110000000001010000000000000000000000000001011001000100111100001100110111111001011001101111110011100100010011110000001010001111000000011100010010001010101100100010011110000111101000110000000001010000000000000000000000000001011001000101111100001100110111111001011001101111110011100100010111110000001010001111000000011100010010001010101100100010111110000100011000110000000001010000000000000000000000000001011001000100000010001100110111111001011001101111110011100100010000001000000110001111000000000100010010001010101100100010000001000100011000110000000001010000000000000000000000000001011001000101000010001100110111111001011001101111110011100100010100001000000110001111000000000100010010001010101100100010100001000110011000110000000001010000000000000000000000000001011001000100100010001100110111111001011001101111110011100100010010001000000110001111000000010100010010001010101100100010010001000110011000110000000001010000000000000000000000000001011001000101100010001100110111111001011001101111110011100100010110001000000110001111000000010100010010001010101100100010110001000101011000110000000001010000000000000000000000000001011001000100010010001100110111111001011001101111110011100100010001001000000110001111000000001100010010001010101100100010001001000101011000110000000001010000000000000000000000000001011001000101010010001100110111111001011001101111110011100100010101001000000110001111000000001100010010001010101100100010101001000111011000110000000001010000000000000000000000000001011001000100110010001100110111111001011001101111110011100100010011001000000110001111000000011100010010001010101100100010011001000111011000110000000001010000000000000000000000000001011001000101110010001100110111111001011001101111110011100100010111001000000110001111000000011100010010001010101100100010111001000100111000110000000001010000000000000000000000000001011001000100001010001100110111111001011001101111110011100100010000101000001110001111000000000100010010001010101100100010000101000100111000110000000001010000000000000000000000000001011001000101001010001100110111111001011001101111110011100100010100101000001110001111000000000100010010001010101100100010100101000110111000110000000001010000000000000000000000000001011001000100101010001100110111111001011001101111110011100100010010101000001110001111000000010100010010001010101100100010010101000110111000110000000001010000000000000000000000000001011001000101101010001100110111111001011001101111110011100100010110101000001110001111000000010100010010001010101100100010110101000101111000110000000001010000000000000000000000000001011001000100011010001100110111111001011001101111110011100100010001101000001110001111000000001100010010001010101100100010001101000101111000110000000001010000000000000000000000000001011001000101011010001100110111111001011001101111110011100100010101101000001110001111000000001100010010001010101100100010101101000111111000110000000001010000000000000000000000000001011001000100111010001100110111111001011001101111110011100100010011101000001110001111000000011100010010001010101100100010011101000111111000110000000001010000000000000000000000000001011001000101111010001100110111111001011001101111110011100100010111101000001110001111000000011100010010001010101100100010111101000100000000001000000001010000000000000000000000000001000000000110000000001011010100000010011001101111110011100100010000011000000000000011000000000100010010001010101100100010000011000100000000001000000001010000000000000000000000000001011001000101000110001100110111111001011001101111110011100100010100011000000000000011000000000101101010000001001100100010100011000110000000001000000001010000000000000000000000000001000000000110000000101101010001011101011001101111110011100100010100011000000000000011000000010101101010000001001100100010100011000110000000001000000001010000000000000000000000000001011001000100100110001100110111111001011001101111110011100100010010011000000000000011000000010110101000101110101100100010010011000101000000001000000001010000000000000000000000000001000000000110000000011101111111110100011001101111110011100100010010011000000000000011000000001110101000101110101100100010010011000101000000001000000001010000000000000000000000000001000101000100000000001100110111111001011001101111110010010100010000000000000000000011000000001110111111111010000010100010000000000111000000001000000001010000000000000000000000000001000000000110000000111100010101000100011001101111110010010100010000000000000000000011000000011110111111111010000010100010000000000111000000001000000001010000000000000000000000000001000101000101000000001100110111111001011001101111110010010100010100000000000000000011000000011110001010100010000010100010100000000100100000001000000001010000000000000000000000000001010000000110000000000010000101000101011001101111110010010100010100000000001000000011000000000110001010100010000010100010100000000100100000001000000001010000000000000000000000000001000101000100100000001100110111111001011001101111110010010100010010000000001000000011000000000001000010100010100010100010010000000110100000001000000001010000000000000000000000000001010000000110000000101001011101101011011001101111110010010100010010000000001000000011000000010001000010100010100010100010010000000110100000001000000001010000000000000000000000000001000101000101100000001100110111111001011001101111110010010100010110000000001000000011000000010100101110110101100010100010110000000101100000001000000001010000000000000000000000000001010000000110000000010100001111011010011001101111110010010100010110000000001000000011000000001100101110110101100010100010110000000101100000001000000001010000000000000000000000000001000101000100010000001100110111111001011001101111110010010100010001000000001000000011000000001010000111101101000010100010001000000111100000001000000001010000000000000000000000000001010000000110000000111111101011000100011001101111110010010100010001000000001000000011000000011010000111101101000010100010001000000111100000001000000001010000000000000000000000000001000101000101010000001100110111111001011001101111110010010100010101000000001000000011000000011111110101100010000010100010101000000100010000001000000001010000000000000000000000000001001000000110000000000001101101001111011001101111110010010100010101000000000100000011000000000111110101100010000010100010101000000100010000001000000001010000000000000000000000000001000101000100110000001100110111111001011001101111110010010100010011000000000100000011000000000000110110100111100010100010011000000110010000001000000001010000000000000000000000000001001000000110000000100000010110101010011001101111110010010100010011000000000100000011000000010000110110100111100010100010011000000110010000001000000001010000000000000000000000000001000101000101110000001100110111111001011001101111110010010100010111000000000100000011000000010000001011010101000010100010111000000101010000001000000001010000000000000000000000000001001000000110000000011110111100111001011001101111110010010100010111000000000100000011000000001000001011010101000010100010111000000101010000001000000001010000000000000000000000000001000101000100001000001100110111111001011001101111110010010100010000100000000100000011000000001111011110011100100010100010000100000111010000001000000001010000000000000000000000000001001000000110000000111011011010010010011001101111110010010100010000100000000100000011000000011111011110011100100010100010000100000111010000001000000001010000000000000000000000000001000101000101001000001100110111111001011001101111110010010100010100100000000100000011000000011101101101001001000010100010100100000100110000001000000001010000000000000000000000000001011000000110000000001101000111000101011001101111110010010100010100100000001100000011000000000101101101001001000010100010100100000100110000001000000001010000000000000000000000000001000101000100101000001100110111111001011001101111110010010100010010100000001100000011000000000110100011100010100010100010010100000110110000001000000001010000000000000000000000000001011000000110000000100110110011110100011001101111110010010100010010100000001100000011000000010110100011100010100010100010010100000110110000001000000001010000000000000000000000000001000101000101101000001100110111111001011001101111110010010100010110100000001100000011000000010011011001111010000010100010110100000101110000001000000001010000000000000000000000000001011000000110000000010001001110010101011001101111110010010100010110100000001100000011000000001011011001111010000010100010110100000101110000001000000001010000000000000000000000000001000101000100011000001100110111111001011001101111110010010100010001100000001100000011000000001000100111001010100010100010001100000111110000001000000001010000000000000000000000000001011000000110000000110010000001011111011001101111110010010100010001100000001100000011000000011000100111001010100010100010001100000111110000001000000001010000000000000000000000000001000101000101011000001100110111111001011001101111110010010100010101100000001100000011000000011001000000101111100010100010101100000100001000001000000001010000000000000000000000000001000100000110000000000000111100000000011001101111110010010100010101100000000010000011000000000001000000101111100010100010101100000100001000001000000001010000000000000000000000000001000101000100111000001100110111111001011001101111110010010100010011100000000010000011000000000000011110000000000010100010011100000110001000001000000001010000000000000000000000000001000100000110000000100111100000111100011001101111110010010100010011100000000010000011000000010000011110000000000010100010011100000110001000001000000001010000000000000000000000000001000101000101111000001100110111111001011001101111110010010100010111100000000010000011000000010011110000011110000010100010111100000101001000001000000001010000000000000000000000000001000100000110000000011110111001111001011001101111110010010100010111100000000010000011000000001011110000011110000010100010111100000101001000001000000001010000000000000000000000000001000101000100000100001100110111111001011001101111110010010100010000010000000010000011000000001111011100111100100010100010000010000111001000001000000001010000000000000000000000000001000100000110000000111011110010100000011001101111110010010100010000010000000010000011000000011111011100111100100010100010000010000111001000001000000001010000000000000000000000000001000101000101000100001100110111111001011001101111110010010100010100010000000010000011000000011101111001010000000010100010100010000100101000001000000001010000000000000000000000000001100101000001000000001100110111111001011001101111110010010100010100010000010010100000100000000101111001010000000010100010100010000100101000001000000001110000000000000000000000000001000101000100100100001100110111111001011001101111110010010100010010010000010010100000100000000011000110010011000010100010010010000110101000001000000001110000000000000000000000000001110101000001000000001100110111111001011001101111110010010100010010010000011010100000100000000011000110010011000010100010010010000110101000001000000001111000100111001101000010001001000101000101100100001100110111111001011001101111110010010100010110010000011010100000100000000110011011111100100010100010110010000101101000001000000001111000100111001101000010001001101101000001000000001100110111111001011001101111110010010100010110010000010110100000100000000110011011111100100010100010110010000101101000001000000001111111111100110011001100110001000101000100010100001100110111111001011001101111110010010100010001010000010110100000100000000110011011111100100010100010001010000111101000001000000001111111111100110011001100110001111101000001000000001100110111111001011001101111110010010100010001010000011110100000100000000110011011111100100010100010001010000111101000001000000001111111111100110011001100110001000101000101010100001100110111111001011001101111110010010100010101010000011110100000100000000110011011111100100010100010101010000100011000001000000001111111111100110011001100110001100011000001000000001100110111111001011001101111110010010100010101010000010001100000100000000110011011111100100010100010101010000100011000001000000001111111111100110011001100110001000101000100110100001100110111111001011001101111110010010100010011010000010001100000100000000110011011111100100010100010011010000110011000001000000001111111111100110011001100110001110011000001000000001100110111111001011001101111110010010100010011010000011001100000100000000110011011111100100010100010011010000110011000001000000001111111111100110011001100110001000101000101110100001100110111111001011001101111110010010100010111010000011001100000100000000110011011111100100010100010111010000101011000001000000001111111111100110011001100110001101011000001000000001100110111111001011001101111110010010100010111010000010101100000100000000110011011111100100010100010111010000101011000001000000001111111111100110011001100110001000101000100001100001100110111111001011001101111110010010100010000110000010101100000100000000110011011111100100010100010000110000111011000001000000001111111111100110011001100110001111011000001000000001100110111111001011001101111110010010100010000110000011101100000100000000110011011111100100010100010000110000111011000001000000001111111111100110011001100110001000101000101001100001100110111111001011001101111110010010100010100110000011101100000100000000110011011111100100010100010100110000100111000001000000001111111111100110011001100110001100111000001000000001100110111111001011001101111110010010100010100110000010011100000100000000110011011111100100010100010100110000100111000001000000001111111111100110011001100110001000101000100101100001100110111111001011001101111110010010100010010110000010011100000100000000110011011111100100010100010010110000110111000001000000001111111111100110011001100110001110111000001000000001100110111111001011001101111110010010100010010110000011011100000100000000110011011111100100010100010010110000110111000001000000001111111111100110011001100110001000101000101101100001100110111111001011001101111110010010100010110110000011011100000100000000110011011111100100010100010110110000101111000001000000001111111111100110011001100110001101111000001000000001100110111111001011001101111110010010100010110110000010111100000100000000110011011111100100010100010110110000101111000001000000001111111111100110011001100110001000101000100011100001100110111111001011001101111110010010100010001110000010111100000100000000110011011111100100010100010001110000111111000001000000001111111111100110011001100110001111111000001000000001100110111111001011001101111110010010100010001110000011111100000100000000110011011111100100010100010001110000111111000001000000001111111111100110011001100110001000101000101011100001100110111111001011001101111110010010100010101110000011111100000100000000110011011111100100010100010101110000100000100001000000001111111111100110011001100110001100000100001000000001100110111111001011001101111110010010100010101110000010000010000100000000110011011111100100010100010101110000100000100001000000001111111111100110011001100110001000101000100111100001100110111111001011001101111110010010100010011110000010000010000100000000110011011111100100010100010011110000110000100001000000001111111111100110011001100110001110000100001000000001100110111111001011001101111110010010100010011110000011000010000100000000110011011111100100010100010011110000110000100001000000001111111111100110011001100110001000101000101111100001100110111111001011001101111110010010100010111110000011000010000100000000110011011111100100010100010111110000101000100001000000001111111111100110011001100110001101000100001000000001100110111111001011001101111110010010100010111110000010100010000100000000110011011111100100010100010111110000101000100001000000001111111111100110011001100110001000101000100000010001100110111111001011001101111110010010100010000001000010100010000100000000110011011111100100010100010000001000111000100001000000001111111111100110011001100110001111000100001000000001100110111111001011001101111110010010100010000001000011100010000100000000110011011111100100010100010000001000111000100001000000001111111111100110011001100110001000101000101000010001100110111111001011001101111110010010100010100001000011100010000100000000110011011111100100010100010100001000100100100001000000001111111111100110011001100110001100100100001000000001100110111111001011001101111110010010100010100001000010010010000100000000110011011111100100010100010100001000100100100001000000001111111111100110011001100110001000101000100100010001100110111111001011001101111110010010100010010001000010010010000100000000110011011111100100010100010010001000110100100001000000001111111111100110011001100110001110100100001000000001100110111111001011001101111110010010100010010001000011010010000100000000110011011111100100010100010010001000110100100001000000001111111111100110011001100110001000101000101100010001100110111111001011001101111110010010100010110001000011010010000100000000110011011111100100010100010110001000101100100001000000001111111111100110011001100110001101100100001000000001100110111111001011001101111110010010100010110001000010110010000100000000110011011111100100010100010110001000101100100001000000001111111111100110011001100110001000101000100010010001100110111111001011001101111110010010100010001001000010110010000100000000110011011111100100010100010001001000111100100001000000001111111111100110011001100110001111100100001000000001100110111111001011001101111110010010100010001001000011110010000100000000110011011111100100010100010001001000111100100001000000001111111111100110011001100110001000101000101010010001100110111111001011001101111110010010100010101001000011110010000100000000110011011111100100010100010101001000100010100001000000001111111111100110011001100110001100010100001000000001100110111111001011001101111110010010100010101001000010001010000100000000110011011111100100010100010101001000100010100001000000001111111111100110011001100110001000101000100110010001100110111111001011001101111110010010100010011001000010001010000100000000110011011111100100010100010011001000110010100001000000001111111111100110011001100110001110010100001000000001100110111111001011001101111110010010100010011001000011001010000100000000110011011111100100010100010011001000110010100001000000001111111111100110011001100110001000101000101110010001100110111111001011001101111110010010100010111001000011001010000100000000110011011111100100010100010111001000101010100001000000001111111111100110011001100110001101010100001000000001100110111111001011001101111110010010100010111001000010101010000100000000110011011111100100010100010111001000101010100001000000001111111111100110011001100110001000101000100001010001100110111111001011001101111110010010100010000101000010101010000100000000110011011111100100010100010000101000111010100001000000001111111111100110011001100110001111010100001000000001100110111111001011001101111110010010100010000101000011101010000100000000110011011111100100010100010000101000111010100001000000001111111111100110011001100110001000101000101001010001100110111111001011001101111110010010100010100101000011101010000100000000110011011111100100010100010100101000100110100001000000001111111111100110011001100110001100110100001000000001100110111111001011001101111110010010100010100101000010011010000100000000110011011111100100010100010100101000100110100001000000001111111111100110011001100110001000101000100101010001100110111111001011001101111110010010100010010101000010011010000100000000110011011111100100010100010010101000110110100001000000001111111111100110011001100110001110110100001000000001100110111111001011001101111110010010100010010101000011011010000100000000110011011111100100010100010010101000110110100001000000001111111111100110011001100110001000101000101101010001100110111111001011001101111110010010100010110101000011011010000100000000110011011111100100010100010110101000101110100001000000001111111111100110011001100110001101110100001000000001100110111111001011001101111110010010100010110101000010111010000100000000110011011111100100010100010110101000101110100001000000001111111111100110011001100110001000101000100011010001100110111111001011001101111110010010100010001101000010111010000100000000110011011111100100010100010001101000111110100001000000001111111111100110011001100110001111110100001000000001100110111111001011001101111110010010100010001101000011111010000100000000110011011111100100010100010001101000111110100001000000001111111111100110011001100110001000101000101011010001100110111111001011001101111110010010100010101101000011111010000100000000110011011111100100010100010101101000100001100001000000001111111111100110011001100110001100001100001000000001100110111111001011001101111110010010100010101101000010000110000100000000110011011111100100010100010101101000100001100001000000001111111111100110011001100110001000101000100111010001100110111111001011001101111110010010100010011101000010000110000100000000110011011111100100010100010011101000110001100001000000001111111111100110011001100110001110001100001000000001100110111111001011001101111110010010100010011101000011000110000100000000110011011111100100010100010011101000110001100001000000001111111111100110011001100110001000101000101111010001100110111111001011001101111110010010100010111101000011000110000100000000110011011111100100010100010111101000101001100001000000001111111111100110011001100110001101001100001000000001100110111111001011001101111110010010100010111101000010100110000100000000110011011111100100010100010111101000101001100001000000001111111111100110011001100110001000101000100000110001100110111111001011001101111110010010100010000011000010100110000100000000110011011111100100010100010000011000111001100001000000001111111111100110011001100110001111001100001000000001100110111111001011001101111110010010100010000011000011100110000100000000110011011111100100010100010000011000111001100001000000001111111111100110011001100110001000101000101000110001100110111111001011001101111110010010100010100011000011100110000100000000110011011111100100010100010100011000100101100001000000001111111111100110011001100110001100101100001000000001100110111111001011001101111110010010100010100011000010010110000100000000110011011111100100010100010100011000100101100001000000001111111111100110011001100110001000101000100100110001100110111111001011001101111110010010100010010011000010010110000100000000110011011111100100010100010010011000110101100001000000001111111111100110011001100110001110101100001000000001100110111111001011001101111110010010100010010011000011010110000100000000110011011111100100010100010010011000110101100001000000001111111111100110011001100110001010101000100000000001100110111111001011001101111110011010100010000000000011010110000100000000110011011111100101010100010000000000101101100001000000001111111111100110011001100110001101101100001000000001100110111111001011001101111110011010100010000000000010110110000100000000110011011111100101010100010000000000101101100001000000001111111111100110011001100110001010101000101000000001100110111111001011001101111110011010100010100000000010110110000100000000110011011111100101010100010100000000111101100001000000001111111111100110011001100110001111101100001000000001100110111111001011001101111110011010100010100000000011110110000100000000110011011111100101010100010100000000111101100001000000001111111111100110011001100110001010101000100100000001100110111111001011001101111110011010100010010000000011110110000100000000110011011111100101010100010010000000100011100001000000001111111111100110011001100110001100011100001000000001100110111111001011001101111110011010100010010000000010001110000100000000110011011111100101010100010010000000100011100001000000001111111111100110011001100110001010101000101100000001100110111111001011001101111110011010100010110000000010001110000100000000110011011111100101010100010110000000110011100001000000001111111111100110011001100110001110011100001000000001100110111111001011001101111110011010100010110000000011001110000100000000110011011111100101010100010110000000110011100001000000001111111111100110011001100110001010101000100010000001100110111111001011001101111110011010100010001000000011001110000100000000110011011111100101010100010001000000101011100001000000001111111111100110011001100110001101011100001000000001100110111111001011001101111110011010100010001000000010101110000100000000110011011111100101010100010001000000101011100001000000001111111111100110011001100110001010101000101010000001100110111111001011001101111110011010100010101000000010101110000100000000110011011111100101010100010101000000111011100001000000001111111111100110011001100110001111011100001000000001100110111111001011001101111110011010100010101000000011101110000100000000110011011111100101010100010101000000111011100001000000001111111111100110011001100110001010101000100110000001100110111111001011001101111110011010100010011000000011101110000100000000110011011111100101010100010011000000100111100001000000001111111111100110011001100110001100111100001000000001100110111111001011001101111110011010100010011000000010011110000100000000110011011111100101010100010011000000100111100001000000001111111111100110011001100110001010101000101110000001100110111111001011001101111110011010100010111000000010011110000100000000110011011111100101010100010111000000110111100001000000001111111111100110011001100110001110111100001000000001100110111111001011001101111110011010100010111000000011011110000100000000110011011111100101010100010111000000110111100001000000001111111111100110011001100110001010101000100001000001100110111111001011001101111110011010100010000100000011011110000100000000110011011111100101010100010000100000101111100001000000001111111111100110011001100110001101111100001000000001100110111111001011001101111110011010100010000100000010111110000100000000110011011111100101010100010000100000101111100001000000001111111111100110011001100110001010101000101001000001100110111111001011001101111110011010100010100100000010111110000100000000110011011111100101010100010100100000111111100001000000001111111111100110011001100110001111111100001000000001100110111111001011001101111110011010100010100100000011111110000100000000110011011111100101010100010100100000111111100001000000001111111111100110011001100110001010101000100101000001100110111111001011001101111110011010100010010100000011111110000100000000110011011111100101010100010010100000100000010001000000001111111111100110011001100110001100000010001000000001100110111111001011001101111110011010100010010100000010000001000100000000110011011111100101010100010010100000100000010001000000001111111111100110011001100110001010101000101101000001100110111111001011001101111110011010100010110100000010000001000100000000110011011111100101010100010110100000110000010001000000001111111111100110011001100110001110000010001000000001100110111111001011001101111110011010100010110100000011000001000100000000110011011111100101010100010110100000110000010001000000001111111111100110011001100110001010101000100011000001100110111111001011001101111110011010100010001100000011000001000100000000110011011111100101010100010001100000101000010001000000001111111111100110011001100110001101000010001000000001100110111111001011001101111110011010100010001100000010100001000100000000110011011111100101010100010001100000101000010001000000001111111111100110011001100110001010101000101011000001100110111111001011001101111110011010100010101100000010100001000100000000110011011111100101010100010101100000111000010001000000001111111111100110011001100110001111000010001000000001100110111111001011001101111110011010100010101100000011100001000100000000110011011111100101010100010101100000111000010001000000001111111111100110011001100110001010101000100111000001100110111111001011001101111110011010100010011100000011100001000100000000110011011111100101010100010011100000100100010001000000001111111111100110011001100110001100100010001000000001100110111111001011001101111110011010100010011100000010010001000100000000110011011111100101010100010011100000100100010001000000001111111111100110011001100110001010101000101111000001100110111111001011001101111110011010100010111100000010010001000100000000110011011111100101010100010111100000110100010001000000001111111111100110011001100110001110100010001000000001100110111111001011001101111110011010100010111100000011010001000100000000110011011111100101010100010111100000110100010001000000001111111111100110011001100110001010101000100000100001100110111111001011001101111110011010100010000010000011010001000100000000110011011111100101010100010000010000101100010001000000001111111111100110011001100110001101100010001000000001100110111111001011001101111110011010100010000010000010110001000100000000110011011111100101010100010000010000101100010001000000001111111111100110011001100110001010101000101000100001100110111111001011001101111110011010100010100010000010110001000100000000110011011111100101010100010100010000111100010001000000001111111111100110011001100110001111100010001000000001100110111111001011001101111110011010100010100010000011110001000100000000110011011111100101010100010100010000111100010001000000001111111111100110011001100110001010101000100100100001100110111111001011001101111110011010100010010010000011110001000100000000110011011111100101010100010010010000100010010001000000001111111111100110011001100110001100010010001000000001100110111111001011001101111110011010100010010010000010001001000100000000110011011111100101010100010010010000100010010001000000001111111111100110011001100110001010101000101100100001100110111111001011001101111110011010100010110010000010001001000100000000110011011111100101010100010110010000110010010001000000001111111111100110011001100110001110010010001000000001100110111111001011001101111110011010100010110010000011001001000100000000110011011111100101010100010110010000110010010001000000001111111111100110011001100110001010101000100010100001100110111111001011001101111110011010100010001010000011001001000100000000110011011111100101010100010001010000101010010001000000001111111111100110011001100110001101010010001000000001100110111111001011001101111110011010100010001010000010101001000100000000110011011111100101010100010001010000101010010001000000001111111111100110011001100110001010101000101010100001100110111111001011001101111110011010100010101010000010101001000100000000110011011111100101010100010101010000111010010001000000001111111111100110011001100110001111010010001000000001100110111111001011001101111110011010100010101010000011101001000100000000110011011111100101010100010101010000111010010001000000001111111111100110011001100110001010101000100110100001100110111111001011001101111110011010100010011010000011101001000100000000110011011111100101010100010011010000100110010001000000001111111111100110011001100110001100110010001000000001100110111111001011001101111110011010100010011010000010011001000100000000110011011111100101010100010011010000100110010001000000001111111111100110011001100110001010101000101110100001100110111111001011001101111110011010100010111010000010011001000100000000110011011111100101010100010111010000110110010001000000001111111111100110011001100110001110110010001000000001100110111111001011001101111110011010100010111010000011011001000100000000110011011111100101010100010111010000110110010001000000001111111111100110011001100110001010101000100001100001100110111111001011001101111110011010100010000110000011011001000100000000110011011111100101010100010000110000101110010001000000001111111111100110011001100110001101110010001000000001100110111111001011001101111110011010100010000110000010111001000100000000110011011111100101010100010000110000101110010001000000001111111111100110011001100110001010101000101001100001100110111111001011001101111110011010100010100110000010111001000100000000110011011111100101010100010100110000111110010001000000001111111111100110011001100110001111110010001000000001100110111111001011001101111110011010100010100110000011111001000100000000110011011111100101010100010100110000111110010001000000001111111111100110011001100110001010101000100101100001100110111111001011001101111110011010100010010110000011111001000100000000110011011111100101010100010010110000100001010001000000001111111111100110011001100110001100001010001000000001100110111111001011001101111110011010100010010110000010000101000100000000110011011111100101010100010010110000100001010001000000001111111111100110011001100110001010101000101101100001100110111111001011001101111110011010100010110110000010000101000100000000110011011111100101010100010110110000110001010001000000001111111111100110011001100110001110001010001000000001100110111111001011001101111110011010100010110110000011000101000100000000110011011111100101010100010110110000110001010001000000001111111111100110011001100110001010101000100011100001100110111111001011001101111110011010100010001110000011000101000100000000110011011111100101010100010001110000101001010001000000001111111111100110011001100110001101001010001000000001100110111111001011001101111110011010100010001110000010100101000100000000110011011111100101010100010001110000101001010001000000001111111111100110011001100110001010101000101011100001100110111111001011001101111110011010100010101110000010100101000100000000110011011111100101010100010101110000111001010001000000001111111111100110011001100110001111001010001000000001100110111111001011001101111110011010100010101110000011100101000100000000110011011111100101010100010101110000111001010001000000001111111111100110011001100110001010101000100111100001100110111111001011001101111110011010100010011110000011100101000100000000110011011111100101010100010011110000100101010001000000001111111111100110011001100110001100101010001000000001100110111111001011001101111110011010100010011110000010010101000100000000110011011111100101010100010011110000100101010001000000001111111111100110011001100110001010101000101111100001100110111111001011001101111110011010100010111110000010010101000100000000110011011111100101010100010111110000110101010001000000001111111111100110011001100110001110101010001000000001100110111111001011001101111110011010100010111110000011010101000100000000110011011111100101010100010111110000110101010001000000001111111111100110011001100110001010101000100000010001100110111111001011001101111110011010100010000001000011010101000100000000110011011111100101010100010000001000101101010001000000001111111111100110011001100110001101101010001000000001100110111111001011001101111110011010100010000001000010110101000100000000110011011111100101010100010000001000101101010001000000001111111111100110011001100110001010101000101000010001100110111111001011001101111110011010100010100001000010110101000100000000110011011111100101010100010100001000111101010001000000001111111111100110011001100110001111101010001000000001100110111111001011001101111110011010100010100001000011110101000100000000110011011111100101010100010100001000111101010001000000001111111111100110011001100110001010101000100100010001100110111111001011001101111110011010100010010001000011110101000100000000110011011111100101010100010010001000100011010001000000001111111111100110011001100110001100011010001000000001100110111111001011001101111110011010100010010001000010001101000100000000110011011111100101010100010010001000100011010001000000001111111111100110011001100110001010101000101100010001100110111111001011001101111110011010100010110001000010001101000100000000110011011111100101010100010110001000110011010001000000001111111111100110011001100110001110011010001000000001100110111111001011001101111110011010100010110001000011001101000100000000110011011111100101010100010110001000110011010001000000001111111111100110011001100110001010101000100010010001100110111111001011001101111110011010100010001001000011001101000100000000110011011111100101010100010001001000101011010001000000001111111111100110011001100110001101011010001000000001100110111111001011001101111110011010100010001001000010101101000100000000110011011111100101010100010001001000101011010001000000001111111111100110011001100110001010101000101010010001100110111111001011001101111110011010100010101001000010101101000100000000110011011111100101010100010101001000111011010001000000001111111111100110011001100110001111011010001000000001100110111111001011001101111110011010100010101001000011101101000100000000110011011111100101010100010101001000111011010001000000001111111111100110011001100110001010101000100110010001100110111111001011001101111110011010100010011001000011101101000100000000110011011111100101010100010011001000100111010001000000001111111111100110011001100110001100111010001000000001100110111111001011001101111110011010100010011001000010011101000100000000110011011111100101010100010011001000100111010001000000001111111111100110011001100110001010101000101110010001100110111111001011001101111110011010100010111001000010011101000100000000110011011111100101010100010111001000110111010001000000001111111111100110011001100110001110111010001000000001100110111111001011001101111110011010100010111001000011011101000100000000110011011111100101010100010111001000110111010001000000001111111111100110011001100110001010101000100001010001100110111111001011001101111110011010100010000101000011011101000100000000110011011111100101010100010000101000101111010001000000001111111111100110011001100110001101111010001000000001100110111111001011001101111110011010100010000101000010111101000100000000110011011111100101010100010000101000101111010001000000001111111111100110011001100110001010101000101001010001100110111111001011001101111110011010100010100101000010111101000100000000110011011111100101010100010100101000111111010001000000001111111111100110011001100110001111111010001000000001100110111111001011001101111110011010100010100101000011111101000100000000110011011111100101010100010100101000111111010001000000001111111111100110011001100110001010101000100101010001100110111111001011001101111110011010100010010101000011111101000100000000110011011111100101010100010010101000100000110001000000001111111111100110011001100110001100000110001000000001100110111111001011001101111110011010100010010101000010000011000100000000110011011111100101010100010010101000100000110001000000001111111111100110011001100110001010101000101101010001100110111111001011001101111110011010100010110101000010000011000100000000110011011111100101010100010110101000110000110001000000001111111111100110011001100110001110000110001000000001100110111111001011001101111110011010100010110101000011000011000100000000110011011111100101010100010110101000110000110001000000001111111111100110011001100110001010101000100011010001100110111111001011001101111110011010100010001101000011000011000100000000110011011111100101010100010001101000101000110001000000001111111111100110011001100110001101000110001000000001100110111111001011001101111110011010100010001101000010100011000100000000110011011111100101010100010001101000101000110001000000001111111111100110011001100110001010101000101011010001100110111111001011001101111110011010100010101101000010100011000100000000110011011111100101010100010101101000111000110001000000001111111111100110011001100110001111000110001000000001100110111111001011001101111110011010100010101101000011100011000100000000110011011111100101010100010101101000111000110001000000001111111111100110011001100110001010101000100111010001100110111111001011001101111110011010100010011101000011100011000100000000110011011111100101010100010011101000100100110001000000001111111111100110011001100110001100100110001000000001100110111111001011001101111110011010100010011101000010010011000100000000110011011111100101010100010011101000100100110001000000001111111111100110011001100110001010101000101111010001100110111111001011001101111110011010100010111101000010010011000100000000110011011111100101010100010111101000110100110001000000001111111111100110011001100110001110100110001000000001100110111111001011001101111110011010100010111101000011010011000100000000110011011111100101010100010111101000110100110001000000001111111111100110011001100110001010101000100000110001100110111111001011001101111110011010100010000011000011010011000100000000110011011111100101010100010000011000101100110001000000001111111111100110011001100110001101100110001000000001100110111111001011001101111110011010100010000011000010110011000100000000110011011111100101010100010000011000101100110001000000001111111111100110011001100110001010101000101000110001100110111111001011001101111110011010100010100011000010110011000100000000110011011111100101010100010100011000111100110001000000001111111111100110011001100110001111100110001000000001100110111111001011001101111110011010100010100011000011110011000100000000110011011111100101010100010100011000111100110001000000001111111111100110011001100110001010101000100100110001100110111111001011001101111110011010100010010011000011110011000100000000110011011111100101010100010010011000100010110001000000001111111111100110011001100110001100010110001000000001100110111111001011001101111110011010100010010011000010001011000100000000110011011111100101010100010010011000100010110001000000001111111111100110011001100110001001101000100000000001100110111111001011001101111110010110100010000000000010001011000100000000110011011111100100110100010000000000110010110001000000001111111111100110011001100110001110010110001000000001100110111111001011001101111110010110100010000000000011001011000100000000110011011111100100110100010000000000110010110001000000001111111111100110011001100110001001101000101000000001100110111111001011001101111110010110100010100000000011001011000100000000110011011111100100110100010100000000101010110001000000001111111111100110011001100110001101010110001000000001100110111111001011001101111110010110100010100000000010101011000100000000110011011111100100110100010100000000101010110001000000001111111111100110011001100110001001101000100100000001100110111111001011001101111110010110100010010000000010101011000100000000110011011111100100110100010010000000111010110001000000001111111111100110011001100110001111010110001000000001100110111111001011001101111110010110100010010000000011101011000100000000110011011111100100110100010010000000111010110001000000001111111111100110011001100110001001101000101100000001100110111111001011001101111110010110100010110000000011101011000100000000110011011111100100110100010110000000100110110001000000001111111111100110011001100110001100110110001000000001100110111111001011001101111110010110100010110000000010011011000100000000110011011111100100110100010110000000100110110001000000001111111111100110011001100110001001101000100010000001100110111111001011001101111110010110100010001000000010011011000100000000110011011111100100110100010001000000110110110001000000001111111111100110011001100110001110110110001000000001100110111111001011001101111110010110100010001000000011011011000100000000110011011111100100110100010001000000110110110001000000001111111111100110011001100110001001101000101010000001100110111111001011001101111110010110100010101000000011011011000100000000110011011111100100110100010101000000101110110001000000001111111111100110011001100110001101110110001000000001100110111111001011001101111110010110100010101000000010111011000100000000110011011111100100110100010101000000101110110001000000001111111111100110011001100110001001101000100110000001100110111111001011001101111110010110100010011000000010111011000100000000110011011111100100110100010011000000111110110001000000001111111111100110011001100110001111110110001000000001100110111111001011001101111110010110100010011000000011111011000100000000110011011111100100110100010011000000111110110001000000001111111111100110011001100110001001101000101110000001100110111111001011001101111110010110100010111000000011111011000100000000110011011111100100110100010111000000100001110001000000001111111111100110011001100110001100001110001000000001100110111111001011001101111110010110100010111000000010000111000100000000110011011111100100110100010111000000100001110001000000001111111111100110011001100110001001101000100001000001100110111111001011001101111110010110100010000100000010000111000100000000110011011111100100110100010000100000110001110001000000001111111111100110011001100110001110001110001000000001100110111111001011001101111110010110100010000100000011000111000100000000110011011111100100110100010000100000110001110001000000001111111111100110011001100110001001101000101001000001100110111111001011001101111110010110100010100100000011000111000100000000110011011111100100110100010100100000101001110001000000001111111111100110011001100110001101001110001000000001100110111111001011001101111110010110100010100100000010100111000100000000110011011111100100110100010100100000101001110001000000001111111111100110011001100110001001101000100101000001100110111111001011001101111110010110100010010100000010100111000100000000110011011111100100110100010010100000111001110001000000001111111111100110011001100110001111001110001000000001100110111111001011001101111110010110100010010100000011100111000100000000110011011111100100110100010010100000111001110001000000001111111111100110011001100110001001101000101101000001100110111111001011001101111110010110100010110100000011100111000100000000110011011111100100110100010110100000100101110001000000001111111111100110011001100110001100101110001000000001100110111111001011001101111110010110100010110100000010010111000100000000110011011111100100110100010110100000100101110001000000001111111111100110011001100110001001101000100011000001100110111111001011001101111110010110100010001100000010010111000100000000110011011111100100110100010001100000110101110001000000001111111111100110011001100110001110101110001000000001100110111111001011001101111110010110100010001100000011010111000100000000110011011111100100110100010001100000110101110001000000001111111111100110011001100110001001101000101011000001100110111111001011001101111110010110100010101100000011010111000100000000110011011111100100110100010101100000101101110001000000001111111111100110011001100110001101101110001000000001100110111111001011001101111110010110100010101100000010110111000100000000110011011111100100110100010101100000101101110001000000001111111111100110011001100110001001101000100111000001100110111111001011001101111110010110100010011100000010110111000100000000110011011111100100110100010011100000111101110001000000001111111111100110011001100110001111101110001000000001100110111111001011001101111110010110100010011100000011110111000100000000110011011111100100110100010011100000111101110001000000001111111111100110011001100110001001101000101111000001100110111111001011001101111110010110100010111100000011110111000100000000110011011111100100110100010111100000100011110001000000001111111111100110011001100110001100011110001000000001100110111111001011001101111110010110100010111100000010001111000100000000110011011111100100110100010111100000100011110001000000001111111111100110011001100110001001101000100000100001100110111111001011001101111110010110100010000010000010001111000100000000110011011111100100110100010000010000110011110001000000001111111111100110011001100110001110011110001000000001100110111111001011001101111110010110100010000010000011001111000100000000110011011111100100110100010000010000110011110001000000001111111111100110011001100110001001101000101000100001100110111111001011001101111110010110100010100010000011001111000100000000110011011111100100110100010100010000101011110001000000001111111111100110011001100110001101011110001000000001100110111111001011001101111110010110100010100010000010101111000100000000110011011111100100110100010100010000101011110001000000001111111111100110011001100110001001101000100100100001100110111111001011001101111110010110100010010010000010101111000100000000110011011111100100110100010010010000111011110001000000001111111111100110011001100110001111011110001000000001100110111111001011001101111110010110100010010010000011101111000100000000110011011111100100110100010010010000111011110001000000001111111111100110011001100110001001101000101100100001100110111111001011001101111110010110100010110010000011101111000100000000110011011111100100110100010110010000100111110001000000001111111111100110011001100110001100111110001000000001100110111111001011001101111110010110100010110010000010011111000100000000110011011111100100110100010110010000100111110001000000001111111111100110011001100110001001101000100010100001100110111111001011001101111110010110100010001010000010011111000100000000110011011111100100110100010001010000110111110001000000001111111111100110011001100110001110111110001000000001100110111111001011001101111110010110100010001010000011011111000100000000110011011111100100110100010001010000110111110001000000001111111111100110011001100110001001101000101010100001100110111111001011001101111110010110100010101010000011011111000100000000110011011111100100110100010101010000101111110001000000001111111111100110011001100110001101111110001000000001100110111111001011001101111110010110100010101010000010111111000100000000110011011111100100110100010101010000101111110001000000001111111111100110011001100110001001101000100110100001100110111111001011001101111110010110100010011010000010111111000100000000110011011111100100110100010011010000111111110001000000001111111111100110011001100110001111111110001000000001100110111111001011001101111110010110100010011010000011111111000100000000110011011111100100110100010011010000111111110001000000001111111111100110011001100110001001101000101110100001100110111111001011001101111110010110100010111010000011111111000100000000110011011111100100110100010111010000100000001001000000001111111111100110011001100110001100000001001000000001100110111111001011001101111110010110100010111010000010000000100100000000110011011111100100110100010111010000100000001001000000001111111111100110011001100110001001101000100001100001100110111111001011001101111110010110100010000110000010000000100100000000110011011111100100110100010000110000110000001001000000001111111111100110011001100110001110000001001000000001100110111111001011001101111110010110100010000110000011000000100100000000110011011111100100110100010000110000110000001001000000001111111111100110011001100110001001101000101001100001100110111111001011001101111110010110100010100110000011000000100100000000110011011111100100110100010100110000101000001001000000001111111111100110011001100110001101000001001000000001100110111111001011001101111110010110100010100110000010100000100100000000110011011111100100110100010100110000101000001001000000001111111111100110011001100110001001101000100101100001100110111111001011001101111110010110100010010110000010100000100100000000110011011111100100110100010010110000111000001001000000001111111111100110011001100110001111000001001000000001100110111111001011001101111110010110100010010110000011100000100100000000110011011111100100110100010010110000111000001001000000001111111111100110011001100110001001101000101101100001100110111111001011001101111110010110100010110110000011100000100100000000110011011111100100110100010110110000100100001001000000001111111111100110011001100110001100100001001000000001100110111111001011001101111110010110100010110110000010010000100100000000110011011111100100110100010110110000100100001001000000001111111111100110011001100110001001101000100011100001100110111111001011001101111110010110100010001110000010010000100100000000110011011111100100110100010001110000110100001001000000001111111111100110011001100110001110100001001000000001100110111111001011001101111110010110100010001110000011010000100100000000110011011111100100110100010001110000110100001001000000001111111111100110011001100110001001101000101011100001100110111111001011001101111110010110100010101110000011010000100100000000110011011111100100110100010101110000101100001001000000001111111111100110011001100110001101100001001000000001100110111111001011001101111110010110100010101110000010110000100100000000110011011111100100110100010101110000101100001001000000001111111111100110011001100110001001101000100111100001100110111111001011001101111110010110100010011110000010110000100100000000110011011111100100110100010011110000111100001001000000001111111111100110011001100110001111100001001000000001100110111111001011001101111110010110100010011110000011110000100100000000110011011111100100110100010011110000111100001001000000001111111111100110011001100110001001101000101111100001100110111111001011001101111110010110100010111110000011110000100100000000110011011111100100110100010111110000100010001001000000001111111111100110011001100110001100010001001000000001100110111111001011001101111110010110100010111110000010001000100100000000110011011111100100110100010111110000100010001001000000001111111111100110011001100110001001101000100000010001100110111111001011001101111110010110100010000001000010001000100100000000110011011111100100110100010000001000110010001001000000001111111111100110011001100110001110010001001000000001100110111111001011001101111110010110100010000001000011001000100100000000110011011111100100110100010000001000110010001001000000001111111111100110011001100110001001101000101000010001100110111111001011001101111110010110100010100001000011001000100100000000110011011111100100110100010100001000101010001001000000001111111111100110011001100110001101010001001000000001100110111111001011001101111110010110100010100001000010101000100100000000110011011111100100110100010100001000101010001001000000001111111111100110011001100110001001101000100100010001100110111111001011001101111110010110100010010001000010101000100100000000110011011111100100110100010010001000111010001001000000001111111111100110011001100110001111010001001000000001100110111111001011001101111110010110100010010001000011101000100100000000110011011111100100110100010010001000111010001001000000001111111111100110011001100110001001101000101100010001100110111111001011001101111110010110100010110001000011101000100100000000110011011111100100110100010110001000100110001001000000001111111111100110011001100110001100110001001000000001100110111111001011001101111110010110100010110001000010011000100100000000110011011111100100110100010110001000100110001001000000001111111111100110011001100110001001101000100010010001100110111111001011001101111110010110100010001001000010011000100100000000110011011111100100110100010001001000110110001001000000001111111111100110011001100110001110110001001000000001100110111111001011001101111110010110100010001001000011011000100100000000110011011111100100110100010001001000110110001001000000001111111111100110011001100110001001101000101010010001100110111111001011001101111110010110100010101001000011011000100100000000110011011111100100110100010101001000101110001001000000001111111111100110011001100110001101110001001000000001100110111111001011001101111110010110100010101001000010111000100100000000110011011111100100110100010101001000101110001001000000001111111111100110011001100110001001101000100110010001100110111111001011001101111110010110100010011001000010111000100100000000110011011111100100110100010011001000111110001001000000001111111111100110011001100110001111110001001000000001100110111111001011001101111110010110100010011001000011111000100100000000110011011111100100110100010011001000111110001001000000001111111111100110011001100110001001101000101110010001100110111111001011001101111110010110100010111001000011111000100100000000110011011111100100110100010111001000100001001001000000001111111111100110011001100110001100001001001000000001100110111111001011001101111110010110100010111001000010000100100100000000110011011111100100110100010111001000100001001001000000001111111111100110011001100110001001101000100001010001100110111111001011001101111110010110100010000101000010000100100100000000110011011111100100110100010000101000110001001001000000001111111111100110011001100110001110001001001000000001100110111111001011001101111110010110100010000101000011000100100100000000110011011111100100110100010000101000110001001001000000001111111111100110011001100110001001101000101001010001100110111111001011001101111110010110100010100101000011000100100100000000110011011111100100110100010100101000101001001001000000001111111111100110011001100110001101001001001000000001100110111111001011001101111110010110100010100101000010100100100100000000110011011111100100110100010100101000101001001001000000001111111111100110011001100110001001101000100101010001100110111111001011001101111110010110100010010101000010100100100100000000110011011111100100110100010010101000111001001001000000001111111111100110011001100110001111001001001000000001100110111111001011001101111110010110100010010101000011100100100100000000110011011111100100110100010010101000111001001001000000001111111111100110011001100110001001101000101101010001100110111111001011001101111110010110100010110101000011100100100100000000110011011111100100110100010110101000100101001001000000001111111111100110011001100110001100101001001000000001100110111111001011001101111110010110100010110101000010010100100100000000110011011111100100110100010110101000100101001001000000001111111111100110011001100110001001101000100011010001100110111111001011001101111110010110100010001101000010010100100100000000110011011111100100110100010001101000110101001001000000001111111111100110011001100110001110101001001000000001100110111111001011001101111110010110100010001101000011010100100100000000110011011111100100110100010001101000110101001001000000001111111111100110011001100110001001101000101011010001100110111111001011001101111110010110100010101101000011010100100100000000110011011111100100110100010101101000101101001001000000001111111111100110011001100110001101101001001000000001100110111111001011001101111110010110100010101101000010110100100100000000110011011111100100110100010101101000101101001001000000001111111111100110011001100110001001101000100111010001100110111111001011001101111110010110100010011101000010110100100100000000110011011111100100110100010011101000111101001001000000001111111111100110011001100110001111101001001000000001100110111111001011001101111110010110100010011101000011110100100100000000110011011111100100110100010011101000111101001001000000001111111111100110011001100110001001101000101111010001100110111111001011001101111110010110100010111101000011110100100100000000110011011111100100110100010111101000100011001001000000001111111111100110011001100110001100011001001000000001100110111111001011001101111110010110100010111101000010001100100100000000110011011111100100110100010111101000100011001001000000001111111111100110011001100110001001101000100000110001100110111111001011001101111110010110100010000011000010001100100100000000110011011111100100110100010000011000110011001001000000001111111111100110011001100110001110011001001000000001100110111111001011001101111110010110100010000011000011001100100100000000110011011111100100110100010000011000110011001001000000001111111111100110011001100110001001101000101000110001100110111111001011001101111110010110100010100011000011001100100100000000110011011111100100110100010100011000101011001001000000001111111111100110011001100110001101011001001000000001100110111111001011001101111110010110100010100011000010101100100100000000110011011111100100110100010100011000101011001001000000001111111111100110011001100110001001101000100100110001100110111111001011001101111110010110100010010011000010101100100100000000110011011111100100110100010010011000111011001001000000001111111111100110011001100110001111011001001000000001100110111111001011001101111110010110100010010011000011101100100100000000110011011111100100110100010010011000111011001001000000001111111111100110011001100110001011101000100000000001100110111111001011001101111110011110100010000000000011101100100100000000110011011111100101110100010000000000100111001001000000001111111111100110011001100110001100111001001000000001100110111111001011001101111110011110100010000000000010011100100100000000110011011111100101110100010000000000100111001001000000001111111111100110011001100110001011101000101000000001100110111111001011001101111110011110100010100000000010011100100100000000110011011111100101110100010100000000110111001001000000001111111111100110011001100110001110111001001000000001100110111111001011001101111110011110100010100000000011011100100100000000110011011111100101110100010100000000110111001001000000001111111111100110011001100110001011101000100100000001100110111111001011001101111110011110100010010000000011011100100100000000110011011111100101110100010010000000101111001001000000001111111111100110011001100110001101111001001000000001100110111111001011001101111110011110100010010000000010111100100100000000110011011111100101110100010010000000101111001001000000001111111111100110011001100110001011101000101100000001100110111111001011001101111110011110100010110000000010111100100100000000110011011111100101110100010110000000111111001001000000001111111111100110011001100110001111111001001000000001100110111111001011001101111110011110100010110000000011111100100100000000110011011111100101110100010110000000111111001001000000001111111111100110011001100110001011101000100010000001100110111111001011001101111110011110100010001000000011111100100100000000110011011111100101110100010001000000100000101001000000001111111111100110011001100110001100000101001000000001100110111111001011001101111110011110100010001000000010000010100100000000110011011111100101110100010001000000100000101001000000001111111111100110011001100110001011101000101010000001100110111111001011001101111110011110100010101000000010000010100100000000110011011111100101110100010101000000110000101001000000001111111111100110011001100110001110000101001000000001100110111111001011001101111110011110100010101000000011000010100100000000110011011111100101110100010101000000110000101001000000001111111111100110011001100110001011101000100110000001100110111111001011001101111110011110100010011000000011000010100100000000110011011111100101110100010011000000101000101001000000001111111111100110011001100110001101000101001000000001100110111111001011001101111110011110100010011000000010100010100100000000110011011111100101110100010011000000101000101001000000001111111111100110011001100110001011101000101110000001100110111111001011001101111110011110100010111000000010100010100100000000110011011111100101110100010111000000111000101001000000001111111111100110011001100110001111000101001000000001100110111111001011001101111110011110100010111000000011100010100100000000110011011111100101110100010111000000111000101001000000001111111111100110011001100110001011101000100001000001100110111111001011001101111110011110100010000100000011100010100100000000110011011111100101110100010000100000100100101001000000001111111111100110011001100110001100100101001000000001100110111111001011001101111110011110100010000100000010010010100100000000110011011111100101110100010000100000100100101001000000001111111111100110011001100110001011101000101001000001100110111111001011001101111110011110100010100100000010010010100100000000110011011111100101110100010100100000110100101001000000001111111111100110011001100110001110100101001000000001100110111111001011001101111110011110100010100100000011010010100100000000110011011111100101110100010100100000110100101001000000001111111111100110011001100110001011101000100101000001100110111111001011001101111110011110100010010100000011010010100100000000110011011111100101110100010010100000101100101001000000001111111111100110011001100110001101100101001000000001100110111111001011001101111110011110100010010100000010110010100100000000110011011111100101110100010010100000101100101001000000001111111111100110011001100110001011101000101101000001100110111111001011001101111110011110100010110100000010110010100100000000110011011111100101110100010110100000111100101001000000001111111111100110011001100110001111100101001000000001100110111111001011001101111110011110100010110100000011110010100100000000110011011111100101110100010110100000111100101001000000001111111111100110011001100110001011101000100011000001100110111111001011001101111110011110100010001100000011110010100100000000110011011111100101110100010001100000100010101001000000001111111111100110011001100110001100010101001000000001100110111111001011001101111110011110100010001100000010001010100100000000110011011111100101110100010001100000100010101001000000001111111111100110011001100110001011101000101011000001100110111111001011001101111110011110100010101100000010001010100100000000110011011111100101110100010101100000110010101001000000001111111111100110011001100110001110010101001000000001100110111111001011001101111110011110100010101100000011001010100100000000110011011111100101110100010101100000110010101001000000001111111111100110011001100110001011101000100111000001100110111111001011001101111110011110100010011100000011001010100100000000110011011111100101110100010011100000101010101001000000001111111111100110011001100110001101010101001000000001100110111111001011001101111110011110100010011100000010101010100100000000110011011111100101110100010011100000101010101001000000001111111111100110011001100110001011101000101111000001100110111111001011001101111110011110100010111100000010101010100100000000110011011111100101110100010111100000111010101001000000001111111111100110011001100110001111010101001000000001100110111111001011001101111110011110100010111100000011101010100100000000110011011111100101110100010111100000111010101001000000001111111111100110011001100110001011101000100000100001100110111111001011001101111110011110100010000010000011101010100100000000110011011111100101110100010000010000100110101001000000001111111111100110011001100110001100110101001000000001100110111111001011001101111110011110100010000010000010011010100100000000110011011111100101110100010000010000100110101001000000001111111111100110011001100110001011101000101000100001100110111111001011001101111110011110100010100010000010011010100100000000110011011111100101110100010100010000110110101001000000001111111111100110011001100110001110110101001000000001100110111111001011001101111110011110100010100010000011011010100100000000110011011111100101110100010100010000110110101001000000001111111111100110011001100110001011101000100100100001100110111111001011001101111110011110100010010010000011011010100100000000110011011111100101110100010010010000101110101001000000001111111111100110011001100110001101110101001000000001100110111111001011001101111110011110100010010010000010111010100100000000110011011111100101110100010010010000101110101001000000001111111111100110011001100110001011101000101100100001100110111111001011001101111110011110100010110010000010111010100100000000110011011111100101110100010110010000111110101001000000001111111111100110011001100110001111110101001000000001100110111111001011001101111110011110100010110010000011111010100100000000110011011111100101110100010110010000111110101001000000001111111111100110011001100110001011101000100010100001100110111111001011001101111110011110100010001010000011111010100100000000110011011111100101110100010001010000100001101001000000001111111111100110011001100110001100001101001000000001100110111111001011001101111110011110100010001010000010000110100100000000110011011111100101110100010001010000100001101001000000001111111111100110011001100110001011101000101010100001100110111111001011001101111110011110100010101010000010000110100100000000110011011111100101110100010101010000110001101001000000001111111111100110011001100110001110001101001000000001100110111111001011001101111110011110100010101010000011000110100100000000110011011111100101110100010101010000110001101001000000001111111111100110011001100110001011101000100110100001100110111111001011001101111110011110100010011010000011000110100100000000110011011111100101110100010011010000101001101001000000001111111111100110011001100110001101001101001000000001100110111111001011001101111110011110100010011010000010100110100100000000110011011111100101110100010011010000101001101001000000001111111111100110011001100110001011101000101110100001100110111111001011001101111110011110100010111010000010100110100100000000110011011111100101110100010111010000111001101001000000001111111111100110011001100110001111001101001000000001100110111111001011001101111110011110100010111010000011100110100100000000110011011111100101110100010111010000111001101001000000001111111111100110011001100110001011101000100001100001100110111111001011001101111110011110100010000110000011100110100100000000110011011111100101110100010000110000100101101001000000001111111111100110011001100110001100101101001000000001100110111111001011001101111110011110100010000110000010010110100100000000110011011111100101110100010000110000100101101001000000001111111111100110011001100110001011101000101001100001100110111111001011001101111110011110100010100110000010010110100100000000110011011111100101110100010100110000110101101001000000001111111111100110011001100110001110101101001000000001100110111111001011001101111110011110100010100110000011010110100100000000110011011111100101110100010100110000110101101001000000001111111111100110011001100110001011101000100101100001100110111111001011001101111110011110100010010110000011010110100100000000110011011111100101110100010010110000101101101001000000001111111111100110011001100110001101101101001000000001100110111111001011001101111110011110100010010110000010110110100100000000110011011111100101110100010010110000101101101001000000001111111111100110011001100110001011101000101101100001100110111111001011001101111110011110100010110110000010110110100100000000110011011111100101110100010110110000111101101001000000001111111111100110011001100110001111101101001000000001100110111111001011001101111110011110100010110110000011110110100100000000110011011111100101110100010110110000111101101001000000001111111111100110011001100110001011101000100011100001100110111111001011001101111110011110100010001110000011110110100100000000110011011111100101110100010001110000100011101001000000001111111111100110011001100110001100011101001000000001100110111111001011001101111110011110100010001110000010001110100100000000110011011111100101110100010001110000100011101001000000001111111111100110011001100110001011101000101011100001100110111111001011001101111110011110100010101110000010001110100100000000110011011111100101110100010101110000110011101001000000001111111111100110011001100110001110011101001000000001100110111111001011001101111110011110100010101110000011001110100100000000110011011111100101110100010101110000110011101001000000001111111111100110011001100110001011101000100111100001100110111111001011001101111110011110100010011110000011001110100100000000110011011111100101110100010011110000101011101001000000001111111111100110011001100110001101011101001000000001100110111111001011001101111110011110100010011110000010101110100100000000110011011111100101110100010011110000101011101001000000001111111111100110011001100110001011101000101111100001100110111111001011001101111110011110100010111110000010101110100100000000110011011111100101110100010111110000111011101001000000001111111111100110011001100110001111011101001000000001100110111111001011001101111110011110100010111110000011101110100100000000110011011111100101110100010111110000111011101001000000001111111111100110011001100110001011101000100000010001100110111111001011001101111110011110100010000001000011101110100100000000110011011111100101110100010000001000100111101001000000001111111111100110011001100110001100111101001000000001100110111111001011001101111110011110100010000001000010011110100100000000110011011111100101110100010000001000100111101001000000001111111111100110011001100110001011101000101000010001100110111111001011001101111110011110100010100001000010011110100100000000110011011111100101110100010100001000110111101001000000001111111111100110011001100110001110111101001000000001100110111111001011001101111110011110100010100001000011011110100100000000110011011111100101110100010100001000110111101001000000001111111111100110011001100110001011101000100100010001100110111111001011001101111110011110100010010001000011011110100100000000110011011111100101110100010010001000101111101001000000001111111111100110011001100110001101111101001000000001100110111111001011001101111110011110100010010001000010111110100100000000110011011111100101110100010010001000101111101001000000001111111111100110011001100110001011101000101100010001100110111111001011001101111110011110100010110001000010111110100100000000110011011111100101110100010110001000111111101001000000001111111111100110011001100110001111111101001000000001100110111111001011001101111110011110100010110001000011111110100100000000110011011111100101110100010110001000111111101001000000001111111111100110011001100110001011101000100010010001100110111111001011001101111110011110100010001001000011111110100100000000110011011111100101110100010001001000100000011001000000001111111111100110011001100110001100000011001000000001100110111111001011001101111110011110100010001001000010000001100100000000110011011111100101110100010001001000100000011001000000001111111111100110011001100110001011101000101010010001100110111111001011001101111110011110100010101001000010000001100100000000110011011111100101110100010101001000110000011001000000001111111111100110011001100110001110000011001000000001100110111111001011001101111110011110100010101001000011000001100100000000110011011111100101110100010101001000110000011001000000001111111111100110011001100110001011101000100110010001100110111111001011001101111110011110100010011001000011000001100100000000110011011111100101110100010011001000101000011001000000001111111111100110011001100110001101000011001000000001100110111111001011001101111110011110100010011001000010100001100100000000110011011111100101110100010011001000101000011001000000001111111111100110011001100110001011101000101110010001100110111111001011001101111110011110100010111001000010100001100100000000110011011111100101110100010111001000111000011001000000001111111111100110011001100110001111000011001000000001100110111111001011001101111110011110100010111001000011100001100100000000110011011111100101110100010111001000111000011001000000001111111111100110011001100110001011101000100001010001100110111111001011001101111110011110100010000101000011100001100100000000110011011111100101110100010000101000100100011001000000001111111111100110011001100110001100100011001000000001100110111111001011001101111110011110100010000101000010010001100100000000110011011111100101110100010000101000100100011001000000001111111111100110011001100110001011101000101001010001100110111111001011001101111110011110100010100101000010010001100100000000110011011111100101110100010100101000110100011001000000001111111111100110011001100110001110100011001000000001100110111111001011001101111110011110100010100101000011010001100100000000110011011111100101110100010100101000110100011001000000001111111111100110011001100110001011101000100101010001100110111111001011001101111110011110100010010101000011010001100100000000110011011111100101110100010010101000101100011001000000001111111111100110011001100110001101100011001000000001100110111111001011001101111110011110100010010101000010110001100100000000110011011111100101110100010010101000101100011001000000001111111111100110011001100110001011101000101101010001100110111111001011001101111110011110100010110101000010110001100100000000110011011111100101110100010110101000111100011001000000001111111111100110011001100110001111100011001000000001100110111111001011001101111110011110100010110101000011110001100100000000110011011111100101110100010110101000111100011001000000001111111111100110011001100110001011101000100011010001100110111111001011001101111110011110100010001101000011110001100100000000110011011111100101110100010001101000100010011001000000001111111111100110011001100110001100010011001000000001100110111111001011001101111110011110100010001101000010001001100100000000110011011111100101110100010001101000100010011001000000001111111111100110011001100110001011101000101011010001100110111111001011001101111110011110100010101101000010001001100100000000110011011111100101110100010101101000110010011001000000001111111111100110011001100110001110010011001000000001100110111111001011001101111110011110100010101101000011001001100100000000110011011111100101110100010101101000110010011001000000001111111111100110011001100110001011101000100111010001100110111111001011001101111110011110100010011101000011001001100100000000110011011111100101110100010011101000101010011001000000001111111111100110011001100110001101010011001000000001100110111111001011001101111110011110100010011101000010101001100100000000110011011111100101110100010011101000101010011001000000001111111111100110011001100110001011101000101111010001100110111111001011001101111110011110100010111101000010101001100100000000110011011111100101110100010111101000111010011001000000001111111111100110011001100110001111010011001000000001100110111111001011001101111110011110100010111101000011101001100100000000110011011111100101110100010111101000111010011001000000001111111111100110011001100110001011101000100000110001100110111111001011001101111110011110100010000011000011101001100100000000110011011111100101110100010000011000100110011001000000001111111111100110011001100110001100110011001000000001100110111111001011001101111110011110100010000011000010011001100100000000110011011111100101110100010000011000100110011001000000001111111111100110011001100110001011101000101000110001100110111111001011001101111110011110100010100011000010011001100100000000110011011111100101110100010100011000110110011001000000001111111111100110011001100110001110110011001000000001100110111111001011001101111110011110100010100011000011011001100100000000110011011111100101110100010100011000110110011001000000001111111111100110011001100110001011101000100100110001100110111111001011001101111110011110100010010011000011011001100100000000110011011111100101110100010010011000101110011001000000001111111111100110011001100110001101110011001000000001100110111111001011001101111110011110100010010011000010111001100100000000110011011111100101110100010010011000101110011001000000001111111111100110011001100110001000011000100000000001100110111111001011001101111110010001100010000000000010111001100100000000110011011111100100001100010000000000111110011001000000001111111111100110011001100110001111110011001000000001100110111111001011001101111110010001100010000000000011111001100100000000110011011111100100001100010000000000111110011001000000001111111111100110011001100110001000011000101000000001100110111111001011001101111110010001100010100000000011111001100100000000110011011111100100001100010100000000100001011001000000001111111111100110011001100110001100001011001000000001100110111111001011001101111110010001100010100000000010000101100100000000110011011111100100001100010100000000100001011001000000001111111111100110011001100110001000011000100100000001100110111111001011001101111110010001100010010000000010000101100100000000110011011111100100001100010010000000110001011001000000001111111111100110011001100110001110001011001000000001100110111111001011001101111110010001100010010000000011000101100100000000110011011111100100001100010010000000110001011001000000001111111111100110011001100110001000011000101100000001100110111111001011001101111110010001100010110000000011000101100100000000110011011111100100001100010110000000101001011001000000001111111111100110011001100110001101001011001000000001100110111111001011001101111110010001100010110000000010100101100100000000110011011111100100001100010110000000101001011001000000001111111111100110011001100110001000011000100010000001100110111111001011001101111110010001100010001000000010100101100100000000110011011111100100001100010001000000111001011001000000001111111111100110011001100110001111001011001000000001100110111111001011001101111110010001100010001000000011100101100100000000110011011111100100001100010001000000111001011001000000001111111111100110011001100110001000011000101010000001100110111111001011001101111110010001100010101000000011100101100100000000110011011111100100001100010101000000100101011001000000001111111111100110011001100110001100101011001000000001100110111111001011001101111110010001100010101000000010010101100100000000110011011111100100001100010101000000100101011001000000001111111111100110011001100110001000011000100110000001100110111111001011001101111110010001100010011000000010010101100100000000110011011111100100001100010011000000110101011001000000001111111111100110011001100110001110101011001000000001100110111111001011001101111110010001100010011000000011010101100100000000110011011111100100001100010011000000110101011001000000001111111111100110011001100110001000011000101110000001100110111111001011001101111110010001100010111000000011010101100100000000110011011111100100001100010111000000101101011001000000001111111111100110011001100110001101101011001000000001100110111111001011001101111110010001100010111000000010110101100100000000110011011111100100001100010111000000101101011001000000001111111111100110011001100110001000011000100001000001100110111111001011001101111110010001100010000100000010110101100100000000110011011111100100001100010000100000111101011001000000001111111111100110011001100110001111101011001000000001100110111111001011001101111110010001100010000100000011110101100100000000110011011111100100001100010000100000111101011001000000001111111111100110011001100110001000011000101001000001100110111111001011001101111110010001100010100100000011110101100100000000110011011111100100001100010100100000100011011001000000001111111111100110011001100110001100011011001000000001100110111111001011001101111110010001100010100100000010001101100100000000110011011111100100001100010100100000100011011001000000001111111111100110011001100110001000011000100101000001100110111111001011001101111110010001100010010100000010001101100100000000110011011111100100001100010010100000110011011001000000001111111111100110011001100110001110011011001000000001100110111111001011001101111110010001100010010100000011001101100100000000110011011111100100001100010010100000110011011001000000001111111111100110011001100110001000011000101101000001100110111111001011001101111110010001100010110100000011001101100100000000110011011111100100001100010110100000101011011001000000001111111111100110011001100110001101011011001000000001100110111111001011001101111110010001100010110100000010101101100100000000110011011111100100001100010110100000101011011001000000001111111111100110011001100110001000011000100011000001100110111111001011001101111110010001100010001100000010101101100100000000110011011111100100001100010001100000111011011001000000001111111111100110011001100110001111011011001000000001100110111111001011001101111110010001100010001100000011101101100100000000110011011111100100001100010001100000111011011001000000001111111111100110011001100110001000011000101011000001100110111111001011001101111110010001100010101100000011101101100100000000110011011111100100001100010101100000100111011001000000001111111111100110011001100110001100111011001000000001100110111111001011001101111110010001100010101100000010011101100100000000110011011111100100001100010101100000100111011001000000001111111111100110011001100110001000011000100111000001100110111111001011001101111110010001100010011100000010011101100100000000110011011111100100001100010011100000110111011001000000001111111111100110011001100110001110111011001000000001100110111111001011001101111110010001100010011100000011011101100100000000110011011111100100001100010011100000110111011001000000001111111111100110011001100110001000011000101111000001100110111111001011001101111110010001100010111100000011011101100100000000110011011111100100001100010111100000101111011001000000001111111111100110011001100110001101111011001000000001100110111111001011001101111110010001100010111100000010111101100100000000110011011111100100001100010111100000101111011001000000001111111111100110011001100110001000011000100000100001100110111111001011001101111110010001100010000010000010111101100100000000110011011111100100001100010000010000111111011001000000001111111111100110011001100110001111111011001000000001100110111111001011001101111110010001100010000010000011111101100100000000110011011111100100001100010000010000111111011001000000001111111111100110011001100110001000011000101000100001100110111111001011001101111110010001100010100010000011111101100100000000110011011111100100001100010100010000100000111001000000001111111111100110011001100110001100000111001000000001100110111111001011001101111110010001100010100010000010000011100100000000110011011111100100001100010100010000100000111001000000001111111111100110011001100110001000011000100100100001100110111111001011001101111110010001100010010010000010000011100100000000110011011111100100001100010010010000110000111001000000001111111111100110011001100110001110000111001000000001100110111111001011001101111110010001100010010010000011000011100100000000110011011111100100001100010010010000110000111001000000001111111111100110011001100110001000011000101100100001100110111111001011001101111110010001100010110010000011000011100100000000110011011111100100001100010110010000101000111001000000001111111111100110011001100110001101000111001000000001100110111111001011001101111110010001100010110010000010100011100100000000110011011111100100001100010110010000101000111001000000001111111111100110011001100110001000011000100010100001100110111111001011001101111110010001100010001010000010100011100100000000110011011111100100001100010001010000111000111001000000001111111111100110011001100110001111000111001000000001100110111111001011001101111110010001100010001010000011100011100100000000110011011111100100001100010001010000111000111001000000001111111111100110011001100110001000011000101010100001100110111111001011001101111110010001100010101010000011100011100100000000110011011111100100001100010101010000100100111001000000001111111111100110011001100110001100100111001000000001100110111111001011001101111110010001100010101010000010010011100100000000110011011111100100001100010101010000100100111001000000001111111111100110011001100110001000011000100110100001100110111111001011001101111110010001100010011010000010010011100100000000110011011111100100001100010011010000110100111001000000001111111111100110011001100110001110100111001000000001100110111111001011001101111110010001100010011010000011010011100100000000110011011111100100001100010011010000110100111001000000001111111111100110011001100110001000011000101110100001100110111111001011001101111110010001100010111010000011010011100100000000110011011111100100001100010111010000101100111001000000001111111111100110011001100110001101100111001000000001100110111111001011001101111110010001100010111010000010110011100100000000110011011111100100001100010111010000101100111001000000001111111111100110011001100110001000011000100001100001100110111111001011001101111110010001100010000110000010110011100100000000110011011111100100001100010000110000111100111001000000001111111111100110011001100110001111100111001000000001100110111111001011001101111110010001100010000110000011110011100100000000110011011111100100001100010000110000111100111001000000001111111111100110011001100110001000011000101001100001100110111111001011001101111110010001100010100110000011110011100100000000110011011111100100001100010100110000100010111001000000001111111111100110011001100110001100010111001000000001100110111111001011001101111110010001100010100110000010001011100100000000110011011111100100001100010100110000100010111001000000001111111111100110011001100110001000011000100101100001100110111111001011001101111110010001100010010110000010001011100100000000110011011111100100001100010010110000110010111001000000001111111111100110011001100110001110010111001000000001100110111111001011001101111110010001100010010110000011001011100100000000110011011111100100001100010010110000110010111001000000001111111111100110011001100110001000011000101101100001100110111111001011001101111110010001100010110110000011001011100100000000110011011111100100001100010110110000101010111001000000001111111111100110011001100110001101010111001000000001100110111111001011001101111110010001100010110110000010101011100100000000110011011111100100001100010110110000101010111001000000001111111111100110011001100110001000011000100011100001100110111111001011001101111110010001100010001110000010101011100100000000110011011111100100001100010001110000111010111001000000001111111111100110011001100110001111010111001000000001100110111111001011001101111110010001100010001110000011101011100100000000110011011111100100001100010001110000111010111001000000001111111111100110011001100110001000011000101011100001100110111111001011001101111110010001100010101110000011101011100100000000110011011111100100001100010101110000100110111001000000001111111111100110011001100110001100110111001000000001100110111111001011001101111110010001100010101110000010011011100100000000110011011111100100001100010101110000100110111001000000001111111111100110011001100110001000011000100111100001100110111111001011001101111110010001100010011110000010011011100100000000110011011111100100001100010011110000110110111001000000001111111111100110011001100110001110110111001000000001100110111111001011001101111110010001100010011110000011011011100100000000110011011111100100001100010011110000110110111001000000001111111111100110011001100110001000011000101111100001100110111111001011001101111110010001100010111110000011011011100100000000110011011111100100001100010111110000101110111001000000001111111111100110011001100110001101110111001000000001100110111111001011001101111110010001100010111110000010111011100100000000110011011111100100001100010111110000101110111001000000001111111111100110011001100110001000011000100000010001100110111111001011001101111110010001100010000001000010111011100100000000110011011111100100001100010000001000111110111001000000001111111111100110011001100110001111110111001000000001100110111111001011001101111110010001100010000001000011111011100100000000110011011111100100001100010000001000111110111001000000001111111111100110011001100110001000011000101000010001100110111111001011001101111110010001100010100001000011111011100100000000110011011111100100001100010100001000100001111001000000001111111111100110011001100110001100001111001000000001100110111111001011001101111110010001100010100001000010000111100100000000110011011111100100001100010100001000100001111001000000001111111111100110011001100110001000011000100100010001100110111111001011001101111110010001100010010001000010000111100100000000110011011111100100001100010010001000110001111001000000001111111111100110011001100110001110001111001000000001100110111111001011001101111110010001100010010001000011000111100100000000110011011111100100001100010010001000110001111001000000001111111111100110011001100110001000011000101100010001100110111111001011001101111110010001100010110001000011000111100100000000110011011111100100001100010110001000101001111001000000001111111111100110011001100110001101001111001000000001100110111111001011001101111110010001100010110001000010100111100100000000110011011111100100001100010110001000101001111001000000001111111111100110011001100110001000011000100010010001100110111111001011001101111110010001100010001001000010100111100100000000110011011111100100001100010001001000111001111001000000001111111111100110011001100110001111001111001000000001100110111111001011001101111110010001100010001001000011100111100100000000110011011111100100001100010001001000111001111001000000001111111111100110011001100110001000011000101010010001100110111111001011001101111110010001100010101001000011100111100100000000110011011111100100001100010101001000100101111001000000001111111111100110011001100110001100101111001000000001100110111111001011001101111110010001100010101001000010010111100100000000110011011111100100001100010101001000100101111001000000001111111111100110011001100110001000011000100110010001100110111111001011001101111110010001100010011001000010010111100100000000110011011111100100001100010011001000110101111001000000001111111111100110011001100110001110101111001000000001100110111111001011001101111110010001100010011001000011010111100100000000110011011111100100001100010011001000110101111001000000001111111111100110011001100110001000011000101110010001100110111111001011001101111110010001100010111001000011010111100100000000110011011111100100001100010111001000101101111001000000001111111111100110011001100110001101101111001000000001100110111111001011001101111110010001100010111001000010110111100100000000110011011111100100001100010111001000101101111001000000001111111111100110011001100110001000011000100001010001100110111111001011001101111110010001100010000101000010110111100100000000110011011111100100001100010000101000111101111001000000001111111111100110011001100110001111101111001000000001100110111111001011001101111110010001100010000101000011110111100100000000110011011111100100001100010000101000111101111001000000001111111111100110011001100110001000011000101001010001100110111111001011001101111110010001100010100101000011110111100100000000110011011111100100001100010100101000100011111001000000001111111111100110011001100110001100011111001000000001100110111111001011001101111110010001100010100101000010001111100100000000110011011111100100001100010100101000100011111001000000001111111111100110011001100110001000011000100101010001100110111111001011001101111110010001100010010101000010001111100100000000110011011111100100001100010010101000110011111001000000001111111111100110011001100110001110011111001000000001100110111111001011001101111110010001100010010101000011001111100100000000110011011111100100001100010010101000110011111001000000001111111111100110011001100110001000011000101101010001100110111111001011001101111110010001100010110101000011001111100100000000110011011111100100001100010110101000101011111001000000001111111111100110011001100110001101011111001000000001100110111111001011001101111110010001100010110101000010101111100100000000110011011111100100001100010110101000101011111001000000001111111111100110011001100110001000011000100011010001100110111111001011001101111110010001100010001101000010101111100100000000110011011111100100001100010001101000111011111001000000001111111111100110011001100110001111011111001000000001100110111111001011001101111110010001100010001101000011101111100100000000110011011111100100001100010001101000111011111001000000001111111111100110011001100110001000011000101011010001100110111111001011001101111110010001100010101101000011101111100100000000110011011111100100001100010101101000100111111001000000001111111111100110011001100110001100111111001000000001100110111111001011001101111110010001100010101101000010011111100100000000110011011111100100001100010101101000100111111001000000001111111111100110011001100110001000011000100111010001100110111111001011001101111110010001100010011101000010011111100100000000110011011111100100001100010011101000110111111001000000001111111111100110011001100110001110111111001000000001100110111111001011001101111110010001100010011101000011011111100100000000110011011111100100001100010011101000110111111001000000001111111111100110011001100110001000011000101111010001100110111111001011001101111110010001100010111101000011011111100100000000110011011111100100001100010111101000101111111001000000001111111111100110011001100110001101111111001000000001100110111111001011001101111110010001100010111101000010111111100100000000110011011111100100001100010111101000101111111001000000001111111111100110011001100110001000011000100000110001100110111111001011001101111110010001100010000011000010111111100100000000110011011111100100001100010000011000111111111001000000001111111111100110011001100110001111111111001000000001100110111111001011001101111110010001100010000011000011111111100100000000110011011111100100001100010000011000111111111001000000001111111111100110011001100110001000011000101000110001100110111111001011001101111110010001100010100011000011111111100100000000110011011111100100001100010100011000100000000101000000001111111111100110011001100110001100000000101000000001100110111111001011001101111110010001100010100011000010000000010100000000110011011111100100001100010100011000100000000101000000001111111111100110011001100110001000011000100100110001100110111111001011001101111110010001100010010011000010000000010100000000110011011111100100001100010010011000110000000101000000001111111111100110011001100110001110000000101000000001100110111111001011001101111110010001100010010011000011000000010100000000110011011111100100001100010010011000110000000101000000001111111111100110011001100110001010011000100000000001100110111111001011001101111110011001100010000000000011000000010100000000110011011111100101001100010000000000101000000101000000001111111111100110011001100110001101000000101000000001100110111111001011001101111110011001100010000000000010100000010100000000110011011111100101001100010000000000101000000101000000001111111111100110011001100110001010011000101000000001100110111111001011001101111110011001100010100000000010100000010100000000110011011111100101001100010100000000111000000101000000001111111111100110011001100110001111000000101000000001100110111111001011001101111110011001100010100000000011100000010100000000110011011111100101001100010100000000111000000101000000001111111111100110011001100110001010011000100100000001100110111111001011001101111110011001100010010000000011100000010100000000110011011111100101001100010010000000100100000101000000001111111111100110011001100110001100100000101000000001100110111111001011001101111110011001100010010000000010010000010100000000110011011111100101001100010010000000100100000101000000001111111111100110011001100110001010011000101100000001100110111111001011001101111110011001100010110000000010010000010100000000110011011111100101001100010110000000110100000101000000001111111111100110011001100110001110100000101000000001100110111111001011001101111110011001100010110000000011010000010100000000110011011111100101001100010110000000110100000101000000001111111111100110011001100110001010011000100010000001100110111111001011001101111110011001100010001000000011010000010100000000110011011111100101001100010001000000101100000101000000001111111111100110011001100110001101100000101000000001100110111111001011001101111110011001100010001000000010110000010100000000110011011111100101001100010001000000101100000101000000001111111111100110011001100110001010011000101010000001100110111111001011001101111110011001100010101000000010110000010100000000110011011111100101001100010101000000111100000101000000001111111111100110011001100110001111100000101000000001100110111111001011001101111110011001100010101000000011110000010100000000110011011111100101001100010101000000111100000101000000001111111111100110011001100110001010011000100110000001100110111111001011001101111110011001100010011000000011110000010100000000110011011111100101001100010011000000100010000101000000001111111111100110011001100110001100010000101000000001100110111111001011001101111110011001100010011000000010001000010100000000110011011111100101001100010011000000100010000101000000001111111111100110011001100110001010011000101110000001100110111111001011001101111110011001100010111000000010001000010100000000110011011111100101001100010111000000110010000101000000001111111111100110011001100110001110010000101000000001100110111111001011001101111110011001100010111000000011001000010100000000110011011111100101001100010111000000110010000101000000001111111111100110011001100110001010011000100001000001100110111111001011001101111110011001100010000100000011001000010100000000110011011111100101001100010000100000101010000101000000001111111111100110011001100110001101010000101000000001100110111111001011001101111110011001100010000100000010101000010100000000110011011111100101001100010000100000101010000101000000001111111111100110011001100110001010011000101001000001100110111111001011001101111110011001100010100100000010101000010100000000110011011111100101001100010100100000111010000101000000001111111111100110011001100110001111010000101000000001100110111111001011001101111110011001100010100100000011101000010100000000110011011111100101001100010100100000111010000101000000001111111111100110011001100110001010011000100101000001100110111111001011001101111110011001100010010100000011101000010100000000110011011111100101001100010010100000100110000101000000001111111111100110011001100110001100110000101000000001100110111111001011001101111110011001100010010100000010011000010100000000110011011111100101001100010010100000100110000101000000001111111111100110011001100110001010011000101101000001100110111111001011001101111110011001100010110100000010011000010100000000110011011111100101001100010110100000110110000101000000001111111111100110011001100110001110110000101000000001100110111111001011001101111110011001100010110100000011011000010100000000110011011111100101001100010110100000110110000101000000001111111111100110011001100110001010011000100011000001100110111111001011001101111110011001100010001100000011011000010100000000110011011111100101001100010001100000101110000101000000001111111111100110011001100110001101110000101000000001100110111111001011001101111110011001100010001100000010111000010100000000110011011111100101001100010001100000101110000101000000001111111111100110011001100110001010011000101011000001100110111111001011001101111110011001100010101100000010111000010100000000110011011111100101001100010101100000111110000101000000001111111111100110011001100110001111110000101000000001100110111111001011001101111110011001100010101100000011111000010100000000110011011111100101001100010101100000111110000101000000001111111111100110011001100110001010011000100111000001100110111111001011001101111110011001100010011100000011111000010100000000110011011111100101001100010011100000100001000101000000001111111111100110011001100110001100001000101000000001100110111111001011001101111110011001100010011100000010000100010100000000110011011111100101001100010011100000100001000101000000001111111111100110011001100110001010011000101111000001100110111111001011001101111110011001100010111100000010000100010100000000110011011111100101001100010111100000110001000101000000001111111111100110011001100110001110001000101000000001100110111111001011001101111110011001100010111100000011000100010100000000110011011111100101001100010111100000110001000101000000001111111111100110011001100110001010011000100000100001100110111111001011001101111110011001100010000010000011000100010100000000110011011111100101001100010000010000101001000101000000001111111111100110011001100110001101001000101000000001100110111111001011001101111110011001100010000010000010100100010100000000110011011111100101001100010000010000101001000101000000001111111111100110011001100110001010011000101000100001100110111111001011001101111110011001100010100010000010100100010100000000110011011111100101001100010100010000111001000101000000001111111111100110011001100110001111001000101000000001100110111111001011001101111110011001100010100010000011100100010100000000110011011111100101001100010100010000111001000101000000001111111111100110011001100110001010011000100100100001100110111111001011001101111110011001100010010010000011100100010100000000110011011111100101001100010010010000100101000101000000001111111111100110011001100110001100101000101000000001100110111111001011001101111110011001100010010010000010010100010100000000110011011111100101001100010010010000100101000101000000001111111111100110011001100110001010011000101100100001100110111111001011001101111110011001100010110010000010010100010100000000110011011111100101001100010110010000110101000101000000001111111111100110011001100110001110101000101000000001100110111111001011001101111110011001100010110010000011010100010100000000110011011111100101001100010110010000110101000101000000001111111111100110011001100110001010011000100010100001100110111111001011001101111110011001100010001010000011010100010100000000110011011111100101001100010001010000101101000101000000001111111111100110011001100110001101101000101000000001100110111111001011001101111110011001100010001010000010110100010100000000110011011111100101001100010001010000101101000101000000001111111111100110011001100110001010011000101010100001100110111111001011001101111110011001100010101010000010110100010100000000110011011111100101001100010101010000111101000101000000001111111111100110011001100110001111101000101000000001100110111111001011001101111110011001100010101010000011110100010100000000110011011111100101001100010101010000111101000101000000001111111111100110011001100110001010011000100110100001100110111111001011001101111110011001100010011010000011110100010100000000110011011111100101001100010011010000100011000101000000001111111111100110011001100110001100011000101000000001100110111111001011001101111110011001100010011010000010001100010100000000110011011111100101001100010011010000100011000101000000001111111111100110011001100110001010011000101110100001100110111111001011001101111110011001100010111010000010001100010100000000110011011111100101001100010111010000110011000101000000001111111111100110011001100110001110011000101000000001100110111111001011001101111110011001100010111010000011001100010100000000110011011111100101001100010111010000110011000101000000001111111111100110011001100110001010011000100001100001100110111111001011001101111110011001100010000110000011001100010100000000110011011111100101001100010000110000101011000101000000001111111111100110011001100110001101011000101000000001100110111111001011001101111110011001100010000110000010101100010100000000110011011111100101001100010000110000101011000101000000001111111111100110011001100110001010011000101001100001100110111111001011001101111110011001100010100110000010101100010100000000110011011111100101001100010100110000111011000101000000001111111111100110011001100110001111011000101000000001100110111111001011001101111110011001100010100110000011101100010100000000110011011111100101001100010100110000111011000101000000001111111111100110011001100110001010011000100101100001100110111111001011001101111110011001100010010110000011101100010100000000110011011111100101001100010010110000100111000101000000001111111111100110011001100110001100111000101000000001100110111111001011001101111110011001100010010110000010011100010100000000110011011111100101001100010010110000100111000101000000001111111111100110011001100110001010011000101101100001100110111111001011001101111110011001100010110110000010011100010100000000110011011111100101001100010110110000110111000101000000001111111111100110011001100110001110111000101000000001100110111111001011001101111110011001100010110110000011011100010100000000110011011111100101001100010110110000110111000101000000001111111111100110011001100110001010011000100011100001100110111111001011001101111110011001100010001110000011011100010100000000110011011111100101001100010001110000101111000101000000001111111111100110011001100110001101111000101000000001100110111111001011001101111110011001100010001110000010111100010100000000110011011111100101001100010001110000101111000101000000001111111111100110011001100110001010011000101011100001100110111111001011001101111110011001100010101110000010111100010100000000110011011111100101001100010101110000111111000101000000001111111111100110011001100110001111111000101000000001100110111111001011001101111110011001100010101110000011111100010100000000110011011111100101001100010101110000111111000101000000001111111111100110011001100110001010011000100111100001100110111111001011001101111110011001100010011110000011111100010100000000110011011111100101001100010011110000100000100101000000001111111111100110011001100110001100000100101000000001100110111111001011001101111110011001100010011110000010000010010100000000110011011111100101001100010011110000100000100101000000001111111111100110011001100110001010011000101111100001100110111111001011001101111110011001100010111110000010000010010100000000110011011111100101001100010111110000110000100101000000001111111111100110011001100110001110000100101000000001100110111111001011001101111110011001100010111110000011000010010100000000110011011111100101001100010111110000110000100101000000001111111111100110011001100110001010011000100000010001100110111111001011001101111110011001100010000001000011000010010100000000110011011111100101001100010000001000101000100101000000001111111111100110011001100110001101000100101000000001100110111111001011001101111110011001100010000001000010100010010100000000110011011111100101001100010000001000101000100101000000001111111111100110011001100110001010011000101000010001100110111111001011001101111110011001100010100001000010100010010100000000110011011111100101001100010100001000111000100101000000001111111111100110011001100110001111000100101000000001100110111111001011001101111110011001100010100001000011100010010100000000110011011111100101001100010100001000111000100101000000001111111111100110011001100110001010011000100100010001100110111111001011001101111110011001100010010001000011100010010100000000110011011111100101001100010010001000100100100101000000001111111111100110011001100110001100100100101000000001100110111111001011001101111110011001100010010001000010010010010100000000110011011111100101001100010010001000100100100101000000001111111111100110011001100110001010011000101100010001100110111111001011001101111110011001100010110001000010010010010100000000110011011111100101001100010110001000110100100101000000001111111111100110011001100110001110100100101000000001100110111111001011001101111110011001100010110001000011010010010100000000110011011111100101001100010110001000110100100101000000001111111111100110011001100110001010011000100010010001100110111111001011001101111110011001100010001001000011010010010100000000110011011111100101001100010001001000101100100101000000001111111111100110011001100110001101100100101000000001100110111111001011001101111110011001100010001001000010110010010100000000110011011111100101001100010001001000101100100101000000001111111111100110011001100110001010011000101010010001100110111111001011001101111110011001100010101001000010110010010100000000110011011111100101001100010101001000111100100101000000001111111111100110011001100110001111100100101000000001100110111111001011001101111110011001100010101001000011110010010100000000110011011111100101001100010101001000111100100101000000001111111111100110011001100110001010011000100110010001100110111111001011001101111110011001100010011001000011110010010100000000110011011111100101001100010011001000100010100101000000001111111111100110011001100110001100010100101000000001100110111111001011001101111110011001100010011001000010001010010100000000110011011111100101001100010011001000100010100101000000001111111111100110011001100110001010011000101110010001100110111111001011001101111110011001100010111001000010001010010100000000110011011111100101001100010111001000110010100101000000001111111111100110011001100110001110010100101000000001100110111111001011001101111110011001100010111001000011001010010100000000110011011111100101001100010111001000110010100101000000001111111111100110011001100110001010011000100001010001100110111111001011001101111110011001100010000101000011001010010100000000110011011111100101001100010000101000101010100101000000001111111111100110011001100110001101010100101000000001100110111111001011001101111110011001100010000101000010101010010100000000110011011111100101001100010000101000101010100101000000001111111111100110011001100110001010011000101001010001100110111111001011001101111110011001100010100101000010101010010100000000110011011111100101001100010100101000111010100101000000001111111111100110011001100110001111010100101000000001100110111111001011001101111110011001100010100101000011101010010100000000110011011111100101001100010100101000111010100101000000001111111111100110011001100110001010011000100101010001100110111111001011001101111110011001100010010101000011101010010100000000110011011111100101001100010010101000100110100101000000001111111111100110011001100110001100110100101000000001100110111111001011001101111110011001100010010101000010011010010100000000110011011111100101001100010010101000100110100101000000001111111111100110011001100110001010011000101101010001100110111111001011001101111110011001100010110101000010011010010100000000110011011111100101001100010110101000110110100101000000001111111111100110011001100110001110110100101000000001100110111111001011001101111110011001100010110101000011011010010100000000110011011111100101001100010110101000110110100101000000001111111111100110011001100110001010011000100011010001100110111111001011001101111110011001100010001101000011011010010100000000110011011111100101001100010001101000101110100101000000001111111111100110011001100110001101110100101000000001100110111111001011001101111110011001100010001101000010111010010100000000110011011111100101001100010001101000101110100101000000001111111111100110011001100110001010011000101011010001100110111111001011001101111110011001100010101101000010111010010100000000110011011111100101001100010101101000111110100101000000001111111111100110011001100110001111110100101000000001100110111111001011001101111110011001100010101101000011111010010100000000110011011111100101001100010101101000111110100101000000001111111111100110011001100110001010011000100111010001100110111111001011001101111110011001100010011101000011111010010100000000110011011111100101001100010011101000100001100101000000001111111111100110011001100110001100001100101000000001100110111111001011001101111110011001100010011101000010000110010100000000110011011111100101001100010011101000100001100101000000001111111111100110011001100110001010011000101111010001100110111111001011001101111110011001100010111101000010000110010100000000110011011111100101001100010111101000110001100101000000001111111111100110011001100110001110001100101000000001100110111111001011001101111110011001100010111101000011000110010100000000110011011111100101001100010111101000110001100101000000001111111111100110011001100110001010011000100000110001100110111111001011001101111110011001100010000011000011000110010100000000110011011111100101001100010000011000101001100101000000001111111111100110011001100110001101001100101000000001100110111111001011001101111110011001100010000011000010100110010100000000110011011111100101001100010000011000101001100101000000001111111111100110011001100110001010011000101000110001100110111111001011001101111110011001100010100011000010100110010100000000110011011111100101001100010100011000111001100101000000001111111111100110011001100110001111001100101000000001100110111111001011001101111110011001100010100011000011100110010100000000110011011111100101001100010100011000111001100101000000001111111111100110011001100110001010011000100100110001100110111111001011001101111110011001100010010011000011100110010100000000110011011111100101001100010010011000100101100101000000001111111111100110011001100110001100101100101000000001100110111111001011001101111110011001100010010011000010010110010100000000110011011111100101001100010010011000100101100101000000001111111111100110011001100110001001011000100000000001100110111111001011001101111110010101100010000000000010010110010100000000110011011111100100101100010000000000110101100101000000001111111111100110011001100110001110101100101000000001100110111111001011001101111110010101100010000000000011010110010100000000110011011111100100101100010000000000110101100101000000001111111111100110011001100110001001011000101000000001100110111111001011001101111110010101100010100000000011010110010100000000110011011111100100101100010100000000101101100101000000001111111111100110011001100110001101101100101000000001100110111111001011001101111110010101100010100000000010110110010100000000110011011111100100101100010100000000101101100101000000001111111111100110011001100110001001011000100100000001100110111111001011001101111110010101100010010000000010110110010100000000110011011111100100101100010010000000111101100101000000001111111111100110011001100110001111101100101000000001100110111111001011001101111110010101100010010000000011110110010100000000110011011111100100101100010010000000111101100101000000001111111111100110011001100110001001011000101100000001100110111111001011001101111110010101100010110000000011110110010100000000110011011111100100101100010110000000100011100101000000001111111111100110011001100110001100011100101000000001100110111111001011001101111110010101100010110000000010001110010100000000110011011111100100101100010110000000100011100101000000001111111111100110011001100110001001011000100010000001100110111111001011001101111110010101100010001000000010001110010100000000110011011111100100101100010001000000110011100101000000001111111111100110011001100110001110011100101000000001100110111111001011001101111110010101100010001000000011001110010100000000110011011111100100101100010001000000110011100101000000001111111111100110011001100110001001011000101010000001100110111111001011001101111110010101100010101000000011001110010100000000110011011111100100101100010101000000101011100101000000001111111111100110011001100110001101011100101000000001100110111111001011001101111110010101100010101000000010101110010100000000110011011111100100101100010101000000101011100101000000001111111111100110011001100110001001011000100110000001100110111111001011001101111110010101100010011000000010101110010100000000110011011111100100101100010011000000111011100101000000001111111111100110011001100110001111011100101000000001100110111111001011001101111110010101100010011000000011101110010100000000110011011111100100101100010011000000111011100101000000001111111111100110011001100110001001011000101110000001100110111111001011001101111110010101100010111000000011101110010100000000110011011111100100101100010111000000100111100101000000001111111111100110011001100110001100111100101000000001100110111111001011001101111110010101100010111000000010011110010100000000110011011111100100101100010111000000100111100101000000001111111111100110011001100110001001011000100001000001100110111111001011001101111110010101100010000100000010011110010100000000110011011111100100101100010000100000110111100101000000001111111111100110011001100110001110111100101000000001100110111111001011001101111110010101100010000100000011011110010100000000110011011111100100101100010000100000110111100101000000001111111111100110011001100110001001011000101001000001100110111111001011001101111110010101100010100100000011011110010100000000110011011111100100101100010100100000101111100101000000001111111111100110011001100110001101111100101000000001100110111111001011001101111110010101100010100100000010111110010100000000110011011111100100101100010100100000101111100101000000001111111111100110011001100110001001011000100101000001100110111111001011001101111110010101100010010100000010111110010100000000110011011111100100101100010010100000111111100101000000001111111111100110011001100110001111111100101000000001100110111111001011001101111110010101100010010100000011111110010100000000110011011111100100101100010010100000111111100101000000001111111111100110011001100110001001011000101101000001100110111111001011001101111110010101100010110100000011111110010100000000110011011111100100101100010110100000100000010101000000001111111111100110011001100110001100000010101000000001100110111111001011001101111110010101100010110100000010000001010100000000110011011111100100101100010110100000100000010101000000001111111111100110011001100110001001011000100011000001100110111111001011001101111110010101100010001100000010000001010100000000110011011111100100101100010001100000110000010101000000001111111111100110011001100110001110000010101000000001100110111111001011001101111110010101100010001100000011000001010100000000110011011111100100101100010001100000110000010101000000001111111111100110011001100110001001011000101011000001100110111111001011001101111110010101100010101100000011000001010100000000110011011111100100101100010101100000101000010101000000001111111111100110011001100110001101000010101000000001100110111111001011001101111110010101100010101100000010100001010100000000110011011111100100101100010101100000101000010101000000001111111111100110011001100110001001011000100111000001100110111111001011001101111110010101100010011100000010100001010100000000110011011111100100101100010011100000111000010101000000001111111111100110011001100110001111000010101000000001100110111111001011001101111110010101100010011100000011100001010100000000110011011111100100101100010011100000111000010101000000001111111111100110011001100110001001011000101111000001100110111111001011001101111110010101100010111100000011100001010100000000110011011111100100101100010111100000100100010101000000001111111111100110011001100110001100100010101000000001100110111111001011001101111110010101100010111100000010010001010100000000110011011111100100101100010111100000100100010101000000001111111111100110011001100110001001011000100000100001100110111111001011001101111110010101100010000010000010010001010100000000110011011111100100101100010000010000110100010101000000001111111111100110011001100110001110100010101000000001100110111111001011001101111110010101100010000010000011010001010100000000110011011111100100101100010000010000110100010101000000001111111111100110011001100110001001011000101000100001100110111111001011001101111110010101100010100010000011010001010100000000110011011111100100101100010100010000101100010101000000001111111111100110011001100110001101100010101000000001100110111111001011001101111110010101100010100010000010110001010100000000110011011111100100101100010100010000101100010101000000001111111111100110011001100110001001011000100100100001100110111111001011001101111110010101100010010010000010110001010100000000110011011111100100101100010010010000111100010101000000001111111111100110011001100110001111100010101000000001100110111111001011001101111110010101100010010010000011110001010100000000110011011111100100101100010010010000111100010101000000001111111111100110011001100110001001011000101100100001100110111111001011001101111110010101100010110010000011110001010100000000110011011111100100101100010110010000100010010101000000001111111111100110011001100110001100010010101000000001100110111111001011001101111110010101100010110010000010001001010100000000110011011111100100101100010110010000100010010101000000001111111111100110011001100110001001011000100010100001100110111111001011001101111110010101100010001010000010001001010100000000110011011111100100101100010001010000110010010101000000001111111111100110011001100110001110010010101000000001100110111111001011001101111110010101100010001010000011001001010100000000110011011111100100101100010001010000110010010101000000001111111111100110011001100110001001011000101010100001100110111111001011001101111110010101100010101010000011001001010100000000110011011111100100101100010101010000101010010101000000001111111111100110011001100110001101010010101000000001100110111111001011001101111110010101100010101010000010101001010100000000110011011111100100101100010101010000101010010101000000001111111111100110011001100110001001011000100110100001100110111111001011001101111110010101100010011010000010101001010100000000110011011111100100101100010011010000111010010101000000001111111111100110011001100110001111010010101000000001100110111111001011001101111110010101100010011010000011101001010100000000110011011111100100101100010011010000111010010101000000001111111111100110011001100110001001011000101110100001100110111111001011001101111110010101100010111010000011101001010100000000110011011111100100101100010111010000100110010101000000001111111111100110011001100110001100110010101000000001100110111111001011001101111110010101100010111010000010011001010100000000110011011111100100101100010111010000100110010101000000001111111111100110011001100110001001011000100001100001100110111111001011001101111110010101100010000110000010011001010100000000110011011111100100101100010000110000110110010101000000001111111111100110011001100110001110110010101000000001100110111111001011001101111110010101100010000110000011011001010100000000110011011111100100101100010000110000110110010101000000001111111111100110011001100110001001011000101001100001100110111111001011001101111110010101100010100110000011011001010100000000110011011111100100101100010100110000101110010101000000001111111111100110011001100110001101110010101000000001100110111111001011001101111110010101100010100110000010111001010100000000110011011111100100101100010100110000101110010101000000001111111111100110011001100110001001011000100101100001100110111111001011001101111110010101100010010110000010111001010100000000110011011111100100101100010010110000111110010101000000001111111111100110011001100110001111110010101000000001100110111111001011001101111110010101100010010110000011111001010100000000110011011111100100101100010010110000111110010101000000001111111111100110011001100110001001011000101101100001100110111111001011001101111110010101100010110110000011111001010100000000110011011111100100101100010110110000100001010101000000001111111111100110011001100110001100001010101000000001100110111111001011001101111110010101100010110110000010000101010100000000110011011111100100101100010110110000100001010101000000001111111111100110011001100110001001011000100011100001100110111111001011001101111110010101100010001110000010000101010100000000110011011111100100101100010001110000110001010101000000001111111111100110011001100110001110001010101000000001100110111111001011001101111110010101100010001110000011000101010100000000110011011111100100101100010001110000110001010101000000001111111111100110011001100110001001011000101011100001100110111111001011001101111110010101100010101110000011000101010100000000110011011111100100101100010101110000101001010101000000001111111111100110011001100110001101001010101000000001100110111111001011001101111110010101100010101110000010100101010100000000110011011111100100101100010101110000101001010101000000001111111111100110011001100110001001011000100111100001100110111111001011001101111110010101100010011110000010100101010100000000110011011111100100101100010011110000111001010101000000001111111111100110011001100110001111001010101000000001100110111111001011001101111110010101100010011110000011100101010100000000110011011111100100101100010011110000111001010101000000001111111111100110011001100110001001011000101111100001100110111111001011001101111110010101100010111110000011100101010100000000110011011111100100101100010111110000100101010101000000001111111111100110011001100110001100101010101000000001100110111111001011001101111110010101100010111110000010010101010100000000110011011111100100101100010111110000100101010101000000001111111111100110011001100110001001011000100000010001100110111111001011001101111110010101100010000001000010010101010100000000110011011111100100101100010000001000110101010101000000001111111111100110011001100110001110101010101000000001100110111111001011001101111110010101100010000001000011010101010100000000110011011111100100101100010000001000110101010101000000001111111111100110011001100110001001011000101000010001100110111111001011001101111110010101100010100001000011010101010100000000110011011111100100101100010100001000101101010101000000001111111111100110011001100110001101101010101000000001100110111111001011001101111110010101100010100001000010110101010100000000110011011111100100101100010100001000101101010101000000001111111111100110011001100110001001011000100100010001100110111111001011001101111110010101100010010001000010110101010100000000110011011111100100101100010010001000111101010101000000001111111111100110011001100110001111101010101000000001100110111111001011001101111110010101100010010001000011110101010100000000110011011111100100101100010010001000111101010101000000001111111111100110011001100110001001011000101100010001100110111111001011001101111110010101100010110001000011110101010100000000110011011111100100101100010110001000100011010101000000001111111111100110011001100110001100011010101000000001100110111111001011001101111110010101100010110001000010001101010100000000110011011111100100101100010110001000100011010101000000001111111111100110011001100110001001011000100010010001100110111111001011001101111110010101100010001001000010001101010100000000110011011111100100101100010001001000110011010101000000001111111111100110011001100110001110011010101000000001100110111111001011001101111110010101100010001001000011001101010100000000110011011111100100101100010001001000110011010101000000001111111111100110011001100110001001011000101010010001100110111111001011001101111110010101100010101001000011001101010100000000110011011111100100101100010101001000101011010101000000001111111111100110011001100110001101011010101000000001100110111111001011001101111110010101100010101001000010101101010100000000110011011111100100101100010101001000101011010101000000001111111111100110011001100110001001011000100110010001100110111111001011001101111110010101100010011001000010101101010100000000110011011111100100101100010011001000111011010101000000001111111111100110011001100110001111011010101000000001100110111111001011001101111110010101100010011001000011101101010100000000110011011111100100101100010011001000111011010101000000001111111111100110011001100110001001011000101110010001100110111111001011001101111110010101100010111001000011101101010100000000110011011111100100101100010111001000100111010101000000001111111111100110011001100110001100111010101000000001100110111111001011001101111110010101100010111001000010011101010100000000110011011111100100101100010111001000100111010101000000001111111111100110011001100110001001011000100001010001100110111111001011001101111110010101100010000101000010011101010100000000110011011111100100101100010000101000110111010101000000001111111111100110011001100110001110111010101000000001100110111111001011001101111110010101100010000101000011011101010100000000110011011111100100101100010000101000110111010101000000001111111111100110011001100110001001011000101001010001100110111111001011001101111110010101100010100101000011011101010100000000110011011111100100101100010100101000101111010101000000001111111111100110011001100110001101111010101000000001100110111111001011001101111110010101100010100101000010111101010100000000110011011111100100101100010100101000101111010101000000001111111111100110011001100110001001011000100101010001100110111111001011001101111110010101100010010101000010111101010100000000110011011111100100101100010010101000111111010101000000001111111111100110011001100110001111111010101000000001100110111111001011001101111110010101100010010101000011111101010100000000110011011111100100101100010010101000111111010101000000001111111111100110011001100110001001011000101101010001100110111111001011001101111110010101100010110101000011111101010100000000110011011111100100101100010110101000100000110101000000001111111111100110011001100110001100000110101000000001100110111111001011001101111110010101100010110101000010000011010100000000110011011111100100101100010110101000100000110101000000001111111111100110011001100110001001011000100011010001100110111111001011001101111110010101100010001101000010000011010100000000110011011111100100101100010001101000110000110101000000001111111111100110011001100110001110000110101000000001100110111111001011001101111110010101100010001101000011000011010100000000110011011111100100101100010001101000110000110101000000001111111111100110011001100110001001011000101011010001100110111111001011001101111110010101100010101101000011000011010100000000110011011111100100101100010101101000101000110101000000001111111111100110011001100110001101000110101000000001100110111111001011001101111110010101100010101101000010100011010100000000110011011111100100101100010101101000101000110101000000001111111111100110011001100110001001011000100111010001100110111111001011001101111110010101100010011101000010100011010100000000110011011111100100101100010011101000111000110101000000001111111111100110011001100110001111000110101000000001100110111111001011001101111110010101100010011101000011100011010100000000110011011111100100101100010011101000111000110101000000001111111111100110011001100110001001011000101111010001100110111111001011001101111110010101100010111101000011100011010100000000110011011111100100101100010111101000100100110101000000001111111111100110011001100110001100100110101000000001100110111111001011001101111110010101100010111101000010010011010100000000110011011111100100101100010111101000100100110101000000001111111111100110011001100110001001011000100000110001100110111111001011001101111110010101100010000011000010010011010100000000110011011111100100101100010000011000110100110101000000001111111111100110011001100110001110100110101000000001100110111111001011001101111110010101100010000011000011010011010100000000110011011111100100101100010000011000110100110101000000001111111111100110011001100110001001011000101000110001100110111111001011001101111110010101100010100011000011010011010100000000110011011111100100101100010100011000101100110101000000001111111111100110011001100110001101100110101000000001100110111111001011001101111110010101100010100011000010110011010100000000110011011111100100101100010100011000101100110101000000001111111111100110011001100110001001011000100100110001100110111111001011001101111110010101100010010011000010110011010100000000110011011111100100101100010010011000111100110101000000001111111111100110011001100110001111100110101000000001100110111111001011001101111110010101100010010011000011110011010100000000110011011111100100101100010010011000111100110101000000001111111111100110011001100110001011011000100000000001100110111111001011001101111110011101100010000000000011110011010100000000110011011111100101101100010000000000100010110101000000001111111111100110011001100110001100010110101000000001100110111111001011001101111110011101100010000000000010001011010100000000110011011111100101101100010000000000100010110101000000001111111111100110011001100110001011011000101000000001100110111111001011001101111110011101100010100000000010001011010100000000110011011111100101101100010100000000110010110101000000001111111111100110011001100110001110010110101000000001100110111111001011001101111110011101100010100000000011001011010100000000110011011111100101101100010100000000110010110101000000001111111111100110011001100110001011011000100100000001100110111111001011001101111110011101100010010000000011001011010100000000110011011111100101101100010010000000101010110101000000001111111111100110011001100110001101010110101000000001100110111111001011001101111110011101100010010000000010101011010100000000110011011111100101101100010010000000101010110101000000001111111111100110011001100110001011011000101100000001100110111111001011001101111110011101100010110000000010101011010100000000110011011111100101101100010110000000111010110101000000001111111111100110011001100110001111010110101000000001100110111111001011001101111110011101100010110000000011101011010100000000110011011111100101101100010110000000111010110101000000001111111111100110011001100110001011011000100010000001100110111111001011001101111110011101100010001000000011101011010100000000110011011111100101101100010001000000100110110101000000001111111111100110011001100110001100110110101000000001100110111111001011001101111110011101100010001000000010011011010100000000110011011111100101101100010001000000100110110101000000001111111111100110011001100110001011011000101010000001100110111111001011001101111110011101100010101000000010011011010100000000110011011111100101101100010101000000110110110101000000001111111111100110011001100110001110110110101000000001100110111111001011001101111110011101100010101000000011011011010100000000110011011111100101101100010101000000110110110101000000001111111111100110011001100110001011011000100110000001100110111111001011001101111110011101100010011000000011011011010100000000110011011111100101101100010011000000101110110101000000001111111111100110011001100110001101110110101000000001100110111111001011001101111110011101100010011000000010111011010100000000110011011111100101101100010011000000101110110101000000001111111111100110011001100110001011011000101110000001100110111111001011001101111110011101100010111000000010111011010100000000110011011111100101101100010111000000111110110101000000001111111111100110011001100110001111110110101000000001100110111111001011001101111110011101100010111000000011111011010100000000110011011111100101101100010111000000111110110101000000001111111111100110011001100110001011011000100001000001100110111111001011001101111110011101100010000100000011111011010100000000110011011111100101101100010000100000100001110101000000001111111111100110011001100110001100001110101000000001100110111111001011001101111110011101100010000100000010000111010100000000110011011111100101101100010000100000100001110101000000001111111111100110011001100110001011011000101001000001100110111111001011001101111110011101100010100100000010000111010100000000110011011111100101101100010100100000110001110101000000001111111111100110011001100110001110001110101000000001100110111111001011001101111110011101100010100100000011000111010100000000110011011111100101101100010100100000110001110101000000001111111111100110011001100110001011011000100101000001100110111111001011001101111110011101100010010100000011000111010100000000110011011111100101101100010010100000101001110101000000001111111111100110011001100110001101001110101000000001100110111111001011001101111110011101100010010100000010100111010100000000110011011111100101101100010010100000101001110101000000001111111111100110011001100110001011011000101101000001100110111111001011001101111110011101100010110100000010100111010100000000110011011111100101101100010110100000111001110101000000001111111111100110011001100110001111001110101000000001100110111111001011001101111110011101100010110100000011100111010100000000110011011111100101101100010110100000111001110101000000001111111111100110011001100110001011011000100011000001100110111111001011001101111110011101100010001100000011100111010100000000110011011111100101101100010001100000100101110101000000001111111111100110011001100110001100101110101000000001100110111111001011001101111110011101100010001100000010010111010100000000110011011111100101101100010001100000100101110101000000001111111111100110011001100110001011011000101011000001100110111111001011001101111110011101100010101100000010010111010100000000110011011111100101101100010101100000110101110101000000001111111111100110011001100110001110101110101000000001100110111111001011001101111110011101100010101100000011010111010100000000110011011111100101101100010101100000110101110101000000001111111111100110011001100110001011011000100111000001100110111111001011001101111110011101100010011100000011010111010100000000110011011111100101101100010011100000101101110101000000001111111111100110011001100110001101101110101000000001100110111111001011001101111110011101100010011100000010110111010100000000110011011111100101101100010011100000101101110101000000001111111111100110011001100110001011011000101111000001100110111111001011001101111110011101100010111100000010110111010100000000110011011111100101101100010111100000111101110101000000001111111111100110011001100110001111101110101000000001100110111111001011001101111110011101100010111100000011110111010100000000110011011111100101101100010111100000111101110101000000001111111111100110011001100110001011011000100000100001100110111111001011001101111110011101100010000010000011110111010100000000110011011111100101101100010000010000100011110101000000001111111111100110011001100110001100011110101000000001100110111111001011001101111110011101100010000010000010001111010100000000110011011111100101101100010000010000100011110101000000001111111111100110011001100110001011011000101000100001100110111111001011001101111110011101100010100010000010001111010100000000110011011111100101101100010100010000110011110101000000001111111111100110011001100110001110011110101000000001100110111111001011001101111110011101100010100010000011001111010100000000110011011111100101101100010100010000110011110101000000001111111111100110011001100110001011011000100100100001100110111111001011001101111110011101100010010010000011001111010100000000110011011111100101101100010010010000101011110101000000001111111111100110011001100110001101011110101000000001100110111111001011001101111110011101100010010010000010101111010100000000110011011111100101101100010010010000101011110101000000001111111111100110011001100110001011011000101100100001100110111111001011001101111110011101100010110010000010101111010100000000110011011111100101101100010110010000111011110101000000001111111111100110011001100110001111011110101000000001100110111111001011001101111110011101100010110010000011101111010100000000110011011111100101101100010110010000111011110101000000001111111111100110011001100110001011011000100010100001100110111111001011001101111110011101100010001010000011101111010100000000110011011111100101101100010001010000100111110101000000001111111111100110011001100110001100111110101000000001100110111111001011001101111110011101100010001010000010011111010100000000110011011111100101101100010001010000100111110101000000001111111111100110011001100110001011011000101010100001100110111111001011001101111110011101100010101010000010011111010100000000110011011111100101101100010101010000110111110101000000001111111111100110011001100110001110111110101000000001100110111111001011001101111110011101100010101010000011011111010100000000110011011111100101101100010101010000110111110101000000001111111111100110011001100110001011011000100110100001100110111111001011001101111110011101100010011010000011011111010100000000110011011111100101101100010011010000101111110101000000001111111111100110011001100110001101111110101000000001100110111111001011001101111110011101100010011010000010111111010100000000110011011111100101101100010011010000101111110101000000001111111111100110011001100110001011011000101110100001100110111111001011001101111110011101100010111010000010111111010100000000110011011111100101101100010111010000111111110101000000001111111111100110011001100110001111111110101000000001100110111111001011001101111110011101100010111010000011111111010100000000110011011111100101101100010111010000111111110101000000001111111111100110011001100110001011011000100001100001100110111111001011001101111110011101100010000110000011111111010100000000110011011111100101101100010000110000100000001101000000001111111111100110011001100110001100000001101000000001100110111111001011001101111110011101100010000110000010000000110100000000110011011111100101101100010000110000100000001101000000001111111111100110011001100110001011011000101001100001100110111111001011001101111110011101100010100110000010000000110100000000110011011111100101101100010100110000110000001101000000001111111111100110011001100110001110000001101000000001100110111111001011001101111110011101100010100110000011000000110100000000110011011111100101101100010100110000110000001101000000001111111111100110011001100110001011011000100101100001100110111111001011001101111110011101100010010110000011000000110100000000110011011111100101101100010010110000101000001101000000001111111111100110011001100110001101000001101000000001100110111111001011001101111110011101100010010110000010100000110100000000110011011111100101101100010010110000101000001101000000001111111111100110011001100110001011011000101101100001100110111111001011001101111110011101100010110110000010100000110100000000110011011111100101101100010110110000111000001101000000001111111111100110011001100110001111000001101000000001100110111111001011001101111110011101100010110110000011100000110100000000110011011111100101101100010110110000111000001101000000001111111111100110011001100110001011011000100011100001100110111111001011001101111110011101100010001110000011100000110100000000110011011111100101101100010001110000100100001101000000001111111111100110011001100110001100100001101000000001100110111111001011001101111110011101100010001110000010010000110100000000110011011111100101101100010001110000100100001101000000001111111111100110011001100110001011011000101011100001100110111111001011001101111110011101100010101110000010010000110100000000110011011111100101101100010101110000110100001101000000001111111111100110011001100110001110100001101000000001100110111111001011001101111110011101100010101110000011010000110100000000110011011111100101101100010101110000110100001101000000001111111111100110011001100110001011011000100111100001100110111111001011001101111110011101100010011110000011010000110100000000110011011111100101101100010011110000101100001101000000001111111111100110011001100110001101100001101000000001100110111111001011001101111110011101100010011110000010110000110100000000110011011111100101101100010011110000101100001101000000001111111111100110011001100110001011011000101111100001100110111111001011001101111110011101100010111110000010110000110100000000110011011111100101101100010111110000111100001101000000001111111111100110011001100110001111100001101000000001100110111111001011001101111110011101100010111110000011110000110100000000110011011111100101101100010111110000111100001101000000001111111111100110011001100110001011011000100000010001100110111111001011001101111110011101100010000001000011110000110100000000110011011111100101101100010000001000100010001101000000001111111111100110011001100110001100010001101000000001100110111111001011001101111110011101100010000001000010001000110100000000110011011111100101101100010000001000100010001101000000001111111111100110011001100110001011011000101000010001100110111111001011001101111110011101100010100001000010001000110100000000110011011111100101101100010100001000110010001101000000001111111111100110011001100110001110010001101000000001100110111111001011001101111110011101100010100001000011001000110100000000110011011111100101101100010100001000110010001101000000001111111111100110011001100110001011011000100100010001100110111111001011001101111110011101100010010001000011001000110100000000110011011111100101101100010010001000101010001101000000001111111111100110011001100110001101010001101000000001100110111111001011001101111110011101100010010001000010101000110100000000110011011111100101101100010010001000101010001101000000001111111111100110011001100110001011011000101100010001100110111111001011001101111110011101100010110001000010101000110100000000110011011111100101101100010110001000111010001101000000001111111111100110011001100110001111010001101000000001100110111111001011001101111110011101100010110001000011101000110100000000110011011111100101101100010110001000111010001101000000001111111111100110011001100110001011011000100010010001100110111111001011001101111110011101100010001001000011101000110100000000110011011111100101101100010001001000100110001101000000001111111111100110011001100110001100110001101000000001100110111111001011001101111110011101100010001001000010011000110100000000110011011111100101101100010001001000100110001101000000001111111111100110011001100110001011011000101010010001100110111111001011001101111110011101100010101001000010011000110100000000110011011111100101101100010101001000110110001101000000001111111111100110011001100110001110110001101000000001100110111111001011001101111110011101100010101001000011011000110100000000110011011111100101101100010101001000110110001101000000001111111111100110011001100110001011011000100110010001100110111111001011001101111110011101100010011001000011011000110100000000110011011111100101101100010011001000101110001101000000001111111111100110011001100110001101110001101000000001100110111111001011001101111110011101100010011001000010111000110100000000110011011111100101101100010011001000101110001101000000001111111111100110011001100110001011011000101110010001100110111111001011001101111110011101100010111001000010111000110100000000110011011111100101101100010111001000111110001101000000001111111111100110011001100110001111110001101000000001100110111111001011001101111110011101100010111001000011111000110100000000110011011111100101101100010111001000111110001101000000001111111111100110011001100110001011011000100001010001100110111111001011001101111110011101100010000101000011111000110100000000110011011111100101101100010000101000100001001101000000001111111111100110011001100110001100001001101000000001100110111111001011001101111110011101100010000101000010000100110100000000110011011111100101101100010000101000100001001101000000001111111111100110011001100110001011011000101001010001100110111111001011001101111110011101100010100101000010000100110100000000110011011111100101101100010100101000110001001101000000001111111111100110011001100110001000100110110000000100110001011000000011001101111110011101100010100101000000010011011000000010110011011111100101101100010100101000110001001101000000001011111111100110011001100110001011011000100101010001100110111111001011001101111110011101100010010101000000010011011000000010111000100001100001101100010010101000101001001101000000001011111111100110011001100110001000100110110000000011001010011000110011001101111110011101100010010101000000010011011000000001111000100001100001101100010010101000101001001101000000001010000000000000000000000000001011011000101101010001100110111111001011001101111110011101100010110101000000010011011000000001100101001100011001101100010110101000111001001101000000001010000000000000000000000000001000100110110000000110001101110110100011001101111110011101100010110101000000010011011000000011100101001100011001101100010110101000111001001101000000001010000000000000000000000000001011011000100011010001100110111111001011001101111110011101100010001101000000010011011000000011000110111011010001101100010001101000100101001101000000001010000000000000000000000000001010100110110000000001010011101100101011001101111110011101100010001101000001010011011000000000000110111011010001101100010001101000100101001101000000001010000000000000000000000000001011011000101011010001100110111111001011001101111110011101100010101101000001010011011000000000101001110110010101101100010101101000110101001101000000001010000000000000000000000000001010100110110000000100011110101100000011001101111110011101100010101101000001010011011000000010101001110110010101101100010101101000110101001101000000001010000000000000000000000000001011011000100111010001100110111111001011001101111110011101100010011101000001010011011000000010001111010110000001101100010011101000101101001101000000001010000000000000000000000000001010100110110000000011011001000100011011001101111110011101100010011101000001010011011000000001001111010110000001101100010011101000101101001101000000001010000000000000000000000000001011011000101111010001100110111111001011001101111110011101100010111101000001010011011000000001101100100010001101101100010111101000111101001101000000001010000000000000000000000000001010100110110000000111101011101101001011001101111110011101100010111101000001010011011000000011101100100010001101101100010111101000111101001101000000001010000000000000000000000000001011011000100000110001100110111111001011001101111110011101100010000011000001010011011000000011110101110110100101101100010000011000100011001101000000001010000000000000000000000000001001100110110000000000011001000110100011001101111110011101100010000011000000110011011000000000110101110110100101101100010000011000100011001101000000001010000000000000000000000000001011011000101000110001100110111111001011001101111110011101100010100011000000110011011000000000001100100011010001101100010100011000110011001101000000001010000000000000000000000000001001100110110000000101010000100101101011001101111110011101100010100011000000110011011000000010001100100011010001101100010100011000110011001101000000001010000000000000000000000000001011011000100100110001100110111111001011001101111110011101100010010011000000110011011000000010101000010010110101101100010010011000101011001101000000001010000000000000000000000000001001100110110000000010000111110001100011001101111110011101100010010011000000110011011000000001101000010010110101101100010010011000101011001101000000001010000000000000000000000000001000111000100000000001100110111111001011001101111110010011100010000000000000110011011000000001000011111000110000011100010000000000111011001101000000001010000000000000000000000000001001100110110000000111111011001011011011001101111110010011100010000000000000110011011000000011000011111000110000011100010000000000111011001101000000001010000000000000000000000000001000111000101000000001100110111111001011001101111110010011100010100000000000110011011000000011111101100101101100011100010100000000100111001101000000001010000000000000000000000000001011100110110000000001101111111000110011001101111110010011100010100000000001110011011000000000111101100101101100011100010100000000100111001101000000001010000000000000000000000000001000111000100100000001100110111111001011001101111110010011100010010000000001110011011000000000110111111100011000011100010010000000110111001101000000001010000000000000000000000000001011100110110000000101001010011011000011001101111110010011100010010000000001110011011000000010110111111100011000011100010010000000110111001101000000001010000000000000000000000000001000111000101100000001100110111111001011001101111110010011100010110000000001110011011000000010100101001101100000011100010110000000101111001101000000001010000000000000000000000000001011100110110000000011000100011001101011001101111110010011100010110000000001110011011000000001100101001101100000011100010110000000101111001101000000001010000000000000000000000000001000111000100010000001100110111111001011001101111110010011100010001000000001110011011000000001100010001100110100011100010001000000111111001101000000001010000000000000000000000000001011100110110000000110000100011110001011001101111110010011100010001000000001110011011000000011100010001100110100011100010001000000111111001101000000001010000000000000000000000000001000111000101010000001100110111111001011001101111110010011100010101000000001110011011000000011000010001111000100011100010101000000100000101101000000001010000000000000000000000000001000010110110000000000100111001111010011001101111110010011100010101000000000001011011000000000000010001111000100011100010101000000100000101101000000001010000000000000000000000000001000111000100110000001100110111111001011001101111110010011100010011000000000001011011000000000010011100111101000011100010011000000110000101101000000001010000000000000000000000000001000010110110000000100000110111111100011001101111110010011100010011000000000001011011000000010010011100111101000011100010011000000110000101101000000001010000000000000000000000000001000111000101110000001100110111111001011001101111110010011100010111000000000001011011000000010000011011111110000011100010111000000101000101101000000001010000000000000000000000000001000010110110000000011111011010101011011001101111110010011100010111000000000001011011000000001000011011111110000011100010111000000101000101101000000001010000000000000000000000000001000111000100001000001100110111111001011001101111110010011100010000100000000001011011000000001111101101010101100011100010000100000111000101101000000001010000000000000000000000000001000010110110000000110001010111010001011001101111110010011100010000100000000001011011000000011111101101010101100011100010000100000111000101101000000001010000000000000000000000000001000111000101001000001100110111111001011001101111110010011100010100100000000001011011000000011000101011101000100011100010100100000100100101101000000001010000000000000000000000000001010010110110000000000011110011110010011001101111110010011100010100100000001001011011000000000000101011101000100011100010100100000100100101101000000001010000000000000000000000000001000111000100101000001100110111111001011001101111110010011100010010100000001001011011000000000001111001111001000011100010010100000110100101101000000001010000000000000000000000000001010010110110000000101000110001110001011001101111110010011100010010100000001001011011000000010001111001111001000011100010010100000110100101101000000001010000000000000000000000000001000111000101101000001100110111111001011001101111110010011100010110100000001001011011000000010100011000111000100011100010110100000101100101101000000001010000000000000000000000000001010010110110000000011100010001110000011001101111110010011100010110100000001001011011000000001100011000111000100011100010110100000101100101101000000001010000000000000000000000000001000111000100011000001100110111111001011001101111110010011100010001100000001001011011000000001110001000111000000011100010001100000111100101101000000001010000000000000000000000000001010010110110000000110100010110111000011001101111110010011100010001100000001001011011000000011110001000111000000011100010001100000111100101101000000001010000000000000000000000000001000111000101011000001100110111111001011001101111110010011100010101100000001001011011000000011010001011011100000011100010101100000100010101101000000001010000000000000000000000000001001010110110000000000100100111100001011001101111110010011100010101100000000101011011000000000010001011011100000011100010101100000100010101101000000001010000000000000000000000000001000111000100111000001100110111111001011001101111110010011100010011100000000101011011000000000010010011110000100011100010011100000110010101101000000001010000000000000000000000000001001010110110000000100000000010110010011001101111110010011100010011100000000101011011000000010010010011110000100011100010011100000110010101101000000001010000000000000000000000000001000111000101111000001100110111111001011001101111110010011100010111100000000101011011000000010000000001011001000011100010111100000101010101101000000001010000000000000000000000000001001010110110000000010000000011111010011001101111110010011100010111100000000101011011000000001000000001011001000011100010111100000101010101101000000001010000000000000000000000000001000111000100000100001100110111111001011001101111110010011100010000010000000101011011000000001000000001111101000011100010000010000111010101101000000001010000000000000000000000000001001010110110000000111110011100101010011001101111110010011100010000010000000101011011000000011000000001111101000011100010000010000111010101101000000001010000000000000000000000000001000111000101000100001100110111111001011001101111110010011100010100010000000101011011000000011111001110010101000011100010100010000100110101101000000001010000000000000000000000000001011010110110000000001100110111010000011001101111110010011100010100010000001101011011000000000111001110010101000011100010100010000100110101101000000001010000000000000000000000000001000111000100100100001100110111111001011001101111110010011100010010010000001101011011000000000110011011101000000011100010010010000110110101101000000001010000000000000000000000000001011010110110000000101000000010101001011001101111110010011100010010010000001101011011000000010110011011101000000011100010010010000110110101101000000001010000000000000000000000000001000111000101100100001100110111111001011001101111110010011100010110010000001101011011000000010100000001010100100011100010110010000101110101101000000001010000000000000000000000000001011010110110000000010100100001000000011001101111110010011100010110010000001101011011000000001100000001010100100011100010110010000101110101101000000001010000000000000000000000000001000111000100010100001100110111111001011001101111110010011100010001010000001101011011000000001010010000100000000011100010001010000111110101101000000001010000000000000000000000000001011010110110000000110100110111101000011001101111110010011100010001010000001101011011000000011010010000100000000011100010001010000111110101101000000001010000000000000000000000000001000111000101010100001100110111111001011001101111110010011100010101010000001101011011000000011010011011110100000011100010101010000100001101101000000001010000000000000000000000000001000110110110000000001100110111111001011001101111110010011100010101010000000011011011000000000010011011110100000011100010101010000100001101101000000001010000000000000000000000000001000111000100110100001100110111111001011001101111110010011100010011010000000011011011000000000110011011111100100011100010011010000110001101101000000001010000000000000000000000000001000110110110000000101011000101101100011001101111110010011100010011010000000011011011000000010110011011111100100011100010011010000110001101101000000001010000000000000000000000000001000111000101110100001100110111111001011001101111110010011100010111010000000011011011000000010101100010110110000011100010111010000101001101101000000001010000000000000000000000000001000110110110000000010000100111111000011001101111110010011100010111010000000011011011000000001101100010110110000011100010111010000101001101101000000001010000000000000000000000000001000111000100001100001100110111111001011001101111110010011100010000110000000011011011000000001000010011111100000011100010000110000111001101101000000001010000000000000000000000000001000110110110000000110110101001001011011001101111110010011100010000110000000011011011000000011000010011111100000011100010000110000111001101101000000001010000000000000000000000000001000111000101001100001100110111111001011001101111110010011100010100110000000011011011000000011011010100100101100011100010100110000100101101101000000001010000000000000000000000000001010110110110000000001100000001000001011001101111110010011100010100110000001011011011000000000011010100100101100011100010100110000100101101101000000001010000000000000000000000000001000111000100101100001100110111111001011001101111110010011100010010110000001011011011000000000110000000100000100011100010010110000110101101101000000001010000000000000000000000000001010110110110000000100000100110001000011001101111110010011100010010110000001011011011000000010110000000100000100011100010010110000110101101101000000001010000000000000000000000000001000111000101101100001100110111111001011001101111110010011100010110110000001011011011000000010000010011000100000011100010110110000101101101101000000001010000000000000000000000000001010110110110000000011000110011110000011001101111110010011100010110110000001011011011000000001000010011000100000011100010110110000101101101101000000001010000000000000000000000000001000111000100011100001100110111111001011001101111110010011100010001110000001011011011000000001100011001111000000011100010001110000111101101101000000001010000000000000000000000000001010110110110000000110000100100110001011001101111110010011100010001110000001011011011000000011100011001111000000011100010001110000111101101101000000001010000000000000000000000000001000111000101011100001100110111111001011001101111110010011100010101110000001011011011000000011000010010011000100011100010101110000100011101101000000001010000000000000000000000000001001110110110000000001100000011001001011001101111110010011100010101110000000111011011000000000000010010011000100011100010101110000100011101101000000001010000000000000000000000000001000111000100111100001100110111111001011001101111110010011100010011110000000111011011000000000110000001100100100011100010011110000110011101101000000001010000000000000000000000000001001110110110000000101110101111101110011001101111110010011100010011110000000111011011000000010110000001100100100011100010011110000110011101101000000001010000000000000000000000000001000111000101111100001100110111111001011001101111110010011100010111110000000111011011000000010111010111110111000011100010111110000101011101101000000001010000000000000000000000000001001110110110000000010000010111100001011001101111110010011100010111110000000111011011000000001111010111110111000011100010111110000101011101101000000001010000000000000000000000000001000111000100000010001100110111111001011001101111110010011100010000001000000111011011000000001000001011110000100011100010000001000111011101101000000001010000000000000000000000000001001110110110000000110110011111100110011001101111110010011100010000001000000111011011000000011000001011110000100011100010000001000111011101101000000001010000000000000000000000000001000111000101000010001100110111111001011001101111110010011100010100001000000111011011000000011011001111110011000011100010100001000100111101101000000001010000000000000000000000000001011110110110000000001100000111011001011001101111110010011100010100001000001111011011000000000011001111110011000011100010100001000100111101101000000001010000000000000000000000000001000111000100100010001100110111111001011001101111110010011100010010001000001111011011000000000110000011101100100011100010010001000110111101101000000001010000000000000000000000000001011110110110000000100000000011000000011001101111110010011100010010001000001111011011000000010110000011101100100011100010010001000110111101101000000001010000000000000000000000000001000111000101100010001100110111111001011001101111110010011100010110001000001111011011000000010000000001100000000011100010110001000101111101101000000001010000000000000000000000000001011110110110000000010000100100101000011001101111110010011100010110001000001111011011000000001000000001100000000011100010110001000101111101101000000001010000000000000000000000000001000111000100010010001100110111111001011001101111110010011100010001001000001111011011000000001000010010010100000011100010001001000111111101101000000001010000000000000000000000000001011110110110000000110100110111001000011001101111110010011100010001001000001111011011000000011000010010010100000011100010001001000111111101101000000001010000000000000000000000000001000111000101010010001100110111111001011001101111110010011100010101001000001111011011000000011010011011100100000011100010101001000100000011101000000001010000000000000000000000000001000001110110000000001100110111110001011001101111110010011100010101001000000000111011000000000010011011100100000011100010101001000100000011101000000001010000000000000000000000000001000111000100110010001100110111111001011001101111110010011100010011001000000000111011000000000110011011111000100011100010011001000110000011101000000001010000000000000000000000000001000001110110000000100111010111110100011001101111110010011100010011001000000000111011000000010110011011111000100011100010011001000110000011101000000001010000000000000000000000000001000111000101110010001100110111111001011001101111110010011100010111001000000000111011000000010011101011111010000011100010111001000101000011101000000001010000000000000000000000000001000001110110000000011000010111001000011001101111110010011100010111001000000000111011000000001011101011111010000011100010111001000101000011101000000001010000000000000000000000000001000111000100001010001100110111111001011001101111110010011100010000101000000000111011000000001100001011100100000011100010000101000111000011101000000001010000000000000000000000000001000001110110000000111001010010101110011001101111110010011100010000101000000000111011000000011100001011100100000011100010000101000111000011101000000001010000000000000000000000000001000111000101001010001100110111111001011001101111110010011100010100101000000000111011000000011100101001010111000011100010100101000100100011101000000001010000000000000000000000000001010001110110000000000100010100101000011001101111110010011100010100101000001000111011000000000100101001010111000011100010100101000100100011101000000001010000000000000000000000000001000111000100101010001100110111111001011001101111110010011100010010101000001000111011000000000010001010010100000011100010010101000110100011101000000001010000000000000000000000000001010001110110000000100011001010011110011001101111110010011100010010101000001000111011000000010010001010010100000011100010010101000110100011101000000001010000000000000000000000000001000111000101101010001100110111111001011001101111110010011100010110101000001000111011000000010001100101001111000011100010110101000101100011101000000001010000000000000000000000000001010001110110000000010000100101100001011001101111110010011100010110101000001000111011000000001001100101001111000011100010110101000101100011101000000001010000000000000000000000000001000111000100011010001100110111111001011001101111110010011100010001101000001000111011000000001000010010110000100011100010001101000111100011101000000001010000000000000000000000000001010001110110000000111110100011001010011001101111110010011100010001101000001000111011000000011000010010110000100011100010001101000111100011101000000001010000000000000000000000000001000111000101011010001100110111111001011001101111110010011100010101101000001000111011000000011111010001100101000011100010101101000100010011101000000001010000000000000000000000000001001001110110000000000000110100011000011001101111110010011100010101101000000100111011000000000111010001100101000011100010101101000100010011101000000001010000000000000000000000000001000111000100111010001100110111111001011001101111110010011100010011101000000100111011000000000000011010001100000011100010011101000110010011101000000001010000000000000000000000000001001001110110000000101000000101110010011001101111110010011100010011101000000100111011000000010000011010001100000011100010011101000110010011101000000001010000000000000000000000000001000111000101111010001100110111111001011001101111110010011100010111101000000100111011000000010100000010111001000011100010111101000101010011101000000001010000000000000000000000000001001001110110000000010000010100101001011001101111110010011100010111101000000100111011000000001100000010111001000011100010111101000101010011101000000001010000000000000000000000000001000111000100000110001100110111111001011001101111110010011100010000011000000100111011000000001000001010010100100011100010000011000111010011101000000001010000000000000000000000000001001001110110000000111000111011011000011001101111110010011100010000011000000100111011000000011000001010010100100011100010000011000111010011101000000001010000000000000000000000000001000111000101000110001100110111111001011001101111110010011100010100011000000100111011000000011100011101101100000011100010100011000100110011101000000001010000000000000000000000000001011001110110000000001100000010001000011001101111110010011100010100011000001100111011000000000100011101101100000011100010100011000100110011101000000001010000000000000000000000000001000111000100100110001100110111111001011001101111110010011100010010011000001100111011000000000110000001000100000011100010010011000110110011101000000001010000000000000000000000000001011001110110000000100011011001000001011001101111110010011100010010011000001100111011000000010110000001000100000011100010010011000110110011101000000001010000000000000000000000000001010111000100000000001100110111111001011001101111110011011100010000000000001100111011000000010001101100100000101011100010000000000101110011101000000001010000000000000000000000000001011001110110000000010000110010100001011001101111110011011100010000000000001100111011000000001001101100100000101011100010000000000101110011101000000001010000000000000000000000000001010111000101000000001100110111111001011001101111110011011100010100000000001100111011000000001000011001010000101011100010100000000111110011101000000001010000000000000000000000000001011001110110000000111001001101111011011001101111110011011100010100000000001100111011000000011000011001010000101011100010100000000111110011101000000001010000000000000000000000000001010111000100100000001100110111111001011001101111110011011100010010000000001100111011000000011100100110111101101011100010010000000100001011101000000001010000000000000000000000000001000101110110000000001000000111001000011001101111110011011100010010000000000010111011000000000100100110111101101011100010010000000100001011101000000001010000000000000000000000000001010111000101100000001100110111111001011001101111110011011100010110000000000010111011000000000100000011100100001011100010110000000110001011101000000001010000000000000000000000000001000101110110000000101100000000110000011001101111110011011100010110000000000010111011000000010100000011100100001011100010110000000110001011101000000001010000000000000000000000000001010111000100010000001100110111111001011001101111110011011100010001000000000010111011000000010110000000011000001011100010001000000101001011101000000001010000000000000000000000000001000101110110000000010000110011111000011001101111110011011100010001000000000010111011000000001110000000011000001011100010001000000101001011101000000001010000000000000000000000000001010111000101010000001100110111111001011001101111110011011100010101000000000010111011000000001000011001111100001011100010101000000111001011101000000001010000000000000000000000000001000101110110000000110010000110110011011001101111110011011100010101000000000010111011000000011000011001111100001011100010101000000111001011101000000001010000000000000000000000000001010111000100110000001100110111111001011001101111110011011100010011000000000010111011000000011001000011011001101011100010011000000100101011101000000001010000000000000000000000000001010101110110000000001000100111000001011001101111110011011100010011000000001010111011000000000001000011011001101011100010011000000100101011101000000001010000000000000000000000000001010111000101110000001100110111111001011001101111110011011100010111000000001010111011000000000100010011100000101011100010111000000110101011101000000001010000000000000000000000000001010101110110000000101111101111101101011001101111110011011100010111000000001010111011000000010100010011100000101011100010111000000110101011101000000001010000000000000000000000000001010111000100001000001100110111111001011001101111110011011100010000100000001010111011000000010111110111110110101011100010000100000101101011101000000001010000000000000000000000000001010101110110000000010100000001100001011001101111110011011100010000100000001010111011000000001111110111110110101011100010000100000101101011101000000001010000000000000000000000000001010111000101001000001100110111111001011001101111110011011100010100100000001010111011000000001010000000110000101011100010100100000111101011101000000001010000000000000000000000000001010101110110000000111111001101100110011001101111110011011100010100100000001010111011000000011010000000110000101011100010100100000111101011101000000001010000000000000000000000000001010111000100101000001100110111111001011001101111110011011100010010100000001010111011000000011111100110110011001011100010010100000100011011101000000001010000000000000000000000000001001101110110000000000100110000000000011001101111110011011100010010100000000110111011000000000111100110110011001011100010010100000100011011101000000001010000000000000000000000000001010111000101101000001100110111111001011001101111110011011100010110100000000110111011000000000010011000000000001011100010110100000110011011101000000001010000000000000000000000000001001101110110000000100101100010000001011001101111110011011100010110100000000110111011000000010010011000000000001011100010110100000110011011101000000001010000000000000000000000000001010111000100011000001100110111111001011001101111110011011100010001100000000110111011000000010010110001000000101011100010001100000101011011101000000001010000000000000000000000000001001101110110000000010000110001100000011001101111110011011100010001100000000110111011000000001010110001000000101011100010001100000101011011101000000001010000000000000000000000000001010111000101011000001100110111111001011001101111110011011100010101100000000110111011000000001000011000110000001011100010101100000111011011101000000001010000000000000000000000000001001101110110000000110100011010101000011001101111110011011100010101100000000110111011000000011000011000110000001011100010101100000111011011101000000001010000000000000000000000000001010111000100111000001100110111111001011001101111110011011100010011100000000110111011000000011010001101010100001011100010011100000100111011101000000001010000000000000000000000000001011101110110000000001000100110010001011001101111110011011100010011100000001110111011000000000010001101010100001011100010011100000100111011101000000001010000000000000000000000000001010111000101111000001100110111111001011001101111110011011100010111100000001110111011000000000100010011001000101011100010111100000110111011101000000001010000000000000000000000000001011101110110000000100010011010101110011001101111110011011100010111100000001110111011000000010100010011001000101011100010111100000110111011101000000001010000000000000000000000000001010111000100000100001100110111111001011001101111110011011100010000010000001110111011000000010001001101010111001011100010000010000101111011101000000001010000000000000000000000000001011101110110000000011000100000100001011001101111110011011100010000010000001110111011000000001001001101010111001011100010000010000101111011101000000001010000000000000000000000000001010111000101000100001100110111111001011001101111110011011100010100010000001110111011000000001100010000010000101011100010100010000111111011101000000001010000000000000000000000000001011101110110000000111100100011100110011001101111110011011100010100010000001110111011000000011100010000010000101011100010100010000111111011101000000001010000000000000000000000000001010111000100100100001100110111111001011001101111110011011100010010010000001110111011000000011110010001110011001011100010010010000100000111101000000001010000000000000000000000000001000011110110000000001100010111100000011001101111110011011100010010010000000001111011000000000110010001110011001011100010010010000100000111101000000001010000000000000000000000000001010111000101100100001100110111111001011001101111110011011100010110010000000001111011000000000110001011110000001011100010110010000110000111101000000001010000000000000000000000000001000011110110000000100010110001110001011001101111110011011100010110010000000001111011000000010110001011110000001011100010110010000110000111101000000001010000000000000000000000000001010111000100010100001100110111111001011001101111110011011100010001010000000001111011000000010001011000111000101011100010001010000101000111101000000001010000000000000000000000000001000011110110000000010000000101110001011001101111110011011100010001010000000001111011000000001001011000111000101011100010001010000101000111101000000001010000000000000000000000000001010111000101010100001100110111111001011001101111110011011100010101010000000001111011000000001000000010111000101011100010101010000111000111101000000001010000000000000000000000000001000011110110000000111001110010000111011001101111110011011100010101010000000001111011000000011000000010111000101011100010101010000111000111101000000001010000000000000000000000000001010111000100110100001100110111111001011001101111110011011100010011010000000001111011000000011100111001000011101011100010011010000100100111101000000001010000000000000000000000000001010011110110000000001000000010011001011001101111110011011100010011010000001001111011000000000100111001000011101011100010011010000100100111101000000001010000000000000000000000000001010111000101110100001100110111111001011001101111110011011100010111010000001001111011000000000100000001001100101011100010111010000110100111101000000001010000000000000000000000000001010011110110000000101000100110011001011001101111110011011100010111010000001001111011000000010100000001001100101011100010111010000110100111101000000001010000000000000000000000000001010111000100001100001100110111111001011001101111110011011100010000110000001001111011000000010100010011001100101011100010000110000101100111101000000001010000000000000000000000000001010011110110000000010100100110001000011001101111110011011100010000110000001001111011000000001100010011001100101011100010000110000101100111101000000001010000000000000000000000000001010111000101001100001100110111111001011001101111110011011100010100110000001001111011000000001010010011000100001011100010100110000111100111101000000001010000000000000000000000000001010011110110000000110000110110100000011001101111110011011100010100110000001001111011000000011010010011000100001011100010100110000111100111101000000001010000000000000000000000000001010111000100101100001100110111111001011001101111110011011100010010110000001001111011000000011000011011010000001011100010010110000100010111101000000001010000000000000000000000000001001011110110000000000000010000111001011001101111110011011100010010110000000101111011000000000000011011010000001011100010010110000100010111101000000001010000000000000000000000000001010111000101101100001100110111111001011001101111110011011100010110110000000101111011000000000000001000011100101011100010110110000110010111101000000001010000000000000000000000000001001011110110000000100011110001111101011001101111110011011100010110110000000101111011000000010000001000011100101011100010110110000110010111101000000001010000000000000000000000000001010111000100011100001100110111111001011001101111110011011100010001110000000101111011000000010001111000111110101011100010001110000101010111101000000001010000000000000000000000000001001011110110000000010000000111101000011001101111110011011100010001110000000101111011000000001001111000111110101011100010001110000101010111101000000001010000000000000000000000000001010111000101011100001100110111111001011001101111110011011100010101110000000101111011000000001000000011110100001011100010101110000111010111101000000001010000000000000000000000000001001011110110000000111100101001000000011001101111110011011100010101110000000101111011000000011000000011110100001011100010101110000111010111101000000001010000000000000000000000000001010111000100111100001100110111111001011001101111110011011100010011110000000101111011000000011110010100100000001011100010011110000100110111101000000001010000000000000000000000000001011011110110000000001000100010110001011001101111110011011100010011110000001101111011000000000110010100100000001011100010011110000100110111101000000001010000000000000000000000000001010111000101111100001100110111111001011001101111110011011100010111110000001101111011000000000100010001011000101011100010111110000110110111101000000001010000000000000000000000000001011011110110000000101000010010111000011001101111110011011100010111110000001101111011000000010100010001011000101011100010111110000110110111101000000001010000000000000000000000000001010111000100000010001100110111111001011001101111110011011100010000001000001101111011000000010100001001011100001011100010000001000101110111101000000001010000000000000000000000000001011011110110000000011000110010100001011001101111110011011100010000001000001101111011000000001100001001011100001011100010000001000101110111101000000001010000000000000000000000000001010111000101000010001100110111111001011001101111110011011100010100001000001101111011000000001100011001010000101011100010100001000111110111101000000001010000000000000000000000000001011011110110000000110100010111100000011001101111110011011100010100001000001101111011000000011100011001010000101011100010100001000111110111101000000001010000000000000000000000000001010111000100100010001100110111111001011001101111110011011100010010001000001101111011000000011010001011110000001011100010010001000100001111101000000001010000000000000000000000000001000111110110000000000000100101011000011001101111110011011100010010001000000011111011000000000010001011110000001011100010010001000100001111101000000001010000000000000000000000000001010111000101100010001100110111111001011001101111110011011100010110001000000011111011000000000000010010101100001011100010110001000110001111101000000001010000000000000000000000000001000111110110000000101110001110110000011001101111110011011100010110001000000011111011000000010000010010101100001011100010110001000110001111101000000001010000000000000000000000000001010111000100010010001100110111111001011001101111110011011100010001001000000011111011000000010111000111011000001011100010001001000101001111101000000001010000000000000000000000000001000111110110000000010000110111100001011001101111110011011100010001001000000011111011000000001111000111011000001011100010001001000101001111101000000001010000000000000000000000000001010111000101010010001100110111111001011001101111110011011100010101001000000011111011000000001000011011110000101011100010101001000111001111101000000001010000000000000000000000000001000111110110000000111010110000010110011001101111110011011100010101001000000011111011000000011000011011110000101011100010101001000111001111101000000001010000000000000000000000000001010111000100110010001100110111111001011001101111110011011100010011001000000011111011000000011101011000001011001011100010011001000100101111101000000001010000000000000000000000000001010111110110000000001100110010101000011001101111110011011100010011001000001011111011000000000101011000001011001011100010011001000100101111101000000001010000000000000000000000000001010111000101110010001100110111111001011001101111110011011100010111001000001011111011000000000110011001010100001011100010111001000110101111101000000001010000000000000000000000000001010111110110000000100100000101111000011001101111110011011100010111001000001011111011000000010110011001010100001011100010111001000110101111101000000001010000000000000000000000000001010111000100001010001100110111111001011001101111110011011100010000101000001011111011000000010010000010111100001011100010000101000101101111101000000001010000000000000000000000000001010111110110000000010100010011111001011001101111110011011100010000101000001011111011000000001010000010111100001011100010000101000101101111101000000001010000000000000000000000000001010111000101001010001100110111111001011001101111110011011100010100101000001011111011000000001010001001111100101011100010100101000111101111101000000001010000000000000000000000000001010111110110000000110000110000111000011001101111110011011100010100101000001011111011000000011010001001111100101011100010100101000111101111101000000001010000000000000000000000000001010111000100101010001100110111111001011001101111110011011100010010101000001011111011000000011000011000011100001011100010010101000100011111101000000001010000000000000000000000000001001111110110000000000000110001011001011001101111110011011100010010101000000111111011000000000000011000011100001011100010010101000100011111101000000001010000000000000000000000000001010111000101101010001100110111111001011001101111110011011100010110101000000111111011000000000000011000101100101011100010110101000110011111101000000001010000000000000000000000000001001111110110000000100101101110000111011001101111110011011100010110101000000111111011000000010000011000101100101011100010110101000110011111101000000001010000000000000000000000000001010111000100011010001100110111111001011001101111110011011100010001101000000111111011000000010010110111000011101011100010001101000101011111101000000001010000000000000000000000000001001111110110000000011000100101000000011001101111110011011100010001101000000111111011000000001010110111000011101011100010001101000101011111101000000001010000000000000000000000000001010111000101011010001100110111111001011001101111110011011100010101101000000111111011000000001100010010100000001011100010101101000111011111101000000001010000000000000000000000000001001111110110000000110000011010100001011001101111110011011100010101101000000111111011000000011100010010100000001011100010101101000111011111101000000001010000000000000000000000000001010111000100111010001100110111111001011001101111110011011100010011101000000111111011000000011000001101010000101011100010011101000100111111101000000001010000000000000000000000000001011111110110000000001000000100001000011001101111110011011100010011101000001111111011000000000000001101010000101011100010011101000100111111101000000001010000000000000000000000000001010111000101111010001100110111111001011001101111110011011100010111101000001111111011000000000100000010000100001011100010111101000110111111101000000001010000000000000000000000000001011111110110000000101100100011110001011001101111110011011100010111101000001111111011000000010100000010000100001011100010111101000110111111101000000001010000000000000000000000000001010111000100000110001100110111111001011001101111110011011100010000011000001111111011000000010110010001111000101011100010000011000101111111101000000001010000000000000000000000000001011111110110000000010100010000010001011001101111110011011100010000011000001111111011000000001110010001111000101011100010000011000101111111101000000001010000000000000000000000000001010111000101000110001100110111111001011001101111110011011100010100011000001111111011000000001010001000001000101011100010100011000111111111101000000001010000000000000000000000000001011111110110000000110000000000001000011001101111110011011100010100011000001111111011000000011010001000001000101011100010100011000111111111101000000001010000000000000000000000000001010111000100100110001100110111111001011001101111110011011100010010011000001111111011000000011000000000000100001011100010010011000100000000011000000001010000000000000000000000000001000000001110000000000010011010011011011001101111110011011100010010011000000000000111000000000000000000000100001011100010010011000100000000011000000001010000000000000000000000000001001111000100000000001100110111111001011001101111110010111100010000000000000000000111000000000001001101001101100111100010000000000110000000011000000001010000000000000000000000000001000000001110000000100100100000100010011001101111110010111100010000000000000000000111000000010001001101001101100111100010000000000110000000011000000001010000000000000000000000000001001111000101000000001100110111111001011001101111110010111100010100000000000000000111000000010010010000010001000111100010100000000101000000011000000001010000000000000000000000000001000000001110000000011010011100010100011001101111110010111100010100000000000000000111000000001010010000010001000111100010100000000101000000011000000001010000000000000000000000000001001111000100100000001100110111111001011001101111110010111100010010000000000000000111000000001101001110001010000111100010010000000111000000011000000001010000000000000000000000000001000000001110000000110001101110000100011001101111110010111100010010000000000000000111000000011101001110001010000111100010010000000111000000011000000001010000000000000000000000000001001111000101100000001100110111111001011001101111110010111100010110000000000000000111000000011000110111000010000111100010110000000100100000011000000001010000000000000000000000000001010000001110000000000000000001110010011001101111110010111100010110000000001000000111000000000000110111000010000111100010110000000100100000011000000001010000000000000000000000000001001111000100010000001100110111111001011001101111110010111100010001000000001000000111000000000000000000111001000111100010001000000110100000011000000001010000000000000000000000000001010000001110000000100110100110011100011001101111110010111100010001000000001000000111000000010000000000111001000111100010001000000110100000011000000001010000000000000000000000000001001111000101010000001100110111111001011001101111110010111100010101000000001000000111000000010011010011001110000111100010101000000101100000011000000001010000000000000000000000000001010000001110000000010010010011000111011001101111110010111100010101000000001000000111000000001011010011001110000111100010101000000101100000011000000001010000000000000000000000000001001111000100110000001100110111111001011001101111110010111100010011000000001000000111000000001001001001100011100111100010011000000111100000011000000001010000000000000000000000000001010000001110000000111011011101110000011001101111110010111100010011000000001000000111000000011001001001100011100111100010011000000111100000011000000001010000000000000000000000000001001111000101110000001100110111111001011001101111110010111100010111000000001000000111000000011101101110111000000111100010111000000100010000011000000001010000000000000000000000000001001000001110000000000101110000011100011001101111110010111100010111000000000100000111000000000101101110111000000111100010111000000100010000011000000001010000000000000000000000000001001111000100001000001100110111111001011001101111110010111100010000100000000100000111000000000010111000001110000111100010000100000110010000011000000001010000000000000000000000000001001000001110000000101100001010011100011001101111110010111100010000100000000100000111000000010010111000001110000111100010000100000110010000011000000001010000000000000000000000000001001111000101001000001100110111111001011001101111110010111100010100100000000100000111000000010110000101001110000111100010100100000101010000011000000001010000000000000000000000000001001000001110000000010011100111110000011001101111110010111100010100100000000100000111000000001110000101001110000111100010100100000101010000011000000001010000000000000000000000000001001111000100101000001100110111111001011001101111110010111100010010100000000100000111000000001001110011111000000111100010010100000111010000011000000001010000000000000000000000000001001000001110000000110001110010011101011001101111110010111100010010100000000100000111000000011001110011111000000111100010010100000111010000011000000001010000000000000000000000000001001111000101101000001100110111111001011001101111110010111100010110100000000100000111000000011000111001001110100111100010110100000100110000011000000001010000000000000000000000000001011000001110000000001110111110010110011001101111110010111100010110100000001100000111000000000000111001001110100111100010110100000100110000011000000001010000000000000000000000000001001111000100011000001100110111111001011001101111110010111100010001100000001100000111000000000111011111001011000111100010001100000110110000011000000001010000000000000000000000000001011000001110000000101001111011110111011001101111110010111100010001100000001100000111000000010111011111001011000111100010001100000110110000011000000001010000000000000000000000000001001111000101011000001100110111111001011001101111110010111100010101100000001100000111000000010100111101111011100111100010101100000101110000011000000001010000000000000000000000000001011000001110000000011010000100110100011001101111110010111100010101100000001100000111000000001100111101111011100111100010101100000101110000011000000001010000000000000000000000000001001111000100111000001100110111111001011001101111110010111100010011100000001100000111000000001101000010011010000111100010011100000111110000011000000001010000000000000000000000000001011000001110000000110110101011111001011001101111110010111100010011100000001100000111000000011101000010011010000111100010011100000111110000011000000001010000000000000000000000000001001111000101111000001100110111111001011001101111110010111100010111100000001100000111000000011011010101111100100111100010111100000100001000011000000001010000000000000000000000000001000100001110000000000001010010110001011001101111110010111100010111100000000010000111000000000011010101111100100111100010111100000100001000011000000001010000000000000000000000000001001111000100000100001100110111111001011001101111110010111100010000010000000010000111000000000000101001011000100111100010000010000110001000011000000001010000000000000000000000000001000100001110000000100011100101101101011001101111110010111100010000010000000010000111000000010000101001011000100111100010000010000110001000011000000001010000000000000000000000000001001111000101000100001100110111111001011001101111110010111100010100010000000010000111000000010001110010110110100111100010100010000101001000011000000001010000000000000000000000000001000100001110000000011000101011001101011001101111110010111100010100010000000010000111000000001001110010110110100111100010100010000101001000011000000001010000000000000000000000000001001111000100100100001100110111111001011001101111110010111100010010010000000010000111000000001100010101100110100111100010010010000111001000011000000001010000000000000000000000000001000100001110000000111000010000100100011001101111110010111100010010010000000010000111000000011100010101100110100111100010010010000111001000011000000001010000000000000000000000000001001111000101100100001100110111111001011001101111110010111100010110010000000010000111000000011100001000010010000111100010110010000100101000011000000001010000000000000000000000000001010100001110000000001100011111111100011001101111110010111100010110010000001010000111000000000100001000010010000111100010110010000100101000011000000001010000000000000000000000000001001111000100010100001100110111111001011001101111110010111100010001010000001010000111000000000110001111111110000111100010001010000110101000011000000001010000000000000000000000000001010100001110000000100001011001000100011001101111110010111100010001010000001010000111000000010110001111111110000111100010001010000110101000011000000001010000000000000000000000000001001111000101010100001100110111111001011001101111110010111100010101010000001010000111000000010000101100100010000111100010101010000101101000011000000001010000000000000000000000000001010100001110000000011001000010010010011001101111110010111100010101010000001010000111000000001000101100100010000111100010101010000101101000011000000001010000000000000000000000000001001111000100110100001100110111111001011001101111110010111100010011010000001010000111000000001100100001001001000111100010011010000111101000011000000001010000000000000000000000000001010100001110000000110111010010010101011001101111110010111100010011010000001010000111000000011100100001001001000111100010011010000111101000011000000001010000000000000000000000000001001111000101110100001100110111111001011001101111110010111100010111010000001010000111000000011011101001001010100111100010111010000100011000011000000001010000000000000000000000000001001100001110000000000110011000000101011001101111110010111100010111010000000110000111000000000011101001001010100111100010111010000100011000011000000001010000000000000000000000000001001111000100001100001100110111111001011001101111110010111100010000110000000110000111000000000011001100000010100111100010000110000110011000011000000001010000000000000000000000000001001100001110000000100100101100111000011001101111110010111100010000110000000110000111000000010011001100000010100111100010000110000110011000011000000001010000000000000000000000000001001111000101001100001100110111111001011001101111110010111100010100110000000110000111000000010010010110011100000111100010100110000101011000011000000001010000000000000000000000000001001100001110000000010111010110011101011001101111110010111100010100110000000110000111000000001010010110011100000111100010100110000101011000011000000001010000000000000000000000000001001111000100101100001100110111111001011001101111110010111100010010110000000110000111000000001011101011001110100111100010010110000111011000011000000001010000000000000000000000000001001100001110000000111001101010011000011001101111110010111100010010110000000110000111000000011011101011001110100111100010010110000111011000011000000001010000000000000000000000000001001111000101101100001100110111111001011001101111110010111100010110110000000110000111000000011100110101001100000111100010110110000100111000011000000001010000000000000000000000000001011100001110000000000100100001010110011001101111110010111100010110110000001110000111000000000100110101001100000111100010110110000100111000011000000001010000000000000000000000000001001111000100011100001100110111111001011001101111110010111100010001110000001110000111000000000010010000101011000111100010001110000110111000011000000001010000000000000000000000000001011100001110000000100000001010000101011001101111110010111100010001110000001110000111000000010010010000101011000111100010001110000110111000011000000001010000000000000000000000000001001111000101011100001100110111111001011001101111110010111100010101110000001110000111000000010000000101000010100111100010101110000101111000011000000001010000000000000000000000000001011100001110000000011011001100011111011001101111110010111100010101110000001110000111000000001000000101000010100111100010101110000101111000011000000001010000000000000000000000000001001111000100111100001100110111111001011001101111110010111100010011110000001110000111000000001101100110001111100111100010011110000111111000011000000001010000000000000000000000000001011100001110000000111010010111010010011001101111110010111100010011110000001110000111000000011101100110001111100111100010011110000111111000011000000001010000000000000000000000000001001111000101111100001100110111111001011001101111110010111100010111110000001110000111000000011101001011101001000111100010111110000100000100011000000001010000000000000000000000000001000010001110000000001010001100010110011001101111110010111100010111110000000001000111000000000101001011101001000111100010111110000100000100011000000001010000000000000000000000000001001111000100000010001100110111111001011001101111110010111100010000001000000001000111000000000101000110001011000111100010000001000110000100011000000001010000000000000000000000000001000010001110000000101000111110110111011001101111110010111100010000001000000001000111000000010101000110001011000111100010000001000110000100011000000001010000000000000000000000000001001111000101000010001100110111111001011001101111110010111100010100001000000001000111000000010100011111011011100111100010100001000101000100011000000001010000000000000000000000000001000010001110000000011110100100111011011001101111110010111100010100001000000001000111000000001100011111011011100111100010100001000101000100011000000001010000000000000000000000000001001111000100100010001100110111111001011001101111110010111100010010001000000001000111000000001111010010011101100111100010010001000111000100011000000001010000000000000000000000000001000010001110000000110110011111101000011001101111110010111100010010001000000001000111000000011111010010011101100111100010010001000111000100011000000001010000000000000000000000000001001111000101100010001100110111111001011001101111110010111100010110001000000001000111000000011011001111110100000111100010110001000100100100011000000001010000000000000000000000000001010010001110000000001100001101010100011001101111110010111100010110001000001001000111000000000011001111110100000111100010110001000100100100011000000001010000000000000000000000000001001111000100010010001100110111111001011001101111110010111100010001001000001001000111000000000110000110101010000111100010001001000110100100011000000001010000000000000000000000000001010010001110000000100001111010001101011001101111110010111100010001001000001001000111000000010110000110101010000111100010001001000110100100011000000001010000000000000000000000000001001111000101010010001100110111111001011001101111110010111100010101001000001001000111000000010000111101000110100111100010101001000101100100011000000001010000000000000000000000000001010010001110000000011010011110100000011001101111110010111100010101001000001001000111000000001000111101000110100111100010101001000101100100011000000001010000000000000000000000000001001111000100110010001100110111111001011001101111110010111100010011001000001001000111000000001101001111010000000111100010011001000111100100011000000001010000000000000000000000000001010010001110000000110000111001101111011001101111110010111100010011001000001001000111000000011101001111010000000111100010011001000111100100011000000001010000000000000000000000000001001111000101110010001100110111111001011001101111110010111100010111001000001001000111000000011000011100110111100111100010111001000100010100011000000001010000000000000000000000000001001010001110000000001101110110010100011001101111110010111100010111001000000101000111000000000000011100110111100111100010111001000100010100011000000001010000000000000000000000000001001111000100001010001100110111111001011001101111110010111100010000101000000101000111000000000110111011001010000111100010000101000110010100011000000001010000000000000000000000000001001010001110000000100111010010001001011001101111110010111100010000101000000101000111000000010110111011001010000111100010000101000110010100011000000001010000000000000000000000000001001111000101001010001100110111111001011001101111110010111100010100101000000101000111000000010011101001000100100111100010100101000101010100011000000001010000000000000000000000000001001010001110000000010101011001110011011001101111110010111100010100101000000101000111000000001011101001000100100111100010100101000101010100011000000001010000000000000000000000000001001111000100101010001100110111111001011001101111110010111100010010101000000101000111000000001010101100111001100111100010010101000111010100011000000001010000000000000000000000000001001010001110000000111000100011100010011001101111110010111100010010101000000101000111000000011010101100111001100111100010010101000111010100011000000001010000000000000000000000000001001111000101101010001100110111111001011001101111110010111100010110101000000101000111000000011100010001110001000111100010110101000100110100011000000001010000000000000000000000000001011010001110000000001100111001101111011001101111110010111100010110101000001101000111000000000100010001110001000111100010110101000100110100011000000001010000000000000000000000000001001111000100011010001100110111111001011001101111110010111100010001101000001101000111000000000110011100110111100111100010001101000110110100011000000001010000000000000000000000000001011010001110000000100010101100100111011001101111110010111100010001101000001101000111000000010110011100110111100111100010001101000110110100011000000001010000000000000000000000000001001111000101011010001100110111111001011001101111110010111100010101101000001101000111000000010001010110010011100111100010101101000101110100011000000001010000000000000000000000000001011010001110000000011111001010011000011001101111110010111100010101101000001101000111000000001001010110010011100111100010101101000101110100011000000001010000000000000000000000000001001111000100111010001100110111111001011001101111110010111100010011101000001101000111000000001111100101001100000111100010011101000111110100011000000001010000000000000000000000000001011010001110000000111011110010111011011001101111110010111100010011101000001101000111000000011111100101001100000111100010011101000111110100011000000001010000000000000000000000000001001111000101111010001100110111111001011001101111110010111100010111101000001101000111000000011101111001011101100111100010111101000100001100011000000001010000000000000000000000000001000110001110000000000110000001001001011001101111110010111100010111101000000011000111000000000101111001011101100111100010111101000100001100011000000001010000000000000000000000000001001111000100000110001100110111111001011001101111110010111100010000011000000011000111000000000011000000100100100111100010000011000110001100011000000001010000000000000000000000000001000110001110000000101100000000101011011001101111110010111100010000011000000011000111000000010011000000100100100111100010000011000110001100011000000001010000000000000000000000000001001111000101000110001100110111111001011001101111110010111100010100011000000011000111000000010110000000010101100111100010100011000101001100011000000001010000000000000000000000000001000110001110000000010010110001010101011001101111110010111100010100011000000011000111000000001110000000010101100111100010100011000101001100011000000001010000000000000000000000000001001111000100100110001100110111111001011001101111110010111100010010011000000011000111000000001001011000101010100111100010010011000111001100011000000001010000000000000000000000000001000110001110000000111100101000100110011001101111110010111100010010011000000011000111000000011001011000101010100111100010010011000111001100011000000001010000000000000000000000000001011111000100000000001100110111111001011001101111110011111100010000000000000011000111000000011110010100010011001111100010000000000100101100011000000001010000000000000000000000000001010110001110000000001100011111011010011001101111110011111100010000000000001011000111000000000110010100010011001111100010000000000100101100011000000001010000000000000000000000000001011111000101000000001100110111111001011001101111110011111100010100000000001011000111000000000110001111101101001111100010100000000110101100011000000001010000000000000000000000000001010110001110000000101111100100110011011001101111110011111100010100000000001011000111000000010110001111101101001111100010100000000110101100011000000001010000000000000000000000000001011111000100100000001100110111111001011001101111110011111100010010000000001011000111000000010111110010011001101111100010010000000101101100011000000001010000000000000000000000000001010110001110000000010111011000100001011001101111110011111100010010000000001011000111000000001111110010011001101111100010010000000101101100011000000001010000000000000000000000000001011111000101100000001100110111111001011001101111110011111100010110000000001011000111000000001011101100010000101111100010110000000111101100011000000001010000000000000000000000000001010110001110000000111100110010101111011001101111110011111100010110000000001011000111000000011011101100010000101111100010110000000111101100011000000001010000000000000000000000000001011111000100010000001100110111111001011001101111110011111100010001000000001011000111000000011110011001010111101111100010001000000100011100011000000001010000000000000000000000000001001110001110000000000100010000101101011001101111110011111100010001000000000111000111000000000110011001010111101111100010001000000100011100011000000001010000000000000000000000000001011111000101010000001100110111111001011001101111110011111100010101000000000111000111000000000010001000010110101111100010101000000110011100011000000001010000000000000000000000000001001110001110000000100101011011111000011001101111110011111100010101000000000111000111000000010010001000010110101111100010101000000110011100011000000001010000000000000000000000000001011111000100110000001100110111111001011001101111110011111100010011000000000111000111000000010010101101111100001111100010011000000101011100011000000001010000000000000000000000000001001110001110000000010111010001001001011001101111110011111100010011000000000111000111000000001010101101111100001111100010011000000101011100011000000001010000000000000000000000000001011111000101110000001100110111111001011001101111110011111100010111000000000111000111000000001011101000100100101111100010111000000111011100011000000001010000000000000000000000000001001110001110000000110011010110111111011001101111110011111100010111000000000111000111000000011011101000100100101111100010111000000111011100011000000001010000000000000000000000000001011111000100001000001100110111111001011001101111110011111100010000100000000111000111000000011001101011011111101111100010000100000100111100011000000001010000000000000000000000000001011110001110000000000000101101100010011001101111110011111100010000100000001111000111000000000001101011011111101111100010000100000100111100011000000001010000000000000000000000000001011111000101001000001100110111111001011001101111110011111100010100100000001111000111000000000000010110110001001111100010100100000110111100011000000001010000000000000000000000000001011110001110000000100001110111011010011001101111110011111100010100100000001111000111000000010000010110110001001111100010100100000110111100011000000001010000000000000000000000000001011111000100101000001100110111111001011001101111110011111100010010100000001111000111000000010000111011101101001111100010010100000101111100011000000001010000000000000000000000000001011110001110000000010100010000001111011001101111110011111100010010100000001111000111000000001000111011101101001111100010010100000101111100011000000001010000000000000000000000000001011111000101101000001100110111111001011001101111110011111100010110100000001111000111000000001010001000000111101111100010110100000111111100011000000001010000000000000000000000000001011110001110000000111001101110111000011001101111110011111100010110100000001111000111000000011010001000000111101111100010110100000111111100011000000001010000000000000000000000000001011111000100011000001100110111111001011001101111110011111100010001100000001111000111000000011100110111011100001111100010001100000100000010011000000001010000000000000000000000000001000001001110000000001110010100100111011001101111110011111100010001100000000000100111000000000100110111011100001111100010001100000100000010011000000001010000000000000000000000000001011111000101011000001100110111111001011001101111110011111100010101100000000000100111000000000111001010010011101111100010101100000110000010011000000001010000000000000000000000000001000001001110000000100000100011110000011001101111110011111100010101100000000000100111000000010111001010010011101111100010101100000110000010011000000001010000000000000000000000000001011111000100111000001100110111111001011001101111110011111100010011100000000000100111000000010000010001111000001111100010011100000101000010011000000001010000000000000000000000000001000001001110000000010000101110010011011001101111110011111100010011100000000000100111000000001000010001111000001111100010011100000101000010011000000001010000000000000000000000000001011111000101111000001100110111111001011001101111110011111100010111100000000000100111000000001000010111001001101111100010111100000111000010011000000001010000000000000000000000000001000001001110000000110101001010001101011001101111110011111100010111100000000000100111000000011000010111001001101111100010111100000111000010011000000001010000000000000000000000000001011111000100000100001100110111111001011001101111110011111100010000010000000000100111000000011010100101000110101111100010000010000100100010011000000001010000000000000000000000000001010001001110000000001100010001010111011001101111110011111100010000010000001000100111000000000010100101000110101111100010000010000100100010011000000001010000000000000000000000000001011111000101000100001100110111111001011001101111110011111100010100010000001000100111000000000110001000101011101111100010100010000110100010011000000001010000000000000000000000000001010001001110000000101000011100101011011001101111110011111100010100010000001000100111000000010110001000101011101111100010100010000110100010011000000001010000000000000000000000000001011111000100100100001100110111111001011001101111110011111100010010010000001000100111000000010100001110010101101111100010010010000101100010011000000001010000000000000000000000000001010001001110000000010110101111010001011001101111110011111100010010010000001000100111000000001100001110010101101111100010010010000101100010011000000001010000000000000000000000000001011111000101100100001100110111111001011001101111110011111100010110010000001000100111000000001011010111101000101111100010110010000111100010011000000001010000000000000000000000000001010001001110000000111100000000111110011001101111110011111100010110010000001000100111000000011011010111101000101111100010110010000111100010011000000001010000000000000000000000000001011111000100010100001100110111111001011001101111110011111100010001010000001000100111000000011110000000011111001111100010001010000100010010011000000001010000000000000000000000000001001001001110000000001111010000101000011001101111110011111100010001010000000100100111000000000110000000011111001111100010001010000100010010011000000001010000000000000000000000000001011111000101010100001100110111111001011001101111110011111100010101010000000100100111000000000111101000010100001111100010101010000110010010011000000001010000000000000000000000000001001001001110000000100101000111110001011001101111110011111100010101010000000100100111000000010111101000010100001111100010101010000110010010011000000001010000000000000000000000000001011111000100110100001100110111111001011001101111110011111100010011010000000100100111000000010010100011111000101111100010011010000101010010011000000001010000000000000000000000000001001001001110000000010010111000111011011001101111110011111100010011010000000100100111000000001010100011111000101111100010011010000101010010011000000001010000000000000000000000000001011111000101110100001100110111111001011001101111110011111100010111010000000100100111000000001001011100011101101111100010111010000111010010011000000001010000000000000000000000000001001001001110000000111100111110110101011001101111110011111100010111010000000100100111000000011001011100011101101111100010111010000111010010011000000001010000000000000000000000000001011111000100001100001100110111111001011001101111110011111100010000110000000100100111000000011110011111011010101111100010000110000100110010011000000001010000000000000000000000000001011001001110000000000000110000100000011001101111110011111100010000110000001100100111000000000110011111011010101111100010000110000100110010011000000001010000000000000000000000000001011111000101001100001100110111111001011001101111110011111100010100110000001100100111000000000000011000010000001111100010100110000110110010011000000001010000000000000000000000000001011001001110000000101011111100000100011001101111110011111100010100110000001100100111000000010000011000010000001111100010100110000110110010011000000001010000000000000000000000000001011111000100101100001100110111111001011001101111110011111100010010110000001100100111000000010101111110000010001111100010010110000101110010011000000001010000000000000000000000000001011001001110000000011100111000101110011001101111110011111100010010110000001100100111000000001101111110000010001111100010010110000101110010011000000001010000000000000000000000000001011111000101101100001100110111111001011001101111110011111100010110110000001100100111000000001110011100010111001111100010110110000111110010011000000001010000000000000000000000000001011001001110000000110100111011010001011001101111110011111100010110110000001100100111000000011110011100010111001111100010110110000111110010011000000001010000000000000000000000000001011111000100011100001100110111111001011001101111110011111100010001110000001100100111000000011010011101101000101111100010001110000100001010011000000001010000000000000000000000000001000101001110000000000110100111101111011001101111110011111100010001110000000010100111000000000010011101101000101111100010001110000100001010011000000001010000000000000000000000000001011111000101011100001100110111111001011001101111110011111100010101110000000010100111000000000011010011110111101111100010101110000110001010011000000001010000000000000000000000000001000101001110000000101000101001111001011001101111110011111100010101110000000010100111000000010011010011110111101111100010101110000110001010011000000001010000000000000000000000000001011111000100111100001100110111111001011001101111110011111100010011110000000010100111000000010100010100111100101111100010011110000101001010011000000001010000000000000000000000000001000101001110000000011001001111010011011001101111110011111100010011110000000010100111000000001100010100111100101111100010011110000101001010011000000001010000000000000000000000000001011111000101111100001100110111111001011001101111110011111100010111110000000010100111000000001100100111101001101111100010111110000111001010011000000001010000000000000000000000000001000101001110000000111101011100100110011001101111110011111100010111110000000010100111000000011100100111101001101111100010111110000111001010011000000001010000000000000000000000000001011111000100000010001100110111111001011001101111110011111100010000001000000010100111000000011110101110010011001111100010000001000100101010011000000001010000000000000000000000000001010101001110000000000010110011111000011001101111110011111100010000001000001010100111000000000110101110010011001111100010000001000100101010011000000001010000000000000000000000000001011111000101000010001100110111111001011001101111110011111100010100001000001010100111000000000001011001111100001111100010100001000110101010011000000001010000000000000000000000000001010101001110000000101111001000100010011001101111110011111100010100001000001010100111000000010001011001111100001111100010100001000110101010011000000001010000000000000000000000000001011111000100100010001100110111111001011001101111110011111100010010001000001010100111000000010111100100010001001111100010010001000101101010011000000001010000000000000000000000000001010101001110000000010000110111111000011001101111110011111100010010001000001010100111000000001111100100010001001111100010010001000101101010011000000001010000000000000000000000000001011111000101100010001100110111111001011001101111110011111100010110001000001010100111000000001000011011111100001111100010110001000111101010011000000001010000000000000000000000000001010101001110000000110100000000101101011001101111110011111100010110001000001010100111000000011000011011111100001111100010110001000111101010011000000001010000000000000000000000000001011111000100010010001100110111111001011001101111110011111100010001001000001010100111000000011010000000010110101111100010001001000100011010011000000001010000000000000000000000000001001101001110000000001011100100101111011001101111110011111100010001001000000110100111000000000010000000010110101111100010001001000100011010011000000001010000000000000000000000000001011111000101010010001100110111111001011001101111110011111100010101001000000110100111000000000101110010010111101111100010101001000110011010011000000001010000000000000000000000000001001101001110000000100011101111000110011001101111110011111100010101001000000110100111000000010101110010010111101111100010101001000110011010011000000001010000000000000000000000000001011111000100110010001100110111111001011001101111110011111100010011001000000110100111000000010001110111100011001111100010011001000101011010011000000001010000000000000000000000000001001101001110000000010100110000001000011001101111110011111100010011001000000110100111000000001001110111100011001111100010011001000101011010011000000001010000000000000000000000000001011111000101110010001100110111111001011001101111110011111100010111001000000110100111000000001010011000000100001111100010111001000111011010011000000001010000000000000000000000000001001101001110000000110000011010100000011001101111110011111100010111001000000110100111000000011010011000000100001111100010111001000111011010011000000001010000000000000000000000000001011111000100001010001100110111111001011001101111110011111100010000101000000110100111000000011000001101010000001111100010000101000100111010011000000001010000000000000000000000000001011101001110000000001110101100001001011001101111110011111100010000101000001110100111000000000000001101010000001111100010000101000100111010011000000001010000000000000000000000000001011111000101001010001100110111111001011001101111110011111100010100101000001110100111000000000111010110000100101111100010100101000110111010011000000001010000000000000000000000000001011101001110000000101000011000000111011001101111110011111100010100101000001110100111000000010111010110000100101111100010100101000110111010011000000001010000000000000000000000000001011111000100101010001100110111111001011001101111110011111100010010101000001110100111000000010100001100000011101111100010010101000101111010011000000001010000000000000000000000000001011101001110000000010000001011100111011001101111110011111100010010101000001110100111000000001100001100000011101111100010010101000101111010011000000001010000000000000000000000000001011111000101101010001100110111111001011001101111110011111100010110101000001110100111000000001000000101110011101111100010110101000111111010011000000001010000000000000000000000000001011101001110000000110101000100101011011001101111110011111100010110101000001110100111000000011000000101110011101111100010110101000111111010011000000001010000000000000000000000000001011111000100011010001100110111111001011001101111110011111100010001101000001110100111000000011010100010010101101111100010001101000100000110011000000001010000000000000000000000000001000011001110000000001000110001011110011001101111110011111100010001101000000001100111000000000010100010010101101111100010001101000100000110011000000001010000000000000000000000000001011111000101011010001100110111111001011001101111110011111100010101101000000001100111000000000100011000101111001111100010101101000110000110011000000001010000000000000000000000000001000011001110000000101111000001010101011001101111110011111100010101101000000001100111000000010100011000101111001111100010101101000110000110011000000001010000000000000000000000000001011111000100111010001100110111111001011001101111110011111100010011101000000001100111000000010111100000101010101111100010011101000101000110011000000001010000000000000000000000000001000011001110000000011100100001100111011001101111110011111100010011101000000001100111000000001111100000101010101111100010011101000101000110011000000001010000000000000000000000000001011111000101111010001100110111111001011001101111110011111100010111101000000001100111000000001110010000110011101111100010111101000111000110011000000001010000000000000000000000000001000011001110000000110000100011110010011001101111110011111100010111101000000001100111000000011110010000110011101111100010111101000111000110011000000001010000000000000000000000000001011111000100000110001100110111111001011001101111110011111100010000011000000001100111000000011000010001111001001111100010000011000100100110011000000001010000000000000000000000000001010011001110000000001101001101111101011001101111110011111100010000011000001001100111000000000000010001111001001111100010000011000100100110011000000001010000000000000000000000000001011111000101000110001100110111111001011001101111110011111100010100011000001001100111000000000110100110111110101111100010100011000110100110011000000001010000000000000000000000000001010011001110000000100001101011111001011001101111110011111100010100011000001001100111000000010110100110111110101111100010100011000110100110011000000001010000000000000000000000000001011111000100100110001100110111111001011001101111110011111100010010011000001001100111000000010000110101111100101111100010010011000101100110011000000001010000000000000000000000000001010011001110000000010011101101000011011001101111110011111100010010011000001001100111000000001000110101111100101111100010010011000101100110011000000001010000000000000000000000000001000000100100000000001100110111111001011001101111110010000010010000000000001001100111000000001001110110100001100000010010000000000111100110011000000001010000000000000000000000000001010011001110000000111110111111111000011001101111110010000010010000000000001001100111000000011001110110100001100000010010000000000111100110011000000001010000000000000000000000000001000000100101000000001100110111111001011001101111110010000010010100000000001001100111000000011111011111111100000000010010100000000100010110011000000001010000000000000000000000000001001011001110000000001011100001110010011001101111110010000010010100000000000101100111000000000111011111111100000000010010100000000100010110011000000001010000000000000000000000000001000000100100100000001100110111111001011001101111110010000010010010000000000101100111000000000101110000111001000000010010010000000110010110011000000001010000000000000000000000000001001011001110000000100000110100010110011001101111110010000010010010000000000101100111000000010101110000111001000000010010010000000110010110011000000001010000000000000000000000000001000000100101100000001100110111111001011001101111110010000010010110000000000101100111000000010000011010001011000000010010110000000101010110011000000001010000000000000000000000000001001011001110000000011110111000111000011001101111110010000010010110000000000101100111000000001000011010001011000000010010110000000101010110011000000001010000000000000000000000000001000000100100010000001100110111111001011001101111110010000010010001000000000101100111000000001111011100011100000000010010001000000111010110011000000001010000000000000000000000000001001011001110000000111011111000100111011001101111110010000010010001000000000101100111000000011111011100011100000000010010001000000111010110011000000001010000000000000000000000000001000000100101010000001100110111111001011001101111110010000010010101000000000101100111000000011101111100010011100000010010101000000100110110011000000001010000000000000000000000000001011011001110000000000110110010001100011001101111110010000010010101000000001101100111000000000101111100010011100000010010101000000100110110011000000001010000000000000000000000000001000000100100110000001100110111111001011001101111110010000010010011000000001101100111000000000011011001000110000000010010011000000110110110011000000001010000000000000000000000000001011011001110000000101101011010011111011001101111110010000010010011000000001101100111000000010011011001000110000000010010011000000110110110011000000001010000000000000000000000000001000000100101110000001100110111111001011001101111110010000010010111000000001101100111000000010110101101001111100000010010111000000101110110011000000001010000000000000000000000000001011011001110000000010100000001011101011001101111110010000010010111000000001101100111000000001110101101001111100000010010111000000101110110011000000001010000000000000000000000000001000000100100001000001100110111111001011001101111110010000010010000100000001101100111000000001010000000101110100000010010000100000111110110011000000001010000000000000000000000000001011011001110000000110101010010111000011001101111110010000010010000100000001101100111000000011010000000101110100000010010000100000111110110011000000001010000000000000000000000000001000000100101001000001100110111111001011001101111110010000010010100100000001101100111000000011010101001011100000000010010100100000100001110011000000001010000000000000000000000000001000111001110000000000110101001110000011001101111110010000010010100100000000011100111000000000010101001011100000000010010100100000100001110011000000001010000000000000000000000000001000000100100101000001100110111111001011001101111110010000010010010100000000011100111000000000011010100111000000000010010010100000110001110011000000001010000000000000000000000000001000111001110000000100101100101111111011001101111110010000010010010100000000011100111000000010011010100111000000000010010010100000110001110011000000001010000000000000000000000000001000000100101101000001100110111111001011001101111110010000010010110100000000011100111000000010010110010111111100000010010110100000101001110011000000001010000000000000000000000000001000111001110000000011011001010011110011001101111110010000010010110100000000011100111000000001010110010111111100000010010110100000101001110011000000001010000000000000000000000000001000000100100011000001100110111111001011001101111110010000010010001100000000011100111000000001101100101001111000000010010001100000111001110011000000001010000000000000000000000000001000111001110000000111010110111111011011001101111110010000010010001100000000011100111000000011101100101001111000000010010001100000111001110011000000001010000000000000000000000000001000000100101011000001100110111111001011001101111110010000010010101100000000011100111000000011101011011111101100000010010101100000100101110011000000001010000000000000000000000000001010111001110000000001010011010001000011001101111110010000010010101100000001011100111000000000101011011111101100000010010101100000100101110011000000001010000000000000000000000000001000000100100111000001100110111111001011001101111110010000010010011100000001011100111000000000101001101000100000000010010011100000110101110011000000001010000000000000000000000000001010111001110000000100111000001100011011001101111110010000010010011100000001011100111000000010101001101000100000000010010011100000110101110011000000001010000000000000000000000000001000000100101111000001100110111111001011001101111110010000010010111100000001011100111000000010011100000110001100000010010111100000101101110011000000001010000000000000000000000000001010111001110000000010000100101100101011001101111110010000010010111100000001011100111000000001011100000110001100000010010111100000101101110011000000001010000000000000000000000000001000000100100000100001100110111111001011001101111110010000010010000010000001011100111000000001000010010110010100000010010000010000111101110011000000001010000000000000000000000000001010111001110000000110111110011000000011001101111110010000010010000010000001011100111000000011000010010110010100000010010000010000111101110011000000001010000000000000000000000000001000000100101000100001100110111111001011001101111110010000010010100010000001011100111000000011011111001100000000000010010100010000100011110011000000001010000000000000000000000000001001111001110000000000111000110010001011001101111110010000010010100010000000111100111000000000011111001100000000000010010100010000100011110011000000001010000000000000000000000000001000000100100100100001100110111111001011001101111110010000010010010010000000111100111000000000011100011001000100000010010010010000110011110011000000001010000000000000000000000000001001111001110000000101100011100101101011001101111110010000010010010010000000111100111000000010011100011001000100000010010010010000110011110011000000001010000000000000000000000000001000000100101100100001100110111111001011001101111110010000010010110010000000111100111000000010110001110010110100000010010110010000101011110011000000001010000000000000000000000000001001111001110000000011010011110110101011001101111110010000010010110010000000111100111000000001110001110010110100000010010110010000101011110011000000001010000000000000000000000000001000000100100010100001100110111111001011001101111110010000010010001010000000111100111000000001101001111011010100000010010001010000111011110011000000001010000000000000000000000000001001111001110000000111110101110110110011001101111110010000010010001010000000111100111000000011101001111011010100000010010001010000111011110011000000001010000000000000000000000000001000000100101010100001100110111111001011001101111110010000010010101010000000111100111000000011111010111011011000000010010101010000100111110011000000001010000000000000000000000000001011111001110000000000000100000111100011001101111110010000010010101010000001111100111000000000111010111011011000000010010101010000100111110011000000001010000000000000000000000000001000000100100110100001100110111111001011001101111110010000010010011010000001111100111000000000000010000011110000000010010011010000110111110011000000001010000000000000000000000000001011111001110000000101100011100100111011001101111110010000010010011010000001111100111000000010000010000011110000000010010011010000110111110011000000001010000000000000000000000000001000000100101110100001100110111111001011001101111110010000010010111010000001111100111000000010110001110010011100000010010111010000101111110011000000001010000000000000000000000000001011111001110000000010101010000000111011001101111110010000010010111010000001111100111000000001110001110010011100000010010111010000101111110011000000001010000000000000000000000000001000000100100001100001100110111111001011001101111110010000010010000110000001111100111000000001010101000000011100000010010000110000111111110011000000001010000000000000000000000000001011111001110000000111000100100010101011001101111110010000010010000110000001111100111000000011010101000000011100000010010000110000111111110011000000001010000000000000000000000000001000000100101001100001100110111111001011001101111110010000010010100110000001111100111000000011100010010001010100000010010100110000100000001011000000001010000000000000000000000000001000000100101001100001100110111111001011001101111110010000010010100110000000000010111000000000100010010001010100000010010100110000100000001011000000001010000000000000000000000000001000000100100101100001100110111111001011001101111110010000010010010110000000000010111000000000100010010001010100000010010010110000110000001011000000001010000000000000000000000000001000000100101101100001100110111111001011001101111110010000010010110110000000000010111000000010100010010001010100000010010110110000110000001011000000001010000000000000000000000000001000000100100011100001100110111111001011001101111110010000010010001110000000000010111000000010100010010001010100000010010001110000101000001011000000001010000000000000000000000000001000000100101011100001100110111111001011001101111110010000010010101110000000000010111000000001100010010001010100000010010101110000101000001011000000001010000000000000000000000000001000000100100111100001100110111111001011001101111110010000010010011110000000000010111000000001100010010001010100000010010011110000111000001011000000001010000000000000000000000000001000000100101111100001100110111111001011001101111110010000010010111110000000000010111000000011100010010001010100000010010111110000111000001011000000001010000000000000000000000000001000000100100000010001100110111111001011001101111110010000010010000001000000000010111000000011100010010001010100000010010000001000100100001011000000001010000000000000000000000000001000000100101000010001100110111111001011001101111110010000010010100001000001000010111000000000100010010001010100000010010100001000100100001011000000001010000000000000000000000000001000000100100100010001100110111111001011001101111110010000010010010001000001000010111000000000100010010001010100000010010010001000110100001011000000001010000000000000000000000000001000000100101100010001100110111111001011001101111110010000010010110001000001000010111000000010100010010001010100000010010110001000110100001011000000001010000000000000000000000000001000000100100010010001100110111111001011001101111110010000010010001001000001000010111000000010100010010001010100000010010001001000101100001011000000001010000000000000000000000000001000000100101010010001100110111111001011001101111110010000010010101001000001000010111000000001100010010001010100000010010101001000101100001011000000001010000000000000000000000000001000000100100110010001100110111111001011001101111110010000010010011001000001000010111000000001100010010001010100000010010011001000111100001011000000001010000000000000000000000000001000000100101110010001100110111111001011001101111110010000010010111001000001000010111000000011100010010001010100000010010111001000111100001011000000001010000000000000000000000000001000000100100001010001100110111111001011001101111110010000010010000101000001000010111000000011100010010001010100000010010000101000100010001011000000001010000000000000000000000000001000000100101001010001100110111111001011001101111110010000010010100101000000100010111000000000100010010001010100000010010100101000100010001011000000001010000000000000000000000000001000000100100101010001100110111111001011001101111110010000010010010101000000100010111000000000100010010001010100000010010010101000110010001011000000001010000000000000000000000000001000000100101101010001100110111111001011001101111110010000010010110101000000100010111000000010100010010001010100000010010110101000110010001011000000001010000000000000000000000000001000000100100011010001100110111111001011001101111110010000010010001101000000100010111000000010100010010001010100000010010001101000101010001011000000001010000000000000000000000000001000000100101011010001100110111111001011001101111110010000010010101101000000100010111000000001100010010001010100000010010101101000101010001011000000001010000000000000000000000000001000000100100111010001100110111111001011001101111110010000010010011101000000100010111000000001100010010001010100000010010011101000111010001011000000001010000000000000000000000000001000000100101111010001100110111111001011001101111110010000010010111101000000100010111000000011100010010001010100000010010111101000111010001011000000001010000000000000000000000000001000000100100000110001100110111111001011001101111110010000010010000011000000100010111000000011100010010001010100000010010000011000100110001011000000001010000000000000000000000000001000000100101000110001100110111111001011001101111110010000010010100011000001100010111000000000100010010001010100000010010100011000100110001011000000001010000000000000000000000000001000000100100100110001100110111111001011001101111110010000010010010011000001100010111000000000100010010001010100000010010010011000110110001011000000001010000000000000000000000000001010000100100000000001100110111111001011001101111110011000010010000000000001100010111000000010100010010001010101000010010000000000110110001011000000001010000000000000000000000000001010000100101000000001100110111111001011001101111110011000010010100000000001100010111000000010100010010001010101000010010100000000101110001011000000001010000000000000000000000000001010000100100100000001100110111111001011001101111110011000010010010000000001100010111000000001100010010001010101000010010010000000101110001011000000001010000000000000000000000000001010000100101100000001100110111111001011001101111110011000010010110000000001100010111000000001100010010001010101000010010110000000111110001011000000001010000000000000000000000000001010000100100010000001100110111111001011001101111110011000010010001000000001100010111000000011100010010001010101000010010001000000111110001011000000001010000000000000000000000000001010000100101010000001100110111111001011001101111110011000010010101000000001100010111000000011100010010001010101000010010101000000100001001011000000001010000000000000000000000000001010000100100110000001100110111111001011001101111110011000010010011000000000010010111000000000100010010001010101000010010011000000100001001011000000001010000000000000000000000000001010000100101110000001100110111111001011001101111110011000010010111000000000010010111000000000100010010001010101000010010111000000110001001011000000001010000000000000000000000000001010000100100001000001100110111111001011001101111110011000010010000100000000010010111000000010100010010001010101000010010000100000110001001011000000001010000000000000000000000000001010000100101001000001100110111111001011001101111110011000010010100100000000010010111000000010100010010001010101000010010100100000101001001011000000001010000000000000000000000000001010000100100101000001100110111111001011001101111110011000010010010100000000010010111000000001100010010001010101000010010010100000101001001011000000001010000000000000000000000000001010000100101101000001100110111111001011001101111110011000010010110100000000010010111000000001100010010001010101000010010110100000111001001011000000001010000000000000000000000000001010000100100011000001100110111111001011001101111110011000010010001100000000010010111000000011100010010001010101000010010001100000111001001011000000001010000000000000000000000000001010000100101011000001100110111111001011001101111110011000010010101100000000010010111000000011100010010001010101000010010101100000100101001011000000001010000000000000000000000000001010000100100111000001100110111111001011001101111110011000010010011100000001010010111000000000100010010001010101000010010011100000100101001011000000001010000000000000000000000000001010000100101111000001100110111111001011001101111110011000010010111100000001010010111000000000100010010001010101000010010111100000110101001011000000001010000000000000000000000000001010000100100000100001100110111111001011001101111110011000010010000010000001010010111000000010100010010001010101000010010000010000110101001011000000001010000000000000000000000000001010000100101000100001100110111111001011001101111110011000010010100010000001010010111000000010100010010001010101000010010100010000101101001011000000001010000000000000000000000000001010000100100100100001100110111111001011001101111110011000010010010010000001010010111000000001100010010001010101000010010010010000101101001011000000001010000000000000000000000000001010000100101100100001100110111111001011001101111110011000010010110010000001010010111000000001100010010001010101000010010110010000111101001011000000001010000000000000000000000000001010000100100010100001100110111111001011001101111110011000010010001010000001010010111000000011100010010001010101000010010001010000111101001011000000001010000000000000000000000000001010000100101010100001100110111111001011001101111110011000010010101010000001010010111000000011100010010001010101000010010101010000100011001011000000001010000000000000000000000000001010000100100110100001100110111111001011001101111110011000010010011010000000110010111000000000100010010001010101000010010011010000100011001011000000001010000000000000000000000000001010000100101110100001100110111111001011001101111110011000010010111010000000110010111000000000100010010001010101000010010111010000110011001011000000001010000000000000000000000000001010000100100001100001100110111111001011001101111110011000010010000110000000110010111000000010100010010001010101000010010000110000110011001011000000001010000000000000000000000000001010000100101001100001100110111111001011001101111110011000010010100110000000110010111000000010100010010001010101000010010100110000101011001011000000001010000000000000000000000000001010000100100101100001100110111111001011001101111110011000010010010110000000110010111000000001100010010001010101000010010010110000101011001011000000001010000000000000000000000000001010000100101101100001100110111111001011001101111110011000010010110110000000110010111000000001100010010001010101000010010110110000111011001011000000001010000000000000000000000000001010000100100011100001100110111111001011001101111110011000010010001110000000110010111000000011100010010001010101000010010001110000111011001011000000001010000000000000000000000000001010000100101011100001100110111111001011001101111110011000010010101110000000110010111000000011100010010001010101000010010101110000100111001011000000001010000000000000000000000000001010000100100111100001100110111111001011001101111110011000010010011110000001110010111000000000100010010001010101000010010011110000100111001011000000001010000000000000000000000000001010000100101111100001100110111111001011001101111110011000010010111110000001110010111000000000100010010001010101000010010111110000110111001011000000001010000000000000000000000000001010000100100000010001100110111111001011001101111110011000010010000001000001110010111000000010100010010001010101000010010000001000110111001011000000001010000000000000000000000000001010000100101000010001100110111111001011001101111110011000010010100001000001110010111000000010100010010001010101000010010100001000101111001011000000001010000000000000000000000000001010000100100100010001100110111111001011001101111110011000010010010001000001110010111000000001100010010001010101000010010010001000101111001011000000001010000000000000000000000000001010000100101100010001100110111111001011001101111110011000010010110001000001110010111000000001100010010001010101000010010110001000111111001011000000001010000000000000000000000000001010000100100010010001100110111111001011001101111110011000010010001001000001110010111000000011100010010001010101000010010001001000111111001011000000001010000000000000000000000000001010000100101010010001100110111111001011001101111110011000010010101001000001110010111000000011100010010001010101000010010101001000100000101011000000001010000000000000000000000000001010000100100110010001100110111111001011001101111110011000010010011001000000001010111000000000100010010001010101000010010011001000100000101011000000001010000000000000000000000000001010000100101110010001100110111111001011001101111110011000010010111001000000001010111000000000100010010001010101000010010111001000110000101011000000001010000000000000000000000000001010000100100001010001100110111111001011001101111110011000010010000101000000001010111000000010100010010001010101000010010000101000110000101011000000001010000000000000000000000000001010000100101001010001100110111111001011001101111110011000010010100101000000001010111000000010100010010001010101000010010100101000101000101011000000001010000000000000000000000000001010000100100101010001100110111111001011001101111110011000010010010101000000001010111000000001100010010001010101000010010010101000101000101011000000001010000000000000000000000000001010000100101101010001100110111111001011001101111110011000010010110101000000001010111000000001100010010001010101000010010110101000111000101011000000001010000000000000000000000000001010000100100011010001100110111111001011001101111110011000010010001101000000001010111000000011100010010001010101000010010001101000111000101011000000001010000000000000000000000000001010000100101011010001100110111111001011001101111110011000010010101101000000001010111000000011100010010001010101000010010101101000100100101011000000001010000000000000000000000000001010000100100111010001100110111111001011001101111110011000010010011101000001001010111000000000100010010001010101000010010011101000100100101011000000001010000000000000000000000000001010000100101111010001100110111111001011001101111110011000010010111101000001001010111000000000100010010001010101000010010111101000110100101011000000001010000000000000000000000000001010000100100000110001100110111111001011001101111110011000010010000011000001001010111000000010100010010001010101000010010000011000110100101011000000001010000000000000000000000000001010000100101000110001100110111111001011001101111110011000010010100011000001001010111000000010100010010001010101000010010100011000101100101011000000001010000000000000000000000000001010000100100100110001100110111111001011001101111110011000010010010011000001001010111000000001100010010001010101000010010010011000101100101011000000001010000000000000000000000000001001000100100000000001100110111111001011001101111110010100010010000000000001001010111000000001100010010001010100100010010000000000111100101011000000001010000000000000000000000000001001000100101000000001100110111111001011001101111110010100010010100000000001001010111000000011100010010001010100100010010100000000111100101011000000001010000000000000000000000000001001000100100100000001100110111111001011001101111110010100010010010000000001001010111000000011100010010001010100100010010010000000100010101011000000001010000000000000000000000000001001000100101100000001100110111111001011001101111110010100010010110000000000101010111000000000100010010001010100100010010110000000100010101011000000001010000000000000000000000000001001000100100010000001100110111111001011001101111110010100010010001000000000101010111000000000100010010001010100100010010001000000110010101011000000001010000000000000000000000000001001000100101010000001100110111111001011001101111110010100010010101000000000101010111000000010100010010001010100100010010101000000110010101011000000001010000000000000000000000000001001000100100110000001100110111111001011001101111110010100010010011000000000101010111000000010100010010001010100100010010011000000101010101011000000001010000000000000000000000000001001000100101110000001100110111111001011001101111110010100010010111000000000101010111000000001100010010001010100100010010111000000101010101011000000001010000000000000000000000000001001000100100001000001100110111111001011001101111110010100010010000100000000101010111000000001100010010001010100100010010000100000111010101011000000001010000000000000000000000000001001000100101001000001100110111111001011001101111110010100010010100100000000101010111000000011100010010001010100100010010100100000111010101011000000001010000000000000000000000000001001000100100101000001100110111111001011001101111110010100010010010100000000101010111000000011100010010001010100100010010010100000100110101011000000001010000000000000000000000000001001000100101101000001100110111111001011001101111110010100010010110100000001101010111000000000100010010001010100100010010110100000100110101011000000001010000000000000000000000000001001000100100011000001100110111111001011001101111110010100010010001100000001101010111000000000100010010001010100100010010001100000110110101011000000001010000000000000000000000000001001000100101011000001100110111111001011001101111110010100010010101100000001101010111000000010100010010001010100100010010101100000110110101011000000001010000000000000000000000000001001000100100111000001100110111111001011001101111110010100010010011100000001101010111000000010100010010001010100100010010011100000101110101011000000001010000000000000000000000000001001000100101111000001100110111111001011001101111110010100010010111100000001101010111000000001100010010001010100100010010111100000101110101011000000001010000000000000000000000000001001000100100000100001100110111111001011001101111110010100010010000010000001101010111000000001100010010001010100100010010000010000111110101011000000001010000000000000000000000000001001000100101000100001100110111111001011001101111110010100010010100010000001101010111000000011100010010001010100100010010100010000111110101011000000001010000000000000000000000000001001000100100100100001100110111111001011001101111110010100010010010010000001101010111000000011100010010001010100100010010010010000100001101011000000001010000000000000000000000000001001000100101100100001100110111111001011001101111110010100010010110010000000011010111000000000100010010001010100100010010110010000100001101011000000001010000000000000000000000000001001000100100010100001100110111111001011001101111110010100010010001010000000011010111000000000100010010001010100100010010001010000110001101011000000001010000000000000000000000000001001000100101010100001100110111111001011001101111110010100010010101010000000011010111000000010100010010001010100100010010101010000110001101011000000001010000000000000000000000000001001000100100110100001100110111111001011001101111110010100010010011010000000011010111000000010100010010001010100100010010011010000101001101011000000001010000000000000000000000000001001000100101110100001100110111111001011001101111110010100010010111010000000011010111000000001100010010001010100100010010111010000101001101011000000001010000000000000000000000000001001000100100001100001100110111111001011001101111110010100010010000110000000011010111000000001100010010001010100100010010000110000111001101011000000001010000000000000000000000000001001000100101001100001100110111111001011001101111110010100010010100110000000011010111000000011100010010001010100100010010100110000111001101011000000001010000000000000000000000000001001000100100101100001100110111111001011001101111110010100010010010110000000011010111000000011100010010001010100100010010010110000100101101011000000001010000000000000000000000000001001000100101101100001100110111111001011001101111110010100010010110110000001011010111000000000100010010001010100100010010110110000100101101011000000001010000000000000000000000000001001000100100011100001100110111111001011001101111110010100010010001110000001011010111000000000100010010001010100100010010001110000110101101011000000001010000000000000000000000000001001000100101011100001100110111111001011001101111110010100010010101110000001011010111000000010100010010001010100100010010101110000110101101011000000001010000000000000000000000000001001000100100111100001100110111111001011001101111110010100010010011110000001011010111000000010100010010001010100100010010011110000101101101011000000001010000000000000000000000000001001000100101111100001100110111111001011001101111110010100010010111110000001011010111000000001100010010001010100100010010111110000101101101011000000001010000000000000000000000000001001000100100000010001100110111111001011001101111110010100010010000001000001011010111000000001100010010001010100100010010000001000111101101011000000001010000000000000000000000000001001000100101000010001100110111111001011001101111110010100010010100001000001011010111000000011100010010001010100100010010100001000111101101011000000001010000000000000000000000000001001000100100100010001100110111111001011001101111110010100010010010001000001011010111000000011100010010001010100100010010010001000100011101011000000001010000000000000000000000000001001000100101100010001100110111111001011001101111110010100010010110001000000111010111000000000100010010001010100100010010110001000100011101011000000001010000000000000000000000000001001000100100010010001100110111111001011001101111110010100010010001001000000111010111000000000100010010001010100100010010001001000110011101011000000001010000000000000000000000000001001000100101010010001100110111111001011001101111110010100010010101001000000111010111000000010100010010001010100100010010101001000110011101011000000001010000000000000000000000000001001000100100110010001100110111111001011001101111110010100010010011001000000111010111000000010100010010001010100100010010011001000101011101011000000001010000000000000000000000000001001000100101110010001100110111111001011001101111110010100010010111001000000111010111000000001100010010001010100100010010111001000101011101011000000001010000000000000000000000000001001000100100001010001100110111111001011001101111110010100010010000101000000111010111000000001100010010001010100100010010000101000111011101011000000001010000000000000000000000000001001000100101001010001100110111111001011001101111110010100010010100101000000111010111000000011100010010001010100100010010100101000111011101011000000001010000000000000000000000000001001000100100101010001100110111111001011001101111110010100010010010101000000111010111000000011100010010001010100100010010010101000100111101011000000001010000000000000000000000000001001000100101101010001100110111111001011001101111110010100010010110101000001111010111000000000100010010001010100100010010110101000100111101011000000001010000000000000000000000000001001000100100011010001100110111111001011001101111110010100010010001101000001111010111000000000100010010001010100100010010001101000110111101011000000001010000000000000000000000000001001000100101011010001100110111111001011001101111110010100010010101101000001111010111000000010100010010001010100100010010101101000110111101011000000001010000000000000000000000000001001000100100111010001100110111111001011001101111110010100010010011101000001111010111000000010100010010001010100100010010011101000101111101011000000001010000000000000000000000000001001000100101111010001100110111111001011001101111110010100010010111101000001111010111000000001100010010001010100100010010111101000101111101011000000001010000000000000000000000000001001000100100000110001100110111111001011001101111110010100010010000011000001111010111000000001100010010001010100100010010000011000111111101011000000001010000000000000000000000000001001000100101000110001100110111111001011001101111110010100010010100011000001111010111000000011100010010001010100100010010100011000111111101011000000001010000000000000000000000000001001000100100100110001100110111111001011001101111110010100010010010011000001111010111000000011100010010001010100100010010010011000100000011011000000001010000000000000000000000000001011000100100000000001100110111111001011001101111110011100010010000000000000000110111000000000100010010001010101100010010000000000100000011011000000001010000000000000000000000000001011000100101000000001100110111111001011001101111110011100010010100000000000000110111000000000100010010001010101100010010100000000110000011011000000001010000000000000000000000000001011000100100100000001100110111111001011001101111110011100010010010000000000000110111000000010100010010001010101100010010010000000110000011011000000001010000000000000000000000000001011000100101100000001100110111111001011001101111110011100010010110000000000000110111000000010100010010001010101100010010110000000101000011011000000001010000000000000000000000000001011000100100010000001100110111111001011001101111110011100010010001000000000000110111000000001100010010001010101100010010001000000101000011011000000001010000000000000000000000000001011000100101010000001100110111111001011001101111110011100010010101000000000000110111000000001100010010001010101100010010101000000111000011011000000001010000000000000000000000000001011000100100110000001100110111111001011001101111110011100010010011000000000000110111000000011100010010001010101100010010011000000111000011011000000001010000000000000000000000000001011000100101110000001100110111111001011001101111110011100010010111000000000000110111000000011100010010001010101100010010111000000100100011011000000001010000000000000000000000000001011000100100001000001100110111111001011001101111110011100010010000100000001000110111000000000100010010001010101100010010000100000100100011011000000001010000000000000000000000000001011000100101001000001100110111111001011001101111110011100010010100100000001000110111000000000100010010001010101100010010100100000110100011011000000001010000000000000000000000000001011000100100101000001100110111111001011001101111110011100010010010100000001000110111000000010100010010001010101100010010010100000110100011011000000001010000000000000000000000000001011000100101101000001100110111111001011001101111110011100010010110100000001000110111000000010100010010001010101100010010110100000101100011011000000001010000000000000000000000000001011000100100011000001100110111111001011001101111110011100010010001100000001000110111000000001100010010001010101100010010001100000101100011011000000001010000000000000000000000000001011000100101011000001100110111111001011001101111110011100010010101100000001000110111000000001100010010001010101100010010101100000111100011011000000001010000000000000000000000000001011000100100111000001100110111111001011001101111110011100010010011100000001000110111000000011100010010001010101100010010011100000111100011011000000001010000000000000000000000000001011000100101111000001100110111111001011001101111110011100010010111100000001000110111000000011100010010001010101100010010111100000100010011011000000001010000000000000000000000000001011000100100000100001100110111111001011001101111110011100010010000010000000100110111000000000100010010001010101100010010000010000100010011011000000001010000000000000000000000000001011000100101000100001100110111111001011001101111110011100010010100010000000100110111000000000100010010001010101100010010100010000110010011011000000001010000000000000000000000000001011000100100100100001100110111111001011001101111110011100010010010010000000100110111000000010100010010001010101100010010010010000110010011011000000001010000000000000000000000000001011000100101100100001100110111111001011001101111110011100010010110010000000100110111000000010100010010001010101100010010110010000101010011011000000001010000000000000000000000000001011000100100010100001100110111111001011001101111110011100010010001010000000100110111000000001100010010001010101100010010001010000101010011011000000001010000000000000000000000000001011000100101010100001100110111111001011001101111110011100010010101010000000100110111000000001100010010001010101100010010101010000111010011011000000001010000000000000000000000000001011000100100110100001100110111111001011001101111110011100010010011010000000100110111000000011100010010001010101100010010011010000111010011011000000001010000000000000000000000000001011000100101110100001100110111111001011001101111110011100010010111010000000100110111000000011100010010001010101100010010111010000100110011011000000001010000000000000000000000000001011000100100001100001100110111111001011001101111110011100010010000110000001100110111000000000100010010001010101100010010000110000100110011011000000001010000000000000000000000000001011000100101001100001100110111111001011001101111110011100010010100110000001100110111000000000100010010001010101100010010100110000110110011011000000001010000000000000000000000000001011000100100101100001100110111111001011001101111110011100010010010110000001100110111000000010100010010001010101100010010010110000110110011011000000001010000000000000000000000000001011000100101101100001100110111111001011001101111110011100010010110110000001100110111000000010100010010001010101100010010110110000101110011011000000001010000000000000000000000000001011000100100011100001100110111111001011001101111110011100010010001110000001100110111000000001100010010001010101100010010001110000101110011011000000001010000000000000000000000000001011000100101011100001100110111111001011001101111110011100010010101110000001100110111000000001100010010001010101100010010101110000111110011011000000001010000000000000000000000000001011000100100111100001100110111111001011001101111110011100010010011110000001100110111000000011100010010001010101100010010011110000111110011011000000001010000000000000000000000000001011000100101111100001100110111111001011001101111110011100010010111110000001100110111000000011100010010001010101100010010111110000100001011011000000001010000000000000000000000000001011000100100000010001100110111111001011001101111110011100010010000001000000010110111000000000100010010001010101100010010000001000100001011011000000001010000000000000000000000000001011000100101000010001100110111111001011001101111110011100010010100001000000010110111000000000100010010001010101100010010100001000110001011011000000001010000000000000000000000000001011000100100100010001100110111111001011001101111110011100010010010001000000010110111000000010100010010001010101100010010010001000110001011011000000001010000000000000000000000000001011000100101100010001100110111111001011001101111110011100010010110001000000010110111000000010100010010001010101100010010110001000101001011011000000001010000000000000000000000000001011000100100010010001100110111111001011001101111110011100010010001001000000010110111000000001100010010001010101100010010001001000101001011011000000001010000000000000000000000000001011000100101010010001100110111111001011001101111110011100010010101001000000010110111000000001100010010001010101100010010101001000111001011011000000001010000000000000000000000000001011000100100110010001100110111111001011001101111110011100010010011001000000010110111000000011100010010001010101100010010011001000111001011011000000001010000000000000000000000000001011000100101110010001100110111111001011001101111110011100010010111001000000010110111000000011100010010001010101100010010111001000100101011011000000001010000000000000000000000000001011000100100001010001100110111111001011001101111110011100010010000101000001010110111000000000100010010001010101100010010000101000100101011011000000001010000000000000000000000000001011000100101001010001100110111111001011001101111110011100010010100101000001010110111000000000100010010001010101100010010100101000110101011011000000001010000000000000000000000000001011000100100101010001100110111111001011001101111110011100010010010101000001010110111000000010100010010001010101100010010010101000110101011011000000001010000000000000000000000000001011000100101101010001100110111111001011001101111110011100010010110101000001010110111000000010100010010001010101100010010110101000101101011011000000001010000000000000000000000000001011000100100011010001100110111111001011001101111110011100010010001101000001010110111000000001100010010001010101100010010001101000101101011011000000001010000000000000000000000000001011000100101011010001100110111111001011001101111110011100010010101101000001010110111000000001100010010001010101100010010101101000111101011011000000001010000000000000000000000000001011000100100111010001100110111111001011001101111110011100010010011101000001010110111000000011100010010001010101100010010011101000111101011011000000001010000000000000000000000000001011000100101111010001100110111111001011001101111110011100010010111101000001010110111000000011100010010001010101100010010111101000100011011011000000001010000000000000000000000000001011000100100000110001100110111111001011001101111110011100010010000011000000110110111000000000100010010001010101100010010000011000100011011011000000001010000000000000000000000000001011000100101000110001100110111111001011001101111110011100010010100011000000110110111000000000100010010001010101100010010100011000110011011011000000001010000000000000000000000000001011000100100100110001100110111111001011001101111110011100010010010011000000110110111000000010100010010001010101100010010010011000110011011011000000001010000000000000000000000000001000100100100000000001100110111111001011001101111110010010010010000000000000110110111000000010100010010001010100010010010000000000101011011011000000001010000000000000000000000000001000100100101000000001100110111111001011001101111110010010010010100000000000110110111000000001100010010001010100010010010100000000101011011011000000001010000000000000000000000000001000100100100100000001100110111111001011001101111110010010010010010000000000110110111000000001100010010001010100010010010010000000111011011011000000001010000000000000000000000000001000100100101100000001100110111111001011001101111110010010010010110000000000110110111000000011100010010001010100010010010110000000111011011011000000001010000000000000000000000000001000100100100010000001100110111111001011001101111110010010010010001000000000110110111000000011100010010001010100010010010001000000100111011011000000001010000000000000000000000000001000100100101010000001100110111111001011001101111110010010010010101000000001110110111000000000100010010001010100010010010101000000100111011011000000001010000000000000000000000000001000100100100110000001100110111111001011001101111110010010010010011000000001110110111000000000100010010001010100010010010011000000110111011011000000001010000000000000000000000000001000100100101110000001100110111111001011001101111110010010010010111000000001110110111000000010100010010001010100010010010111000000110111011011000000001010000000000000000000000000001000100100100001000001100110111111001011001101111110010010010010000100000001110110111000000010100010010001010100010010010000100000101111011011000000001010000000000000000000000000001000100100101001000001100110111111001011001101111110010010010010100100000001110110111000000001100010010001010100010010010100100000101111011011000000001010000000000000000000000000001000100100100101000001100110111111001011001101111110010010010010010100000001110110111000000001100010010001010100010010010010100000111111011011000000001010000000000000000000000000001000100100101101000001100110111111001011001101111110010010010010110100000001110110111000000011100010010001010100010010010110100000111111011011000000001010000000000000000000000000001000100100100011000001100110111111001011001101111110010010010010001100000001110110111000000011100010010001010100010010010001100000100000111011000000001010000000000000000000000000001000100100101011000001100110111111001011001101111110010010010010101100000000001110111000000000100010010001010100010010010101100000100000111011000000001010000000000000000000000000001000100100100111000001100110111111001011001101111110010010010010011100000000001110111000000000100010010001010100010010010011100000110000111011000000001010000000000000000000000000001000100100101111000001100110111111001011001101111110010010010010111100000000001110111000000010100010010001010100010010010111100000110000111011000000001010000000000000000000000000001000100100100000100001100110111111001011001101111110010010010010000010000000001110111000000010100010010001010100010010010000010000101000111011000000001010000000000000000000000000001000100100101000100001100110111111001011001101111110010010010010100010000000001110111000000001100010010001010100010010010100010000101000111011000000001010000000000000000000000000001000100100100100100001100110111111001011001101111110010010010010010010000000001110111000000001100010010001010100010010010010010000111000111011000000001010000000000000000000000000001000100100101100100001100110111111001011001101111110010010010010110010000000001110111000000011100010010001010100010010010110010000111000111011000000001010000000000000000000000000001000100100100010100001100110111111001011001101111110010010010010001010000000001110111000000011100010010001010100010010010001010000100100111011000000001010000000000000000000000000001000100100101010100001100110111111001011001101111110010010010010101010000001001110111000000000100010010001010100010010010101010000100100111011000000001010000000000000000000000000001000100100100110100001100110111111001011001101111110010010010010011010000001001110111000000000100010010001010100010010010011010000110100111011000000001010000000000000000000000000001000100100101110100001100110111111001011001101111110010010010010111010000001001110111000000010100010010001010100010010010111010000110100111011000000001010000000000000000000000000001000100100100001100001100110111111001011001101111110010010010010000110000001001110111000000010100010010001010100010010010000110000101100111011000000001010000000000000000000000000001000100100101001100001100110111111001011001101111110010010010010100110000001001110111000000001100010010001010100010010010100110000101100111011000000001010000000000000000000000000001000100100100101100001100110111111001011001101111110010010010010010110000001001110111000000001100010010001010100010010010010110000111100111011000000001010000000000000000000000000001000100100101101100001100110111111001011001101111110010010010010110110000001001110111000000011100010010001010100010010010110110000111100111011000000001010000000000000000000000000001000100100100011100001100110111111001011001101111110010010010010001110000001001110111000000011100010010001010100010010010001110000100010111011000000001010000000000000000000000000001000100100101011100001100110111111001011001101111110010010010010101110000000101110111000000000100010010001010100010010010101110000100010111011000000001010000000000000000000000000001000100100100111100001100110111111001011001101111110010010010010011110000000101110111000000000100010010001010100010010010011110000110010111011000000001010000000000000000000000000001000100100101111100001100110111111001011001101111110010010010010111110000000101110111000000010100010010001010100010010010111110000110010111011000000001010000000000000000000000000001000100100100000010001100110111111001011001101111110010010010010000001000000101110111000000010100010010001010100010010010000001000101010111011000000001010000000000000000000000000001000100100101000010001100110111111001011001101111110010010010010100001000000101110111000000001100010010001010100010010010100001000101010111011000000001010000000000000000000000000001000100100100100010001100110111111001011001101111110010010010010010001000000101110111000000001100010010001010100010010010010001000111010111011000000001010000000000000000000000000001000100100101100010001100110111111001011001101111110010010010010110001000000101110111000000011100010010001010100010010010110001000111010111011000000001010000000000000000000000000001000100100100010010001100110111111001011001101111110010010010010001001000000101110111000000011100010010001010100010010010001001000100110111011000000001010000000000000000000000000001000100100101010010001100110111111001011001101111110010010010010101001000001101110111000000000100010010001010100010010010101001000100110111011000000001010000000000000000000000000001000100100100110010001100110111111001011001101111110010010010010011001000001101110111000000000100010010001010100010010010011001000110110111011000000001010000000000000000000000000001000100100101110010001100110111111001011001101111110010010010010111001000001101110111000000010100010010001010100010010010111001000110110111011000000001010000000000000000000000000001000100100100001010001100110111111001011001101111110010010010010000101000001101110111000000010100010010001010100010010010000101000101110111011000000001010000000000000000000000000001000100100101001010001100110111111001011001101111110010010010010100101000001101110111000000001100010010001010100010010010100101000101110111011000000001010000000000000000000000000001000100100100101010001100110111111001011001101111110010010010010010101000001101110111000000001100010010001010100010010010010101000111110111011000000001010000000000000000000000000001000100100101101010001100110111111001011001101111110010010010010110101000001101110111000000011100010010001010100010010010110101000111110111011000000001010000000000000000000000000001000100100100011010001100110111111001011001101111110010010010010001101000001101110111000000011100010010001010100010010010001101000100001111011000000001010000000000000000000000000001000100100101011010001100110111111001011001101111110010010010010101101000000011110111000000000100010010001010100010010010101101000100001111011000000001010000000000000000000000000001000100100100111010001100110111111001011001101111110010010010010011101000000011110111000000000100010010001010100010010010011101000110001111011000000001010000000000000000000000000001000100100101111010001100110111111001011001101111110010010010010111101000000011110111000000010100010010001010100010010010111101000110001111011000000001010000000000000000000000000001000100100100000110001100110111111001011001101111110010010010010000011000000011110111000000010100010010001010100010010010000011000101001111011000000001010000000000000000000000000001000100100101000110001100110111111001011001101111110010010010010100011000000011110111000000001100010010001010100010010010100011000101001111011000000001010000000000000000000000000001000100100100100110001100110111111001011001101111110010010010010010011000000011110111000000001100010010001010100010010010010011000111001111011000000001010000000000000000000000000001010100100100000000001100110111111001011001101111110011010010010000000000000011110111000000011100010010001010101010010010000000000111001111011000000001010000000000000000000000000001010100100101000000001100110111111001011001101111110011010010010100000000000011110111000000011100010010001010101010010010100000000100101111011000000001010000000000000000000000000001010100100100100000001100110111111001011001101111110011010010010010000000001011110111000000000100010010001010101010010010010000000100101111011000000001010000000000000000000000000001010100100101100000001100110111111001011001101111110011010010010110000000001011110111000000000100010010001010101010010010110000000110101111011000000001010000000000000000000000000001010100100100010000001100110111111001011001101111110011010010010001000000001011110111000000010100010010001010101010010010001000000110101111011000000001010000000000000000000000000001010100100101010000001100110111111001011001101111110011010010010101000000001011110111000000010100010010001010101010010010101000000101101111011000000001010000000000000000000000000001010100100100110000001100110111111001011001101111110011010010010011000000001011110111000000001100010010001010101010010010011000000101101111011000000001010000000000000000000000000001010100100101110000001100110111111001011001101111110011010010010111000000001011110111000000001100010010001010101010010010111000000111101111011000000001010000000000000000000000000001010100100100001000001100110111111001011001101111110011010010010000100000001011110111000000011100010010001010101010010010000100000111101111011000000001010000000000000000000000000001010100100101001000001100110111111001011001101111110011010010010100100000001011110111000000011100010010001010101010010010100100000100011111011000000001010000000000000000000000000001010100100100101000001100110111111001011001101111110011010010010010100000000111110111000000000100010010001010101010010010010100000100011111011000000001010000000000000000000000000001010100100101101000001100110111111001011001101111110011010010010110100000000111110111000000000100010010001010101010010010110100000110011111011000000001010000000000000000000000000001010100100100011000001100110111111001011001101111110011010010010001100000000111110111000000010100010010001010101010010010001100000110011111011000000001010000000000000000000000000001010100100101011000001100110111111001011001101111110011010010010101100000000111110111000000010100010010001010101010010010101100000101011111011000000001010000000000000000000000000001010100100100111000001100110111111001011001101111110011010010010011100000000111110111000000001100010010001010101010010010011100000101011111011000000001010000000000000000000000000001010100100101111000001100110111111001011001101111110011010010010111100000000111110111000000001100010010001010101010010010111100000111011111011000000001010000000000000000000000000001010100100100000100001100110111111001011001101111110011010010010000010000000111110111000000011100010010001010101010010010000010000111011111011000000001010000000000000000000000000001010100100101000100001100110111111001011001101111110011010010010100010000000111110111000000011100010010001010101010010010100010000100111111011000000001010000000000000000000000000001010100100100100100001100110111111001011001101111110011010010010010010000001111110111000000000100010010001010101010010010010010000100111111011000000001010000000000000000000000000001010100100101100100001100110111111001011001101111110011010010010110010000001111110111000000000100010010001010101010010010110010000110111111011000000001010000000000000000000000000001010100100100010100001100110111111001011001101111110011010010010001010000001111110111000000010100010010001010101010010010001010000110111111011000000001010000000000000000000000000001010100100101010100001100110111111001011001101111110011010010010101010000001111110111000000010100010010001010101010010010101010000101111111011000000001010000000000000000000000000001010100100100110100001100110111111001011001101111110011010010010011010000001111110111000000001100010010001010101010010010011010000101111111011000000001010000000000000000000000000001010100100101110100001100110111111001011001101111110011010010010111010000001111110111000000001100010010001010101010010010111010000111111111011000000001010000000000000000000000000001010100100100001100001100110111111001011001101111110011010010010000110000001111110111000000011100010010001010101010010010000110000111111111011000000001010000000000000000000000000001010100100101001100001100110111111001011001101111110011010010010100110000001111110111000000011100010010001010101010010010100110000100000000111000000001010000000000000000000000000001010100100100101100001100110111111001011001101111110011010010010010110000000000001111000000000100010010001010101010010010010110000100000000111000000001010000000000000000000000000001010100100101101100001100110111111001011001101111110011010010010110110000000000001111000000000100010010001010101010010010110110000110000000111000000001010000000000000000000000000001010100100100011100001100110111111001011001101111110011010010010001110000000000001111000000010100010010001010101010010010001110000110000000111000000001010000000000000000000000000001010100100101011100001100110111111001011001101111110011010010010101110000000000001111000000010100010010001010101010010010101110000101000000111000000001010000000000000000000000000001010100100100111100001100110111111001011001101111110011010010010011110000000000001111000000001100010010001010101010010010011110000101000000111000000001010000000000000000000000000001010100100101111100001100110111111001011001101111110011010010010111110000000000001111000000001100010010001010101010010010111110000111000000111000000001010000000000000000000000000001010100100100000010001100110111111001011001101111110011010010010000001000000000001111000000011100010010001010101010010010000001000111000000111000000001010000000000000000000000000001010100100101000010001100110111111001011001101111110011010010010100001000000000001111000000011100010010001010101010010010100001000100100000111000000001010000000000000000000000000001010100100100100010001100110111111001011001101111110011010010010010001000001000001111000000000100010010001010101010010010010001000100100000111000000001010000000000000000000000000001010100100101100010001100110111111001011001101111110011010010010110001000001000001111000000000100010010001010101010010010110001000110100000111000000001010000000000000000000000000001010100100100010010001100110111111001011001101111110011010010010001001000001000001111000000010100010010001010101010010010001001000110100000111000000001010000000000000000000000000001010100100101010010001100110111111001011001101111110011010010010101001000001000001111000000010100010010001010101010010010101001000101100000111000000001010000000000000000000000000001010100100100110010001100110111111001011001101111110011010010010011001000001000001111000000001100010010001010101010010010011001000101100000111000000001010000000000000000000000000001010100100101110010001100110111111001011001101111110011010010010111001000001000001111000000001100010010001010101010010010111001000111100000111000000001010000000000000000000000000001010100100100001010001100110111111001011001101111110011010010010000101000001000001111000000011100010010001010101010010010000101000111100000111000000001010000000000000000000000000001010100100101001010001100110111111001011001101111110011010010010100101000001000001111000000011100010010001010101010010010100101000100010000111000000001010000000000000000000000000001010100100100101010001100110111111001011001101111110011010010010010101000000100001111000000000100010010001010101010010010010101000100010000111000000001010000000000000000000000000001010100100101101010001100110111111001011001101111110011010010010110101000000100001111000000000100010010001010101010010010110101000110010000111000000001010000000000000000000000000001010100100100011010001100110111111001011001101111110011010010010001101000000100001111000000010100010010001010101010010010001101000110010000111000000001010000000000000000000000000001010100100101011010001100110111111001011001101111110011010010010101101000000100001111000000010100010010001010101010010010101101000101010000111000000001010000000000000000000000000001010100100100111010001100110111111001011001101111110011010010010011101000000100001111000000001100010010001010101010010010011101000101010000111000000001010000000000000000000000000001010100100101111010001100110111111001011001101111110011010010010111101000000100001111000000001100010010001010101010010010111101000111010000111000000001010000000000000000000000000001010100100100000110001100110111111001011001101111110011010010010000011000000100001111000000011100010010001010101010010010000011000111010000111000000001010000000000000000000000000001010100100101000110001100110111111001011001101111110011010010010100011000000100001111000000011100010010001010101010010010100011000100110000111000000001010000000000000000000000000001010100100100100110001100110111111001011001101111110011010010010010011000001100001111000000000100010010001010101010010010010011000100110000111000000001010000000000000000000000000001001100100100000000001100110111111001011001101111110010110010010000000000001100001111000000000100010010001010100110010010000000000110110000111000000001010000000000000000000000000001001100100101000000001100110111111001011001101111110010110010010100000000001100001111000000010100010010001010100110010010100000000110110000111000000001010000000000000000000000000001001100100100100000001100110111111001011001101111110010110010010010000000001100001111000000010100010010001010100110010010010000000101110000111000000001010000000000000000000000000001001100100101100000001100110111111001011001101111110010110010010110000000001100001111000000001100010010001010100110010010110000000101110000111000000001010000000000000000000000000001001100100100010000001100110111111001011001101111110010110010010001000000001100001111000000001100010010001010100110010010001000000111110000111000000001010000000000000000000000000001001100100101010000001100110111111001011001101111110010110010010101000000001100001111000000011100010010001010100110010010101000000111110000111000000001010000000000000000000000000001001100100100110000001100110111111001011001101111110010110010010011000000001100001111000000011100010010001010100110010010011000000100001000111000000001010000000000000000000000000001001100100101110000001100110111111001011001101111110010110010010111000000000010001111000000000100010010001010100110010010111000000100001000111000000001010000000000000000000000000001001100100100001000001100110111111001011001101111110010110010010000100000000010001111000000000100010010001010100110010010000100000110001000111000000001010000000000000000000000000001001100100101001000001100110111111001011001101111110010110010010100100000000010001111000000010100010010001010100110010010100100000110001000111000000001010000000000000000000000000001001100100100101000001100110111111001011001101111110010110010010010100000000010001111000000010100010010001010100110010010010100000101001000111000000001010000000000000000000000000001001100100101101000001100110111111001011001101111110010110010010110100000000010001111000000001100010010001010100110010010110100000101001000111000000001010000000000000000000000000001001100100100011000001100110111111001011001101111110010110010010001100000000010001111000000001100010010001010100110010010001100000111001000111000000001010000000000000000000000000001001100100101011000001100110111111001011001101111110010110010010101100000000010001111000000011100010010001010100110010010101100000111001000111000000001010000000000000000000000000001001100100100111000001100110111111001011001101111110010110010010011100000000010001111000000011100010010001010100110010010011100000100101000111000000001010000000000000000000000000001001100100101111000001100110111111001011001101111110010110010010111100000001010001111000000000100010010001010100110010010111100000100101000111000000001010000000000000000000000000001001100100100000100001100110111111001011001101111110010110010010000010000001010001111000000000100010010001010100110010010000010000110101000111000000001010000000000000000000000000001001100100101000100001100110111111001011001101111110010110010010100010000001010001111000000010100010010001010100110010010100010000110101000111000000001010000000000000000000000000001001100100100100100001100110111111001011001101111110010110010010010010000001010001111000000010100010010001010100110010010010010000101101000111000000001010000000000000000000000000001001100100101100100001100110111111001011001101111110010110010010110010000001010001111000000001100010010001010100110010010110010000101101000111000000001010000000000000000000000000001001100100100010100001100110111111001011001101111110010110010010001010000001010001111000000001100010010001010100110010010001010000111101000111000000001010000000000000000000000000001001100100101010100001100110111111001011001101111110010110010010101010000001010001111000000011100010010001010100110010010101010000111101000111000000001010000000000000000000000000001001100100100110100001100110111111001011001101111110010110010010011010000001010001111000000011100010010001010100110010010011010000100011000111000000001010000000000000000000000000001001100100101110100001100110111111001011001101111110010110010010111010000000110001111000000000100010010001010100110010010111010000100011000111000000001010000000000000000000000000001001100100100001100001100110111111001011001101111110010110010010000110000000110001111000000000100010010001010100110010010000110000110011000111000000001010000000000000000000000000001001100100101001100001100110111111001011001101111110010110010010100110000000110001111000000010100010010001010100110010010100110000110011000111000000001010000000000000000000000000001001100100100101100001100110111111001011001101111110010110010010010110000000110001111000000010100010010001010100110010010010110000101011000111000000001010000000000000000000000000001001100100101101100001100110111111001011001101111110010110010010110110000000110001111000000001100010010001010100110010010110110000101011000111000000001010000000000000000000000000001001100100100011100001100110111111001011001101111110010110010010001110000000110001111000000001100010010001010100110010010001110000111011000111000000001010000000000000000000000000001001100100101011100001100110111111001011001101111110010110010010101110000000110001111000000011100010010001010100110010010101110000111011000111000000001010000000000000000000000000001001100100100111100001100110111111001011001101111110010110010010011110000000110001111000000011100010010001010100110010010011110000100111000111000000001010000000000000000000000000001001100100101111100001100110111111001011001101111110010110010010111110000001110001111000000000100010010001010100110010010111110000100111000111000000001010000000000000000000000000001001100100100000010001100110111111001011001101111110010110010010000001000001110001111000000000100010010001010100110010010000001000110111000111000000001010000000000000000000000000001001100100101000010001100110111111001011001101111110010110010010100001000001110001111000000010100010010001010100110010010100001000110111000111000000001010000000000000000000000000001001100100100100010001100110111111001011001101111110010110010010010001000001110001111000000010100010010001010100110010010010001000101111000111000000001010000000000000000000000000001001100100101100010001100110111111001011001101111110010110010010110001000001110001111000000001100010010001010100110010010110001000101111000111000000001010000000000000000000000000001001100100100010010001100110111111001011001101111110010110010010001001000001110001111000000001100010010001010100110010010001001000111111000111000000001010000000000000000000000000001001100100101010010001100110111111001011001101111110010110010010101001000001110001111000000011100010010001010100110010010101001000111111000111000000001010000000000000000000000000001001100100100110010001100110111111001011001101111110010110010010011001000001110001111000000011100010010001010100110010010011001000100000000000100000001010000000000000000000000000001100000000110000000001101001111000110011001101111110010110010010111001000010000000011000000000100010010001010100110010010111001000100000000000100000001010000000000000000000000000001001100100100001010001100110111111001011001101111110010110010010000101000010000000011000000000110100111100011000110010010000101000110000000000100000001010000000000000000000000000001100000000110000000101011110010001001011001101111110010110010010000101000010000000011000000010110100111100011000110010010000101000110000000000100000001010000000000000000000000000001001100100101001010001100110111111001011001101111110010110010010100101000010000000011000000010101111001000100100110010010100101000101000000000100000001010000000000000000000000000001100000000110000000011010010011100100011001101111110010110010010100101000010000000011000000001101111001000100100110010010100101000101000000000100000001010000000000000000000000000001001100100100101010001100110111111001011001101111110010110010010010101000010000000011000000001101001001110010000110010010010101000111000000000100000001010000000000000000000000000001100000000110000000110111110000010001011001101111110010110010010010101000010000000011000000011101001001110010000110010010010101000111000000000100000001010000000000000000000000000001001100100101101010001100110111111001011001101111110010110010010110101000010000000011000000011011111000001000100110010010110101000100100000000100000001010000000000000000000000000001110000000110000000001100110110101110011001101111110010110010010110101000011000000011000000000011111000001000100110010010110101000100100000000100000001010000000000000000000000000001001100100100011010001100110111111001011001101111110010110010010001101000011000000011000000000110011011010111000110010010001101000110100000000100000001010000000000000000000000000001110000000110000000100101011100011011011001101111110010110010010001101000011000000011000000010110011011010111000110010010001101000110100000000100000001010000000000000000000000000001001100100101011010001100110111111001011001101111110010110010010101101000011000000011000000010010101110001101100110010010101101000101100000000100000001010000000000000000000000000001110000000110000000011100101010100000011001101111110010110010010101101000011000000011000000001010101110001101100110010010101101000101100000000100000001010000000000000000000000000001001100100100111010001100110111111001011001101111110010110010010011101000011000000011000000001110010101010000000110010010011101000111100000000100000001010000000000000000000000000001110000000110000000111011111111100000011001101111110010110010010011101000011000000011000000011110010101010000000110010010011101000111100000000100000001010000000000000000000000000001001100100101111010001100110111111001011001101111110010110010010111101000011000000011000000011101111111110000000110010010111101000100010000000100000001010000000000000000000000000001101000000110000000001100100000000110011001101111110010110010010111101000010100000011000000000101111111110000000110010010111101000100010000000100000001010000000000000000000000000001001100100100000110001100110111111001011001101111110010110010010000011000010100000011000000000110010000000011000110010010000011000110010000000100000001010000000000000000000000000001101000000110000000100000101101101000011001101111110010110010010000011000010100000011000000010110010000000011000110010010000011000110010000000100000001010000000000000000000000000001001100100101000110001100110111111001011001101111110010110010010100011000010100000011000000010000010110110100000110010010100011000101010000000100000001010000000000000000000000000001101000000110000000010011000110001010011001101111110010110010010100011000010100000011000000001000010110110100000110010010100011000101010000000100000001010000000000000000000000000001001100100100100110001100110111111001011001101111110010110010010010011000010100000011000000001001100011000101000110010010010011000111010000000100000001010000000000000000000000000001101000000110000000111100001110101001011001101111110010110010010010011000010100000011000000011001100011000101000110010010010011000111010000000100000001010000000000000000000000000001011100100100000000001100110111111001011001101111110011110010010000000000010100000011000000011110000111010100101110010010000000000100110000000100000001010000000000000000000000000001111000000110000000000110011110000100011001101111110011110010010000000000011100000011000000000110000111010100101110010010000000000100110000000100000001010000000000000000000000000001011100100101000000001100110111111001011001101111110011110010010100000000011100000011000000000011001111000010001110010010100000000110110000000100000001010000000000000000000000000001111000000110000000100000001000110110011001101111110011110010010100000000011100000011000000010011001111000010001110010010100000000110110000000100000001010000000000000000000000000001011100100100100000001100110111111001011001101111110011110010010010000000011100000011000000010000000100011011001110010010010000000101110000000100000001010000000000000000000000000001111000000110000000011100010110000000011001101111110011110010010010000000011100000011000000001000000100011011001110010010010000000101110000000100000001010000000000000000000000000001011100100101100000001100110111111001011001101111110011110010010110000000011100000011000000001110001011000000001110010010110000000111110000000100000001010000000000000000000000000001111000000110000000110011010001010110011001101111110011110010010110000000011100000011000000011110001011000000001110010010110000000111110000000100000001010000000000000000000000000001011100100100010000001100110111111001011001101111110011110010010001000000011100000011000000011001101000101011001110010010001000000100001000000100000001010000000000000000000000000001100100000110000000001101111000110111011001101111110011110010010001000000010010000011000000000001101000101011001110010010001000000100001000000100000001010000000000000000000000000001011100100101010000001100110111111001011001101111110011110010010101000000010010000011000000000110111100011011101110010010101000000110001000000100000001010000000000000000000000000001100100000110000000100101110101011111011001101111110011110010010101000000010010000011000000010110111100011011101110010010101000000110001000000100000001010000000000000000000000000001011100100100110000001100110111111001011001101111110011110010010011000000010010000011000000010010111010101111101110010010011000000101001000000100000001010000000000000000000000000001100100000110000000011000111011000000011001101111110011110010010011000000010010000011000000001010111010101111101110010010011000000101001000000100000001010000000000000000000000000001011100100101110000001100110111111001011001101111110011110010010111000000010010000011000000001100011101100000001110010010111000000111001000000100000001010000000000000000000000000001100100000110000000110110101101001111011001101111110011110010010111000000010010000011000000011100011101100000001110010010111000000111001000000100000001010000000000000000000000000001011100100100001000001100110111111001011001101111110011110010010000100000010010000011000000011011010110100111101110010010000100000100101000000100000001010000000000000000000000000001100101000000100000001110011010011001011001101111110011110010010000100000010010100000010000000011010110100111101110010010000100000100101000000100000001110000000000000000000000000001011100100101001000001100110111111001011001101111110011110010010100100000010010100000010000000111001101001100101110010010100100000110101000000100000001110000000000000000000000000001110101000000100000001100110111111001011001101111110011110010010100100000011010100000010000000111001101001100101110010010100100000110101000000100000001110101010000110011000110011001011100100100101000001100110111111001011001101111110011110010010010100000011010100000010000000110011011111100101110010010010100000101101000000100000001110101010000110011000110011001101101000000100000001100110111111001011001101111110011110010010010100000010110100000010000000110011011111100101110010010010100000101101000000100000001111111111100110011001100110001011100100101101000001100110111111001011001101111110011110010010110100000010110100000010000000110011011111100101110010010110100000111101000000100000001111111111100110011001100110001111101000000100000001100110111111001011001101111110011110010010110100000011110100000010000000110011011111100101110010010110100000111101000000100000001111111111100110011001100110001011100100100011000001100110111111001011001101111110011110010010001100000011110100000010000000110011011111100101110010010001100000100011000000100000001111111111100110011001100110001100011000000100000001100110111111001011001101111110011110010010001100000010001100000010000000110011011111100101110010010001100000100011000000100000001111111111100110011001100110001011100100101011000001100110111111001011001101111110011110010010101100000010001100000010000000110011011111100101110010010101100000110011000000100000001111111111100110011001100110001110011000000100000001100110111111001011001101111110011110010010101100000011001100000010000000110011011111100101110010010101100000110011000000100000001111111111100110011001100110001011100100100111000001100110111111001011001101111110011110010010011100000011001100000010000000110011011111100101110010010011100000101011000000100000001111111111100110011001100110001101011000000100000001100110111111001011001101111110011110010010011100000010101100000010000000110011011111100101110010010011100000101011000000100000001111111111100110011001100110001011100100101111000001100110111111001011001101111110011110010010111100000010101100000010000000110011011111100101110010010111100000111011000000100000001111111111100110011001100110001111011000000100000001100110111111001011001101111110011110010010111100000011101100000010000000110011011111100101110010010111100000111011000000100000001111111111100110011001100110001011100100100000100001100110111111001011001101111110011110010010000010000011101100000010000000110011011111100101110010010000010000100111000000100000001111111111100110011001100110001100111000000100000001100110111111001011001101111110011110010010000010000010011100000010000000110011011111100101110010010000010000100111000000100000001111111111100110011001100110001011100100101000100001100110111111001011001101111110011110010010100010000010011100000010000000110011011111100101110010010100010000110111000000100000001111111111100110011001100110001110111000000100000001100110111111001011001101111110011110010010100010000011011100000010000000110011011111100101110010010100010000110111000000100000001111111111100110011001100110001011100100100100100001100110111111001011001101111110011110010010010010000011011100000010000000110011011111100101110010010010010000101111000000100000001111111111100110011001100110001101111000000100000001100110111111001011001101111110011110010010010010000010111100000010000000110011011111100101110010010010010000101111000000100000001111111111100110011001100110001011100100101100100001100110111111001011001101111110011110010010110010000010111100000010000000110011011111100101110010010110010000111111000000100000001111111111100110011001100110001111111000000100000001100110111111001011001101111110011110010010110010000011111100000010000000110011011111100101110010010110010000111111000000100000001111111111100110011001100110001011100100100010100001100110111111001011001101111110011110010010001010000011111100000010000000110011011111100101110010010001010000100000100000100000001111111111100110011001100110001100000100000100000001100110111111001011001101111110011110010010001010000010000010000010000000110011011111100101110010010001010000100000100000100000001111111111100110011001100110001011100100101010100001100110111111001011001101111110011110010010101010000010000010000010000000110011011111100101110010010101010000110000100000100000001111111111100110011001100110001110000100000100000001100110111111001011001101111110011110010010101010000011000010000010000000110011011111100101110010010101010000110000100000100000001111111111100110011001100110001011100100100110100001100110111111001011001101111110011110010010011010000011000010000010000000110011011111100101110010010011010000101000100000100000001111111111100110011001100110001101000100000100000001100110111111001011001101111110011110010010011010000010100010000010000000110011011111100101110010010011010000101000100000100000001111111111100110011001100110001011100100101110100001100110111111001011001101111110011110010010111010000010100010000010000000110011011111100101110010010111010000111000100000100000001111111111100110011001100110001111000100000100000001100110111111001011001101111110011110010010111010000011100010000010000000110011011111100101110010010111010000111000100000100000001111111111100110011001100110001011100100100001100001100110111111001011001101111110011110010010000110000011100010000010000000110011011111100101110010010000110000100100100000100000001111111111100110011001100110001100100100000100000001100110111111001011001101111110011110010010000110000010010010000010000000110011011111100101110010010000110000100100100000100000001111111111100110011001100110001011100100101001100001100110111111001011001101111110011110010010100110000010010010000010000000110011011111100101110010010100110000110100100000100000001111111111100110011001100110001110100100000100000001100110111111001011001101111110011110010010100110000011010010000010000000110011011111100101110010010100110000110100100000100000001111111111100110011001100110001011100100100101100001100110111111001011001101111110011110010010010110000011010010000010000000110011011111100101110010010010110000101100100000100000001111111111100110011001100110001101100100000100000001100110111111001011001101111110011110010010010110000010110010000010000000110011011111100101110010010010110000101100100000100000001111111111100110011001100110001011100100101101100001100110111111001011001101111110011110010010110110000010110010000010000000110011011111100101110010010110110000111100100000100000001111111111100110011001100110001111100100000100000001100110111111001011001101111110011110010010110110000011110010000010000000110011011111100101110010010110110000111100100000100000001111111111100110011001100110001011100100100011100001100110111111001011001101111110011110010010001110000011110010000010000000110011011111100101110010010001110000100010100000100000001111111111100110011001100110001100010100000100000001100110111111001011001101111110011110010010001110000010001010000010000000110011011111100101110010010001110000100010100000100000001111111111100110011001100110001011100100101011100001100110111111001011001101111110011110010010101110000010001010000010000000110011011111100101110010010101110000110010100000100000001111111111100110011001100110001110010100000100000001100110111111001011001101111110011110010010101110000011001010000010000000110011011111100101110010010101110000110010100000100000001111111111100110011001100110001011100100100111100001100110111111001011001101111110011110010010011110000011001010000010000000110011011111100101110010010011110000101010100000100000001111111111100110011001100110001101010100000100000001100110111111001011001101111110011110010010011110000010101010000010000000110011011111100101110010010011110000101010100000100000001111111111100110011001100110001011100100101111100001100110111111001011001101111110011110010010111110000010101010000010000000110011011111100101110010010111110000111010100000100000001111111111100110011001100110001111010100000100000001100110111111001011001101111110011110010010111110000011101010000010000000110011011111100101110010010111110000111010100000100000001111111111100110011001100110001011100100100000010001100110111111001011001101111110011110010010000001000011101010000010000000110011011111100101110010010000001000100110100000100000001111111111100110011001100110001100110100000100000001100110111111001011001101111110011110010010000001000010011010000010000000110011011111100101110010010000001000100110100000100000001111111111100110011001100110001011100100101000010001100110111111001011001101111110011110010010100001000010011010000010000000110011011111100101110010010100001000110110100000100000001111111111100110011001100110001110110100000100000001100110111111001011001101111110011110010010100001000011011010000010000000110011011111100101110010010100001000110110100000100000001111111111100110011001100110001011100100100100010001100110111111001011001101111110011110010010010001000011011010000010000000110011011111100101110010010010001000101110100000100000001111111111100110011001100110001101110100000100000001100110111111001011001101111110011110010010010001000010111010000010000000110011011111100101110010010010001000101110100000100000001111111111100110011001100110001011100100101100010001100110111111001011001101111110011110010010110001000010111010000010000000110011011111100101110010010110001000111110100000100000001111111111100110011001100110001111110100000100000001100110111111001011001101111110011110010010110001000011111010000010000000110011011111100101110010010110001000111110100000100000001111111111100110011001100110001011100100100010010001100110111111001011001101111110011110010010001001000011111010000010000000110011011111100101110010010001001000100001100000100000001111111111100110011001100110001100001100000100000001100110111111001011001101111110011110010010001001000010000110000010000000110011011111100101110010010001001000100001100000100000001111111111100110011001100110001011100100101010010001100110111111001011001101111110011110010010101001000010000110000010000000110011011111100101110010010101001000110001100000100000001111111111100110011001100110001110001100000100000001100110111111001011001101111110011110010010101001000011000110000010000000110011011111100101110010010101001000110001100000100000001111111111100110011001100110001011100100100110010001100110111111001011001101111110011110010010011001000011000110000010000000110011011111100101110010010011001000101001100000100000001111111111100110011001100110001101001100000100000001100110111111001011001101111110011110010010011001000010100110000010000000110011011111100101110010010011001000101001100000100000001111111111100110011001100110001011100100101110010001100110111111001011001101111110011110010010111001000010100110000010000000110011011111100101110010010111001000111001100000100000001111111111100110011001100110001111001100000100000001100110111111001011001101111110011110010010111001000011100110000010000000110011011111100101110010010111001000111001100000100000001111111111100110011001100110001011100100100001010001100110111111001011001101111110011110010010000101000011100110000010000000110011011111100101110010010000101000100101100000100000001111111111100110011001100110001100101100000100000001100110111111001011001101111110011110010010000101000010010110000010000000110011011111100101110010010000101000100101100000100000001111111111100110011001100110001011100100101001010001100110111111001011001101111110011110010010100101000010010110000010000000110011011111100101110010010100101000110101100000100000001111111111100110011001100110001110101100000100000001100110111111001011001101111110011110010010100101000011010110000010000000110011011111100101110010010100101000110101100000100000001111111111100110011001100110001011100100100101010001100110111111001011001101111110011110010010010101000011010110000010000000110011011111100101110010010010101000101101100000100000001111111111100110011001100110001101101100000100000001100110111111001011001101111110011110010010010101000010110110000010000000110011011111100101110010010010101000101101100000100000001111111111100110011001100110001011100100101101010001100110111111001011001101111110011110010010110101000010110110000010000000110011011111100101110010010110101000111101100000100000001111111111100110011001100110001111101100000100000001100110111111001011001101111110011110010010110101000011110110000010000000110011011111100101110010010110101000111101100000100000001111111111100110011001100110001011100100100011010001100110111111001011001101111110011110010010001101000011110110000010000000110011011111100101110010010001101000100011100000100000001111111111100110011001100110001100011100000100000001100110111111001011001101111110011110010010001101000010001110000010000000110011011111100101110010010001101000100011100000100000001111111111100110011001100110001011100100101011010001100110111111001011001101111110011110010010101101000010001110000010000000110011011111100101110010010101101000110011100000100000001111111111100110011001100110001110011100000100000001100110111111001011001101111110011110010010101101000011001110000010000000110011011111100101110010010101101000110011100000100000001111111111100110011001100110001011100100100111010001100110111111001011001101111110011110010010011101000011001110000010000000110011011111100101110010010011101000101011100000100000001111111111100110011001100110001101011100000100000001100110111111001011001101111110011110010010011101000010101110000010000000110011011111100101110010010011101000101011100000100000001111111111100110011001100110001011100100101111010001100110111111001011001101111110011110010010111101000010101110000010000000110011011111100101110010010111101000111011100000100000001111111111100110011001100110001111011100000100000001100110111111001011001101111110011110010010111101000011101110000010000000110011011111100101110010010111101000111011100000100000001111111111100110011001100110001011100100100000110001100110111111001011001101111110011110010010000011000011101110000010000000110011011111100101110010010000011000100111100000100000001111111111100110011001100110001100111100000100000001100110111111001011001101111110011110010010000011000010011110000010000000110011011111100101110010010000011000100111100000100000001111111111100110011001100110001011100100101000110001100110111111001011001101111110011110010010100011000010011110000010000000110011011111100101110010010100011000110111100000100000001111111111100110011001100110001110111100000100000001100110111111001011001101111110011110010010100011000011011110000010000000110011011111100101110010010100011000110111100000100000001111111111100110011001100110001011100100100100110001100110111111001011001101111110011110010010010011000011011110000010000000110011011111100101110010010010011000101111100000100000001111111111100110011001100110001101111100000100000001100110111111001011001101111110011110010010010011000010111110000010000000110011011111100101110010010010011000101111100000100000001111111111100110011001100110001000010100100000000001100110111111001011001101111110010001010010000000000010111110000010000000110011011111100100001010010000000000111111100000100000001111111111100110011001100110001111111100000100000001100110111111001011001101111110010001010010000000000011111110000010000000110011011111100100001010010000000000111111100000100000001111111111100110011001100110001000010100101000000001100110111111001011001101111110010001010010100000000011111110000010000000110011011111100100001010010100000000100000010000100000001111111111100110011001100110001100000010000100000001100110111111001011001101111110010001010010100000000010000001000010000000110011011111100100001010010100000000100000010000100000001111111111100110011001100110001000010100100100000001100110111111001011001101111110010001010010010000000010000001000010000000110011011111100100001010010010000000110000010000100000001111111111100110011001100110001110000010000100000001100110111111001011001101111110010001010010010000000011000001000010000000110011011111100100001010010010000000110000010000100000001111111111100110011001100110001000010100101100000001100110111111001011001101111110010001010010110000000011000001000010000000110011011111100100001010010110000000101000010000100000001111111111100110011001100110001101000010000100000001100110111111001011001101111110010001010010110000000010100001000010000000110011011111100100001010010110000000101000010000100000001111111111100110011001100110001000010100100010000001100110111111001011001101111110010001010010001000000010100001000010000000110011011111100100001010010001000000111000010000100000001111111111100110011001100110001111000010000100000001100110111111001011001101111110010001010010001000000011100001000010000000110011011111100100001010010001000000111000010000100000001111111111100110011001100110001000010100101010000001100110111111001011001101111110010001010010101000000011100001000010000000110011011111100100001010010101000000100100010000100000001111111111100110011001100110001100100010000100000001100110111111001011001101111110010001010010101000000010010001000010000000110011011111100100001010010101000000100100010000100000001111111111100110011001100110001000010100100110000001100110111111001011001101111110010001010010011000000010010001000010000000110011011111100100001010010011000000110100010000100000001111111111100110011001100110001110100010000100000001100110111111001011001101111110010001010010011000000011010001000010000000110011011111100100001010010011000000110100010000100000001111111111100110011001100110001000010100101110000001100110111111001011001101111110010001010010111000000011010001000010000000110011011111100100001010010111000000101100010000100000001111111111100110011001100110001101100010000100000001100110111111001011001101111110010001010010111000000010110001000010000000110011011111100100001010010111000000101100010000100000001111111111100110011001100110001000010100100001000001100110111111001011001101111110010001010010000100000010110001000010000000110011011111100100001010010000100000111100010000100000001111111111100110011001100110001111100010000100000001100110111111001011001101111110010001010010000100000011110001000010000000110011011111100100001010010000100000111100010000100000001111111111100110011001100110001000010100101001000001100110111111001011001101111110010001010010100100000011110001000010000000110011011111100100001010010100100000100010010000100000001111111111100110011001100110001100010010000100000001100110111111001011001101111110010001010010100100000010001001000010000000110011011111100100001010010100100000100010010000100000001111111111100110011001100110001000010100100101000001100110111111001011001101111110010001010010010100000010001001000010000000110011011111100100001010010010100000110010010000100000001111111111100110011001100110001110010010000100000001100110111111001011001101111110010001010010010100000011001001000010000000110011011111100100001010010010100000110010010000100000001111111111100110011001100110001000010100101101000001100110111111001011001101111110010001010010110100000011001001000010000000110011011111100100001010010110100000101010010000100000001111111111100110011001100110001101010010000100000001100110111111001011001101111110010001010010110100000010101001000010000000110011011111100100001010010110100000101010010000100000001111111111100110011001100110001000010100100011000001100110111111001011001101111110010001010010001100000010101001000010000000110011011111100100001010010001100000111010010000100000001111111111100110011001100110001111010010000100000001100110111111001011001101111110010001010010001100000011101001000010000000110011011111100100001010010001100000111010010000100000001111111111100110011001100110001000010100101011000001100110111111001011001101111110010001010010101100000011101001000010000000110011011111100100001010010101100000100110010000100000001111111111100110011001100110001100110010000100000001100110111111001011001101111110010001010010101100000010011001000010000000110011011111100100001010010101100000100110010000100000001111111111100110011001100110001000010100100111000001100110111111001011001101111110010001010010011100000010011001000010000000110011011111100100001010010011100000110110010000100000001111111111100110011001100110001110110010000100000001100110111111001011001101111110010001010010011100000011011001000010000000110011011111100100001010010011100000110110010000100000001111111111100110011001100110001000010100101111000001100110111111001011001101111110010001010010111100000011011001000010000000110011011111100100001010010111100000101110010000100000001111111111100110011001100110001101110010000100000001100110111111001011001101111110010001010010111100000010111001000010000000110011011111100100001010010111100000101110010000100000001111111111100110011001100110001000010100100000100001100110111111001011001101111110010001010010000010000010111001000010000000110011011111100100001010010000010000111110010000100000001111111111100110011001100110001111110010000100000001100110111111001011001101111110010001010010000010000011111001000010000000110011011111100100001010010000010000111110010000100000001111111111100110011001100110001000010100101000100001100110111111001011001101111110010001010010100010000011111001000010000000110011011111100100001010010100010000100001010000100000001111111111100110011001100110001100001010000100000001100110111111001011001101111110010001010010100010000010000101000010000000110011011111100100001010010100010000100001010000100000001111111111100110011001100110001000010100100100100001100110111111001011001101111110010001010010010010000010000101000010000000110011011111100100001010010010010000110001010000100000001111111111100110011001100110001110001010000100000001100110111111001011001101111110010001010010010010000011000101000010000000110011011111100100001010010010010000110001010000100000001111111111100110011001100110001000010100101100100001100110111111001011001101111110010001010010110010000011000101000010000000110011011111100100001010010110010000101001010000100000001111111111100110011001100110001101001010000100000001100110111111001011001101111110010001010010110010000010100101000010000000110011011111100100001010010110010000101001010000100000001111111111100110011001100110001000010100100010100001100110111111001011001101111110010001010010001010000010100101000010000000110011011111100100001010010001010000111001010000100000001111111111100110011001100110001111001010000100000001100110111111001011001101111110010001010010001010000011100101000010000000110011011111100100001010010001010000111001010000100000001111111111100110011001100110001000010100101010100001100110111111001011001101111110010001010010101010000011100101000010000000110011011111100100001010010101010000100101010000100000001111111111100110011001100110001100101010000100000001100110111111001011001101111110010001010010101010000010010101000010000000110011011111100100001010010101010000100101010000100000001111111111100110011001100110001000010100100110100001100110111111001011001101111110010001010010011010000010010101000010000000110011011111100100001010010011010000110101010000100000001111111111100110011001100110001110101010000100000001100110111111001011001101111110010001010010011010000011010101000010000000110011011111100100001010010011010000110101010000100000001111111111100110011001100110001000010100101110100001100110111111001011001101111110010001010010111010000011010101000010000000110011011111100100001010010111010000101101010000100000001111111111100110011001100110001101101010000100000001100110111111001011001101111110010001010010111010000010110101000010000000110011011111100100001010010111010000101101010000100000001111111111100110011001100110001000010100100001100001100110111111001011001101111110010001010010000110000010110101000010000000110011011111100100001010010000110000111101010000100000001111111111100110011001100110001111101010000100000001100110111111001011001101111110010001010010000110000011110101000010000000110011011111100100001010010000110000111101010000100000001111111111100110011001100110001000010100101001100001100110111111001011001101111110010001010010100110000011110101000010000000110011011111100100001010010100110000100011010000100000001111111111100110011001100110001100011010000100000001100110111111001011001101111110010001010010100110000010001101000010000000110011011111100100001010010100110000100011010000100000001111111111100110011001100110001000010100100101100001100110111111001011001101111110010001010010010110000010001101000010000000110011011111100100001010010010110000110011010000100000001111111111100110011001100110001110011010000100000001100110111111001011001101111110010001010010010110000011001101000010000000110011011111100100001010010010110000110011010000100000001111111111100110011001100110001000010100101101100001100110111111001011001101111110010001010010110110000011001101000010000000110011011111100100001010010110110000101011010000100000001111111111100110011001100110001101011010000100000001100110111111001011001101111110010001010010110110000010101101000010000000110011011111100100001010010110110000101011010000100000001111111111100110011001100110001000010100100011100001100110111111001011001101111110010001010010001110000010101101000010000000110011011111100100001010010001110000111011010000100000001111111111100110011001100110001111011010000100000001100110111111001011001101111110010001010010001110000011101101000010000000110011011111100100001010010001110000111011010000100000001111111111100110011001100110001000010100101011100001100110111111001011001101111110010001010010101110000011101101000010000000110011011111100100001010010101110000100111010000100000001111111111100110011001100110001100111010000100000001100110111111001011001101111110010001010010101110000010011101000010000000110011011111100100001010010101110000100111010000100000001111111111100110011001100110001000010100100111100001100110111111001011001101111110010001010010011110000010011101000010000000110011011111100100001010010011110000110111010000100000001111111111100110011001100110001110111010000100000001100110111111001011001101111110010001010010011110000011011101000010000000110011011111100100001010010011110000110111010000100000001111111111100110011001100110001000010100101111100001100110111111001011001101111110010001010010111110000011011101000010000000110011011111100100001010010111110000101111010000100000001111111111100110011001100110001101111010000100000001100110111111001011001101111110010001010010111110000010111101000010000000110011011111100100001010010111110000101111010000100000001111111111100110011001100110001000010100100000010001100110111111001011001101111110010001010010000001000010111101000010000000110011011111100100001010010000001000111111010000100000001111111111100110011001100110001111111010000100000001100110111111001011001101111110010001010010000001000011111101000010000000110011011111100100001010010000001000111111010000100000001111111111100110011001100110001000010100101000010001100110111111001011001101111110010001010010100001000011111101000010000000110011011111100100001010010100001000100000110000100000001111111111100110011001100110001100000110000100000001100110111111001011001101111110010001010010100001000010000011000010000000110011011111100100001010010100001000100000110000100000001111111111100110011001100110001000010100100100010001100110111111001011001101111110010001010010010001000010000011000010000000110011011111100100001010010010001000110000110000100000001111111111100110011001100110001110000110000100000001100110111111001011001101111110010001010010010001000011000011000010000000110011011111100100001010010010001000110000110000100000001111111111100110011001100110001000010100101100010001100110111111001011001101111110010001010010110001000011000011000010000000110011011111100100001010010110001000101000110000100000001111111111100110011001100110001101000110000100000001100110111111001011001101111110010001010010110001000010100011000010000000110011011111100100001010010110001000101000110000100000001111111111100110011001100110001000010100100010010001100110111111001011001101111110010001010010001001000010100011000010000000110011011111100100001010010001001000111000110000100000001111111111100110011001100110001111000110000100000001100110111111001011001101111110010001010010001001000011100011000010000000110011011111100100001010010001001000111000110000100000001111111111100110011001100110001000010100101010010001100110111111001011001101111110010001010010101001000011100011000010000000110011011111100100001010010101001000100100110000100000001111111111100110011001100110001100100110000100000001100110111111001011001101111110010001010010101001000010010011000010000000110011011111100100001010010101001000100100110000100000001111111111100110011001100110001000010100100110010001100110111111001011001101111110010001010010011001000010010011000010000000110011011111100100001010010011001000110100110000100000001111111111100110011001100110001110100110000100000001100110111111001011001101111110010001010010011001000011010011000010000000110011011111100100001010010011001000110100110000100000001111111111100110011001100110001000010100101110010001100110111111001011001101111110010001010010111001000011010011000010000000110011011111100100001010010111001000101100110000100000001111111111100110011001100110001101100110000100000001100110111111001011001101111110010001010010111001000010110011000010000000110011011111100100001010010111001000101100110000100000001111111111100110011001100110001000010100100001010001100110111111001011001101111110010001010010000101000010110011000010000000110011011111100100001010010000101000111100110000100000001111111111100110011001100110001111100110000100000001100110111111001011001101111110010001010010000101000011110011000010000000110011011111100100001010010000101000111100110000100000001111111111100110011001100110001000010100101001010001100110111111001011001101111110010001010010100101000011110011000010000000110011011111100100001010010100101000100010110000100000001111111111100110011001100110001100010110000100000001100110111111001011001101111110010001010010100101000010001011000010000000110011011111100100001010010100101000100010110000100000001111111111100110011001100110001000010100100101010001100110111111001011001101111110010001010010010101000010001011000010000000110011011111100100001010010010101000110010110000100000001111111111100110011001100110001110010110000100000001100110111111001011001101111110010001010010010101000011001011000010000000110011011111100100001010010010101000110010110000100000001111111111100110011001100110001000010100101101010001100110111111001011001101111110010001010010110101000011001011000010000000110011011111100100001010010110101000101010110000100000001111111111100110011001100110001101010110000100000001100110111111001011001101111110010001010010110101000010101011000010000000110011011111100100001010010110101000101010110000100000001111111111100110011001100110001000010100100011010001100110111111001011001101111110010001010010001101000010101011000010000000110011011111100100001010010001101000111010110000100000001111111111100110011001100110001111010110000100000001100110111111001011001101111110010001010010001101000011101011000010000000110011011111100100001010010001101000111010110000100000001111111111100110011001100110001000010100101011010001100110111111001011001101111110010001010010101101000011101011000010000000110011011111100100001010010101101000100110110000100000001111111111100110011001100110001100110110000100000001100110111111001011001101111110010001010010101101000010011011000010000000110011011111100100001010010101101000100110110000100000001111111111100110011001100110001000010100100111010001100110111111001011001101111110010001010010011101000010011011000010000000110011011111100100001010010011101000110110110000100000001111111111100110011001100110001110110110000100000001100110111111001011001101111110010001010010011101000011011011000010000000110011011111100100001010010011101000110110110000100000001111111111100110011001100110001000010100101111010001100110111111001011001101111110010001010010111101000011011011000010000000110011011111100100001010010111101000101110110000100000001111111111100110011001100110001101110110000100000001100110111111001011001101111110010001010010111101000010111011000010000000110011011111100100001010010111101000101110110000100000001111111111100110011001100110001000010100100000110001100110111111001011001101111110010001010010000011000010111011000010000000110011011111100100001010010000011000111110110000100000001111111111100110011001100110001111110110000100000001100110111111001011001101111110010001010010000011000011111011000010000000110011011111100100001010010000011000111110110000100000001111111111100110011001100110001000010100101000110001100110111111001011001101111110010001010010100011000011111011000010000000110011011111100100001010010100011000100001110000100000001111111111100110011001100110001100001110000100000001100110111111001011001101111110010001010010100011000010000111000010000000110011011111100100001010010100011000100001110000100000001111111111100110011001100110001000010100100100110001100110111111001011001101111110010001010010010011000010000111000010000000110011011111100100001010010010011000110001110000100000001111111111100110011001100110001110001110000100000001100110111111001011001101111110010001010010010011000011000111000010000000110011011111100100001010010010011000110001110000100000001111111111100110011001100110001010010100100000000001100110111111001011001101111110011001010010000000000011000111000010000000110011011111100101001010010000000000101001110000100000001111111111100110011001100110001101001110000100000001100110111111001011001101111110011001010010000000000010100111000010000000110011011111100101001010010000000000101001110000100000001111111111100110011001100110001010010100101000000001100110111111001011001101111110011001010010100000000010100111000010000000110011011111100101001010010100000000111001110000100000001111111111100110011001100110001111001110000100000001100110111111001011001101111110011001010010100000000011100111000010000000110011011111100101001010010100000000111001110000100000001111111111100110011001100110001010010100100100000001100110111111001011001101111110011001010010010000000011100111000010000000110011011111100101001010010010000000100101110000100000001111111111100110011001100110001100101110000100000001100110111111001011001101111110011001010010010000000010010111000010000000110011011111100101001010010010000000100101110000100000001111111111100110011001100110001010010100101100000001100110111111001011001101111110011001010010110000000010010111000010000000110011011111100101001010010110000000110101110000100000001111111111100110011001100110001110101110000100000001100110111111001011001101111110011001010010110000000011010111000010000000110011011111100101001010010110000000110101110000100000001111111111100110011001100110001010010100100010000001100110111111001011001101111110011001010010001000000011010111000010000000110011011111100101001010010001000000101101110000100000001111111111100110011001100110001101101110000100000001100110111111001011001101111110011001010010001000000010110111000010000000110011011111100101001010010001000000101101110000100000001111111111100110011001100110001010010100101010000001100110111111001011001101111110011001010010101000000010110111000010000000110011011111100101001010010101000000111101110000100000001111111111100110011001100110001111101110000100000001100110111111001011001101111110011001010010101000000011110111000010000000110011011111100101001010010101000000111101110000100000001111111111100110011001100110001010010100100110000001100110111111001011001101111110011001010010011000000011110111000010000000110011011111100101001010010011000000100011110000100000001111111111100110011001100110001100011110000100000001100110111111001011001101111110011001010010011000000010001111000010000000110011011111100101001010010011000000100011110000100000001111111111100110011001100110001010010100101110000001100110111111001011001101111110011001010010111000000010001111000010000000110011011111100101001010010111000000110011110000100000001111111111100110011001100110001110011110000100000001100110111111001011001101111110011001010010111000000011001111000010000000110011011111100101001010010111000000110011110000100000001111111111100110011001100110001010010100100001000001100110111111001011001101111110011001010010000100000011001111000010000000110011011111100101001010010000100000101011110000100000001111111111100110011001100110001101011110000100000001100110111111001011001101111110011001010010000100000010101111000010000000110011011111100101001010010000100000101011110000100000001111111111100110011001100110001010010100101001000001100110111111001011001101111110011001010010100100000010101111000010000000110011011111100101001010010100100000111011110000100000001111111111100110011001100110001111011110000100000001100110111111001011001101111110011001010010100100000011101111000010000000110011011111100101001010010100100000111011110000100000001111111111100110011001100110001010010100100101000001100110111111001011001101111110011001010010010100000011101111000010000000110011011111100101001010010010100000100111110000100000001111111111100110011001100110001100111110000100000001100110111111001011001101111110011001010010010100000010011111000010000000110011011111100101001010010010100000100111110000100000001111111111100110011001100110001010010100101101000001100110111111001011001101111110011001010010110100000010011111000010000000110011011111100101001010010110100000110111110000100000001111111111100110011001100110001110111110000100000001100110111111001011001101111110011001010010110100000011011111000010000000110011011111100101001010010110100000110111110000100000001111111111100110011001100110001010010100100011000001100110111111001011001101111110011001010010001100000011011111000010000000110011011111100101001010010001100000101111110000100000001111111111100110011001100110001101111110000100000001100110111111001011001101111110011001010010001100000010111111000010000000110011011111100101001010010001100000101111110000100000001111111111100110011001100110001010010100101011000001100110111111001011001101111110011001010010101100000010111111000010000000110011011111100101001010010101100000111111110000100000001111111111100110011001100110001111111110000100000001100110111111001011001101111110011001010010101100000011111111000010000000110011011111100101001010010101100000111111110000100000001111111111100110011001100110001010010100100111000001100110111111001011001101111110011001010010011100000011111111000010000000110011011111100101001010010011100000100000001000100000001111111111100110011001100110001100000001000100000001100110111111001011001101111110011001010010011100000010000000100010000000110011011111100101001010010011100000100000001000100000001111111111100110011001100110001010010100101111000001100110111111001011001101111110011001010010111100000010000000100010000000110011011111100101001010010111100000110000001000100000001111111111100110011001100110001110000001000100000001100110111111001011001101111110011001010010111100000011000000100010000000110011011111100101001010010111100000110000001000100000001111111111100110011001100110001010010100100000100001100110111111001011001101111110011001010010000010000011000000100010000000110011011111100101001010010000010000101000001000100000001111111111100110011001100110001101000001000100000001100110111111001011001101111110011001010010000010000010100000100010000000110011011111100101001010010000010000101000001000100000001111111111100110011001100110001010010100101000100001100110111111001011001101111110011001010010100010000010100000100010000000110011011111100101001010010100010000111000001000100000001111111111100110011001100110001111000001000100000001100110111111001011001101111110011001010010100010000011100000100010000000110011011111100101001010010100010000111000001000100000001111111111100110011001100110001010010100100100100001100110111111001011001101111110011001010010010010000011100000100010000000110011011111100101001010010010010000100100001000100000001111111111100110011001100110001100100001000100000001100110111111001011001101111110011001010010010010000010010000100010000000110011011111100101001010010010010000100100001000100000001111111111100110011001100110001010010100101100100001100110111111001011001101111110011001010010110010000010010000100010000000110011011111100101001010010110010000110100001000100000001111111111100110011001100110001110100001000100000001100110111111001011001101111110011001010010110010000011010000100010000000110011011111100101001010010110010000110100001000100000001111111111100110011001100110001010010100100010100001100110111111001011001101111110011001010010001010000011010000100010000000110011011111100101001010010001010000101100001000100000001111111111100110011001100110001101100001000100000001100110111111001011001101111110011001010010001010000010110000100010000000110011011111100101001010010001010000101100001000100000001111111111100110011001100110001010010100101010100001100110111111001011001101111110011001010010101010000010110000100010000000110011011111100101001010010101010000111100001000100000001111111111100110011001100110001111100001000100000001100110111111001011001101111110011001010010101010000011110000100010000000110011011111100101001010010101010000111100001000100000001111111111100110011001100110001010010100100110100001100110111111001011001101111110011001010010011010000011110000100010000000110011011111100101001010010011010000100010001000100000001111111111100110011001100110001100010001000100000001100110111111001011001101111110011001010010011010000010001000100010000000110011011111100101001010010011010000100010001000100000001111111111100110011001100110001010010100101110100001100110111111001011001101111110011001010010111010000010001000100010000000110011011111100101001010010111010000110010001000100000001111111111100110011001100110001110010001000100000001100110111111001011001101111110011001010010111010000011001000100010000000110011011111100101001010010111010000110010001000100000001111111111100110011001100110001010010100100001100001100110111111001011001101111110011001010010000110000011001000100010000000110011011111100101001010010000110000101010001000100000001111111111100110011001100110001101010001000100000001100110111111001011001101111110011001010010000110000010101000100010000000110011011111100101001010010000110000101010001000100000001111111111100110011001100110001010010100101001100001100110111111001011001101111110011001010010100110000010101000100010000000110011011111100101001010010100110000111010001000100000001111111111100110011001100110001111010001000100000001100110111111001011001101111110011001010010100110000011101000100010000000110011011111100101001010010100110000111010001000100000001111111111100110011001100110001010010100100101100001100110111111001011001101111110011001010010010110000011101000100010000000110011011111100101001010010010110000100110001000100000001111111111100110011001100110001100110001000100000001100110111111001011001101111110011001010010010110000010011000100010000000110011011111100101001010010010110000100110001000100000001111111111100110011001100110001010010100101101100001100110111111001011001101111110011001010010110110000010011000100010000000110011011111100101001010010110110000110110001000100000001111111111100110011001100110001110110001000100000001100110111111001011001101111110011001010010110110000011011000100010000000110011011111100101001010010110110000110110001000100000001111111111100110011001100110001010010100100011100001100110111111001011001101111110011001010010001110000011011000100010000000110011011111100101001010010001110000101110001000100000001111111111100110011001100110001101110001000100000001100110111111001011001101111110011001010010001110000010111000100010000000110011011111100101001010010001110000101110001000100000001111111111100110011001100110001010010100101011100001100110111111001011001101111110011001010010101110000010111000100010000000110011011111100101001010010101110000111110001000100000001111111111100110011001100110001111110001000100000001100110111111001011001101111110011001010010101110000011111000100010000000110011011111100101001010010101110000111110001000100000001111111111100110011001100110001010010100100111100001100110111111001011001101111110011001010010011110000011111000100010000000110011011111100101001010010011110000100001001000100000001111111111100110011001100110001100001001000100000001100110111111001011001101111110011001010010011110000010000100100010000000110011011111100101001010010011110000100001001000100000001111111111100110011001100110001010010100101111100001100110111111001011001101111110011001010010111110000010000100100010000000110011011111100101001010010111110000110001001000100000001111111111100110011001100110001110001001000100000001100110111111001011001101111110011001010010111110000011000100100010000000110011011111100101001010010111110000110001001000100000001111111111100110011001100110001010010100100000010001100110111111001011001101111110011001010010000001000011000100100010000000110011011111100101001010010000001000101001001000100000001111111111100110011001100110001101001001000100000001100110111111001011001101111110011001010010000001000010100100100010000000110011011111100101001010010000001000101001001000100000001111111111100110011001100110001010010100101000010001100110111111001011001101111110011001010010100001000010100100100010000000110011011111100101001010010100001000111001001000100000001111111111100110011001100110001111001001000100000001100110111111001011001101111110011001010010100001000011100100100010000000110011011111100101001010010100001000111001001000100000001111111111100110011001100110001010010100100100010001100110111111001011001101111110011001010010010001000011100100100010000000110011011111100101001010010010001000100101001000100000001111111111100110011001100110001100101001000100000001100110111111001011001101111110011001010010010001000010010100100010000000110011011111100101001010010010001000100101001000100000001111111111100110011001100110001010010100101100010001100110111111001011001101111110011001010010110001000010010100100010000000110011011111100101001010010110001000110101001000100000001111111111100110011001100110001110101001000100000001100110111111001011001101111110011001010010110001000011010100100010000000110011011111100101001010010110001000110101001000100000001111111111100110011001100110001010010100100010010001100110111111001011001101111110011001010010001001000011010100100010000000110011011111100101001010010001001000101101001000100000001111111111100110011001100110001101101001000100000001100110111111001011001101111110011001010010001001000010110100100010000000110011011111100101001010010001001000101101001000100000001111111111100110011001100110001010010100101010010001100110111111001011001101111110011001010010101001000010110100100010000000110011011111100101001010010101001000111101001000100000001111111111100110011001100110001111101001000100000001100110111111001011001101111110011001010010101001000011110100100010000000110011011111100101001010010101001000111101001000100000001111111111100110011001100110001010010100100110010001100110111111001011001101111110011001010010011001000011110100100010000000110011011111100101001010010011001000100011001000100000001111111111100110011001100110001100011001000100000001100110111111001011001101111110011001010010011001000010001100100010000000110011011111100101001010010011001000100011001000100000001111111111100110011001100110001010010100101110010001100110111111001011001101111110011001010010111001000010001100100010000000110011011111100101001010010111001000110011001000100000001111111111100110011001100110001110011001000100000001100110111111001011001101111110011001010010111001000011001100100010000000110011011111100101001010010111001000110011001000100000001111111111100110011001100110001010010100100001010001100110111111001011001101111110011001010010000101000011001100100010000000110011011111100101001010010000101000101011001000100000001111111111100110011001100110001101011001000100000001100110111111001011001101111110011001010010000101000010101100100010000000110011011111100101001010010000101000101011001000100000001111111111100110011001100110001010010100101001010001100110111111001011001101111110011001010010100101000010101100100010000000110011011111100101001010010100101000111011001000100000001111111111100110011001100110001111011001000100000001100110111111001011001101111110011001010010100101000011101100100010000000110011011111100101001010010100101000111011001000100000001111111111100110011001100110001010010100100101010001100110111111001011001101111110011001010010010101000011101100100010000000110011011111100101001010010010101000100111001000100000001111111111100110011001100110001100111001000100000001100110111111001011001101111110011001010010010101000010011100100010000000110011011111100101001010010010101000100111001000100000001111111111100110011001100110001010010100101101010001100110111111001011001101111110011001010010110101000010011100100010000000110011011111100101001010010110101000110111001000100000001111111111100110011001100110001110111001000100000001100110111111001011001101111110011001010010110101000011011100100010000000110011011111100101001010010110101000110111001000100000001111111111100110011001100110001010010100100011010001100110111111001011001101111110011001010010001101000011011100100010000000110011011111100101001010010001101000101111001000100000001111111111100110011001100110001101111001000100000001100110111111001011001101111110011001010010001101000010111100100010000000110011011111100101001010010001101000101111001000100000001111111111100110011001100110001010010100101011010001100110111111001011001101111110011001010010101101000010111100100010000000110011011111100101001010010101101000111111001000100000001111111111100110011001100110001111111001000100000001100110111111001011001101111110011001010010101101000011111100100010000000110011011111100101001010010101101000111111001000100000001111111111100110011001100110001010010100100111010001100110111111001011001101111110011001010010011101000011111100100010000000110011011111100101001010010011101000100000101000100000001111111111100110011001100110001100000101000100000001100110111111001011001101111110011001010010011101000010000010100010000000110011011111100101001010010011101000100000101000100000001111111111100110011001100110001010010100101111010001100110111111001011001101111110011001010010111101000010000010100010000000110011011111100101001010010111101000110000101000100000001111111111100110011001100110001110000101000100000001100110111111001011001101111110011001010010111101000011000010100010000000110011011111100101001010010111101000110000101000100000001111111111100110011001100110001010010100100000110001100110111111001011001101111110011001010010000011000011000010100010000000110011011111100101001010010000011000101000101000100000001111111111100110011001100110001101000101000100000001100110111111001011001101111110011001010010000011000010100010100010000000110011011111100101001010010000011000101000101000100000001111111111100110011001100110001010010100101000110001100110111111001011001101111110011001010010100011000010100010100010000000110011011111100101001010010100011000111000101000100000001111111111100110011001100110001111000101000100000001100110111111001011001101111110011001010010100011000011100010100010000000110011011111100101001010010100011000111000101000100000001111111111100110011001100110001010010100100100110001100110111111001011001101111110011001010010010011000011100010100010000000110011011111100101001010010010011000100100101000100000001111111111100110011001100110001100100101000100000001100110111111001011001101111110011001010010010011000010010010100010000000110011011111100101001010010010011000100100101000100000001111111111100110011001100110001001010100100000000001100110111111001011001101111110010101010010000000000010010010100010000000110011011111100100101010010000000000110100101000100000001111111111100110011001100110001110100101000100000001100110111111001011001101111110010101010010000000000011010010100010000000110011011111100100101010010000000000110100101000100000001111111111100110011001100110001001010100101000000001100110111111001011001101111110010101010010100000000011010010100010000000110011011111100100101010010100000000101100101000100000001111111111100110011001100110001101100101000100000001100110111111001011001101111110010101010010100000000010110010100010000000110011011111100100101010010100000000101100101000100000001111111111100110011001100110001001010100100100000001100110111111001011001101111110010101010010010000000010110010100010000000110011011111100100101010010010000000111100101000100000001111111111100110011001100110001111100101000100000001100110111111001011001101111110010101010010010000000011110010100010000000110011011111100100101010010010000000111100101000100000001111111111100110011001100110001001010100101100000001100110111111001011001101111110010101010010110000000011110010100010000000110011011111100100101010010110000000100010101000100000001111111111100110011001100110001100010101000100000001100110111111001011001101111110010101010010110000000010001010100010000000110011011111100100101010010110000000100010101000100000001111111111100110011001100110001001010100100010000001100110111111001011001101111110010101010010001000000010001010100010000000110011011111100100101010010001000000110010101000100000001111111111100110011001100110001110010101000100000001100110111111001011001101111110010101010010001000000011001010100010000000110011011111100100101010010001000000110010101000100000001111111111100110011001100110001001010100101010000001100110111111001011001101111110010101010010101000000011001010100010000000110011011111100100101010010101000000101010101000100000001111111111100110011001100110001101010101000100000001100110111111001011001101111110010101010010101000000010101010100010000000110011011111100100101010010101000000101010101000100000001111111111100110011001100110001001010100100110000001100110111111001011001101111110010101010010011000000010101010100010000000110011011111100100101010010011000000111010101000100000001111111111100110011001100110001111010101000100000001100110111111001011001101111110010101010010011000000011101010100010000000110011011111100100101010010011000000111010101000100000001111111111100110011001100110001001010100101110000001100110111111001011001101111110010101010010111000000011101010100010000000110011011111100100101010010111000000100110101000100000001111111111100110011001100110001100110101000100000001100110111111001011001101111110010101010010111000000010011010100010000000110011011111100100101010010111000000100110101000100000001111111111100110011001100110001001010100100001000001100110111111001011001101111110010101010010000100000010011010100010000000110011011111100100101010010000100000110110101000100000001111111111100110011001100110001110110101000100000001100110111111001011001101111110010101010010000100000011011010100010000000110011011111100100101010010000100000110110101000100000001111111111100110011001100110001001010100101001000001100110111111001011001101111110010101010010100100000011011010100010000000110011011111100100101010010100100000101110101000100000001111111111100110011001100110001101110101000100000001100110111111001011001101111110010101010010100100000010111010100010000000110011011111100100101010010100100000101110101000100000001111111111100110011001100110001001010100100101000001100110111111001011001101111110010101010010010100000010111010100010000000110011011111100100101010010010100000111110101000100000001111111111100110011001100110001111110101000100000001100110111111001011001101111110010101010010010100000011111010100010000000110011011111100100101010010010100000111110101000100000001111111111100110011001100110001001010100101101000001100110111111001011001101111110010101010010110100000011111010100010000000110011011111100100101010010110100000100001101000100000001111111111100110011001100110001100001101000100000001100110111111001011001101111110010101010010110100000010000110100010000000110011011111100100101010010110100000100001101000100000001111111111100110011001100110001001010100100011000001100110111111001011001101111110010101010010001100000010000110100010000000110011011111100100101010010001100000110001101000100000001111111111100110011001100110001110001101000100000001100110111111001011001101111110010101010010001100000011000110100010000000110011011111100100101010010001100000110001101000100000001111111111100110011001100110001001010100101011000001100110111111001011001101111110010101010010101100000011000110100010000000110011011111100100101010010101100000101001101000100000001111111111100110011001100110001101001101000100000001100110111111001011001101111110010101010010101100000010100110100010000000110011011111100100101010010101100000101001101000100000001111111111100110011001100110001001010100100111000001100110111111001011001101111110010101010010011100000010100110100010000000110011011111100100101010010011100000111001101000100000001111111111100110011001100110001111001101000100000001100110111111001011001101111110010101010010011100000011100110100010000000110011011111100100101010010011100000111001101000100000001111111111100110011001100110001001010100101111000001100110111111001011001101111110010101010010111100000011100110100010000000110011011111100100101010010111100000100101101000100000001111111111100110011001100110001100101101000100000001100110111111001011001101111110010101010010111100000010010110100010000000110011011111100100101010010111100000100101101000100000001111111111100110011001100110001001010100100000100001100110111111001011001101111110010101010010000010000010010110100010000000110011011111100100101010010000010000110101101000100000001111111111100110011001100110001110101101000100000001100110111111001011001101111110010101010010000010000011010110100010000000110011011111100100101010010000010000110101101000100000001111111111100110011001100110001001010100101000100001100110111111001011001101111110010101010010100010000011010110100010000000110011011111100100101010010100010000101101101000100000001111111111100110011001100110001101101101000100000001100110111111001011001101111110010101010010100010000010110110100010000000110011011111100100101010010100010000101101101000100000001111111111100110011001100110001001010100100100100001100110111111001011001101111110010101010010010010000010110110100010000000110011011111100100101010010010010000111101101000100000001111111111100110011001100110001111101101000100000001100110111111001011001101111110010101010010010010000011110110100010000000110011011111100100101010010010010000111101101000100000001111111111100110011001100110001001010100101100100001100110111111001011001101111110010101010010110010000011110110100010000000110011011111100100101010010110010000100011101000100000001111111111100110011001100110001100011101000100000001100110111111001011001101111110010101010010110010000010001110100010000000110011011111100100101010010110010000100011101000100000001111111111100110011001100110001001010100100010100001100110111111001011001101111110010101010010001010000010001110100010000000110011011111100100101010010001010000110011101000100000001111111111100110011001100110001110011101000100000001100110111111001011001101111110010101010010001010000011001110100010000000110011011111100100101010010001010000110011101000100000001111111111100110011001100110001001010100101010100001100110111111001011001101111110010101010010101010000011001110100010000000110011011111100100101010010101010000101011101000100000001111111111100110011001100110001101011101000100000001100110111111001011001101111110010101010010101010000010101110100010000000110011011111100100101010010101010000101011101000100000001111111111100110011001100110001001010100100110100001100110111111001011001101111110010101010010011010000010101110100010000000110011011111100100101010010011010000111011101000100000001111111111100110011001100110001111011101000100000001100110111111001011001101111110010101010010011010000011101110100010000000110011011111100100101010010011010000111011101000100000001111111111100110011001100110001001010100101110100001100110111111001011001101111110010101010010111010000011101110100010000000110011011111100100101010010111010000100111101000100000001111111111100110011001100110001100111101000100000001100110111111001011001101111110010101010010111010000010011110100010000000110011011111100100101010010111010000100111101000100000001111111111100110011001100110001001010100100001100001100110111111001011001101111110010101010010000110000010011110100010000000110011011111100100101010010000110000110111101000100000001111111111100110011001100110001110111101000100000001100110111111001011001101111110010101010010000110000011011110100010000000110011011111100100101010010000110000110111101000100000001111111111100110011001100110001001010100101001100001100110111111001011001101111110010101010010100110000011011110100010000000110011011111100100101010010100110000101111101000100000001111111111100110011001100110001101111101000100000001100110111111001011001101111110010101010010100110000010111110100010000000110011011111100100101010010100110000101111101000100000001111111111100110011001100110001001010100100101100001100110111111001011001101111110010101010010010110000010111110100010000000110011011111100100101010010010110000111111101000100000001111111111100110011001100110001111111101000100000001100110111111001011001101111110010101010010010110000011111110100010000000110011011111100100101010010010110000111111101000100000001111111111100110011001100110001001010100101101100001100110111111001011001101111110010101010010110110000011111110100010000000110011011111100100101010010110110000100000011000100000001111111111100110011001100110001100000011000100000001100110111111001011001101111110010101010010110110000010000001100010000000110011011111100100101010010110110000100000011000100000001111111111100110011001100110001001010100100011100001100110111111001011001101111110010101010010001110000010000001100010000000110011011111100100101010010001110000110000011000100000001111111111100110011001100110001110000011000100000001100110111111001011001101111110010101010010001110000011000001100010000000110011011111100100101010010001110000110000011000100000001111111111100110011001100110001001010100101011100001100110111111001011001101111110010101010010101110000011000001100010000000110011011111100100101010010101110000101000011000100000001111111111100110011001100110001101000011000100000001100110111111001011001101111110010101010010101110000010100001100010000000110011011111100100101010010101110000101000011000100000001111111111100110011001100110001001010100100111100001100110111111001011001101111110010101010010011110000010100001100010000000110011011111100100101010010011110000111000011000100000001111111111100110011001100110001111000011000100000001100110111111001011001101111110010101010010011110000011100001100010000000110011011111100100101010010011110000111000011000100000001111111111100110011001100110001001010100101111100001100110111111001011001101111110010101010010111110000011100001100010000000110011011111100100101010010111110000100100011000100000001111111111100110011001100110001100100011000100000001100110111111001011001101111110010101010010111110000010010001100010000000110011011111100100101010010111110000100100011000100000001111111111100110011001100110001001010100100000010001100110111111001011001101111110010101010010000001000010010001100010000000110011011111100100101010010000001000110100011000100000001111111111100110011001100110001110100011000100000001100110111111001011001101111110010101010010000001000011010001100010000000110011011111100100101010010000001000110100011000100000001111111111100110011001100110001001010100101000010001100110111111001011001101111110010101010010100001000011010001100010000000110011011111100100101010010100001000101100011000100000001111111111100110011001100110001101100011000100000001100110111111001011001101111110010101010010100001000010110001100010000000110011011111100100101010010100001000101100011000100000001111111111100110011001100110001001010100100100010001100110111111001011001101111110010101010010010001000010110001100010000000110011011111100100101010010010001000111100011000100000001111111111100110011001100110001111100011000100000001100110111111001011001101111110010101010010010001000011110001100010000000110011011111100100101010010010001000111100011000100000001111111111100110011001100110001001010100101100010001100110111111001011001101111110010101010010110001000011110001100010000000110011011111100100101010010110001000100010011000100000001111111111100110011001100110001100010011000100000001100110111111001011001101111110010101010010110001000010001001100010000000110011011111100100101010010110001000100010011000100000001111111111100110011001100110001001010100100010010001100110111111001011001101111110010101010010001001000010001001100010000000110011011111100100101010010001001000110010011000100000001111111111100110011001100110001110010011000100000001100110111111001011001101111110010101010010001001000011001001100010000000110011011111100100101010010001001000110010011000100000001111111111100110011001100110001001010100101010010001100110111111001011001101111110010101010010101001000011001001100010000000110011011111100100101010010101001000101010011000100000001111111111100110011001100110001101010011000100000001100110111111001011001101111110010101010010101001000010101001100010000000110011011111100100101010010101001000101010011000100000001111111111100110011001100110001001010100100110010001100110111111001011001101111110010101010010011001000010101001100010000000110011011111100100101010010011001000111010011000100000001111111111100110011001100110001111010011000100000001100110111111001011001101111110010101010010011001000011101001100010000000110011011111100100101010010011001000111010011000100000001111111111100110011001100110001001010100101110010001100110111111001011001101111110010101010010111001000011101001100010000000110011011111100100101010010111001000100110011000100000001111111111100110011001100110001100110011000100000001100110111111001011001101111110010101010010111001000010011001100010000000110011011111100100101010010111001000100110011000100000001111111111100110011001100110001001010100100001010001100110111111001011001101111110010101010010000101000010011001100010000000110011011111100100101010010000101000110110011000100000001111111111100110011001100110001110110011000100000001100110111111001011001101111110010101010010000101000011011001100010000000110011011111100100101010010000101000110110011000100000001111111111100110011001100110001001010100101001010001100110111111001011001101111110010101010010100101000011011001100010000000110011011111100100101010010100101000101110011000100000001111111111100110011001100110001101110011000100000001100110111111001011001101111110010101010010100101000010111001100010000000110011011111100100101010010100101000101110011000100000001111111111100110011001100110001001010100100101010001100110111111001011001101111110010101010010010101000010111001100010000000110011011111100100101010010010101000111110011000100000001111111111100110011001100110001111110011000100000001100110111111001011001101111110010101010010010101000011111001100010000000110011011111100100101010010010101000111110011000100000001111111111100110011001100110001001010100101101010001100110111111001011001101111110010101010010110101000011111001100010000000110011011111100100101010010110101000100001011000100000001111111111100110011001100110001100001011000100000001100110111111001011001101111110010101010010110101000010000101100010000000110011011111100100101010010110101000100001011000100000001111111111100110011001100110001001010100100011010001100110111111001011001101111110010101010010001101000010000101100010000000110011011111100100101010010001101000110001011000100000001111111111100110011001100110001110001011000100000001100110111111001011001101111110010101010010001101000011000101100010000000110011011111100100101010010001101000110001011000100000001111111111100110011001100110001001010100101011010001100110111111001011001101111110010101010010101101000011000101100010000000110011011111100100101010010101101000101001011000100000001111111111100110011001100110001101001011000100000001100110111111001011001101111110010101010010101101000010100101100010000000110011011111100100101010010101101000101001011000100000001111111111100110011001100110001001010100100111010001100110111111001011001101111110010101010010011101000010100101100010000000110011011111100100101010010011101000111001011000100000001111111111100110011001100110001111001011000100000001100110111111001011001101111110010101010010011101000011100101100010000000110011011111100100101010010011101000111001011000100000001111111111100110011001100110001001010100101111010001100110111111001011001101111110010101010010111101000011100101100010000000110011011111100100101010010111101000100101011000100000001111111111100110011001100110001100101011000100000001100110111111001011001101111110010101010010111101000010010101100010000000110011011111100100101010010111101000100101011000100000001111111111100110011001100110001001010100100000110001100110111111001011001101111110010101010010000011000010010101100010000000110011011111100100101010010000011000110101011000100000001111111111100110011001100110001110101011000100000001100110111111001011001101111110010101010010000011000011010101100010000000110011011111100100101010010000011000110101011000100000001111111111100110011001100110001001010100101000110001100110111111001011001101111110010101010010100011000011010101100010000000110011011111100100101010010100011000101101011000100000001111111111100110011001100110001101101011000100000001100110111111001011001101111110010101010010100011000010110101100010000000110011011111100100101010010100011000101101011000100000001111111111100110011001100110001001010100100100110001100110111111001011001101111110010101010010010011000010110101100010000000110011011111100100101010010010011000111101011000100000001111111111100110011001100110001111101011000100000001100110111111001011001101111110010101010010010011000011110101100010000000110011011111100100101010010010011000111101011000100000001111111111100110011001100110001011010100100000000001100110111111001011001101111110011101010010000000000011110101100010000000110011011111100101101010010000000000100011011000100000001111111111100110011001100110001100011011000100000001100110111111001011001101111110011101010010000000000010001101100010000000110011011111100101101010010000000000100011011000100000001111111111100110011001100110001011010100101000000001100110111111001011001101111110011101010010100000000010001101100010000000110011011111100101101010010100000000110011011000100000001111111111100110011001100110001110011011000100000001100110111111001011001101111110011101010010100000000011001101100010000000110011011111100101101010010100000000110011011000100000001111111111100110011001100110001011010100100100000001100110111111001011001101111110011101010010010000000011001101100010000000110011011111100101101010010010000000101011011000100000001111111111100110011001100110001101011011000100000001100110111111001011001101111110011101010010010000000010101101100010000000110011011111100101101010010010000000101011011000100000001111111111100110011001100110001011010100101100000001100110111111001011001101111110011101010010110000000010101101100010000000110011011111100101101010010110000000111011011000100000001111111111100110011001100110001111011011000100000001100110111111001011001101111110011101010010110000000011101101100010000000110011011111100101101010010110000000111011011000100000001111111111100110011001100110001011010100100010000001100110111111001011001101111110011101010010001000000011101101100010000000110011011111100101101010010001000000100111011000100000001111111111100110011001100110001100111011000100000001100110111111001011001101111110011101010010001000000010011101100010000000110011011111100101101010010001000000100111011000100000001111111111100110011001100110001011010100101010000001100110111111001011001101111110011101010010101000000010011101100010000000110011011111100101101010010101000000110111011000100000001111111111100110011001100110001110111011000100000001100110111111001011001101111110011101010010101000000011011101100010000000110011011111100101101010010101000000110111011000100000001111111111100110011001100110001011010100100110000001100110111111001011001101111110011101010010011000000011011101100010000000110011011111100101101010010011000000101111011000100000001111111111100110011001100110001101111011000100000001100110111111001011001101111110011101010010011000000010111101100010000000110011011111100101101010010011000000101111011000100000001111111111100110011001100110001011010100101110000001100110111111001011001101111110011101010010111000000010111101100010000000110011011111100101101010010111000000111111011000100000001111111111100110011001100110001111111011000100000001100110111111001011001101111110011101010010111000000011111101100010000000110011011111100101101010010111000000111111011000100000001111111111100110011001100110001011010100100001000001100110111111001011001101111110011101010010000100000011111101100010000000110011011111100101101010010000100000100000111000100000001111111111100110011001100110001100000111000100000001100110111111001011001101111110011101010010000100000010000011100010000000110011011111100101101010010000100000100000111000100000001111111111100110011001100110001011010100101001000001100110111111001011001101111110011101010010100100000010000011100010000000110011011111100101101010010100100000110000111000100000001111111111100110011001100110001110000111000100000001100110111111001011001101111110011101010010100100000011000011100010000000110011011111100101101010010100100000110000111000100000001111111111100110011001100110001011010100100101000001100110111111001011001101111110011101010010010100000011000011100010000000110011011111100101101010010010100000101000111000100000001111111111100110011001100110001101000111000100000001100110111111001011001101111110011101010010010100000010100011100010000000110011011111100101101010010010100000101000111000100000001111111111100110011001100110001011010100101101000001100110111111001011001101111110011101010010110100000010100011100010000000110011011111100101101010010110100000111000111000100000001111111111100110011001100110001111000111000100000001100110111111001011001101111110011101010010110100000011100011100010000000110011011111100101101010010110100000111000111000100000001111111111100110011001100110001011010100100011000001100110111111001011001101111110011101010010001100000011100011100010000000110011011111100101101010010001100000100100111000100000001111111111100110011001100110001100100111000100000001100110111111001011001101111110011101010010001100000010010011100010000000110011011111100101101010010001100000100100111000100000001111111111100110011001100110001011010100101011000001100110111111001011001101111110011101010010101100000010010011100010000000110011011111100101101010010101100000110100111000100000001111111111100110011001100110001110100111000100000001100110111111001011001101111110011101010010101100000011010011100010000000110011011111100101101010010101100000110100111000100000001111111111100110011001100110001011010100100111000001100110111111001011001101111110011101010010011100000011010011100010000000110011011111100101101010010011100000101100111000100000001111111111100110011001100110001101100111000100000001100110111111001011001101111110011101010010011100000010110011100010000000110011011111100101101010010011100000101100111000100000001111111111100110011001100110001011010100101111000001100110111111001011001101111110011101010010111100000010110011100010000000110011011111100101101010010111100000111100111000100000001111111111100110011001100110001111100111000100000001100110111111001011001101111110011101010010111100000011110011100010000000110011011111100101101010010111100000111100111000100000001111111111100110011001100110001011010100100000100001100110111111001011001101111110011101010010000010000011110011100010000000110011011111100101101010010000010000100010111000100000001111111111100110011001100110001100010111000100000001100110111111001011001101111110011101010010000010000010001011100010000000110011011111100101101010010000010000100010111000100000001111111111100110011001100110001011010100101000100001100110111111001011001101111110011101010010100010000010001011100010000000110011011111100101101010010100010000110010111000100000001111111111100110011001100110001110010111000100000001100110111111001011001101111110011101010010100010000011001011100010000000110011011111100101101010010100010000110010111000100000001111111111100110011001100110001011010100100100100001100110111111001011001101111110011101010010010010000011001011100010000000110011011111100101101010010010010000101010111000100000001111111111100110011001100110001101010111000100000001100110111111001011001101111110011101010010010010000010101011100010000000110011011111100101101010010010010000101010111000100000001111111111100110011001100110001011010100101100100001100110111111001011001101111110011101010010110010000010101011100010000000110011011111100101101010010110010000111010111000100000001111111111100110011001100110001111010111000100000001100110111111001011001101111110011101010010110010000011101011100010000000110011011111100101101010010110010000111010111000100000001111111111100110011001100110001011010100100010100001100110111111001011001101111110011101010010001010000011101011100010000000110011011111100101101010010001010000100110111000100000001111111111100110011001100110001100110111000100000001100110111111001011001101111110011101010010001010000010011011100010000000110011011111100101101010010001010000100110111000100000001111111111100110011001100110001011010100101010100001100110111111001011001101111110011101010010101010000010011011100010000000110011011111100101101010010101010000110110111000100000001111111111100110011001100110001110110111000100000001100110111111001011001101111110011101010010101010000011011011100010000000110011011111100101101010010101010000110110111000100000001111111111100110011001100110001011010100100110100001100110111111001011001101111110011101010010011010000011011011100010000000110011011111100101101010010011010000101110111000100000001111111111100110011001100110001101110111000100000001100110111111001011001101111110011101010010011010000010111011100010000000110011011111100101101010010011010000101110111000100000001111111111100110011001100110001011010100101110100001100110111111001011001101111110011101010010111010000010111011100010000000110011011111100101101010010111010000111110111000100000001111111111100110011001100110001111110111000100000001100110111111001011001101111110011101010010111010000011111011100010000000110011011111100101101010010111010000111110111000100000001111111111100110011001100110001011010100100001100001100110111111001011001101111110011101010010000110000011111011100010000000110011011111100101101010010000110000100001111000100000001111111111100110011001100110001100001111000100000001100110111111001011001101111110011101010010000110000010000111100010000000110011011111100101101010010000110000100001111000100000001111111111100110011001100110001011010100101001100001100110111111001011001101111110011101010010100110000010000111100010000000110011011111100101101010010100110000110001111000100000001111111111100110011001100110001110001111000100000001100110111111001011001101111110011101010010100110000011000111100010000000110011011111100101101010010100110000110001111000100000001111111111100110011001100110001011010100100101100001100110111111001011001101111110011101010010010110000011000111100010000000110011011111100101101010010010110000101001111000100000001111111111100110011001100110001101001111000100000001100110111111001011001101111110011101010010010110000010100111100010000000110011011111100101101010010010110000101001111000100000001111111111100110011001100110001011010100101101100001100110111111001011001101111110011101010010110110000010100111100010000000110011011111100101101010010110110000111001111000100000001111111111100110011001100110001111001111000100000001100110111111001011001101111110011101010010110110000011100111100010000000110011011111100101101010010110110000111001111000100000001111111111100110011001100110001011010100100011100001100110111111001011001101111110011101010010001110000011100111100010000000110011011111100101101010010001110000100101111000100000001111111111100110011001100110001100101111000100000001100110111111001011001101111110011101010010001110000010010111100010000000110011011111100101101010010001110000100101111000100000001111111111100110011001100110001011010100101011100001100110111111001011001101111110011101010010101110000010010111100010000000110011011111100101101010010101110000110101111000100000001111111111100110011001100110001110101111000100000001100110111111001011001101111110011101010010101110000011010111100010000000110011011111100101101010010101110000110101111000100000001111111111100110011001100110001011010100100111100001100110111111001011001101111110011101010010011110000011010111100010000000110011011111100101101010010011110000101101111000100000001111111111100110011001100110001101101111000100000001100110111111001011001101111110011101010010011110000010110111100010000000110011011111100101101010010011110000101101111000100000001111111111100110011001100110001011010100101111100001100110111111001011001101111110011101010010111110000010110111100010000000110011011111100101101010010111110000111101111000100000001111111111100110011001100110001111101111000100000001100110111111001011001101111110011101010010111110000011110111100010000000110011011111100101101010010111110000111101111000100000001111111111100110011001100110001011010100100000010001100110111111001011001101111110011101010010000001000011110111100010000000110011011111100101101010010000001000100011111000100000001111111111100110011001100110001100011111000100000001100110111111001011001101111110011101010010000001000010001111100010000000110011011111100101101010010000001000100011111000100000001111111111100110011001100110001011010100101000010001100110111111001011001101111110011101010010100001000010001111100010000000110011011111100101101010010100001000110011111000100000001111111111100110011001100110001110011111000100000001100110111111001011001101111110011101010010100001000011001111100010000000110011011111100101101010010100001000110011111000100000001111111111100110011001100110001011010100100100010001100110111111001011001101111110011101010010010001000011001111100010000000110011011111100101101010010010001000101011111000100000001111111111100110011001100110001101011111000100000001100110111111001011001101111110011101010010010001000010101111100010000000110011011111100101101010010010001000101011111000100000001111111111100110011001100110001011010100101100010001100110111111001011001101111110011101010010110001000010101111100010000000110011011111100101101010010110001000111011111000100000001111111111100110011001100110001111011111000100000001100110111111001011001101111110011101010010110001000011101111100010000000110011011111100101101010010110001000111011111000100000001111111111100110011001100110001011010100100010010001100110111111001011001101111110011101010010001001000011101111100010000000110011011111100101101010010001001000100111111000100000001111111111100110011001100110001100111111000100000001100110111111001011001101111110011101010010001001000010011111100010000000110011011111100101101010010001001000100111111000100000001111111111100110011001100110001011010100101010010001100110111111001011001101111110011101010010101001000010011111100010000000110011011111100101101010010101001000110111111000100000001111111111100110011001100110001110111111000100000001100110111111001011001101111110011101010010101001000011011111100010000000110011011111100101101010010101001000110111111000100000001111111111100110011001100110001011010100100110010001100110111111001011001101111110011101010010011001000011011111100010000000110011011111100101101010010011001000101111111000100000001111111111100110011001100110001101111111000100000001100110111111001011001101111110011101010010011001000010111111100010000000110011011111100101101010010011001000101111111000100000001111111111100110011001100110001011010100101110010001100110111111001011001101111110011101010010111001000010111111100010000000110011011111100101101010010111001000111111111000100000001111111111100110011001100110001111111111000100000001100110111111001011001101111110011101010010111001000011111111100010000000110011011111100101101010010111001000111111111000100000001111111111100110011001100110001011010100100001010001100110111111001011001101111110011101010010000101000011111111100010000000110011011111100101101010010000101000100000000100100000001111111111100110011001100110001100000000100100000001100110111111001011001101111110011101010010000101000010000000010010000000110011011111100101101010010000101000100000000100100000001111111111100110011001100110001011010100101001010001100110111111001011001101111110011101010010100101000010000000010010000000110011011111100101101010010100101000110000000100100000001111111111100110011001100110001110000000100100000001100110111111001011001101111110011101010010100101000011000000010010000000110011011111100101101010010100101000110000000100100000001111111111100110011001100110001011010100100101010001100110111111001011001101111110011101010010010101000011000000010010000000110011011111100101101010010010101000101000000100100000001111111111100110011001100110001101000000100100000001100110111111001011001101111110011101010010010101000010100000010010000000110011011111100101101010010010101000101000000100100000001111111111100110011001100110001011010100101101010001100110111111001011001101111110011101010010110101000010100000010010000000110011011111100101101010010110101000111000000100100000001111111111100110011001100110001111000000100100000001100110111111001011001101111110011101010010110101000011100000010010000000110011011111100101101010010110101000111000000100100000001111111111100110011001100110001011010100100011010001100110111111001011001101111110011101010010001101000011100000010010000000110011011111100101101010010001101000100100000100100000001111111111100110011001100110001100100000100100000001100110111111001011001101111110011101010010001101000010010000010010000000110011011111100101101010010001101000100100000100100000001111111111100110011001100110001011010100101011010001100110111111001011001101111110011101010010101101000010010000010010000000110011011111100101101010010101101000110100000100100000001111111111100110011001100110001110100000100100000001100110111111001011001101111110011101010010101101000011010000010010000000110011011111100101101010010101101000110100000100100000001111111111100110011001100110001011010100100111010001100110111111001011001101111110011101010010011101000011010000010010000000110011011111100101101010010011101000101100000100100000001111111111100110011001100110001101100000100100000001100110111111001011001101111110011101010010011101000010110000010010000000110011011111100101101010010011101000101100000100100000001111111111100110011001100110001011010100101111010001100110111111001011001101111110011101010010111101000010110000010010000000110011011111100101101010010111101000111100000100100000001111111111100110011001100110001111100000100100000001100110111111001011001101111110011101010010111101000011110000010010000000110011011111100101101010010111101000111100000100100000001111111111100110011001100110001011010100100000110001100110111111001011001101111110011101010010000011000011110000010010000000110011011111100101101010010000011000100010000100100000001111111111100110011001100110001100010000100100000001100110111111001011001101111110011101010010000011000010001000010010000000110011011111100101101010010000011000100010000100100000001111111111100110011001100110001011010100101000110001100110111111001011001101111110011101010010100011000010001000010010000000110011011111100101101010010100011000110010000100100000001111111111100110011001100110001110010000100100000001100110111111001011001101111110011101010010100011000011001000010010000000110011011111100101101010010100011000110010000100100000001111111111100110011001100110001011010100100100110001100110111111001011001101111110011101010010010011000011001000010010000000110011011111100101101010010010011000101010000100100000001111111111100110011001100110001101010000100100000001100110111111001011001101111110011101010010010011000010101000010010000000110011011111100101101010010010011000101010000100100000001111111111100110011001100110001000110100100000000001100110111111001011001101111110010011010010000000000010101000010010000000110011011111100100011010010000000000111010000100100000001111111111100110011001100110001111010000100100000001100110111111001011001101111110010011010010000000000011101000010010000000110011011111100100011010010000000000111010000100100000001111111111100110011001100110001000110100101000000001100110111111001011001101111110010011010010100000000011101000010010000000110011011111100100011010010100000000100110000100100000001111111111100110011001100110001100110000100100000001100110111111001011001101111110010011010010100000000010011000010010000000110011011111100100011010010100000000100110000100100000001111111111100110011001100110001000110100100100000001100110111111001011001101111110010011010010010000000010011000010010000000110011011111100100011010010010000000110110000100100000001111111111100110011001100110001110110000100100000001100110111111001011001101111110010011010010010000000011011000010010000000110011011111100100011010010010000000110110000100100000001111111111100110011001100110001000110100101100000001100110111111001011001101111110010011010010110000000011011000010010000000110011011111100100011010010110000000101110000100100000001111111111100110011001100110001101110000100100000001100110111111001011001101111110010011010010110000000010111000010010000000110011011111100100011010010110000000101110000100100000001111111111100110011001100110001000110100100010000001100110111111001011001101111110010011010010001000000010111000010010000000110011011111100100011010010001000000111110000100100000001111111111100110011001100110001111110000100100000001100110111111001011001101111110010011010010001000000011111000010010000000110011011111100100011010010001000000111110000100100000001111111111100110011001100110001000110100101010000001100110111111001011001101111110010011010010101000000011111000010010000000110011011111100100011010010101000000100001000100100000001111111111100110011001100110001100001000100100000001100110111111001011001101111110010011010010101000000010000100010010000000110011011111100100011010010101000000100001000100100000001111111111100110011001100110001000110100100110000001100110111111001011001101111110010011010010011000000010000100010010000000110011011111100100011010010011000000110001000100100000001111111111100110011001100110001110001000100100000001100110111111001011001101111110010011010010011000000011000100010010000000110011011111100100011010010011000000110001000100100000001111111111100110011001100110001000110100101110000001100110111111001011001101111110010011010010111000000011000100010010000000110011011111100100011010010111000000101001000100100000001111111111100110011001100110001101001000100100000001100110111111001011001101111110010011010010111000000010100100010010000000110011011111100100011010010111000000101001000100100000001111111111100110011001100110001000110100100001000001100110111111001011001101111110010011010010000100000010100100010010000000110011011111100100011010010000100000111001000100100000001111111111100110011001100110001111001000100100000001100110111111001011001101111110010011010010000100000011100100010010000000110011011111100100011010010000100000111001000100100000001111111111100110011001100110001000110100101001000001100110111111001011001101111110010011010010100100000011100100010010000000110011011111100100011010010100100000100101000100100000001111111111100110011001100110001100101000100100000001100110111111001011001101111110010011010010100100000010010100010010000000110011011111100100011010010100100000100101000100100000001111111111100110011001100110001000110100100101000001100110111111001011001101111110010011010010010100000010010100010010000000110011011111100100011010010010100000110101000100100000001111111111100110011001100110001110101000100100000001100110111111001011001101111110010011010010010100000011010100010010000000110011011111100100011010010010100000110101000100100000001111111111100110011001100110001000110100101101000001100110111111001011001101111110010011010010110100000011010100010010000000110011011111100100011010010110100000101101000100100000001111111111100110011001100110001101101000100100000001100110111111001011001101111110010011010010110100000010110100010010000000110011011111100100011010010110100000101101000100100000001111111111100110011001100110001000110100100011000001100110111111001011001101111110010011010010001100000010110100010010000000110011011111100100011010010001100000111101000100100000001111111111100110011001100110001111101000100100000001100110111111001011001101111110010011010010001100000011110100010010000000110011011111100100011010010001100000111101000100100000001111111111100110011001100110001000110100101011000001100110111111001011001101111110010011010010101100000011110100010010000000110011011111100100011010010101100000100011000100100000001111111111100110011001100110001100011000100100000001100110111111001011001101111110010011010010101100000010001100010010000000110011011111100100011010010101100000100011000100100000001111111111100110011001100110001000110100100111000001100110111111001011001101111110010011010010011100000010001100010010000000110011011111100100011010010011100000110011000100100000001111111111100110011001100110001110011000100100000001100110111111001011001101111110010011010010011100000011001100010010000000110011011111100100011010010011100000110011000100100000001111111111100110011001100110001000110100101111000001100110111111001011001101111110010011010010111100000011001100010010000000110011011111100100011010010111100000101011000100100000001111111111100110011001100110001101011000100100000001100110111111001011001101111110010011010010111100000010101100010010000000110011011111100100011010010111100000101011000100100000001111111111100110011001100110001000110100100000100001100110111111001011001101111110010011010010000010000010101100010010000000110011011111100100011010010000010000111011000100100000001111111111100110011001100110001111011000100100000001100110111111001011001101111110010011010010000010000011101100010010000000110011011111100100011010010000010000111011000100100000001111111111100110011001100110001000110100101000100001100110111111001011001101111110010011010010100010000011101100010010000000110011011111100100011010010100010000100111000100100000001111111111100110011001100110001100111000100100000001100110111111001011001101111110010011010010100010000010011100010010000000110011011111100100011010010100010000100111000100100000001111111111100110011001100110001000110100100100100001100110111111001011001101111110010011010010010010000010011100010010000000110011011111100100011010010010010000110111000100100000001111111111100110011001100110001110111000100100000001100110111111001011001101111110010011010010010010000011011100010010000000110011011111100100011010010010010000110111000100100000001111111111100110011001100110001000110100101100100001100110111111001011001101111110010011010010110010000011011100010010000000110011011111100100011010010110010000101111000100100000001111111111100110011001100110001101111000100100000001100110111111001011001101111110010011010010110010000010111100010010000000110011011111100100011010010110010000101111000100100000001111111111100110011001100110001000110100100010100001100110111111001011001101111110010011010010001010000010111100010010000000110011011111100100011010010001010000111111000100100000001111111111100110011001100110001111111000100100000001100110111111001011001101111110010011010010001010000011111100010010000000110011011111100100011010010001010000111111000100100000001111111111100110011001100110001000110100101010100001100110111111001011001101111110010011010010101010000011111100010010000000110011011111100100011010010101010000100000100100100000001111111111100110011001100110001100000100100100000001100110111111001011001101111110010011010010101010000010000010010010000000110011011111100100011010010101010000100000100100100000001111111111100110011001100110001000110100100110100001100110111111001011001101111110010011010010011010000010000010010010000000110011011111100100011010010011010000110000100100100000001111111111100110011001100110001110000100100100000001100110111111001011001101111110010011010010011010000011000010010010000000110011011111100100011010010011010000110000100100100000001111111111100110011001100110001000110100101110100001100110111111001011001101111110010011010010111010000011000010010010000000110011011111100100011010010111010000101000100100100000001111111111100110011001100110001101000100100100000001100110111111001011001101111110010011010010111010000010100010010010000000110011011111100100011010010111010000101000100100100000001111111111100110011001100110001000110100100001100001100110111111001011001101111110010011010010000110000010100010010010000000110011011111100100011010010000110000111000100100100000001111111111100110011001100110001111000100100100000001100110111111001011001101111110010011010010000110000011100010010010000000110011011111100100011010010000110000111000100100100000001111111111100110011001100110001000110100101001100001100110111111001011001101111110010011010010100110000011100010010010000000110011011111100100011010010100110000100100100100100000001111111111100110011001100110001100100100100100000001100110111111001011001101111110010011010010100110000010010010010010000000110011011111100100011010010100110000100100100100100000001111111111100110011001100110001000110100100101100001100110111111001011001101111110010011010010010110000010010010010010000000110011011111100100011010010010110000110100100100100000001111111111100110011001100110001110100100100100000001100110111111001011001101111110010011010010010110000011010010010010000000110011011111100100011010010010110000110100100100100000001111111111100110011001100110001000110100101101100001100110111111001011001101111110010011010010110110000011010010010010000000110011011111100100011010010110110000101100100100100000001111111111100110011001100110001101100100100100000001100110111111001011001101111110010011010010110110000010110010010010000000110011011111100100011010010110110000101100100100100000001111111111100110011001100110001000110100100011100001100110111111001011001101111110010011010010001110000010110010010010000000110011011111100100011010010001110000111100100100100000001111111111100110011001100110001111100100100100000001100110111111001011001101111110010011010010001110000011110010010010000000110011011111100100011010010001110000111100100100100000001111111111100110011001100110001000110100101011100001100110111111001011001101111110010011010010101110000011110010010010000000110011011111100100011010010101110000100010100100100000001111111111100110011001100110001100010100100100000001100110111111001011001101111110010011010010101110000010001010010010000000110011011111100100011010010101110000100010100100100000001111111111100110011001100110001000110100100111100001100110111111001011001101111110010011010010011110000010001010010010000000110011011111100100011010010011110000110010100100100000001111111111100110011001100110001110010100100100000001100110111111001011001101111110010011010010011110000011001010010010000000110011011111100100011010010011110000110010100100100000001111111111100110011001100110001000110100101111100001100110111111001011001101111110010011010010111110000011001010010010000000110011011111100100011010010111110000101010100100100000001111111111100110011001100110001101010100100100000001100110111111001011001101111110010011010010111110000010101010010010000000110011011111100100011010010111110000101010100100100000001111111111100110011001100110001000110100100000010001100110111111001011001101111110010011010010000001000010101010010010000000110011011111100100011010010000001000111010100100100000001111111111100110011001100110001111010100100100000001100110111111001011001101111110010011010010000001000011101010010010000000110011011111100100011010010000001000111010100100100000001111111111100110011001100110001000110100101000010001100110111111001011001101111110010011010010100001000011101010010010000000110011011111100100011010010100001000100110100100100000001111111111100110011001100110001100110100100100000001100110111111001011001101111110010011010010100001000010011010010010000000110011011111100100011010010100001000100110100100100000001111111111100110011001100110001000110100100100010001100110111111001011001101111110010011010010010001000010011010010010000000110011011111100100011010010010001000110110100100100000001111111111100110011001100110001110110100100100000001100110111111001011001101111110010011010010010001000011011010010010000000110011011111100100011010010010001000110110100100100000001111111111100110011001100110001000110100101100010001100110111111001011001101111110010011010010110001000011011010010010000000110011011111100100011010010110001000101110100100100000001111111111100110011001100110001101110100100100000001100110111111001011001101111110010011010010110001000010111010010010000000110011011111100100011010010110001000101110100100100000001111111111100110011001100110001000110100100010010001100110111111001011001101111110010011010010001001000010111010010010000000110011011111100100011010010001001000111110100100100000001111111111100110011001100110001111110100100100000001100110111111001011001101111110010011010010001001000011111010010010000000110011011111100100011010010001001000111110100100100000001111111111100110011001100110001000110100101010010001100110111111001011001101111110010011010010101001000011111010010010000000110011011111100100011010010101001000100001100100100000001111111111100110011001100110001100001100100100000001100110111111001011001101111110010011010010101001000010000110010010000000110011011111100100011010010101001000100001100100100000001111111111100110011001100110001000110100100110010001100110111111001011001101111110010011010010011001000010000110010010000000110011011111100100011010010011001000110001100100100000001111111111100110011001100110001110001100100100000001100110111111001011001101111110010011010010011001000011000110010010000000110011011111100100011010010011001000110001100100100000001111111111100110011001100110001000110100101110010001100110111111001011001101111110010011010010111001000011000110010010000000110011011111100100011010010111001000101001100100100000001111111111100110011001100110001101001100100100000001100110111111001011001101111110010011010010111001000010100110010010000000110011011111100100011010010111001000101001100100100000001111111111100110011001100110001000110100100001010001100110111111001011001101111110010011010010000101000010100110010010000000110011011111100100011010010000101000111001100100100000001111111111100110011001100110001111001100100100000001100110111111001011001101111110010011010010000101000011100110010010000000110011011111100100011010010000101000111001100100100000001111111111100110011001100110001000110100101001010001100110111111001011001101111110010011010010100101000011100110010010000000110011011111100100011010010100101000100101100100100000001111111111100110011001100110001100101100100100000001100110111111001011001101111110010011010010100101000010010110010010000000110011011111100100011010010100101000100101100100100000001111111111100110011001100110001000110100100101010001100110111111001011001101111110010011010010010101000010010110010010000000110011011111100100011010010010101000110101100100100000001111111111100110011001100110001110101100100100000001100110111111001011001101111110010011010010010101000011010110010010000000110011011111100100011010010010101000110101100100100000001111111111100110011001100110001000110100101101010001100110111111001011001101111110010011010010110101000011010110010010000000110011011111100100011010010110101000101101100100100000001111111111100110011001100110001101101100100100000001100110111111001011001101111110010011010010110101000010110110010010000000110011011111100100011010010110101000101101100100100000001111111111100110011001100110001000110100100011010001100110111111001011001101111110010011010010001101000010110110010010000000110011011111100100011010010001101000111101100100100000001111111111100110011001100110001111101100100100000001100110111111001011001101111110010011010010001101000011110110010010000000110011011111100100011010010001101000111101100100100000001111111111100110011001100110001000110100101011010001100110111111001011001101111110010011010010101101000011110110010010000000110011011111100100011010010101101000100011100100100000001111111111100110011001100110001100011100100100000001100110111111001011001101111110010011010010101101000010001110010010000000110011011111100100011010010101101000100011100100100000001111111111100110011001100110001000110100100111010001100110111111001011001101111110010011010010011101000010001110010010000000110011011111100100011010010011101000110011100100100000001111111111100110011001100110001110011100100100000001100110111111001011001101111110010011010010011101000011001110010010000000110011011111100100011010010011101000110011100100100000001111111111100110011001100110001000110100101111010001100110111111001011001101111110010011010010111101000011001110010010000000110011011111100100011010010111101000101011100100100000001111111111100110011001100110001101011100100100000001100110111111001011001101111110010011010010111101000010101110010010000000110011011111100100011010010111101000101011100100100000001111111111100110011001100110001000110100100000110001100110111111001011001101111110010011010010000011000010101110010010000000110011011111100100011010010000011000111011100100100000001111111111100110011001100110001111011100100100000001100110111111001011001101111110010011010010000011000011101110010010000000110011011111100100011010010000011000111011100100100000001111111111100110011001100110001000110100101000110001100110111111001011001101111110010011010010100011000011101110010010000000110011011111100100011010010100011000100111100100100000001111111111100110011001100110001100111100100100000001100110111111001011001101111110010011010010100011000010011110010010000000110011011111100100011010010100011000100111100100100000001111111111100110011001100110001000110100100100110001100110111111001011001101111110010011010010010011000010011110010010000000110011011111100100011010010010011000110111100100100000001111111111100110011001100110001110111100100100000001100110111111001011001101111110010011010010010011000011011110010010000000110011011111100100011010010010011000110111100100100000001111111111100110011001100110001010110100100000000001100110111111001011001101111110011011010010000000000011011110010010000000110011011111100101011010010000000000101111100100100000001111111111100110011001100110001101111100100100000001100110111111001011001101111110011011010010000000000010111110010010000000110011011111100101011010010000000000101111100100100000001111111111100110011001100110001010110100101000000001100110111111001011001101111110011011010010100000000010111110010010000000110011011111100101011010010100000000111111100100100000001111111111100110011001100110001111111100100100000001100110111111001011001101111110011011010010100000000011111110010010000000110011011111100101011010010100000000111111100100100000001111111111100110011001100110001010110100100100000001100110111111001011001101111110011011010010010000000011111110010010000000110011011111100101011010010010000000100000010100100000001111111111100110011001100110001100000010100100000001100110111111001011001101111110011011010010010000000010000001010010000000110011011111100101011010010010000000100000010100100000001111111111100110011001100110001010110100101100000001100110111111001011001101111110011011010010110000000010000001010010000000110011011111100101011010010110000000110000010100100000001111111111100110011001100110001110000010100100000001100110111111001011001101111110011011010010110000000011000001010010000000110011011111100101011010010110000000110000010100100000001111111111100110011001100110001010110100100010000001100110111111001011001101111110011011010010001000000011000001010010000000110011011111100101011010010001000000101000010100100000001111111111100110011001100110001101000010100100000001100110111111001011001101111110011011010010001000000010100001010010000000110011011111100101011010010001000000101000010100100000001111111111100110011001100110001010110100101010000001100110111111001011001101111110011011010010101000000010100001010010000000110011011111100101011010010101000000111000010100100000001111111111100110011001100110001111000010100100000001100110111111001011001101111110011011010010101000000011100001010010000000110011011111100101011010010101000000111000010100100000001111111111100110011001100110001010110100100110000001100110111111001011001101111110011011010010011000000011100001010010000000110011011111100101011010010011000000100100010100100000001111111111100110011001100110001100100010100100000001100110111111001011001101111110011011010010011000000010010001010010000000110011011111100101011010010011000000100100010100100000001111111111100110011001100110001010110100101110000001100110111111001011001101111110011011010010111000000010010001010010000000110011011111100101011010010111000000110100010100100000001111111111100110011001100110001110100010100100000001100110111111001011001101111110011011010010111000000011010001010010000000110011011111100101011010010111000000110100010100100000001111111111100110011001100110001010110100100001000001100110111111001011001101111110011011010010000100000011010001010010000000110011011111100101011010010000100000101100010100100000001111111111100110011001100110001101100010100100000001100110111111001011001101111110011011010010000100000010110001010010000000110011011111100101011010010000100000101100010100100000001111111111100110011001100110001010110100101001000001100110111111001011001101111110011011010010100100000010110001010010000000110011011111100101011010010100100000111100010100100000001111111111100110011001100110001111100010100100000001100110111111001011001101111110011011010010100100000011110001010010000000110011011111100101011010010100100000111100010100100000001111111111100110011001100110001010110100100101000001100110111111001011001101111110011011010010010100000011110001010010000000110011011111100101011010010010100000100010010100100000001111111111100110011001100110001100010010100100000001100110111111001011001101111110011011010010010100000010001001010010000000110011011111100101011010010010100000100010010100100000001111111111100110011001100110001010110100101101000001100110111111001011001101111110011011010010110100000010001001010010000000110011011111100101011010010110100000110010010100100000001111111111100110011001100110001110010010100100000001100110111111001011001101111110011011010010110100000011001001010010000000110011011111100101011010010110100000110010010100100000001111111111100110011001100110001010110100100011000001100110111111001011001101111110011011010010001100000011001001010010000000110011011111100101011010010001100000101010010100100000001111111111100110011001100110001101010010100100000001100110111111001011001101111110011011010010001100000010101001010010000000110011011111100101011010010001100000101010010100100000001111111111100110011001100110001010110100101011000001100110111111001011001101111110011011010010101100000010101001010010000000110011011111100101011010010101100000111010010100100000001111111111100110011001100110001111010010100100000001100110111111001011001101111110011011010010101100000011101001010010000000110011011111100101011010010101100000111010010100100000001111111111100110011001100110001010110100100111000001100110111111001011001101111110011011010010011100000011101001010010000000110011011111100101011010010011100000100110010100100000001111111111100110011001100110001100110010100100000001100110111111001011001101111110011011010010011100000010011001010010000000110011011111100101011010010011100000100110010100100000001111111111100110011001100110001010110100101111000001100110111111001011001101111110011011010010111100000010011001010010000000110011011111100101011010010111100000110110010100100000001111111111100110011001100110001110110010100100000001100110111111001011001101111110011011010010111100000011011001010010000000110011011111100101011010010111100000110110010100100000001111111111100110011001100110001010110100100000100001100110111111001011001101111110011011010010000010000011011001010010000000110011011111100101011010010000010000101110010100100000001111111111100110011001100110001101110010100100000001100110111111001011001101111110011011010010000010000010111001010010000000110011011111100101011010010000010000101110010100100000001111111111100110011001100110001010110100101000100001100110111111001011001101111110011011010010100010000010111001010010000000110011011111100101011010010100010000111110010100100000001111111111100110011001100110001111110010100100000001100110111111001011001101111110011011010010100010000011111001010010000000110011011111100101011010010100010000111110010100100000001111111111100110011001100110001010110100100100100001100110111111001011001101111110011011010010010010000011111001010010000000110011011111100101011010010010010000100001010100100000001111111111100110011001100110001100001010100100000001100110111111001011001101111110011011010010010010000010000101010010000000110011011111100101011010010010010000100001010100100000001111111111100110011001100110001010110100101100100001100110111111001011001101111110011011010010110010000010000101010010000000110011011111100101011010010110010000110001010100100000001111111111100110011001100110001110001010100100000001100110111111001011001101111110011011010010110010000011000101010010000000110011011111100101011010010110010000110001010100100000001111111111100110011001100110001010110100100010100001100110111111001011001101111110011011010010001010000011000101010010000000110011011111100101011010010001010000101001010100100000001111111111100110011001100110001101001010100100000001100110111111001011001101111110011011010010001010000010100101010010000000110011011111100101011010010001010000101001010100100000001111111111100110011001100110001010110100101010100001100110111111001011001101111110011011010010101010000010100101010010000000110011011111100101011010010101010000111001010100100000001111111111100110011001100110001111001010100100000001100110111111001011001101111110011011010010101010000011100101010010000000110011011111100101011010010101010000111001010100100000001111111111100110011001100110001010110100100110100001100110111111001011001101111110011011010010011010000011100101010010000000110011011111100101011010010011010000100101010100100000001111111111100110011001100110001100101010100100000001100110111111001011001101111110011011010010011010000010010101010010000000110011011111100101011010010011010000100101010100100000001111111111100110011001100110001010110100101110100001100110111111001011001101111110011011010010111010000010010101010010000000110011011111100101011010010111010000110101010100100000001111111111100110011001100110001110101010100100000001100110111111001011001101111110011011010010111010000011010101010010000000110011011111100101011010010111010000110101010100100000001111111111100110011001100110001010110100100001100001100110111111001011001101111110011011010010000110000011010101010010000000110011011111100101011010010000110000101101010100100000001111111111100110011001100110001101101010100100000001100110111111001011001101111110011011010010000110000010110101010010000000110011011111100101011010010000110000101101010100100000001111111111100110011001100110001010110100101001100001100110111111001011001101111110011011010010100110000010110101010010000000110011011111100101011010010100110000111101010100100000001111111111100110011001100110001111101010100100000001100110111111001011001101111110011011010010100110000011110101010010000000110011011111100101011010010100110000111101010100100000001111111111100110011001100110001010110100100101100001100110111111001011001101111110011011010010010110000011110101010010000000110011011111100101011010010010110000100011010100100000001111111111100110011001100110001100011010100100000001100110111111001011001101111110011011010010010110000010001101010010000000110011011111100101011010010010110000100011010100100000001111111111100110011001100110001010110100101101100001100110111111001011001101111110011011010010110110000010001101010010000000110011011111100101011010010110110000110011010100100000001111111111100110011001100110001110011010100100000001100110111111001011001101111110011011010010110110000011001101010010000000110011011111100101011010010110110000110011010100100000001111111111100110011001100110001010110100100011100001100110111111001011001101111110011011010010001110000011001101010010000000110011011111100101011010010001110000101011010100100000001111111111100110011001100110001101011010100100000001100110111111001011001101111110011011010010001110000010101101010010000000110011011111100101011010010001110000101011010100100000001111111111100110011001100110001010110100101011100001100110111111001011001101111110011011010010101110000010101101010010000000110011011111100101011010010101110000111011010100100000001111111111100110011001100110001111011010100100000001100110111111001011001101111110011011010010101110000011101101010010000000110011011111100101011010010101110000111011010100100000001111111111100110011001100110001010110100100111100001100110111111001011001101111110011011010010011110000011101101010010000000110011011111100101011010010011110000100111010100100000001111111111100110011001100110001100111010100100000001100110111111001011001101111110011011010010011110000010011101010010000000110011011111100101011010010011110000100111010100100000001111111111100110011001100110001010110100101111100001100110111111001011001101111110011011010010111110000010011101010010000000110011011111100101011010010111110000110111010100100000001111111111100110011001100110001110111010100100000001100110111111001011001101111110011011010010111110000011011101010010000000110011011111100101011010010111110000110111010100100000001111111111100110011001100110001010110100100000010001100110111111001011001101111110011011010010000001000011011101010010000000110011011111100101011010010000001000101111010100100000001111111111100110011001100110001101111010100100000001100110111111001011001101111110011011010010000001000010111101010010000000110011011111100101011010010000001000101111010100100000001111111111100110011001100110001010110100101000010001100110111111001011001101111110011011010010100001000010111101010010000000110011011111100101011010010100001000111111010100100000001111111111100110011001100110001111111010100100000001100110111111001011001101111110011011010010100001000011111101010010000000110011011111100101011010010100001000111111010100100000001111111111100110011001100110001010110100100100010001100110111111001011001101111110011011010010010001000011111101010010000000110011011111100101011010010010001000100000110100100000001111111111100110011001100110001100000110100100000001100110111111001011001101111110011011010010010001000010000011010010000000110011011111100101011010010010001000100000110100100000001111111111100110011001100110001010110100101100010001100110111111001011001101111110011011010010110001000010000011010010000000110011011111100101011010010110001000110000110100100000001111111111100110011001100110001110000110100100000001100110111111001011001101111110011011010010110001000011000011010010000000110011011111100101011010010110001000110000110100100000001111111111100110011001100110001010110100100010010001100110111111001011001101111110011011010010001001000011000011010010000000110011011111100101011010010001001000101000110100100000001111111111100110011001100110001101000110100100000001100110111111001011001101111110011011010010001001000010100011010010000000110011011111100101011010010001001000101000110100100000001111111111100110011001100110001010110100101010010001100110111111001011001101111110011011010010101001000010100011010010000000110011011111100101011010010101001000111000110100100000001111111111100110011001100110001111000110100100000001100110111111001011001101111110011011010010101001000011100011010010000000110011011111100101011010010101001000111000110100100000001111111111100110011001100110001010110100100110010001100110111111001011001101111110011011010010011001000011100011010010000000110011011111100101011010010011001000100100110100100000001111111111100110011001100110001100100110100100000001100110111111001011001101111110011011010010011001000010010011010010000000110011011111100101011010010011001000100100110100100000001111111111100110011001100110001010110100101110010001100110111111001011001101111110011011010010111001000010010011010010000000110011011111100101011010010111001000110100110100100000001111111111100110011001100110001110100110100100000001100110111111001011001101111110011011010010111001000011010011010010000000110011011111100101011010010111001000110100110100100000001111111111100110011001100110001010110100100001010001100110111111001011001101111110011011010010000101000011010011010010000000110011011111100101011010010000101000101100110100100000001111111111100110011001100110001101100110100100000001100110111111001011001101111110011011010010000101000010110011010010000000110011011111100101011010010000101000101100110100100000001111111111100110011001100110001010110100101001010001100110111111001011001101111110011011010010100101000010110011010010000000110011011111100101011010010100101000111100110100100000001111111111100110011001100110001111100110100100000001100110111111001011001101111110011011010010100101000011110011010010000000110011011111100101011010010100101000111100110100100000001111111111100110011001100110001010110100100101010001100110111111001011001101111110011011010010010101000011110011010010000000110011011111100101011010010010101000100010110100100000001111111111100110011001100110001100010110100100000001100110111111001011001101111110011011010010010101000010001011010010000000110011011111100101011010010010101000100010110100100000001111111111100110011001100110001010110100101101010001100110111111001011001101111110011011010010110101000010001011010010000000110011011111100101011010010110101000110010110100100000001111111111100110011001100110001110010110100100000001100110111111001011001101111110011011010010110101000011001011010010000000110011011111100101011010010110101000110010110100100000001111111111100110011001100110001010110100100011010001100110111111001011001101111110011011010010001101000011001011010010000000110011011111100101011010010001101000101010110100100000001111111111100110011001100110001101010110100100000001100110111111001011001101111110011011010010001101000010101011010010000000110011011111100101011010010001101000101010110100100000001111111111100110011001100110001010110100101011010001100110111111001011001101111110011011010010101101000010101011010010000000110011011111100101011010010101101000111010110100100000001111111111100110011001100110001111010110100100000001100110111111001011001101111110011011010010101101000011101011010010000000110011011111100101011010010101101000111010110100100000001111111111100110011001100110001010110100100111010001100110111111001011001101111110011011010010011101000011101011010010000000110011011111100101011010010011101000100110110100100000001111111111100110011001100110001100110110100100000001100110111111001011001101111110011011010010011101000010011011010010000000110011011111100101011010010011101000100110110100100000001111111111100110011001100110001010110100101111010001100110111111001011001101111110011011010010111101000010011011010010000000110011011111100101011010010111101000110110110100100000001111111111100110011001100110001110110110100100000001100110111111001011001101111110011011010010111101000011011011010010000000110011011111100101011010010111101000110110110100100000001111111111100110011001100110001010110100100000110001100110111111001011001101111110011011010010000011000011011011010010000000110011011111100101011010010000011000101110110100100000001111111111100110011001100110001101110110100100000001100110111111001011001101111110011011010010000011000010111011010010000000110011011111100101011010010000011000101110110100100000001111111111100110011001100110001010110100101000110001100110111111001011001101111110011011010010100011000010111011010010000000110011011111100101011010010100011000111110110100100000001111111111100110011001100110001111110110100100000001100110111111001011001101111110011011010010100011000011111011010010000000110011011111100101011010010100011000111110110100100000001111111111100110011001100110001010110100100100110001100110111111001011001101111110011011010010010011000011111011010010000000110011011111100101011010010010011000100001110100100000001111111111100110011001100110001100001110100100000001100110111111001011001101111110011011010010010011000010000111010010000000110011011111100101011010010010011000100001110100100000001111111111100110011001100110001001110100100000000001100110111111001011001101111110010111010010000000000010000111010010000000110011011111100100111010010000000000110001110100100000001111111111100110011001100110001110001110100100000001100110111111001011001101111110010111010010000000000011000111010010000000110011011111100100111010010000000000110001110100100000001111111111100110011001100110001001110100101000000001100110111111001011001101111110010111010010100000000011000111010010000000110011011111100100111010010100000000101001110100100000001111111111100110011001100110001101001110100100000001100110111111001011001101111110010111010010100000000010100111010010000000110011011111100100111010010100000000101001110100100000001111111111100110011001100110001001110100100100000001100110111111001011001101111110010111010010010000000010100111010010000000110011011111100100111010010010000000111001110100100000001111111111100110011001100110001111001110100100000001100110111111001011001101111110010111010010010000000011100111010010000000110011011111100100111010010010000000111001110100100000001111111111100110011001100110001001110100101100000001100110111111001011001101111110010111010010110000000011100111010010000000110011011111100100111010010110000000100101110100100000001111111111100110011001100110001100101110100100000001100110111111001011001101111110010111010010110000000010010111010010000000110011011111100100111010010110000000100101110100100000001111111111100110011001100110001001110100100010000001100110111111001011001101111110010111010010001000000010010111010010000000110011011111100100111010010001000000110101110100100000001111111111100110011001100110001110101110100100000001100110111111001011001101111110010111010010001000000011010111010010000000110011011111100100111010010001000000110101110100100000001111111111100110011001100110001001110100101010000001100110111111001011001101111110010111010010101000000011010111010010000000110011011111100100111010010101000000101101110100100000001111111111100110011001100110001101101110100100000001100110111111001011001101111110010111010010101000000010110111010010000000110011011111100100111010010101000000101101110100100000001111111111100110011001100110001001110100100110000001100110111111001011001101111110010111010010011000000010110111010010000000110011011111100100111010010011000000111101110100100000001111111111100110011001100110001111101110100100000001100110111111001011001101111110010111010010011000000011110111010010000000110011011111100100111010010011000000111101110100100000001111111111100110011001100110001001110100101110000001100110111111001011001101111110010111010010111000000011110111010010000000110011011111100100111010010111000000100011110100100000001111111111100110011001100110001100011110100100000001100110111111001011001101111110010111010010111000000010001111010010000000110011011111100100111010010111000000100011110100100000001111111111100110011001100110001001110100100001000001100110111111001011001101111110010111010010000100000010001111010010000000110011011111100100111010010000100000110011110100100000001111111111100110011001100110001110011110100100000001100110111111001011001101111110010111010010000100000011001111010010000000110011011111100100111010010000100000110011110100100000001111111111100110011001100110001001110100101001000001100110111111001011001101111110010111010010100100000011001111010010000000110011011111100100111010010100100000101011110100100000001111111111100110011001100110001101011110100100000001100110111111001011001101111110010111010010100100000010101111010010000000110011011111100100111010010100100000101011110100100000001111111111100110011001100110001001110100100101000001100110111111001011001101111110010111010010010100000010101111010010000000110011011111100100111010010010100000111011110100100000001111111111100110011001100110001111011110100100000001100110111111001011001101111110010111010010010100000011101111010010000000110011011111100100111010010010100000111011110100100000001111111111100110011001100110001001110100101101000001100110111111001011001101111110010111010010110100000011101111010010000000110011011111100100111010010110100000100111110100100000001111111111100110011001100110001100111110100100000001100110111111001011001101111110010111010010110100000010011111010010000000110011011111100100111010010110100000100111110100100000001111111111100110011001100110001001110100100011000001100110111111001011001101111110010111010010001100000010011111010010000000110011011111100100111010010001100000110111110100100000001111111111100110011001100110001110111110100100000001100110111111001011001101111110010111010010001100000011011111010010000000110011011111100100111010010001100000110111110100100000001111111111100110011001100110001001110100101011000001100110111111001011001101111110010111010010101100000011011111010010000000110011011111100100111010010101100000101111110100100000001111111111100110011001100110001101111110100100000001100110111111001011001101111110010111010010101100000010111111010010000000110011011111100100111010010101100000101111110100100000001111111111100110011001100110001001110100100111000001100110111111001011001101111110010111010010011100000010111111010010000000110011011111100100111010010011100000111111110100100000001111111111100110011001100110001111111110100100000001100110111111001011001101111110010111010010011100000011111111010010000000110011011111100100111010010011100000111111110100100000001111111111100110011001100110001001110100101111000001100110111111001011001101111110010111010010111100000011111111010010000000110011011111100100111010010111100000100000001100100000001111111111100110011001100110001100000001100100000001100110111111001011001101111110010111010010111100000010000000110010000000110011011111100100111010010111100000100000001100100000001111111111100110011001100110001001110100100000100001100110111111001011001101111110010111010010000010000010000000110010000000110011011111100100111010010000010000110000001100100000001111111111100110011001100110001110000001100100000001100110111111001011001101111110010111010010000010000011000000110010000000110011011111100100111010010000010000110000001100100000001111111111100110011001100110001001110100101000100001100110111111001011001101111110010111010010100010000011000000110010000000110011011111100100111010010100010000101000001100100000001111111111100110011001100110001101000001100100000001100110111111001011001101111110010111010010100010000010100000110010000000110011011111100100111010010100010000101000001100100000001111111111100110011001100110001001110100100100100001100110111111001011001101111110010111010010010010000010100000110010000000110011011111100100111010010010010000111000001100100000001111111111100110011001100110001111000001100100000001100110111111001011001101111110010111010010010010000011100000110010000000110011011111100100111010010010010000111000001100100000001111111111100110011001100110001001110100101100100001100110111111001011001101111110010111010010110010000011100000110010000000110011011111100100111010010110010000100100001100100000001111111111100110011001100110001100100001100100000001100110111111001011001101111110010111010010110010000010010000110010000000110011011111100100111010010110010000100100001100100000001111111111100110011001100110001001110100100010100001100110111111001011001101111110010111010010001010000010010000110010000000110011011111100100111010010001010000110100001100100000001111111111100110011001100110001110100001100100000001100110111111001011001101111110010111010010001010000011010000110010000000110011011111100100111010010001010000110100001100100000001111111111100110011001100110001001110100101010100001100110111111001011001101111110010111010010101010000011010000110010000000110011011111100100111010010101010000101100001100100000001111111111100110011001100110001101100001100100000001100110111111001011001101111110010111010010101010000010110000110010000000110011011111100100111010010101010000101100001100100000001111111111100110011001100110001001110100100110100001100110111111001011001101111110010111010010011010000010110000110010000000110011011111100100111010010011010000111100001100100000001111111111100110011001100110001111100001100100000001100110111111001011001101111110010111010010011010000011110000110010000000110011011111100100111010010011010000111100001100100000001111111111100110011001100110001001110100101110100001100110111111001011001101111110010111010010111010000011110000110010000000110011011111100100111010010111010000100010001100100000001111111111100110011001100110001100010001100100000001100110111111001011001101111110010111010010111010000010001000110010000000110011011111100100111010010111010000100010001100100000001111111111100110011001100110001001110100100001100001100110111111001011001101111110010111010010000110000010001000110010000000110011011111100100111010010000110000110010001100100000001111111111100110011001100110001110010001100100000001100110111111001011001101111110010111010010000110000011001000110010000000110011011111100100111010010000110000110010001100100000001111111111100110011001100110001001110100101001100001100110111111001011001101111110010111010010100110000011001000110010000000110011011111100100111010010100110000101010001100100000001111111111100110011001100110001101010001100100000001100110111111001011001101111110010111010010100110000010101000110010000000110011011111100100111010010100110000101010001100100000001111111111100110011001100110001001110100100101100001100110111111001011001101111110010111010010010110000010101000110010000000110011011111100100111010010010110000111010001100100000001111111111100110011001100110001111010001100100000001100110111111001011001101111110010111010010010110000011101000110010000000110011011111100100111010010010110000111010001100100000001111111111100110011001100110001001110100101101100001100110111111001011001101111110010111010010110110000011101000110010000000110011011111100100111010010110110000100110001100100000001111111111100110011001100110001100110001100100000001100110111111001011001101111110010111010010110110000010011000110010000000110011011111100100111010010110110000100110001100100000001111111111100110011001100110001001110100100011100001100110111111001011001101111110010111010010001110000010011000110010000000110011011111100100111010010001110000110110001100100000001111111111100110011001100110001110110001100100000001100110111111001011001101111110010111010010001110000011011000110010000000110011011111100100111010010001110000110110001100100000001111111111100110011001100110001001110100101011100001100110111111001011001101111110010111010010101110000011011000110010000000110011011111100100111010010101110000101110001100100000001111111111100110011001100110001101110001100100000001100110111111001011001101111110010111010010101110000010111000110010000000110011011111100100111010010101110000101110001100100000001111111111100110011001100110001001110100100111100001100110111111001011001101111110010111010010011110000010111000110010000000110011011111100100111010010011110000111110001100100000001111111111100110011001100110001111110001100100000001100110111111001011001101111110010111010010011110000011111000110010000000110011011111100100111010010011110000111110001100100000001111111111100110011001100110001001110100101111100001100110111111001011001101111110010111010010111110000011111000110010000000110011011111100100111010010111110000100001001100100000001111111111100110011001100110001100001001100100000001100110111111001011001101111110010111010010111110000010000100110010000000110011011111100100111010010111110000100001001100100000001111111111100110011001100110001001110100100000010001100110111111001011001101111110010111010010000001000010000100110010000000110011011111100100111010010000001000110001001100100000001111111111100110011001100110001100100110110000000100101100011111100011001101111110010111010010000001000010010011011000000010110011011111100100111010010000001000110001001100100000001011111111100110011001100110001001110100101000010001100110111111001011001101111110010111010010100001000010010011011000000010010110001111110000111010010100001000101001001100100000001011111111100110011001100110001100100110110000000010000010111010001011001101111110010111010010100001000010010011011000000001010110001111110000111010010100001000101001001100100000001010000000000000000000000000001001110100100100010001100110111111001011001101111110010111010010010001000010010011011000000001000001011101000100111010010010001000111001001100100000001010000000000000000000000000001100100110110000000110111001001001010011001101111110010111010010010001000010010011011000000011000001011101000100111010010010001000111001001100100000001010000000000000000000000000001001110100101100010001100110111111001011001101111110010111010010110001000010010011011000000011011100100100101000111010010110001000100101001100100000001010000000000000000000000000001110100110110000000001100100110101001011001101111110010111010010110001000011010011011000000000011100100100101000111010010110001000100101001100100000001010000000000000000000000000001001110100100010010001100110111111001011001101111110010111010010001001000011010011011000000000110010011010100100111010010001001000110101001100100000001010000000000000000000000000001110100110110000000101100000001000011011001101111110010111010010001001000011010011011000000010110010011010100100111010010001001000110101001100100000001010000000000000000000000000001001110100101010010001100110111111001011001101111110010111010010101001000011010011011000000010110000000100001100111010010101001000101101001100100000001010000000000000000000000000001110100110110000000010000010100111001011001101111110010111010010101001000011010011011000000001110000000100001100111010010101001000101101001100100000001010000000000000000000000000001001110100100110010001100110111111001011001101111110010111010010011001000011010011011000000001000001010011100100111010010011001000111101001100100000001010000000000000000000000000001110100110110000000111110100011111100011001101111110010111010010011001000011010011011000000011000001010011100100111010010011001000111101001100100000001010000000000000000000000000001001110100101110010001100110111111001011001101111110010111010010111001000011010011011000000011111010001111110000111010010111001000100011001100100000001010000000000000000000000000001101100110110000000001000100101000000011001101111110010111010010111001000010110011011000000000111010001111110000111010010111001000100011001100100000001010000000000000000000000000001001110100100001010001100110111111001011001101111110010111010010000101000010110011011000000000100010010100000000111010010000101000110011001100100000001010000000000000000000000000001101100110110000000100111001101011010011001101111110010111010010000101000010110011011000000010100010010100000000111010010000101000110011001100100000001010000000000000000000000000001001110100101001010001100110111111001011001101111110010111010010100101000010110011011000000010011100110101101000111010010100101000101011001100100000001010000000000000000000000000001101100110110000000010100010110110001011001101111110010111010010100101000010110011011000000001011100110101101000111010010100101000101011001100100000001010000000000000000000000000001001110100100101010001100110111111001011001101111110010111010010010101000010110011011000000001010001011011000100111010010010101000111011001100100000001010000000000000000000000000001101100110110000000111110011001000100011001101111110010111010010010101000010110011011000000011010001011011000100111010010010101000111011001100100000001010000000000000000000000000001001110100101101010001100110111111001011001101111110010111010010110101000010110011011000000011111001100100010000111010010110101000100111001100100000001010000000000000000000000000001111100110110000000000000010011111000011001101111110010111010010110101000011110011011000000000111001100100010000111010010110101000100111001100100000001010000000000000000000000000001001110100100011010001100110111111001011001101111110010111010010001101000011110011011000000000000001001111100000111010010001101000110111001100100000001010000000000000000000000000001111100110110000000100101110010000001011001101111110010111010010001101000011110011011000000010000001001111100000111010010001101000110111001100100000001010000000000000000000000000001001110100101011010001100110111111001011001101111110010111010010101101000011110011011000000010010111001000000100111010010101101000101111001100100000001010000000000000000000000000001111100110110000000010000100110001000011001101111110010111010010101101000011110011011000000001010111001000000100111010010101101000101111001100100000001010000000000000000000000000001001110100100111010001100110111111001011001101111110010111010010011101000011110011011000000001000010011000100000111010010011101000111111001100100000001010000000000000000000000000001111100110110000000110111000001110101011001101111110010111010010011101000011110011011000000011000010011000100000111010010011101000111111001100100000001010000000000000000000000000001001110100101111010001100110111111001011001101111110010111010010111101000011110011011000000011011100000111010100111010010111101000100000101100100000001010000000000000000000000000001100010110110000000000110011111000010011001101111110010111010010111101000010001011011000000000011100000111010100111010010111101000100000101100100000001010000000000000000000000000001001110100100000110001100110111111001011001101111110010111010010000011000010001011011000000000011001111100001000111010010000011000110000101100100000001010000000000000000000000000001100010110110000000100001100001100001011001101111110010111010010000011000010001011011000000010011001111100001000111010010000011000110000101100100000001010000000000000000000000000001001110100101000110001100110111111001011001101111110010111010010100011000010001011011000000010000110000110000100111010010100011000101000101100100000001010000000000000000000000000001100010110110000000010000010001100000011001101111110010111010010100011000010001011011000000001000110000110000100111010010100011000101000101100100000001010000000000000000000000000001001110100100100110001100110111111001011001101111110010111010010010011000010001011011000000001000001000110000000111010010010011000111000101100100000001010000000000000000000000000001100010110110000000110011011100110001011001101111110010111010010010011000010001011011000000011000001000110000000111010010010011000111000101100100000001010000000000000000000000000001011110100100000000001100110111111001011001101111110011111010010000000000010001011011000000011001101110011000101111010010000000000100100101100100000001010000000000000000000000000001110010110110000000000010011011010110011001101111110011111010010000000000011001011011000000000001101110011000101111010010000000000100100101100100000001010000000000000000000000000001011110100101000000001100110111111001011001101111110011111010010100000000011001011011000000000001001101101011001111010010100000000110100101100100000001010000000000000000000000000001110010110110000000101100010111101000011001101111110011111010010100000000011001011011000000010001001101101011001111010010100000000110100101100100000001010000000000000000000000000001011110100100100000001100110111111001011001101111110011111010010010000000011001011011000000010110001011110100001111010010010000000101100101100100000001010000000000000000000000000001110010110110000000010000001000111000011001101111110011111010010010000000011001011011000000001110001011110100001111010010010000000101100101100100000001010000000000000000000000000001011110100101100000001100110111111001011001101111110011111010010110000000011001011011000000001000000100011100001111010010110000000111100101100100000001010000000000000000000000000001110010110110000000110010110000100000011001101111110011111010010110000000011001011011000000011000000100011100001111010010110000000111100101100100000001010000000000000000000000000001011110100100010000001100110111111001011001101111110011111010010001000000011001011011000000011001011000010000001111010010001000000100010101100100000001010000000000000000000000000001101010110110000000001000010100100000011001101111110011111010010001000000010101011011000000000001011000010000001111010010001000000100010101100100000001010000000000000000000000000001011110100101010000001100110111111001011001101111110011111010010101000000010101011011000000000100001010010000001111010010101000000110010101100100000001010000000000000000000000000001101010110110000000101010010110111010011001101111110011111010010101000000010101011011000000010100001010010000001111010010101000000110010101100100000001010000000000000000000000000001011110100100110000001100110111111001011001101111110011111010010011000000010101011011000000010101001011011101001111010010011000000101010101100100000001010000000000000000000000000001101010110110000000011110010110001000011001101111110011111010010011000000010101011011000000001101001011011101001111010010011000000101010101100100000001010000000000000000000000000001011110100101110000001100110111111001011001101111110011111010010111000000010101011011000000001111001011000100001111010010111000000111010101100100000001010000000000000000000000000001101010110110000000110101001000011110011001101111110011111010010111000000010101011011000000011111001011000100001111010010111000000111010101100100000001010000000000000000000000000001011110100100001000001100110111111001011001101111110011111010010000100000010101011011000000011010100100001111001111010010000100000100110101100100000001010000000000000000000000000001111010110110000000001010010111001000011001101111110011111010010000100000011101011011000000000010100100001111001111010010000100000100110101100100000001010000000000000000000000000001011110100101001000001100110111111001011001101111110011111010010100100000011101011011000000000101001011100100001111010010100100000110110101100100000001010000000000000000000000000001111010110110000000101100010111101000011001101111110011111010010100100000011101011011000000010101001011100100001111010010100100000110110101100100000001010000000000000000000000000001011110100100101000001100110111111001011001101111110011111010010010100000011101011011000000010110001011110100001111010010010100000101110101100100000001010000000000000000000000000001111010110110000000010010001001001100011001101111110011111010010010100000011101011011000000001110001011110100001111010010010100000101110101100100000001010000000000000000000000000001011110100101101000001100110111111001011001101111110011111010010110100000011101011011000000001001000100100110001111010010110100000111110101100100000001010000000000000000000000000001111010110110000000111100110111111001011001101111110011111010010110100000011101011011000000011001000100100110001111010010110100000111110101100100000001010000000000000000000000000001011110100100011000001100110111111001011001101111110011111010010001100000011101011011000000011110011011111100101111010010001100000100001101100100000001010000000000000000000000000001100110110110000000001100110111000001011001101111110011111010010001100000010011011011000000000110011011111100101111010010001100000100001101100100000001010000000000000000000000000001011110100101011000001100110111111001011001101111110011111010010101100000010011011011000000000110011011100000101111010010101100000110001101100100000001010000000000000000000000000001100110110110000000101001010001110100011001101111110011111010010101100000010011011011000000010110011011100000101111010010101100000110001101100100000001010000000000000000000000000001011110100100111000001100110111111001011001101111110011111010010011100000010011011011000000010100101000111010001111010010011100000101001101100100000001010000000000000000000000000001100110110110000000010000010010110011011001101111110011111010010011100000010011011011000000001100101000111010001111010010011100000101001101100100000001010000000000000000000000000001011110100101111000001100110111111001011001101111110011111010010111100000010011011011000000001000001001011001101111010010111100000111001101100100000001010000000000000000000000000001100110110110000000111110111101001011011001101111110011111010010111100000010011011011000000011000001001011001101111010010111100000111001101100100000001010000000000000000000000000001011110100100000100001100110111111001011001101111110011111010010000010000010011011011000000011111011110100101101111010010000010000100101101100100000001010000000000000000000000000001110110110110000000001100100001011010011001101111110011111010010000010000011011011011000000000111011110100101101111010010000010000100101101100100000001010000000000000000000000000001011110100101000100001100110111111001011001101111110011111010010100010000011011011011000000000110010000101101001111010010100010000110101101100100000001010000000000000000000000000001110110110110000000101100110000011000011001101111110011111010010100010000011011011011000000010110010000101101001111010010100010000110101101100100000001010000000000000000000000000001011110100100100100001100110111111001011001101111110011111010010010010000011011011011000000010110011000001100001111010010010010000101101101100100000001010000000000000000000000000001110110110110000000011000010011101010011001101111110011111010010010010000011011011011000000001110011000001100001111010010010010000101101101100100000001010000000000000000000000000001011110100101100100001100110111111001011001101111110011111010010110010000011011011011000000001100001001110101001111010010110010000111101101100100000001010000000000000000000000000001110110110110000000111100100110000000011001101111110011111010010110010000011011011011000000011100001001110101001111010010110010000111101101100100000001010000000000000000000000000001011110100100010100001100110111111001011001101111110011111010010001010000011011011011000000011110010011000000001111010010001010000100011101100100000001010000000000000000000000000001101110110110000000001000001001000001011001101111110011111010010001010000010111011011000000000110010011000000001111010010001010000100011101100100000001010000000000000000000000000001011110100101010100001100110111111001011001101111110011111010010101010000010111011011000000000100000100100000101111010010101010000110011101100100000001010000000000000000000000000001101110110110000000101010011000100111011001101111110011111010010101010000010111011011000000010100000100100000101111010010101010000110011101100100000001010000000000000000000000000001011110100100110100001100110111111001011001101111110011111010010011010000010111011011000000010101001100010011101111010010011010000101011101100100000001010000000000000000000000000001101110110110000000011000010101001000011001101111110011111010010011010000010111011011000000001101001100010011101111010010011010000101011101100100000001010000000000000000000000000001011110100101110100001100110111111001011001101111110011111010010111010000010111011011000000001100001010100100001111010010111010000111011101100100000001010000000000000000000000000001101110110110000000110111000100110011011001101111110011111010010111010000010111011011000000011100001010100100001111010010111010000111011101100100000001010000000000000000000000000001011110100100001100001100110111111001011001101111110011111010010000110000010111011011000000011011100010011001101111010010000110000100111101100100000001010000000000000000000000000001111110110110000000000010000110101110011001101111110011111010010000110000011111011011000000000011100010011001101111010010000110000100111101100100000001010000000000000000000000000001011110100101001100001100110111111001011001101111110011111010010100110000011111011011000000000001000011010111001111010010100110000110111101100100000001010000000000000000000000000001111110110110000000101100010000111000011001101111110011111010010100110000011111011011000000010001000011010111001111010010100110000110111101100100000001010000000000000000000000000001011110100100101100001100110111111001011001101111110011111010010010110000011111011011000000010110001000011100001111010010010110000101111101100100000001010000000000000000000000000001111110110110000000011100010001101000011001101111110011111010010010110000011111011011000000001110001000011100001111010010010110000101111101100100000001010000000000000000000000000001011110100101101100001100110111111001011001101111110011111010010110110000011111011011000000001110001000110100001111010010110110000111111101100100000001010000000000000000000000000001111110110110000000110100010010111000011001101111110011111010010110110000011111011011000000011110001000110100001111010010110110000111111101100100000001010000000000000000000000000001011110100100011100001100110111111001011001101111110011111010010001110000011111011011000000011010001001011100001111010010001110000100000011100100000001010000000000000000000000000001100001110110000000000100001110101000011001101111110011111010010001110000010000111011000000000010001001011100001111010010001110000100000011100100000001010000000000000000000000000001011110100101011100001100110111111001011001101111110011111010010101110000010000111011000000000010000111010100001111010010101110000110000011100100000001010000000000000000000000000001100001110110000000100111101111011010011001101111110011111010010101110000010000111011000000010010000111010100001111010010101110000110000011100100000001010000000000000000000000000001011110100100111100001100110111111001011001101111110011111010010011110000010000111011000000010011110111101101001111010010011110000101000011100100000001010000000000000000000000000001100001110110000000011110000100001000011001101111110011111010010011110000010000111011000000001011110111101101001111010010011110000101000011100100000001010000000000000000000000000001011110100101111100001100110111111001011001101111110011111010010111110000010000111011000000001111000010000100001111010010111110000111000011100100000001010000000000000000000000000001100001110110000000111101000101010110011001101111110011111010010111110000010000111011000000011111000010000100001111010010111110000111000011100100000001010000000000000000000000000001011110100100000010001100110111111001011001101111110011111010010000001000010000111011000000011110100010101011001111010010000001000100100011100100000001010000000000000000000000000001110001110110000000000011111010011110011001101111110011111010010000001000011000111011000000000110100010101011001111010010000001000100100011100100000001010000000000000000000000000001011110100101000010001100110111111001011001101111110011111010010100001000011000111011000000000001111101001111001111010010100001000110100011100100000001010000000000000000000000000001110001110110000000101110011111101100011001101111110011111010010100001000011000111011000000010001111101001111001111010010100001000110100011100100000001010000000000000000000000000001011110100100100010001100110111111001011001101111110011111010010010001000011000111011000000010111001111110110001111010010010001000101100011100100000001010000000000000000000000000001110001110110000000011110010111101000011001101111110011111010010010001000011000111011000000001111001111110110001111010010010001000101100011100100000001010000000000000000000000000001011110100101100010001100110111111001011001101111110011111010010110001000011000111011000000001111001011110100001111010010110001000111100011100100000001010000000000000000000000000001110001110110000000111000100111001110011001101111110011111010010110001000011000111011000000011111001011110100001111010010110001000111100011100100000001010000000000000000000000000001011110100100010010001100110111111001011001101111110011111010010001001000011000111011000000011100010011100111001111010010001001000100010011100100000001010000000000000000000000000001101001110110000000000111011001110101011001101111110011111010010001001000010100111011000000000100010011100111001111010010001001000100010011100100000001010000000000000000000000000001011110100101010010001100110111111001011001101111110011111010010101001000010100111011000000000011101100111010101111010010101001000110010011100100000001010000000000000000000000000001101001110110000000101010010011100011011001101111110011111010010101001000010100111011000000010011101100111010101111010010101001000110010011100100000001010000000000000000000000000001011110100100110010001100110111111001011001101111110011111010010011001000010100111011000000010101001001110001101111010010011001000101010011100100000001010000000000000000000000000001101001110110000000011010100010101001011001101111110011111010010011001000010100111011000000001101001001110001101111010010011001000101010011100100000001010000000000000000000000000001011110100101110010001100110111111001011001101111110011111010010111001000010100111011000000001101010001010100101111010010111001000111010011100100000001010000000000000000000000000001101001110110000000111100011010000111011001101111110011111010010111001000010100111011000000011101010001010100101111010010111001000111010011100100000001010000000000000000000000000001011110100100001010001100110111111001011001101111110011111010010000101000010100111011000000011110001101000011101111010010000101000100110011100100000001010000000000000000000000000001111001110110000000001010110000111100011001101111110011111010010000101000011100111011000000000110001101000011101111010010000101000100110011100100000001010000000000000000000000000001011110100101001010001100110111111001011001101111110011111010010100101000011100111011000000000101011000011110001111010010100101000110110011100100000001010000000000000000000000000001111001110110000000100100100001111001011001101111110011111010010100101000011100111011000000010101011000011110001111010010100101000110110011100100000001010000000000000000000000000001011110100100101010001100110111111001011001101111110011111010010010101000011100111011000000010010010000111100101111010010010101000101110011100100000001010000000000000000000000000001111001110110000000011100010100110100011001101111110011111010010010101000011100111011000000001010010000111100101111010010010101000101110011100100000001010000000000000000000000000001011110100101101010001100110111111001011001101111110011111010010110101000011100111011000000001110001010011010001111010010110101000111110011100100000001010000000000000000000000000001111001110110000000110100110110001010011001101111110011111010010110101000011100111011000000011110001010011010001111010010110101000111110011100100000001010000000000000000000000000001011110100100011010001100110111111001011001101111110011111010010001101000011100111011000000011010011011000101001111010010001101000100001011100100000001010000000000000000000000000001100101110110000000001110000001010000011001101111110011111010010001101000010010111011000000000010011011000101001111010010001101000100001011100100000001010000000000000000000000000001011110100101011010001100110111111001011001101111110011111010010101101000010010111011000000000111000000101000001111010010101101000110001011100100000001010000000000000000000000000001100101110110000000100000011111000011011001101111110011111010010101101000010010111011000000010111000000101000001111010010101101000110001011100100000001010000000000000000000000000001011110100100111010001100110111111001011001101111110011111010010011101000010010111011000000010000001111100001101111010010011101000101001011100100000001010000000000000000000000000001100101110110000000010110001110100000011001101111110011111010010011101000010010111011000000001000001111100001101111010010011101000101001011100100000001010000000000000000000000000001011110100101111010001100110111111001011001101111110011111010010111101000010010111011000000001011000111010000001111010010111101000111001011100100000001010000000000000000000000000001100101110110000000111110010001010001011001101111110011111010010111101000010010111011000000011011000111010000001111010010111101000111001011100100000001010000000000000000000000000001011110100100000110001100110111111001011001101111110011111010010000011000010010111011000000011111001000101000101111010010000011000100101011100100000001010000000000000000000000000001110101110110000000001111110000010100011001101111110011111010010000011000011010111011000000000111001000101000101111010010000011000100101011100100000001010000000000000000000000000001011110100101000110001100110111111001011001101111110011111010010100011000011010111011000000000111111000001010001111010010100011000110101011100100000001010000000000000000000000000001110101110110000000101100010111101000011001101111110011111010010100011000011010111011000000010111111000001010001111010010100011000110101011100100000001010000000000000000000000000001011110100100100110001100110111111001011001101111110011111010010010011000011010111011000000010110001011110100001111010010010011000101101011100100000001010000000000000000000000000001110101110110000000011010010100101000011001101111110011111010010010011000011010111011000000001110001011110100001111010010010011000101101011100100000001010000000000000000000000000001000001100100000000001100110111111001011001101111110010000110010000000000011010111011000000001101001010010100000000110010000000000111101011100100000001010000000000000000000000000001110101110110000000111100010001001001011001101111110010000110010000000000011010111011000000011101001010010100000000110010000000000111101011100100000001010000000000000000000000000001000001100101000000001100110111111001011001101111110010000110010100000000011010111011000000011110001000100100100000110010100000000100011011100100000001010000000000000000000000000001101101110110000000001100101111010000011001101111110010000110010100000000010110111011000000000110001000100100100000110010100000000100011011100100000001010000000000000000000000000001000001100100100000001100110111111001011001101111110010000110010010000000010110111011000000000110010111101000000000110010010000000110011011100100000001010000000000000000000000000001101101110110000000100001101100110100011001101111110010000110010010000000010110111011000000010110010111101000000000110010010000000110011011100100000001010000000000000000000000000001000001100101100000001100110111111001011001101111110010000110010110000000010110111011000000010000110110011010000000110010110000000101011011100100000001010000000000000000000000000001101101110110000000011010000011110001011001101111110010000110010110000000010110111011000000001000110110011010000000110010110000000101011011100100000001010000000000000000000000000001000001100100010000001100110111111001011001101111110010000110010001000000010110111011000000001101000001111000100000110010001000000111011011100100000001010000000000000000000000000001101101110110000000111001001010000100011001101111110010000110010001000000010110111011000000011101000001111000100000110010001000000111011011100100000001010000000000000000000000000001000001100101010000001100110111111001011001101111110010000110010101000000010110111011000000011100100101000010000000110010101000000100111011100100000001010000000000000000000000000001111101110110000000000011101100111110011001101111110010000110010101000000011110111011000000000100100101000010000000110010101000000100111011100100000001010000000000000000000000000001000001100100110000001100110111111001011001101111110010000110010011000000011110111011000000000001110110011111000000110010011000000110111011100100000001010000000000000000000000000001111101110110000000100100100011111001011001101111110010000110010011000000011110111011000000010001110110011111000000110010011000000110111011100100000001010000000000000000000000000001000001100101110000001100110111111001011001101111110010000110010111000000011110111011000000010010010001111100100000110010111000000101111011100100000001010000000000000000000000000001111101110110000000011011101111011111011001101111110010000110010111000000011110111011000000001010010001111100100000110010111000000101111011100100000001010000000000000000000000000001000001100100001000001100110111111001011001101111110010000110010000100000011110111011000000001101110111101111100000110010000100000111111011100100000001010000000000000000000000000001111101110110000000110100000000001000011001101111110010000110010000100000011110111011000000011101110111101111100000110010000100000111111011100100000001010000000000000000000000000001000001100101001000001100110111111001011001101111110010000110010100100000011110111011000000011010000000000100000000110010100100000100000111100100000001010000000000000000000000000001100011110110000000001100101010000000011001101111110010000110010100100000010001111011000000000010000000000100000000110010100100000100000111100100000001010000000000000000000000000001000001100100101000001100110111111001011001101111110010000110010010100000010001111011000000000110010101000000000000110010010100000110000111100100000001010000000000000000000000000001100011110110000000101011000001100000011001101111110010000110010010100000010001111011000000010110010101000000000000110010010100000110000111100100000001010000000000000000000000000001000001100101101000001100110111111001011001101111110010000110010110100000010001111011000000010101100000110000000000110010110100000101000111100100000001010000000000000000000000000001100011110110000000010010110111010101011001101111110010000110010110100000010001111011000000001101100000110000000000110010110100000101000111100100000001010000000000000000000000000001000001100100011000001100110111111001011001101111110010000110010001100000010001111011000000001001011011101010100000110010001100000111000111100100000001010000000000000000000000000001100011110110000000110000011010100101011001101111110010000110010001100000010001111011000000011001011011101010100000110010001100000111000111100100000001010000000000000000000000000001000001100101011000001100110111111001011001101111110010000110010101100000010001111011000000011000001101010010100000110010101100000100100111100100000001010000000000000000000000000001110011110110000000001110110100001101011001101111110010000110010101100000011001111011000000000000001101010010100000110010101100000100100111100100000001010000000000000000000000000001000001100100111000001100110111111001011001101111110010000110010011100000011001111011000000000111011010000110100000110010011100000110100111100100000001010000000000000000000000000001110011110110000000101111011110100100011001101111110010000110010011100000011001111011000000010111011010000110100000110010011100000110100111100100000001010000000000000000000000000001000001100101111000001100110111111001011001101111110010000110010111100000011001111011000000010111101111010010000000110010111100000101100111100100000001010000000000000000000000000001110011110110000000010101101111011011011001101111110010000110010111100000011001111011000000001111101111010010000000110010111100000101100111100100000001010000000000000000000000000001000001100100000100001100110111111001011001101111110010000110010000010000011001111011000000001010110111101101100000110010000010000111100111100100000001010000000000000000000000000001110011110110000000111100001000011101011001101111110010000110010000010000011001111011000000011010110111101101100000110010000010000111100111100100000001010000000000000000000000000001000001100101000100001100110111111001011001101111110010000110010100010000011001111011000000011110000100001110100000110010100010000100010111100100000001010000000000000000000000000001101011110110000000001101000000010100011001101111110010000110010100010000010101111011000000000110000100001110100000110010100010000100010111100100000001010000000000000000000000000001000001100100100100001100110111111001011001101111110010000110010010010000010101111011000000000110100000001010000000110010010010000110010111100100000001010000000000000000000000000001101011110110000000101000100110010011011001101111110010000110010010010000010101111011000000010110100000001010000000110010010010000110010111100100000001010000000000000000000000000001000001100101100100001100110111111001011001101111110010000110010110010000010101111011000000010100010011001001100000110010110010000101010111100100000001010000000000000000000000000001101011110110000000011100011101100000011001101111110010000110010110010000010101111011000000001100010011001001100000110010110010000101010111100100000001010000000000000000000000000001000001100100010100001100110111111001011001101111110010000110010001010000010101111011000000001110001110110000000000110010001010000111010111100100000001010000000000000000000000000001101011110110000000111011101111110101011001101111110010000110010001010000010101111011000000011110001110110000000000110010001010000111010111100100000001010000000000000000000000000001000001100101010100001100110111111001011001101111110010000110010101010000010101111011000000011101110111111010100000110010101010000100110111100100000001010000000000000000000000000001111011110110000000001000110101001010011001101111110010000110010101010000011101111011000000000101110111111010100000110010101010000100110111100100000001010000000000000000000000000001000001100100110100001100110111111001011001101111110010000110010011010000011101111011000000000100011010100101000000110010011010000110110111100100000001010000000000000000000000000001111011110110000000101100010111101000011001101111110010000110010011010000011101111011000000010100011010100101000000110010011010000110110111100100000001010000000000000000000000000001000001100101110100001100110111111001011001101111110010000110010111010000011101111011000000010110001011110100000000110010111010000101110111100100000001010000000000000000000000000001111011110110000000010000101100100011011001101111110010000110010111010000011101111011000000001110001011110100000000110010111010000101110111100100000001010000000000000000000000000001000001100100001100001100110111111001011001101111110010000110010000110000011101111011000000001000010110010001100000110010000110000111110111100100000001010000000000000000000000000001111011110110000000111100010111101000011001101111110010000110010000110000011101111011000000011000010110010001100000110010000110000111110111100100000001010000000000000000000000000001000001100101001100001100110111111001011001101111110010000110010100110000011101111011000000011110001011110100000000110010100110000100001111100100000001010000000000000000000000000001100111110110000000001100110100111000011001101111110010000110010100110000010011111011000000000110001011110100000000110010100110000100001111100100000001010000000000000000000000000001000001100100101100001100110111111001011001101111110010000110010010110000010011111011000000000110011010011100000000110010010110000110001111100100000001010000000000000000000000000001100111110110000000100100110111010000011001101111110010000110010010110000010011111011000000010110011010011100000000110010010110000110001111100100000001010000000000000000000000000001000001100101101100001100110111111001011001101111110010000110010110110000010011111011000000010010011011101000000000110010110110000101001111100100000001010000000000000000000000000001100111110110000000011100010001101000011001101111110010000110010110110000010011111011000000001010011011101000000000110010110110000101001111100100000001010000000000000000000000000001000001100100011100001100110111111001011001101111110010000110010001110000010011111011000000001110001000110100000000110010001110000111001111100100000001010000000000000000000000000001100111110110000000110111011000110000011001101111110010000110010001110000010011111011000000011110001000110100000000110010001110000111001111100100000001010000000000000000000000000001000001100101011100001100110111111001011001101111110010000110010101110000010011111011000000011011101100011000000000110010101110000100101111100100000001010000000000000000000000000001110111110110000000001100000101010000011001101111110010000110010101110000011011111011000000000011101100011000000000110010101110000100101111100100000001010000000000000000000000000001000001100100111100001100110111111001011001101111110010000110010011110000011011111011000000000110000010101000000000110010011110000110101111100100000001010000000000000000000000000001110111110110000000101100110111111001011001101111110010000110010011110000011011111011000000010110000010101000000000110010011110000110101111100100000001010000000000000000000000000001000001100101111100001100110111111001011001101111110010000110010111110000011011111011000000010110011011111100100000110010111110000101101111100100000001010000000000000000000000000001110111110110000000011000110101001001011001101111110010000110010111110000011011111011000000001110011011111100100000110010111110000101101111100100000001010000000000000000000000000001000001100100000010001100110111111001011001101111110010000110010000001000011011111011000000001100011010100100100000110010000001000111101111100100000001010000000000000000000000000001110111110110000000111100110011110000011001101111110010000110010000001000011011111011000000011100011010100100100000110010000001000111101111100100000001010000000000000000000000000001000001100101000010001100110111111001011001101111110010000110010100001000011011111011000000011110011001111000000000110010100001000100011111100100000001010000000000000000000000000001101111110110000000000000110111111000011001101111110010000110010100001000010111111011000000000110011001111000000000110010100001000100011111100100000001010000000000000000000000000001000001100100100010001100110111111001011001101111110010000110010010001000010111111011000000000000011011111100000000110010010001000110011111100100000001010000000000000000000000000001101111110110000000100010101010001000011001101111110010000110010010001000010111111011000000010000011011111100000000110010010001000110011111100100000001010000000000000000000000000001000001100101100010001100110111111001011001101111110010000110010110001000010111111011000000010001010101000100000000110010110001000101011111100100000001010000000000000000000000000001101111110110000000010000010110101000011001101111110010000110010110001000010111111011000000001001010101000100000000110010110001000101011111100100000001010000000000000000000000000001000001100100010010001100110111111001011001101111110010000110010001001000010111111011000000001000001011010100000000110010001001000111011111100100000001010000000000000000000000000001101111110110000000111101000000010010011001101111110010000110010001001000010111111011000000011000001011010100000000110010001001000111011111100100000001010000000000000000000000000001000001100101010010001100110111111001011001101111110010000110010101001000010111111011000000011110100000001001000000110010101001000100111111100100000001010000000000000000000000000001111111110110000000000100110000110001011001101111110010000110010101001000011111111011000000000110100000001001000000110010101001000100111111100100000001010000000000000000000000000001000001100100110010001100110111111001011001101111110010000110010011001000011111111011000000000010011000011000100000110010011001000110111111100100000001010000000000000000000000000001111111110110000000101100010111101000011001101111110010000110010011001000011111111011000000010010011000011000100000110010011001000110111111100100000001010000000000000000000000000001000001100101110010001100110111111001011001101111110010000110010111001000011111111011000000010110001011110100000000110010111001000101111111100100000001010000000000000000000000000001111111110110000000011000000000011001011001101111110010000110010111001000011111111011000000001110001011110100000000110010111001000101111111100100000001010000000000000000000000000001000001100100001010001100110111111001011001101111110010000110010000101000011111111011000000001100000000001100100000110010000101000111111111100100000001010000000000000000000000000001111111110110000000111100000001101000011001101111110010000110010000101000011111111011000000011100000000001100100000110010000101000111111111100100000001010000000000000000000000000001000001100101001010001100110111111001011001101111110010000110010100101000011111111011000000011110000000110100000000110010100101000100000000010100000001010000000000000000000000000001100000001110000000001000000000101100011001101111110010000110010100101000010000000111000000000110000000110100000000110010100101000100000000010100000001010000000000000000000000000001000001100100101010001100110111111001011001101111110010000110010010101000010000000111000000000100000000010110000000110010010101000110000000010100000001010000000000000000000000000001100000001110000000100001110010010011011001101111110010000110010010101000010000000111000000010100000000010110000000110010010101000110000000010100000001010000000000000000000000000001000001100101101010001100110111111001011001101111110010000110010110101000010000000111000000010000111001001001100000110010110101000101000000010100000001010000000000000000000000000001100000001110000000011011000001110101011001101111110010000110010110101000010000000111000000001000111001001001100000110010110101000101000000010100000001010000000000000000000000000001000001100100011010001100110111111001011001101111110010000110010001101000010000000111000000001101100000111010100000110010001101000111000000010100000001010000000000000000000000000001100000001110000000110111010110100100011001101111110010000110010001101000010000000111000000011101100000111010100000110010001101000111000000010100000001010000000000000000000000000001000001100101011010001100110111111001011001101111110010000110010101101000010000000111000000011011101011010010000000110010101101000100100000010100000001010000000000000000000000000001110000001110000000000111011001011111011001101111110010000110010101101000011000000111000000000011101011010010000000110010101101000100100000010100000001010000000000000000000000000001000001100100111010001100110111111001011001101111110010000110010011101000011000000111000000000011101100101111100000110010011101000110100000010100000001010000000000000000000000000001110000001110000000101111100000110010011001101111110010000110010011101000011000000111000000010011101100101111100000110010011101000110100000010100000001010000000000000000000000000001000001100101111010001100110111111001011001101111110010000110010111101000011000000111000000010111110000011001000000110010111101000101100000010100000001010000000000000000000000000001110000001110000000011100111001001011011001101111110010000110010111101000011000000111000000001111110000011001000000110010111101000101100000010100000001010000000000000000000000000001000001100100000110001100110111111001011001101111110010000110010000011000011000000111000000001110011100100101100000110010000011000111100000010100000001010000000000000000000000000001110000001110000000111011110110001010011001101111110010000110010000011000011000000111000000011110011100100101100000110010000011000111100000010100000001010000000000000000000000000001000001100101000110001100110111111001011001101111110010000110010100011000011000000111000000011101111011000101000000110010100011000100010000010100000001010000000000000000000000000001101000001110000000000100101001000000011001101111110010000110010100011000010100000111000000000101111011000101000000110010100011000100010000010100000001010000000000000000000000000001000001100100100110001100110111111001011001101111110010000110010010011000010100000111000000000010010100100000000000110010010011000110010000010100000001010000000000000000000000000001101000001110000000100000001111000110011001101111110010000110010010011000010100000111000000010010010100100000000000110010010011000110010000010100000001010000000000000000000000000001010001100100000000001100110111111001011001101111110011000110010000000000010100000111000000010000000111100011001000110010000000000101010000010100000001010000000000000000000000000001101000001110000000010100111000101100011001101111110011000110010000000000010100000111000000001000000111100011001000110010000000000101010000010100000001010000000000000000000000000001010001100101000000001100110111111001011001101111110011000110010100000000010100000111000000001010011100010110001000110010100000000111010000010100000001010000000000000000000000000001101000001110000000110010110100010110011001101111110011000110010100000000010100000111000000011010011100010110001000110010100000000111010000010100000001010000000000000000000000000001010001100100100000001100110111111001011001101111110011000110010010000000010100000111000000011001011010001011001000110010010000000100110000010100000001010000000000000000000000000001111000001110000000000111011010000010011001101111110011000110010010000000011100000111000000000001011010001011001000110010010000000100110000010100000001010000000000000000000000000001010001100101100000001100110111111001011001101111110011000110010110000000011100000111000000000011101101000001001000110010110000000110110000010100000001010000000000000000000000000001111000001110000000101101010010010111011001101111110011000110010110000000011100000111000000010011101101000001001000110010110000000110110000010100000001010000000000000000000000000001010001100100010000001100110111111001011001101111110011000110010001000000011100000111000000010110101001001011101000110010001000000101110000010100000001010000000000000000000000000001111000001110000000010110111000000111011001101111110011000110010001000000011100000111000000001110101001001011101000110010001000000101110000010100000001010000000000000000000000000001010001100101010000001100110111111001011001101111110011000110010101000000011100000111000000001011011100000011101000110010101000000111110000010100000001010000000000000000000000000001111000001110000000111010001110001110011001101111110011000110010101000000011100000111000000011011011100000011101000110010101000000111110000010100000001010000000000000000000000000001010001100100110000001100110111111001011001101111110011000110010011000000011100000111000000011101000111000111001000110010011000000100001000010100000001010000000000000000000000000001100100001110000000000100110010000110011001101111110011000110010011000000010010000111000000000101000111000111001000110010011000000100001000010100000001010000000000000000000000000001010001100101110000001100110111111001011001101111110011000110010111000000010010000111000000000010011001000011001000110010111000000110001000010100000001010000000000000000000000000001100100001110000000100001100100101100011001101111110011000110010111000000010010000111000000010010011001000011001000110010111000000110001000010100000001010000000000000000000000000001010001100100001000001100110111111001011001101111110011000110010000100000010010000111000000010000110010010110001000110010000100000101001000010100000001010000000000000000000000000001100100001110000000011101110001010011011001101111110011000110010000100000010010000111000000001000110010010110001000110010000100000101001000010100000001010000000000000000000000000001010001100101001000001100110111111001011001101111110011000110010100100000010010000111000000001110111000101001101000110010100100000111001000010100000001010000000000000000000000000001100100001110000000111000010001110011011001101111110011000110010100100000010010000111000000011110111000101001101000110010100100000111001000010100000001010000000000000000000000000001010001100100101000001100110111111001011001101111110011000110010010100000010010000111000000011100001000111001101000110010010100000100101000010100000001010000000000000000000000000001110100001110000000001101001000001011011001101111110011000110010010100000011010000111000000000100001000111001101000110010010100000100101000010100000001010000000000000000000000000001010001100101101000001100110111111001011001101111110011000110010110100000011010000111000000000110100100000101101000110010110100000110101000010100000001010000000000000000000000000001110100001110000000100001011101111101011001101111110011000110010110100000011010000111000000010110100100000101101000110010110100000110101000010100000001010000000000000000000000000001010001100100011000001100110111111001011001101111110011000110010001100000011010000111000000010000101110111110101000110010001100000101101000010100000001010000000000000000000000000001110100001110000000011010010001110010011001101111110011000110010001100000011010000111000000001000101110111110101000110010001100000101101000010100000001010000000000000000000000000001010001100101011000001100110111111001011001101111110011000110010101100000011010000111000000001101001000111001001000110010101100000111101000010100000001010000000000000000000000000001110100001110000000110001111010100000011001101111110011000110010101100000011010000111000000011101001000111001001000110010101100000111101000010100000001010000000000000000000000000001010001100100111000001100110111111001011001101111110011000110010011100000011010000111000000011000111101010000001000110010011100000100011000010100000001010000000000000000000000000001101100001110000000001111000001100100011001101111110011000110010011100000010110000111000000000000111101010000001000110010011100000100011000010100000001010000000000000000000000000001010001100101111000001100110111111001011001101111110011000110010111100000010110000111000000000111100000110010001000110010111100000110011000010100000001010000000000000000000000000001101100001110000000101001001000000000011001101111110011000110010111100000010110000111000000010111100000110010001000110010111100000110011000010100000001010000000000000000000000000001010001100100000100001100110111111001011001101111110011000110010000010000010110000111000000010100100100000000001000110010000010000101011000010100000001010000000000000000000000000001101100001110000000010011010000010111011001101111110011000110010000010000010110000111000000001100100100000000001000110010000010000101011000010100000001010000000000000000000000000001010001100101000100001100110111111001011001101111110011000110010100010000010110000111000000001001101000001011101000110010100010000111011000010100000001010000000000000000000000000001101100001110000000111000101010110101011001101111110011000110010100010000010110000111000000011001101000001011101000110010100010000111011000010100000001010000000000000000000000000001010001100100100100001100110111111001011001101111110011000110010010010000010110000111000000011100010101011010101000110010010010000100111000010100000001010000000000000000000000000001111100001110000000001011111000101111011001101111110011000110010010010000011110000111000000000100010101011010101000110010010010000100111000010100000001010000000000000000000000000001010001100101100100001100110111111001011001101111110011000110010110010000011110000111000000000101111100010111101000110010110010000110111000010100000001010000000000000000000000000001111100001110000000100011000010101101011001101111110011000110010110010000011110000111000000010101111100010111101000110010110010000110111000010100000001010000000000000000000000000001010001100100010100001100110111111001011001101111110011000110010001010000011110000111000000010001100001010110101000110010001010000101111000010100000001010000000000000000000000000001111100001110000000010001011111110000011001101111110011000110010001010000011110000111000000001001100001010110101000110010001010000101111000010100000001010000000000000000000000000001010001100101010100001100110111111001011001101111110011000110010101010000011110000111000000001000101111111000001000110010101010000111111000010100000001010000000000000000000000000001111100001110000000110100010000001010011001101111110011000110010101010000011110000111000000011000101111111000001000110010101010000111111000010100000001010000000000000000000000000001010001100100110100001100110111111001011001101111110011000110010011010000011110000111000000011010001000000101001000110010011010000100000100010100000001010000000000000000000000000001100010001110000000001011100001010110011001101111110011000110010011010000010001000111000000000010001000000101001000110010011010000100000100010100000001010000000000000000000000000001010001100101110100001100110111111001011001101111110011000110010111010000010001000111000000000101110000101011001000110010111010000110000100010100000001010000000000000000000000000001100010001110000000100110011000100101011001101111110011000110010111010000010001000111000000010101110000101011001000110010111010000110000100010100000001010000000000000000000000000001010001100100001100001100110111111001011001101111110011000110010000110000010001000111000000010011001100010010101000110010000110000101000100010100000001010000000000000000000000000001100010001110000000011100011001101101011001101111110011000110010000110000010001000111000000001011001100010010101000110010000110000101000100010100000001010000000000000000000000000001010001100101001100001100110111111001011001101111110011000110010100110000010001000111000000001110001100110110101000110010100110000111000100010100000001010000000000000000000000000001100010001110000000110101110110001010011001101111110011000110010100110000010001000111000000011110001100110110101000110010100110000111000100010100000001010000000000000000000000000001010001100100101100001100110111111001011001101111110011000110010010110000010001000111000000011010111011000101001000110010010110000100100100010100000001010000000000000000000000000001110010001110000000000111011110101000011001101111110011000110010010110000011001000111000000000010111011000101001000110010010110000100100100010100000001010000000000000000000000000001010001100101101100001100110111111001011001101111110011000110010110110000011001000111000000000011101111010100001000110010110110000110100100010100000001010000000000000000000000000001110010001110000000101101010001100001011001101111110011000110010110110000011001000111000000010011101111010100001000110010110110000110100100010100000001010000000000000000000000000001010001100100011100001100110111111001011001101111110011000110010001110000011001000111000000010110101000110000101000110010001110000101100100010100000001010000000000000000000000000001110010001110000000010000110110101000011001101111110011000110010001110000011001000111000000001110101000110000101000110010001110000101100100010100000001010000000000000000000000000001010001100101011100001100110111111001011001101111110011000110010101110000011001000111000000001000011011010100001000110010101110000111100100010100000001010000000000000000000000000001110010001110000000110111010010101110011001101111110011000110010101110000011001000111000000011000011011010100001000110010101110000111100100010100000001010000000000000000000000000001010001100100111100001100110111111001011001101111110011000110010011110000011001000111000000011011101001010111001000110010011110000100010100010100000001010000000000000000000000000001101010001110000000000001111100111011011001101111110011000110010011110000010101000111000000000011101001010111001000110010011110000100010100010100000001010000000000000000000000000001010001100101111100001100110111111001011001101111110011000110010111110000010101000111000000000000111110011101101000110010111110000110010100010100000001010000000000000000000000000001101010001110000000101000000101010010011001101111110011000110010111110000010101000111000000010000111110011101101000110010111110000110010100010100000001010000000000000000000000000001010001100100000010001100110111111001011001101111110011000110010000001000010101000111000000010100000010101001001000110010000001000101010100010100000001010000000000000000000000000001101010001110000000011010100010100000011001101111110011000110010000001000010101000111000000001100000010101001001000110010000001000101010100010100000001010000000000000000000000000001010001100101000010001100110111111001011001101111110011000110010100001000010101000111000000001101010001010000001000110010100001000111010100010100000001010000000000000000000000000001101010001110000000110001101011111100011001101111110011000110010100001000010101000111000000011101010001010000001000110010100001000111010100010100000001010000000000000000000000000001010001100100100010001100110111111001011001101111110011000110010010001000010101000111000000011000110101111110001000110010010001000100110100010100000001010000000000000000000000000001111010001110000000000000000101101101011001101111110011000110010010001000011101000111000000000000110101111110001000110010010001000100110100010100000001010000000000000000000000000001010001100101100010001100110111111001011001101111110011000110010110001000011101000111000000000000000010110110101000110010110001000110110100010100000001010000000000000000000000000001111010001110000000101111101110011101011001101111110011000110010110001000011101000111000000010000000010110110101000110010110001000110110100010100000001010000000000000000000000000001010001100100010010001100110111111001011001101111110011000110010001001000011101000111000000010111110111001110101000110010001001000101110100010100000001010000000000000000000000000001111010001110000000010000001010010001011001101111110011000110010001001000011101000111000000001111110111001110101000110010001001000101110100010100000001010000000000000000000000000001010001100101010010001100110111111001011001101111110011000110010101001000011101000111000000001000000101001000101000110010101001000111110100010100000001010000000000000000000000000001111010001110000000110110000000011000011001101111110011000110010101001000011101000111000000011000000101001000101000110010101001000111110100010100000001010000000000000000000000000001010001100100110010001100110111111001011001101111110011000110010011001000011101000111000000011011000000001100001000110010011001000100001100010100000001010000000000000000000000000001100110001110000000000010011111111100011001101111110011000110010011001000010011000111000000000011000000001100001000110010011001000100001100010100000001010000000000000000000000000001010001100101110010001100110111111001011001101111110011000110010111001000010011000111000000000001001111111110001000110010111001000110001100010100000001010000000000000000000000000001100110001110000000100100011010110010011001101111110011000110010111001000010011000111000000010001001111111110001000110010111001000110001100010100000001010000000000000000000000000001010001100100001010001100110111111001011001101111110011000110010000101000010011000111000000010010001101011001001000110010000101000101001100010100000001010000000000000000000000000001100110001110000000011011011010010000011001101111110011000110010000101000010011000111000000001010001101011001001000110010000101000101001100010100000001010000000000000000000000000001010001100101001010001100110111111001011001101111110011000110010100101000010011000111000000001101101101001000001000110010100101000111001100010100000001010000000000000000000000000001100110001110000000111011001011111000011001101111110011000110010100101000010011000111000000011101101101001000001000110010100101000111001100010100000001010000000000000000000000000001010001100100101010001100110111111001011001101111110011000110010010101000010011000111000000011101100101111100001000110010010101000100101100010100000001010000000000000000000000000001110110001110000000001010110001111010011001101111110011000110010010101000011011000111000000000101100101111100001000110010010101000100101100010100000001010000000000000000000000000001010001100101101010001100110111111001011001101111110011000110010110101000011011000111000000000101011000111101001000110010110101000110101100010100000001010000000000000000000000000001110110001110000000101010101011100011011001101111110011000110010110101000011011000111000000010101011000111101001000110010110101000110101100010100000001010000000000000000000000000001010001100100011010001100110111111001011001101111110011000110010001101000011011000111000000010101010101110001101000110010001101000101101100010100000001010000000000000000000000000001110110001110000000011010111100000100011001101111110011000110010001101000011011000111000000001101010101110001101000110010001101000101101100010100000001010000000000000000000000000001010001100101011010001100110111111001011001101111110011000110010101101000011011000111000000001101011110000010001000110010101101000111101100010100000001010000000000000000000000000001110110001110000000110100110000111101011001101111110011000110010101101000011011000111000000011101011110000010001000110010101101000111101100010100000001010000000000000000000000000001010001100100111010001100110111111001011001101111110011000110010011101000011011000111000000011010011000011110101000110010011101000100011100010100000001010000000000000000000000000001101110001110000000001111100001000011011001101111110011000110010011101000010111000111000000000010011000011110101000110010011101000100011100010100000001010000000000000000000000000001010001100101111010001100110111111001011001101111110011000110010111101000010111000111000000000111110000100001101000110010111101000110011100010100000001010000000000000000000000000001101110001110000000100101000110010110011001101111110011000110010111101000010111000111000000010111110000100001101000110010111101000110011100010100000001010000000000000000000000000001010001100100000110001100110111111001011001101111110011000110010000011000010111000111000000010010100011001011001000110010000011000101011100010100000001010000000000000000000000000001101110001110000000011011110100001000011001101111110011000110010000011000010111000111000000001010100011001011001000110010000011000101011100010100000001010000000000000000000000000001010001100101000110001100110111111001011001101111110011000110010100011000010111000111000000001101111010000100001000110010100011000111011100010100000001010000000000000000000000000001101110001110000000110011001001001001011001101111110011000110010100011000010111000111000000011101111010000100001000110010100011000111011100010100000001010000000000000000000000000001010001100100100110001100110111111001011001101111110011000110010010011000010111000111000000011001100100100100101000110010010011000100111100010100000001010000000000000000000000000001111110001110000000001010101101110101011001101111110011000110010010011000011111000111000000000001100100100100101000110010010011000100111100010100000001010000000000000000000000000001001001100100000000001100110111111001011001101111110010100110010000000000011111000111000000000101010110111010100100110010000000000110111100010100000001010000000000000000000000000001111110001110000000100000110110101011011001101111110010100110010000000000011111000111000000010101010110111010100100110010000000000110111100010100000001010000000000000000000000000001001001100101000000001100110111111001011001101111110010100110010100000000011111000111000000010000011011010101100100110010100000000101111100010100000001010000000000000000000000000001111110001110000000010010100011110010011001101111110010100110010100000000011111000111000000001000011011010101100100110010100000000101111100010100000001010000000000000000000000000001001001100100100000001100110111111001011001101111110010100110010010000000011111000111000000001001010001111001000100110010010000000111111100010100000001010000000000000000000000000001111110001110000000110101101110001100011001101111110010100110010010000000011111000111000000011001010001111001000100110010010000000111111100010100000001010000000000000000000000000001001001100101100000001100110111111001011001101111110010100110010110000000011111000111000000011010110111000110000100110010110000000100000010010100000001010000000000000000000000000001100001001110000000001100110010100000011001101111110010100110010110000000010000100111000000000010110111000110000100110010110000000100000010010100000001010000000000000000000000000001001001100100010000001100110111111001011001101111110010100110010001000000010000100111000000000110011001010000000100110010001000000110000010010100000001010000000000000000000000000001100001001110000000100010010111101000011001101111110010100110010001000000010000100111000000010110011001010000000100110010001000000110000010010100000001010000000000000000000000000001001001100101010000001100110111111001011001101111110010100110010101000000010000100111000000010001001011110100000100110010101000000101000010010100000001010000000000000000000000000001100001001110000000011100010100010111011001101111110010100110010101000000010000100111000000001001001011110100000100110010101000000101000010010100000001010000000000000000000000000001001001100100110000001100110111111001011001101111110010100110010011000000010000100111000000001110001010001011100100110010011000000111000010010100000001010000000000000000000000000001100001001110000000111001000011111111011001101111110010100110010011000000010000100111000000011110001010001011100100110010011000000111000010010100000001010000000000000000000000000001001001100101110000001100110111111001011001101111110010100110010111000000010000100111000000011100100001111111100100110010111000000100100010010100000001010000000000000000000000000001110001001110000000001101011000111110011001101111110010100110010111000000011000100111000000000100100001111111100100110010111000000100100010010100000001010000000000000000000000000001001001100100001000001100110111111001011001101111110010100110010000100000011000100111000000000110101100011111000100110010000100000110100010010100000001010000000000000000000000000001110001001110000000101000100001001110011001101111110010100110010000100000011000100111000000010110101100011111000100110010000100000110100010010100000001010000000000000000000000000001001001100101001000001100110111111001011001101111110010100110010100100000011000100111000000010100010000100111000100110010100100000101100010010100000001010000000000000000000000000001110001001110000000011110110001000000011001101111110010100110010100100000011000100111000000001100010000100111000100110010100100000101100010010100000001010000000000000000000000000001001001100100101000001100110111111001011001101111110010100110010010100000011000100111000000001111011000100000000100110010010100000111100010010100000001010000000000000000000000000001110001001110000000111101001010011001011001101111110010100110010010100000011000100111000000011111011000100000000100110010010100000111100010010100000001010000000000000000000000000001001001100101101000001100110111111001011001101111110010100110010110100000011000100111000000011110100101001100100100110010110100000100010010010100000001010000000000000000000000000001101001001110000000001110101010011100011001101111110010100110010110100000010100100111000000000110100101001100100100110010110100000100010010010100000001010000000000000000000000000001001001100100011000001100110111111001011001101111110010100110010001100000010100100111000000000111010101001110000100110010001100000110010010010100000001010000000000000000000000000001101001001110000000100001100000011101011001101111110010100110010001100000010100100111000000010111010101001110000100110010001100000110010010010100000001010000000000000000000000000001001001100101011000001100110111111001011001101111110010100110010101100000010100100111000000010000110000001110100100110010101100000101010010010100000001010000000000000000000000000001101001001110000000010110101110111010011001101111110010100110010101100000010100100111000000001000110000001110100100110010101100000101010010010100000001010000000000000000000000000001001001100100111000001100110111111001011001101111110010100110010011100000010100100111000000001011010111011101000100110010011100000111010010010100000001010000000000000000000000000001101001001110000000111101011101101100011001101111110010100110010011100000010100100111000000011011010111011101000100110010011100000111010010010100000001010000000000000000000000000001001001100101111000001100110111111001011001101111110010100110010111100000010100100111000000011110101110110110000100110010111100000100110010010100000001010000000000000000000000000001111001001110000000000111110001110010011001101111110010100110010111100000011100100111000000000110101110110110000100110010111100000100110010010100000001010000000000000000000000000001001001100100000100001100110111111001011001101111110010100110010000010000011100100111000000000011111000111001000100110010000010000110110010010100000001010000000000000000000000000001111001001110000000101000010110010000011001101111110010100110010000010000011100100111000000010011111000111001000100110010000010000110110010010100000001010000000000000000000000000001001001100101000100001100110111111001011001101111110010100110010100010000011100100111000000010100001011001000000100110010100010000101110010010100000001010000000000000000000000000001111001001110000000011001111110001000011001101111110010100110010100010000011100100111000000001100001011001000000100110010100010000101110010010100000001010000000000000000000000000001001001100100100100001100110111111001011001101111110010100110010010010000011100100111000000001100111111000100000100110010010010000111110010010100000001010000000000000000000000000001111001001110000000110000011100101010011001101111110010100110010010010000011100100111000000011100111111000100000100110010010010000111110010010100000001010000000000000000000000000001001001100101100100001100110111111001011001101111110010100110010110010000011100100111000000011000001110010101000100110010110010000100001010010100000001010000000000000000000000000001100101001110000000000000101010101000011001101111110010100110010110010000010010100111000000000000001110010101000100110010110010000100001010010100000001010000000000000000000000000001001001100100010100001100110111111001011001101111110010100110010001010000010010100111000000000000010101010100000100110010001010000110001010010100000001010000000000000000000000000001100101001110000000100000000011101011011001101111110010100110010001010000010010100111000000010000010101010100000100110010001010000110001010010100000001010000000000000000000000000001001001100101010100001100110111111001011001101111110010100110010101010000010010100111000000010000000001110101100100110010101010000101001010010100000001010000000000000000000000000001100101001110000000011001110000010000011001101111110010100110010101010000010010100111000000001000000001110101100100110010101010000101001010010100000001010000000000000000000000000001001001100100110100001100110111111001011001101111110010100110010011010000010010100111000000001100111000001000000100110010011010000111001010010100000001010000000000000000000000000001100101001110000000110010111111101001011001101111110010100110010011010000010010100111000000011100111000001000000100110010011010000111001010010100000001010000000000000000000000000001001001100101110100001100110111111001011001101111110010100110010111010000010010100111000000011001011111110100100100110010111010000100101010010100000001010000000000000000000000000001110101001110000000000010001000101010011001101111110010100110010111010000011010100111000000000001011111110100100100110010111010000100101010010100000001010000000000000000000000000001001001100100001100001100110111111001011001101111110010100110010000110000011010100111000000000001000100010101000100110010000110000110101010010100000001010000000000000000000000000001110101001110000000101011011111010100011001101111110010100110010000110000011010100111000000010001000100010101000100110010000110000110101010010100000001010000000000000000000000000001001001100101001100001100110111111001011001101111110010100110010100110000011010100111000000010101101111101010000100110010100110000101101010010100000001010000000000000000000000000001110101001110000000011001111001101011011001101111110010100110010100110000011010100111000000001101101111101010000100110010100110000101101010010100000001010000000000000000000000000001001001100100101100001100110111111001011001101111110010100110010010110000011010100111000000001100111100110101100100110010010110000111101010010100000001010000000000000000000000000001110101001110000000110001000111101101011001101111110010100110010010110000011010100111000000011100111100110101100100110010010110000111101010010100000001010000000000000000000000000001001001100101101100001100110111111001011001101111110010100110010110110000011010100111000000011000100011110110100100110010110110000100011010010100000001010000000000000000000000000001101101001110000000001110011001100000011001101111110010100110010110110000010110100111000000000000100011110110100100110010110110000100011010010100000001010000000000000000000000000001001001100100011100001100110111111001011001101111110010100110010001110000010110100111000000000111001100110000000100110010001110000110011010010100000001010000000000000000000000000001101101001110000000100111010000011110011001101111110010100110010001110000010110100111000000010111001100110000000100110010001110000110011010010100000001010000000000000000000000000001001001100101011100001100110111111001011001101111110010100110010101110000010110100111000000010011101000001111000100110010101110000101011010010100000001010000000000000000000000000001101101001110000000011011000010000010011001101111110010100110010101110000010110100111000000001011101000001111000100110010101110000101011010010100000001010000000000000000000000000001001001100100111100001100110111111001011001101111110010100110010011110000010110100111000000001101100001000001000100110010011110000111011010010100000001010000000000000000000000000001101101001110000000110110001010000001011001101111110010100110010011110000010110100111000000011101100001000001000100110010011110000111011010010100000001010000000000000000000000000001001001100101111100001100110111111001011001101111110010100110010111110000010110100111000000011011000101000000100100110010111110000100111010010100000001010000000000000000000000000001111101001110000000000000000101101100011001101111110010100110010111110000011110100111000000000011000101000000100100110010111110000100111010010100000001010000000000000000000000000001001001100100000010001100110111111001011001101111110010100110010000001000011110100111000000000000000010110110000100110010000001000110111010010100000001010000000000000000000000000001111101001110000000101110010111001100011001101111110010100110010000001000011110100111000000010000000010110110000100110010000001000110111010010100000001010000000000000000000000000001001001100101000010001100110111111001011001101111110010100110010100001000011110100111000000010111001011100110000100110010100001000101111010010100000001010000000000000000000000000001111101001110000000011100010010100100011001101111110010100110010100001000011110100111000000001111001011100110000100110010100001000101111010010100000001010000000000000000000000000001001001100100100010001100110111111001011001101111110010100110010010001000011110100111000000001110001001010010000100110010010001000111111010010100000001010000000000000000000000000001111101001110000000111110001111001100011001101111110010100110010010001000011110100111000000011110001001010010000100110010010001000111111010010100000001010000000000000000000000000001001001100101100010001100110111111001011001101111110010100110010110001000011110100111000000011111000111100110000100110010110001000100000110010100000001010000000000000000000000000001100011001110000000000000100010110011011001101111110010100110010110001000010001100111000000000111000111100110000100110010110001000100000110010100000001010000000000000000000000000001001001100100010010001100110111111001011001101111110010100110010001001000010001100111000000000000010001011001100100110010001001000110000110010100000001010000000000000000000000000001100011001110000000100000000011110000011001101111110010100110010001001000010001100111000000010000010001011001100100110010001001000110000110010100000001010000000000000000000000000001001001100101010010001100110111111001011001101111110010100110010101001000010001100111000000010000000001111000000100110010101001000101000110010100000001010000000000000000000000000001100011001110000000010100000010110101011001101111110010100110010101001000010001100111000000001000000001111000000100110010101001000101000110010100000001010000000000000000000000000001001001100100110010001100110111111001011001101111110010100110010011001000010001100111000000001010000001011010100100110010011001000111000110010100000001010000000000000000000000000001100011001110000000111011110010000101011001101111110010100110010011001000010001100111000000011010000001011010100100110010011001000111000110010100000001010000000000000000000000000001001001100101110010001100110111111001011001101111110010100110010111001000010001100111000000011101111001000010100100110010111001000100100110010100000001010000000000000000000000000001110011001110000000000100111011111111011001101111110010100110010111001000011001100111000000000101111001000010100100110010111001000100100110010100000001010000000000000000000000000001001001100100001010001100110111111001011001101111110010100110010000101000011001100111000000000010011101111111100100110010000101000110100110010100000001010000000000000000000000000001110011001110000000101000000111100000011001101111110010100110010000101000011001100111000000010010011101111111100100110010000101000110100110010100000001010000000000000000000000000001001001100101001010001100110111111001011001101111110010100110010100101000011001100111000000010100000011110000000100110010100101000101100110010100000001010000000000000000000000000001110011001110000000010110000101001100011001101111110010100110010100101000011001100111000000001100000011110000000100110010100101000101100110010100000001010000000000000000000000000001001001100100101010001100110111111001011001101111110010100110010010101000011001100111000000001011000010100110000100110010010101000111100110010100000001010000000000000000000000000001110011001110000000110010010010010011011001101111110010100110010010101000011001100111000000011011000010100110000100110010010101000111100110010100000001010000000000000000000000000001001001100101101010001100110111111001011001101111110010100110010110101000011001100111000000011001001001001001100100110010110101000100010110010100000001010000000000000000000000000001101011001110000000001010100001000000011001101111110010100110010110101000010101100111000000000001001001001001100100110010110101000100010110010100000001010000000000000000000000000001001001100100011010001100110111111001011001101111110010100110010001101000010101100111000000000101010000100000000100110010001101000110010110010100000001010000000000000000000000000001101011001110000000100101010110011010011001101111110010100110010001101000010101100111000000010101010000100000000100110010001101000110010110010100000001010000000000000000000000000001001001100101011010001100110111111001011001101111110010100110010101101000010101100111000000010010101011001101000100110010101101000101010110010100000001010000000000000000000000000001101011001110000000011000011101101000011001101111110010100110010101101000010101100111000000001010101011001101000100110010101101000101010110010100000001010000000000000000000000000001001001100100111010001100110111111001011001101111110010100110010011101000010101100111000000001100001110110100000100110010011101000111010110010100000001010000000000000000000000000001101011001110000000111001010111100101011001101111110010100110010011101000010101100111000000011100001110110100000100110010011101000111010110010100000001010000000000000000000000000001001001100101111010001100110111111001011001101111110010100110010111101000010101100111000000011100101011110010100100110010111101000100110110010100000001010000000000000000000000000001111011001110000000001010000111001000011001101111110010100110010111101000011101100111000000000100101011110010100100110010111101000100110110010100000001010000000000000000000000000001001001100100000110001100110111111001011001101111110010100110010000011000011101100111000000000101000011100100000100110010000011000110110110010100000001010000000000000000000000000001111011001110000000101100010110001000011001101111110010100110010000011000011101100111000000010101000011100100000100110010000011000110110110010100000001010000000000000000000000000001001001100101000110001100110111111001011001101111110010100110010100011000011101100111000000010110001011000100000100110010100011000101110110010100000001010000000000000000000000000001111011001110000000011110001101001000011001101111110010100110010100011000011101100111000000001110001011000100000100110010100011000101110110010100000001010000000000000000000000000001001001100100100110001100110111111001011001101111110010100110010010011000011101100111000000001111000110100100000100110010010011000111110110010100000001010000000000000000000000000001111011001110000000111000010111100100011001101111110010100110010010011000011101100111000000011111000110100100000100110010010011000111110110010100000001010000000000000000000000000001011001100100000000001100110111111001011001101111110011100110010000000000011101100111000000011100001011110010001100110010000000000100001110010100000001010000000000000000000000000001100111001110000000001110011111100000011001101111110011100110010000000000010011100111000000000100001011110010001100110010000000000100001110010100000001010000000000000000000000000001011001100101000000001100110111111001011001101111110011100110010100000000010011100111000000000111001111110000001100110010100000000110001110010100000001010000000000000000000000000001100111001110000000101110011010100111011001101111110011100110010100000000010011100111000000010111001111110000001100110010100000000110001110010100000001010000000000000000000000000001011001100100100000001100110111111001011001101111110011100110010010000000010011100111000000010111001101010011101100110010010000000101001110010100000001010000000000000000000000000001100111001110000000011010001001000000011001101111110011100110010010000000010011100111000000001111001101010011101100110010010000000101001110010100000001010000000000000000000000000001011001100101100000001100110111111001011001101111110011100110010110000000010011100111000000001101000100100000001100110010110000000111001110010100000001010000000000000000000000000001100111001110000000111001110011110011011001101111110011100110010110000000010011100111000000011101000100100000001100110010110000000111001110010100000001010000000000000000000000000001011001100100010000001100110111111001011001101111110011100110010001000000010011100111000000011100111001111001101100110010001000000100101110010100000001010000000000000000000000000001110111001110000000001011110010100010011001101111110011100110010001000000011011100111000000000100111001111001101100110010001000000100101110010100000001010000000000000000000000000001011001100101010000001100110111111001011001101111110011100110010101000000011011100111000000000101111001010001001100110010101000000110101110010100000001010000000000000000000000000001110111001110000000101110011110100100011001101111110011100110010101000000011011100111000000010101111001010001001100110010101000000110101110010100000001010000000000000000000000000001011001100100110000001100110111111001011001101111110011100110010011000000011011100111000000010111001111010010001100110010011000000101101110010100000001010000000000000000000000000001110111001110000000011000011101100000011001101111110011100110010011000000011011100111000000001111001111010010001100110010011000000101101110010100000001010000000000000000000000000001011001100101110000001100110111111001011001101111110011100110010111000000011011100111000000001100001110110000001100110010111000000111101110010100000001010000000000000000000000000001110111001110000000111101001110110001011001101111110011100110010111000000011011100111000000011100001110110000001100110010111000000111101110010100000001010000000000000000000000000001011001100100001000001100110111111001011001101111110011100110010000100000011011100111000000011110100111011000101100110010000100000100011110010100000001010000000000000000000000000001101111001110000000000110011000000000011001101111110011100110010000100000010111100111000000000110100111011000101100110010000100000100011110010100000001010000000000000000000000000001011001100101001000001100110111111001011001101111110011100110010100100000010111100111000000000011001100000000001100110010100100000110011110010100000001010000000000000000000000000001101111001110000000100110110100001101011001101111110011100110010100100000010111100111000000010011001100000000001100110010100100000110011110010100000001010000000000000000000000000001011001100100101000001100110111111001011001101111110011100110010010100000010111100111000000010011011010000110101100110010010100000101011110010100000001010000000000000000000000000001101111001110000000010000011100000000011001101111110011100110010010100000010111100111000000001011011010000110101100110010010100000101011110010100000001010000000000000000000000000001011001100101101000001100110111111001011001101111110011100110010110100000010111100111000000001000001110000000001100110010110100000111011110010100000001010000000000000000000000000001101111001110000000110001110001100001011001101111110011100110010110100000010111100111000000011000001110000000001100110010110100000111011110010100000001010000000000000000000000000001011001100100011000001100110111111001011001101111110011100110010001100000010111100111000000011000111000110000101100110010001100000100111110010100000001010000000000000000000000000001111111001110000000000000010111100000011001101111110011100110010001100000011111100111000000000000111000110000101100110010001100000100111110010100000001010000000000000000000000000001011001100101011000001100110111111001011001101111110011100110010101100000011111100111000000000000001011110000001100110010101100000110111110010100000001010000000000000000000000000001111111001110000000101110010111001100011001101111110011100110010101100000011111100111000000010000001011110000001100110010101100000110111110010100000001010000000000000000000000000001011001100100111000001100110111111001011001101111110011100110010011100000011111100111000000010111001011100110001100110010011100000101111110010100000001010000000000000000000000000001111111001110000000011010011001101000011001101111110011100110010011100000011111100111000000001111001011100110001100110010011100000101111110010100000001010000000000000000000000000001011001100101111000001100110111111001011001101111110011100110010111100000011111100111000000001101001100110100001100110010111100000111111110010100000001010000000000000000000000000001111111001110000000111000010111100000011001101111110011100110010111100000011111100111000000011101001100110100001100110010111100000111111110010100000001010000000000000000000000000001011001100100000100001100110111111001011001101111110011100110010000010000011111100111000000011100001011110000001100110010000010000100000001010100000001010000000000000000000000000001011001100100000100001100110111111001011001101111110011100110010000010000010000010111000000000100001011110000001100110010000010000100000001010100000001010000000000000000000000000001011001100101000100001100110111111001011001101111110011100110010100010000010000010111000000000100001011110000001100110010100010000110000001010100000001010000000000000000000000000001011001100100100100001100110111111001011001101111110011100110010010010000010000010111000000010100001011110000001100110010010010000110000001010100000001010000000000000000000000000001011001100101100100001100110111111001011001101111110011100110010110010000010000010111000000010100001011110000001100110010110010000101000001010100000001010000000000000000000000000001011001100100010100001100110111111001011001101111110011100110010001010000010000010111000000001100001011110000001100110010001010000101000001010100000001010000000000000000000000000001011001100101010100001100110111111001011001101111110011100110010101010000010000010111000000001100001011110000001100110010101010000111000001010100000001010000000000000000000000000001011001100100110100001100110111111001011001101111110011100110010011010000010000010111000000011100001011110000001100110010011010000111000001010100000001010000000000000000000000000001011001100101110100001100110111111001011001101111110011100110010111010000010000010111000000011100001011110000001100110010111010000100100001010100000001010000000000000000000000000001011001100100001100001100110111111001011001101111110011100110010000110000011000010111000000000100001011110000001100110010000110000100100001010100000001010000000000000000000000000001011001100101001100001100110111111001011001101111110011100110010100110000011000010111000000000100001011110000001100110010100110000110100001010100000001010000000000000000000000000001011001100100101100001100110111111001011001101111110011100110010010110000011000010111000000010100001011110000001100110010010110000110100001010100000001010000000000000000000000000001011001100101101100001100110111111001011001101111110011100110010110110000011000010111000000010100001011110000001100110010110110000101100001010100000001010000000000000000000000000001011001100100011100001100110111111001011001101111110011100110010001110000011000010111000000001100001011110000001100110010001110000101100001010100000001010000000000000000000000000001011001100101011100001100110111111001011001101111110011100110010101110000011000010111000000001100001011110000001100110010101110000111100001010100000001010000000000000000000000000001011001100100111100001100110111111001011001101111110011100110010011110000011000010111000000011100001011110000001100110010011110000111100001010100000001010000000000000000000000000001011001100101111100001100110111111001011001101111110011100110010111110000011000010111000000011100001011110000001100110010111110000100010001010100000001010000000000000000000000000001011001100100000010001100110111111001011001101111110011100110010000001000010100010111000000000100001011110000001100110010000001000100010001010100000001010000000000000000000000000001011001100101000010001100110111111001011001101111110011100110010100001000010100010111000000000100001011110000001100110010100001000110010001010100000001010000000000000000000000000001011001100100100010001100110111111001011001101111110011100110010010001000010100010111000000010100001011110000001100110010010001000110010001010100000001010000000000000000000000000001011001100101100010001100110111111001011001101111110011100110010110001000010100010111000000010100001011110000001100110010110001000101010001010100000001010000000000000000000000000001011001100100010010001100110111111001011001101111110011100110010001001000010100010111000000001100001011110000001100110010001001000101010001010100000001010000000000000000000000000001011001100101010010001100110111111001011001101111110011100110010101001000010100010111000000001100001011110000001100110010101001000111010001010100000001010000000000000000000000000001011001100100110010001100110111111001011001101111110011100110010011001000010100010111000000011100001011110000001100110010011001000111010001010100000001010000000000000000000000000001011001100101110010001100110111111001011001101111110011100110010111001000010100010111000000011100001011110000001100110010111001000100110001010100000001010000000000000000000000000001011001100100001010001100110111111001011001101111110011100110010000101000011100010111000000000100001011110000001100110010000101000100110001010100000001010000000000000000000000000001011001100101001010001100110111111001011001101111110011100110010100101000011100010111000000000100001011110000001100110010100101000110110001010100000001010000000000000000000000000001011001100100101010001100110111111001011001101111110011100110010010101000011100010111000000010100001011110000001100110010010101000110110001010100000001010000000000000000000000000001011001100101101010001100110111111001011001101111110011100110010110101000011100010111000000010100001011110000001100110010110101000101110001010100000001010000000000000000000000000001011001100100011010001100110111111001011001101111110011100110010001101000011100010111000000001100001011110000001100110010001101000101110001010100000001010000000000000000000000000001011001100101011010001100110111111001011001101111110011100110010101101000011100010111000000001100001011110000001100110010101101000111110001010100000001010000000000000000000000000001011001100100111010001100110111111001011001101111110011100110010011101000011100010111000000011100001011110000001100110010011101000111110001010100000001010000000000000000000000000001011001100101111010001100110111111001011001101111110011100110010111101000011100010111000000011100001011110000001100110010111101000100001001010100000001010000000000000000000000000001011001100100000110001100110111111001011001101111110011100110010000011000010010010111000000000100001011110000001100110010000011000100001001010100000001010000000000000000000000000001011001100101000110001100110111111001011001101111110011100110010100011000010010010111000000000100001011110000001100110010100011000110001001010100000001010000000000000000000000000001011001100100100110001100110111111001011001101111110011100110010010011000010010010111000000010100001011110000001100110010010011000110001001010100000001010000000000000000000000000001000101100100000000001100110111111001011001101111110010010110010000000000010010010111000000010100001011110000000010110010000000000101001001010100000001010000000000000000000000000001000101100101000000001100110111111001011001101111110010010110010100000000010010010111000000001100001011110000000010110010100000000101001001010100000001010000000000000000000000000001000101100100100000001100110111111001011001101111110010010110010010000000010010010111000000001100001011110000000010110010010000000111001001010100000001010000000000000000000000000001000101100101100000001100110111111001011001101111110010010110010110000000010010010111000000011100001011110000000010110010110000000111001001010100000001010000000000000000000000000001000101100100010000001100110111111001011001101111110010010110010001000000010010010111000000011100001011110000000010110010001000000100101001010100000001010000000000000000000000000001000101100101010000001100110111111001011001101111110010010110010101000000011010010111000000000100001011110000000010110010101000000100101001010100000001010000000000000000000000000001000101100100110000001100110111111001011001101111110010010110010011000000011010010111000000000100001011110000000010110010011000000110101001010100000001010000000000000000000000000001000101100101110000001100110111111001011001101111110010010110010111000000011010010111000000010100001011110000000010110010111000000110101001010100000001010000000000000000000000000001000101100100001000001100110111111001011001101111110010010110010000100000011010010111000000010100001011110000000010110010000100000101101001010100000001010000000000000000000000000001000101100101001000001100110111111001011001101111110010010110010100100000011010010111000000001100001011110000000010110010100100000101101001010100000001010000000000000000000000000001000101100100101000001100110111111001011001101111110010010110010010100000011010010111000000001100001011110000000010110010010100000111101001010100000001010000000000000000000000000001000101100101101000001100110111111001011001101111110010010110010110100000011010010111000000011100001011110000000010110010110100000111101001010100000001010000000000000000000000000001000101100100011000001100110111111001011001101111110010010110010001100000011010010111000000011100001011110000000010110010001100000100011001010100000001010000000000000000000000000001000101100101011000001100110111111001011001101111110010010110010101100000010110010111000000000100001011110000000010110010101100000100011001010100000001010000000000000000000000000001000101100100111000001100110111111001011001101111110010010110010011100000010110010111000000000100001011110000000010110010011100000110011001010100000001010000000000000000000000000001000101100101111000001100110111111001011001101111110010010110010111100000010110010111000000010100001011110000000010110010111100000110011001010100000001010000000000000000000000000001000101100100000100001100110111111001011001101111110010010110010000010000010110010111000000010100001011110000000010110010000010000101011001010100000001010000000000000000000000000001000101100101000100001100110111111001011001101111110010010110010100010000010110010111000000001100001011110000000010110010100010000101011001010100000001010000000000000000000000000001000101100100100100001100110111111001011001101111110010010110010010010000010110010111000000001100001011110000000010110010010010000111011001010100000001010000000000000000000000000001000101100101100100001100110111111001011001101111110010010110010110010000010110010111000000011100001011110000000010110010110010000111011001010100000001010000000000000000000000000001000101100100010100001100110111111001011001101111110010010110010001010000010110010111000000011100001011110000000010110010001010000100111001010100000001010000000000000000000000000001000101100101010100001100110111111001011001101111110010010110010101010000011110010111000000000100001011110000000010110010101010000100111001010100000001010000000000000000000000000001000101100100110100001100110111111001011001101111110010010110010011010000011110010111000000000100001011110000000010110010011010000110111001010100000001010000000000000000000000000001000101100101110100001100110111111001011001101111110010010110010111010000011110010111000000010100001011110000000010110010111010000110111001010100000001010000000000000000000000000001000101100100001100001100110111111001011001101111110010010110010000110000011110010111000000010100001011110000000010110010000110000101111001010100000001010000000000000000000000000001000101100101001100001100110111111001011001101111110010010110010100110000011110010111000000001100001011110000000010110010100110000101111001010100000001010000000000000000000000000001000101100100101100001100110111111001011001101111110010010110010010110000011110010111000000001100001011110000000010110010010110000111111001010100000001010000000000000000000000000001000101100101101100001100110111111001011001101111110010010110010110110000011110010111000000011100001011110000000010110010110110000111111001010100000001010000000000000000000000000001000101100100011100001100110111111001011001101111110010010110010001110000011110010111000000011100001011110000000010110010001110000100000101010100000001010000000000000000000000000001000101100101011100001100110111111001011001101111110010010110010101110000010001010111000000000100001011110000000010110010101110000100000101010100000001010000000000000000000000000001000101100100111100001100110111111001011001101111110010010110010011110000010001010111000000000100001011110000000010110010011110000110000101010100000001010000000000000000000000000001000101100101111100001100110111111001011001101111110010010110010111110000010001010111000000010100001011110000000010110010111110000110000101010100000001010000000000000000000000000001000101100100000010001100110111111001011001101111110010010110010000001000010001010111000000010100001011110000000010110010000001000101000101010100000001010000000000000000000000000001000101100101000010001100110111111001011001101111110010010110010100001000010001010111000000001100001011110000000010110010100001000101000101010100000001010000000000000000000000000001000101100100100010001100110111111001011001101111110010010110010010001000010001010111000000001100001011110000000010110010010001000111000101010100000001010000000000000000000000000001000101100101100010001100110111111001011001101111110010010110010110001000010001010111000000011100001011110000000010110010110001000111000101010100000001010000000000000000000000000001000101100100010010001100110111111001011001101111110010010110010001001000010001010111000000011100001011110000000010110010001001000100100101010100000001010000000000000000000000000001000101100101010010001100110111111001011001101111110010010110010101001000011001010111000000000100001011110000000010110010101001000100100101010100000001010000000000000000000000000001000101100100110010001100110111111001011001101111110010010110010011001000011001010111000000000100001011110000000010110010011001000110100101010100000001010000000000000000000000000001000101100101110010001100110111111001011001101111110010010110010111001000011001010111000000010100001011110000000010110010111001000110100101010100000001010000000000000000000000000001000101100100001010001100110111111001011001101111110010010110010000101000011001010111000000010100001011110000000010110010000101000101100101010100000001010000000000000000000000000001000101100101001010001100110111111001011001101111110010010110010100101000011001010111000000001100001011110000000010110010100101000101100101010100000001010000000000000000000000000001000101100100101010001100110111111001011001101111110010010110010010101000011001010111000000001100001011110000000010110010010101000111100101010100000001010000000000000000000000000001000101100101101010001100110111111001011001101111110010010110010110101000011001010111000000011100001011110000000010110010110101000111100101010100000001010000000000000000000000000001000101100100011010001100110111111001011001101111110010010110010001101000011001010111000000011100001011110000000010110010001101000100010101010100000001010000000000000000000000000001000101100101011010001100110111111001011001101111110010010110010101101000010101010111000000000100001011110000000010110010101101000100010101010100000001010000000000000000000000000001000101100100111010001100110111111001011001101111110010010110010011101000010101010111000000000100001011110000000010110010011101000110010101010100000001010000000000000000000000000001000101100101111010001100110111111001011001101111110010010110010111101000010101010111000000010100001011110000000010110010111101000110010101010100000001010000000000000000000000000001000101100100000110001100110111111001011001101111110010010110010000011000010101010111000000010100001011110000000010110010000011000101010101010100000001010000000000000000000000000001000101100101000110001100110111111001011001101111110010010110010100011000010101010111000000001100001011110000000010110010100011000101010101010100000001010000000000000000000000000001000101100100100110001100110111111001011001101111110010010110010010011000010101010111000000001100001011110000000010110010010011000111010101010100000001010000000000000000000000000001010101100100000000001100110111111001011001101111110011010110010000000000010101010111000000011100001011110000001010110010000000000111010101010100000001010000000000000000000000000001010101100101000000001100110111111001011001101111110011010110010100000000010101010111000000011100001011110000001010110010100000000100110101010100000001010000000000000000000000000001010101100100100000001100110111111001011001101111110011010110010010000000011101010111000000000100001011110000001010110010010000000100110101010100000001010000000000000000000000000001010101100101100000001100110111111001011001101111110011010110010110000000011101010111000000000100001011110000001010110010110000000110110101010100000001010000000000000000000000000001010101100100010000001100110111111001011001101111110011010110010001000000011101010111000000010100001011110000001010110010001000000110110101010100000001010000000000000000000000000001010101100101010000001100110111111001011001101111110011010110010101000000011101010111000000010100001011110000001010110010101000000101110101010100000001010000000000000000000000000001010101100100110000001100110111111001011001101111110011010110010011000000011101010111000000001100001011110000001010110010011000000101110101010100000001010000000000000000000000000001010101100101110000001100110111111001011001101111110011010110010111000000011101010111000000001100001011110000001010110010111000000111110101010100000001010000000000000000000000000001010101100100001000001100110111111001011001101111110011010110010000100000011101010111000000011100001011110000001010110010000100000111110101010100000001010000000000000000000000000001010101100101001000001100110111111001011001101111110011010110010100100000011101010111000000011100001011110000001010110010100100000100001101010100000001010000000000000000000000000001010101100100101000001100110111111001011001101111110011010110010010100000010011010111000000000100001011110000001010110010010100000100001101010100000001010000000000000000000000000001010101100101101000001100110111111001011001101111110011010110010110100000010011010111000000000100001011110000001010110010110100000110001101010100000001010000000000000000000000000001010101100100011000001100110111111001011001101111110011010110010001100000010011010111000000010100001011110000001010110010001100000110001101010100000001010000000000000000000000000001010101100101011000001100110111111001011001101111110011010110010101100000010011010111000000010100001011110000001010110010101100000101001101010100000001010000000000000000000000000001010101100100111000001100110111111001011001101111110011010110010011100000010011010111000000001100001011110000001010110010011100000101001101010100000001010000000000000000000000000001010101100101111000001100110111111001011001101111110011010110010111100000010011010111000000001100001011110000001010110010111100000111001101010100000001010000000000000000000000000001010101100100000100001100110111111001011001101111110011010110010000010000010011010111000000011100001011110000001010110010000010000111001101010100000001010000000000000000000000000001010101100101000100001100110111111001011001101111110011010110010100010000010011010111000000011100001011110000001010110010100010000100101101010100000001010000000000000000000000000001010101100100100100001100110111111001011001101111110011010110010010010000011011010111000000000100001011110000001010110010010010000100101101010100000001010000000000000000000000000001010101100101100100001100110111111001011001101111110011010110010110010000011011010111000000000100001011110000001010110010110010000110101101010100000001010000000000000000000000000001010101100100010100001100110111111001011001101111110011010110010001010000011011010111000000010100001011110000001010110010001010000110101101010100000001010000000000000000000000000001010101100101010100001100110111111001011001101111110011010110010101010000011011010111000000010100001011110000001010110010101010000101101101010100000001010000000000000000000000000001010101100100110100001100110111111001011001101111110011010110010011010000011011010111000000001100001011110000001010110010011010000101101101010100000001010000000000000000000000000001010101100101110100001100110111111001011001101111110011010110010111010000011011010111000000001100001011110000001010110010111010000111101101010100000001010000000000000000000000000001010101100100001100001100110111111001011001101111110011010110010000110000011011010111000000011100001011110000001010110010000110000111101101010100000001010000000000000000000000000001010101100101001100001100110111111001011001101111110011010110010100110000011011010111000000011100001011110000001010110010100110000100011101010100000001010000000000000000000000000001010101100100101100001100110111111001011001101111110011010110010010110000010111010111000000000100001011110000001010110010010110000100011101010100000001010000000000000000000000000001010101100101101100001100110111111001011001101111110011010110010110110000010111010111000000000100001011110000001010110010110110000110011101010100000001010000000000000000000000000001010101100100011100001100110111111001011001101111110011010110010001110000010111010111000000010100001011110000001010110010001110000110011101010100000001010000000000000000000000000001010101100101011100001100110111111001011001101111110011010110010101110000010111010111000000010100001011110000001010110010101110000101011101010100000001010000000000000000000000000001010101100100111100001100110111111001011001101111110011010110010011110000010111010111000000001100001011110000001010110010011110000101011101010100000001010000000000000000000000000001010101100101111100001100110111111001011001101111110011010110010111110000010111010111000000001100001011110000001010110010111110000111011101010100000001010000000000000000000000000001010101100100000010001100110111111001011001101111110011010110010000001000010111010111000000011100001011110000001010110010000001000111011101010100000001010000000000000000000000000001010101100101000010001100110111111001011001101111110011010110010100001000010111010111000000011100001011110000001010110010100001000100111101010100000001010000000000000000000000000001010101100100100010001100110111111001011001101111110011010110010010001000011111010111000000000100001011110000001010110010010001000100111101010100000001010000000000000000000000000001010101100101100010001100110111111001011001101111110011010110010110001000011111010111000000000100001011110000001010110010110001000110111101010100000001010000000000000000000000000001010101100100010010001100110111111001011001101111110011010110010001001000011111010111000000010100001011110000001010110010001001000110111101010100000001010000000000000000000000000001010101100101010010001100110111111001011001101111110011010110010101001000011111010111000000010100001011110000001010110010101001000101111101010100000001010000000000000000000000000001010101100100110010001100110111111001011001101111110011010110010011001000011111010111000000001100001011110000001010110010011001000101111101010100000001010000000000000000000000000001010101100101110010001100110111111001011001101111110011010110010111001000011111010111000000001100001011110000001010110010111001000111111101010100000001010000000000000000000000000001010101100100001010001100110111111001011001101111110011010110010000101000011111010111000000011100001011110000001010110010000101000111111101010100000001010000000000000000000000000001010101100101001010001100110111111001011001101111110011010110010100101000011111010111000000011100001011110000001010110010100101000100000011010100000001010000000000000000000000000001010101100100101010001100110111111001011001101111110011010110010010101000010000110111000000000100001011110000001010110010010101000100000011010100000001010000000000000000000000000001010101100101101010001100110111111001011001101111110011010110010110101000010000110111000000000100001011110000001010110010110101000110000011010100000001010000000000000000000000000001010101100100011010001100110111111001011001101111110011010110010001101000010000110111000000010100001011110000001010110010001101000110000011010100000001010000000000000000000000000001010101100101011010001100110111111001011001101111110011010110010101101000010000110111000000010100001011110000001010110010101101000101000011010100000001010000000000000000000000000001010101100100111010001100110111111001011001101111110011010110010011101000010000110111000000001100001011110000001010110010011101000101000011010100000001010000000000000000000000000001010101100101111010001100110111111001011001101111110011010110010111101000010000110111000000001100001011110000001010110010111101000111000011010100000001010000000000000000000000000001010101100100000110001100110111111001011001101111110011010110010000011000010000110111000000011100001011110000001010110010000011000111000011010100000001010000000000000000000000000001010101100101000110001100110111111001011001101111110011010110010100011000010000110111000000011100001011110000001010110010100011000100100011010100000001010000000000000000000000000001010101100100100110001100110111111001011001101111110011010110010010011000011000110111000000000100001011110000001010110010010011000100100011010100000001010000000000000000000000000001001101100100000000001100110111111001011001101111110010110110010000000000011000110111000000000100001011110000000110110010000000000110100011010100000001010000000000000000000000000001001101100101000000001100110111111001011001101111110010110110010100000000011000110111000000010100001011110000000110110010100000000110100011010100000001010000000000000000000000000001001101100100100000001100110111111001011001101111110010110110010010000000011000110111000000010100001011110000000110110010010000000101100011010100000001010000000000000000000000000001001101100101100000001100110111111001011001101111110010110110010110000000011000110111000000001100001011110000000110110010110000000101100011010100000001010000000000000000000000000001001101100100010000001100110111111001011001101111110010110110010001000000011000110111000000001100001011110000000110110010001000000111100011010100000001010000000000000000000000000001001101100101010000001100110111111001011001101111110010110110010101000000011000110111000000011100001011110000000110110010101000000111100011010100000001010000000000000000000000000001001101100100110000001100110111111001011001101111110010110110010011000000011000110111000000011100001011110000000110110010011000000100010011010100000001010000000000000000000000000001001101100101110000001100110111111001011001101111110010110110010111000000010100110111000000000100001011110000000110110010111000000100010011010100000001010000000000000000000000000001001101100100001000001100110111111001011001101111110010110110010000100000010100110111000000000100001011110000000110110010000100000110010011010100000001010000000000000000000000000001001101100101001000001100110111111001011001101111110010110110010100100000010100110111000000010100001011110000000110110010100100000110010011010100000001010000000000000000000000000001001101100100101000001100110111111001011001101111110010110110010010100000010100110111000000010100001011110000000110110010010100000101010011010100000001010000000000000000000000000001001101100101101000001100110111111001011001101111110010110110010110100000010100110111000000001100001011110000000110110010110100000101010011010100000001010000000000000000000000000001001101100100011000001100110111111001011001101111110010110110010001100000010100110111000000001100001011110000000110110010001100000111010011010100000001010000000000000000000000000001001101100101011000001100110111111001011001101111110010110110010101100000010100110111000000011100001011110000000110110010101100000111010011010100000001010000000000000000000000000001001101100100111000001100110111111001011001101111110010110110010011100000010100110111000000011100001011110000000110110010011100000100110011010100000001010000000000000000000000000001001101100101111000001100110111111001011001101111110010110110010111100000011100110111000000000100001011110000000110110010111100000100110011010100000001010000000000000000000000000001001101100100000100001100110111111001011001101111110010110110010000010000011100110111000000000100001011110000000110110010000010000110110011010100000001010000000000000000000000000001001101100101000100001100110111111001011001101111110010110110010100010000011100110111000000010100001011110000000110110010100010000110110011010100000001010000000000000000000000000001001101100100100100001100110111111001011001101111110010110110010010010000011100110111000000010100001011110000000110110010010010000101110011010100000001010000000000000000000000000001001101100101100100001100110111111001011001101111110010110110010110010000011100110111000000001100001011110000000110110010110010000101110011010100000001010000000000000000000000000001001101100100010100001100110111111001011001101111110010110110010001010000011100110111000000001100001011110000000110110010001010000111110011010100000001010000000000000000000000000001001101100101010100001100110111111001011001101111110010110110010101010000011100110111000000011100001011110000000110110010101010000111110011010100000001010000000000000000000000000001001101100100110100001100110111111001011001101111110010110110010011010000011100110111000000011100001011110000000110110010011010000100001011010100000001010000000000000000000000000001001101100101110100001100110111111001011001101111110010110110010111010000010010110111000000000100001011110000000110110010111010000100001011010100000001010000000000000000000000000001001101100100001100001100110111111001011001101111110010110110010000110000010010110111000000000100001011110000000110110010000110000110001011010100000001010000000000000000000000000001001101100101001100001100110111111001011001101111110010110110010100110000010010110111000000010100001011110000000110110010100110000110001011010100000001010000000000000000000000000001001101100100101100001100110111111001011001101111110010110110010010110000010010110111000000010100001011110000000110110010010110000101001011010100000001010000000000000000000000000001001101100101101100001100110111111001011001101111110010110110010110110000010010110111000000001100001011110000000110110010110110000101001011010100000001010000000000000000000000000001001101100100011100001100110111111001011001101111110010110110010001110000010010110111000000001100001011110000000110110010001110000111001011010100000001010000000000000000000000000001001101100101011100001100110111111001011001101111110010110110010101110000010010110111000000011100001011110000000110110010101110000111001011010100000001010000000000000000000000000001001101100100111100001100110111111001011001101111110010110110010011110000010010110111000000011100001011110000000110110010011110000100101011010100000001010000000000000000000000000001001101100101111100001100110111111001011001101111110010110110010111110000011010110111000000000100001011110000000110110010111110000100101011010100000001010000000000000000000000000001001101100100000010001100110111111001011001101111110010110110010000001000011010110111000000000100001011110000000110110010000001000110101011010100000001010000000000000000000000000001001101100101000010001100110111111001011001101111110010110110010100001000011010110111000000010100001011110000000110110010100001000110101011010100000001010000000000000000000000000001001101100100100010001100110111111001011001101111110010110110010010001000011010110111000000010100001011110000000110110010010001000101101011010100000001010000000000000000000000000001001101100101100010001100110111111001011001101111110010110110010110001000011010110111000000001100001011110000000110110010110001000101101011010100000001010000000000000000000000000001001101100100010010001100110111111001011001101111110010110110010001001000011010110111000000001100001011110000000110110010001001000111101011010100000001010000000000000000000000000001001101100101010010001100110111111001011001101111110010110110010101001000011010110111000000011100001011110000000110110010101001000111101011010100000001010000000000000000000000000001001101100100110010001100110111111001011001101111110010110110010011001000011010110111000000011100001011110000000110110010011001000100011011010100000001010000000000000000000000000001001101100101110010001100110111111001011001101111110010110110010111001000010110110111000000000100001011110000000110110010111001000100011011010100000001010000000000000000000000000001001101100100001010001100110111111001011001101111110010110110010000101000010110110111000000000100001011110000000110110010000101000110011011010100000001010000000000000000000000000001001101100101001010001100110111111001011001101111110010110110010100101000010110110111000000010100001011110000000110110010100101000110011011010100000001010000000000000000000000000001001101100100101010001100110111111001011001101111110010110110010010101000010110110111000000010100001011110000000110110010010101000101011011010100000001010000000000000000000000000001001101100101101010001100110111111001011001101111110010110110010110101000010110110111000000001100001011110000000110110010110101000101011011010100000001010000000000000000000000000001001101100100011010001100110111111001011001101111110010110110010001101000010110110111000000001100001011110000000110110010001101000111011011010100000001010000000000000000000000000001001101100101011010001100110111111001011001101111110010110110010101101000010110110111000000011100001011110000000110110010101101000111011011010100000001010000000000000000000000000001001101100100111010001100110111111001011001101111110010110110010011101000010110110111000000011100001011110000000110110010011101000100111011010100000001010000000000000000000000000001001101100101111010001100110111111001011001101111110010110110010111101000011110110111000000000100001011110000000110110010111101000100111011010100000001010000000000000000000000000001001101100100000110001100110111111001011001101111110010110110010000011000011110110111000000000100001011110000000110110010000011000110111011010100000001010000000000000000000000000001001101100101000110001100110111111001011001101111110010110110010100011000011110110111000000010100001011110000000110110010100011000110111011010100000001010000000000000000000000000001001101100100100110001100110111111001011001101111110010110110010010011000011110110111000000010100001011110000000110110010010011000101111011010100000001010000000000000000000000000001011101100100000000001100110111111001011001101111110011110110010000000000011110110111000000001100001011110000001110110010000000000101111011010100000001010000000000000000000000000001011101100101000000001100110111111001011001101111110011110110010100000000011110110111000000001100001011110000001110110010100000000111111011010100000001010000000000000000000000000001011101100100100000001100110111111001011001101111110011110110010010000000011110110111000000011100001011110000001110110010010000000111111011010100000001010000000000000000000000000001011101100101100000001100110111111001011001101111110011110110010110000000011110110111000000011100001011110000001110110010110000000100000111010100000001010000000000000000000000000001011101100100010000001100110111111001011001101111110011110110010001000000010001110111000000000100001011110000001110110010001000000100000111010100000001010000000000000000000000000001011101100101010000001100110111111001011001101111110011110110010101000000010001110111000000000100001011110000001110110010101000000110000111010100000001010000000000000000000000000001011101100100110000001100110111111001011001101111110011110110010011000000010001110111000000010100001011110000001110110010011000000110000111010100000001010000000000000000000000000001011101100101110000001100110111111001011001101111110011110110010111000000010001110111000000010100001011110000001110110010111000000101000111010100000001010000000000000000000000000001011101100100001000001100110111111001011001101111110011110110010000100000010001110111000000001100001011110000001110110010000100000101000111010100000001010000000000000000000000000001011101100101001000001100110111111001011001101111110011110110010100100000010001110111000000001100001011110000001110110010100100000111000111010100000001010000000000000000000000000001011101100100101000001100110111111001011001101111110011110110010010100000010001110111000000011100001011110000001110110010010100000111000111010100000001010000000000000000000000000001011101100101101000001100110111111001011001101111110011110110010110100000010001110111000000011100001011110000001110110010110100000100100111010100000001010000000000000000000000000001011101100100011000001100110111111001011001101111110011110110010001100000011001110111000000000100001011110000001110110010001100000100100111010100000001010000000000000000000000000001011101100101011000001100110111111001011001101111110011110110010101100000011001110111000000000100001011110000001110110010101100000110100111010100000001010000000000000000000000000001011101100100111000001100110111111001011001101111110011110110010011100000011001110111000000010100001011110000001110110010011100000110100111010100000001010000000000000000000000000001011101100101111000001100110111111001011001101111110011110110010111100000011001110111000000010100001011110000001110110010111100000101100111010100000001010000000000000000000000000001011101100100000100001100110111111001011001101111110011110110010000010000011001110111000000001100001011110000001110110010000010000101100111010100000001010000000000000000000000000001011101100101000100001100110111111001011001101111110011110110010100010000011001110111000000001100001011110000001110110010100010000111100111010100000001010000000000000000000000000001011101100100100100001100110111111001011001101111110011110110010010010000011001110111000000011100001011110000001110110010010010000111100111010100000001010000000000000000000000000001011101100101100100001100110111111001011001101111110011110110010110010000011001110111000000011100001011110000001110110010110010000100010111010100000001010000000000000000000000000001011101100100010100001100110111111001011001101111110011110110010001010000010101110111000000000100001011110000001110110010001010000100010111010100000001010000000000000000000000000001011101100101010100001100110111111001011001101111110011110110010101010000010101110111000000000100001011110000001110110010101010000110010111010100000001010000000000000000000000000001011101100100110100001100110111111001011001101111110011110110010011010000010101110111000000010100001011110000001110110010011010000110010111010100000001010000000000000000000000000001011101100101110100001100110111111001011001101111110011110110010111010000010101110111000000010100001011110000001110110010111010000101010111010100000001010000000000000000000000000001011101100100001100001100110111111001011001101111110011110110010000110000010101110111000000001100001011110000001110110010000110000101010111010100000001010000000000000000000000000001011101100101001100001100110111111001011001101111110011110110010100110000010101110111000000001100001011110000001110110010100110000111010111010100000001010000000000000000000000000001011101100100101100001100110111111001011001101111110011110110010010110000010101110111000000011100001011110000001110110010010110000111010111010100000001010000000000000000000000000001011101100101101100001100110111111001011001101111110011110110010110110000010101110111000000011100001011110000001110110010110110000100110111010100000001010000000000000000000000000001011101100100011100001100110111111001011001101111110011110110010001110000011101110111000000000100001011110000001110110010001110000100110111010100000001010000000000000000000000000001011101100101011100001100110111111001011001101111110011110110010101110000011101110111000000000100001011110000001110110010101110000110110111010100000001010000000000000000000000000001011101100100111100001100110111111001011001101111110011110110010011110000011101110111000000010100001011110000001110110010011110000110110111010100000001010000000000000000000000000001011101100101111100001100110111111001011001101111110011110110010111110000011101110111000000010100001011110000001110110010111110000101110111010100000001010000000000000000000000000001011101100100000010001100110111111001011001101111110011110110010000001000011101110111000000001100001011110000001110110010000001000101110111010100000001010000000000000000000000000001011101100101000010001100110111111001011001101111110011110110010100001000011101110111000000001100001011110000001110110010100001000111110111010100000001010000000000000000000000000001011101100100100010001100110111111001011001101111110011110110010010001000011101110111000000011100001011110000001110110010010001000111110111010100000001010000000000000000000000000001011101100101100010001100110111111001011001101111110011110110010110001000011101110111000000011100001011110000001110110010110001000100001111010100000001010000000000000000000000000001011101100100010010001100110111111001011001101111110011110110010001001000010011110111000000000100001011110000001110110010001001000100001111010100000001010000000000000000000000000001011101100101010010001100110111111001011001101111110011110110010101001000010011110111000000000100001011110000001110110010101001000110001111010100000001010000000000000000000000000001011101100100110010001100110111111001011001101111110011110110010011001000010011110111000000010100001011110000001110110010011001000110001111010100000001010000000000000000000000000001011101100101110010001100110111111001011001101111110011110110010111001000010011110111000000010100001011110000001110110010111001000101001111010100000001010000000000000000000000000001011101100100001010001100110111111001011001101111110011110110010000101000010011110111000000001100001011110000001110110010000101000101001111010100000001010000000000000000000000000001011101100101001010001100110111111001011001101111110011110110010100101000010011110111000000001100001011110000001110110010100101000111001111010100000001010000000000000000000000000001011101100100101010001100110111111001011001101111110011110110010010101000010011110111000000011100001011110000001110110010010101000111001111010100000001010000000000000000000000000001011101100101101010001100110111111001011001101111110011110110010110101000010011110111000000011100001011110000001110110010110101000100101111010100000001010000000000000000000000000001011101100100011010001100110111111001011001101111110011110110010001101000011011110111000000000100001011110000001110110010001101000100101111010100000001010000000000000000000000000001011101100101011010001100110111111001011001101111110011110110010101101000011011110111000000000100001011110000001110110010101101000110101111010100000001010000000000000000000000000001011101100100111010001100110111111001011001101111110011110110010011101000011011110111000000010100001011110000001110110010011101000110101111010100000001010000000000000000000000000001011101100101111010001100110111111001011001101111110011110110010111101000011011110111000000010100001011110000001110110010111101000101101111010100000001010000000000000000000000000001011101100100000110001100110111111001011001101111110011110110010000011000011011110111000000001100001011110000001110110010000011000101101111010100000001010000000000000000000000000001011101100101000110001100110111111001011001101111110011110110010100011000011011110111000000001100001011110000001110110010100011000111101111010100000001010000000000000000000000000001011101100100100110001100110111111001011001101111110011110110010010011000011011110111000000011100001011110000001110110010010011000111101111010100000001010000000000000000000000000001000011100100000000001100110111111001011001101111110010001110010000000000011011110111000000011100001011110000000001110010000000000100011111010100000001010000000000000000000000000001000011100101000000001100110111111001011001101111110010001110010100000000010111110111000000000100001011110000000001110010100000000100011111010100000001010000000000000000000000000001000011100100100000001100110111111001011001101111110010001110010010000000010111110111000000000100001011110000000001110010010000000110011111010100000001010000000000000000000000000001000011100101100000001100110111111001011001101111110010001110010110000000010111110111000000010100001011110000000001110010110000000110011111010100000001010000000000000000000000000001000011100100010000001100110111111001011001101111110010001110010001000000010111110111000000010100001011110000000001110010001000000101011111010100000001010000000000000000000000000001000011100101010000001100110111111001011001101111110010001110010101000000010111110111000000001100001011110000000001110010101000000101011111010100000001010000000000000000000000000001000011100100110000001100110111111001011001101111110010001110010011000000010111110111000000001100001011110000000001110010011000000111011111010100000001010000000000000000000000000001000011100101110000001100110111111001011001101111110010001110010111000000010111110111000000011100001011110000000001110010111000000111011111010100000001010000000000000000000000000001000011100100001000001100110111111001011001101111110010001110010000100000010111110111000000011100001011110000000001110010000100000100111111010100000001010000000000000000000000000001000011100101001000001100110111111001011001101111110010001110010100100000011111110111000000000100001011110000000001110010100100000100111111010100000001010000000000000000000000000001000011100100101000001100110111111001011001101111110010001110010010100000011111110111000000000100001011110000000001110010010100000110111111010100000001010000000000000000000000000001000011100101101000001100110111111001011001101111110010001110010110100000011111110111000000010100001011110000000001110010110100000110111111010100000001010000000000000000000000000001000011100100011000001100110111111001011001101111110010001110010001100000011111110111000000010100001011110000000001110010001100000101111111010100000001010000000000000000000000000001000011100101011000001100110111111001011001101111110010001110010101100000011111110111000000001100001011110000000001110010101100000101111111010100000001010000000000000000000000000001000011100100111000001100110111111001011001101111110010001110010011100000011111110111000000001100001011110000000001110010011100000111111111010100000001010000000000000000000000000001000011100101111000001100110111111001011001101111110010001110010111100000011111110111000000011100001011110000000001110010111100000111111111010100000001010000000000000000000000000001000011100100000100001100110111111001011001101111110010001110010000010000011111110111000000011100001011110000000001110010000010000100000000110100000001010000000000000000000000000001000011100101000100001100110111111001011001101111110010001110010100010000010000001111000000000100001011110000000001110010100010000100000000110100000001010000000000000000000000000001000011100100100100001100110111111001011001101111110010001110010010010000010000001111000000000100001011110000000001110010010010000110000000110100000001010000000000000000000000000001000011100101100100001100110111111001011001101111110010001110010110010000010000001111000000010100001011110000000001110010110010000110000000110100000001010000000000000000000000000001000011100100010100001100110111111001011001101111110010001110010001010000010000001111000000010100001011110000000001110010001010000101000000110100000001010000000000000000000000000001000011100101010100001100110111111001011001101111110010001110010101010000010000001111000000001100001011110000000001110010101010000101000000110100000001010000000000000000000000000001000011100100110100001100110111111001011001101111110010001110010011010000010000001111000000001100001011110000000001110010011010000111000000110100000001010000000000000000000000000001000011100101110100001100110111111001011001101111110010001110010111010000010000001111000000011100001011110000000001110010111010000111000000110100000001010000000000000000000000000001000011100100001100001100110111111001011001101111110010001110010000110000010000001111000000011100001011110000000001110010000110000100100000110100000001010000000000000000000000000001000011100101001100001100110111111001011001101111110010001110010100110000011000001111000000000100001011110000000001110010100110000100100000110100000001010000000000000000000000000001000011100100101100001100110111111001011001101111110010001110010010110000011000001111000000000100001011110000000001110010010110000110100000110100000001010000000000000000000000000001000011100101101100001100110111111001011001101111110010001110010110110000011000001111000000010100001011110000000001110010110110000110100000110100000001010000000000000000000000000001000011100100011100001100110111111001011001101111110010001110010001110000011000001111000000010100001011110000000001110010001110000101100000110100000001010000000000000000000000000001000011100101011100001100110111111001011001101111110010001110010101110000011000001111000000001100001011110000000001110010101110000101100000110100000001010000000000000000000000000001000011100100111100001100110111111001011001101111110010001110010011110000011000001111000000001100001011110000000001110010011110000111100000110100000001010000000000000000000000000001000011100101111100001100110111111001011001101111110010001110010111110000011000001111000000011100001011110000000001110010111110000111100000110100000001010000000000000000000000000001000011100100000010001100110111111001011001101111110010001110010000001000011000001111000000011100001011110000000001110010000001000100010000110100000001010000000000000000000000000001000011100101000010001100110111111001011001101111110010001110010100001000010100001111000000000100001011110000000001110010100001000100010000110100000001010000000000000000000000000001000011100100100010001100110111111001011001101111110010001110010010001000010100001111000000000100001011110000000001110010010001000110010000110100000001010000000000000000000000000001000011100101100010001100110111111001011001101111110010001110010110001000010100001111000000010100001011110000000001110010110001000110010000110100000001010000000000000000000000000001000011100100010010001100110111111001011001101111110010001110010001001000010100001111000000010100001011110000000001110010001001000101010000110100000001010000000000000000000000000001000011100101010010001100110111111001011001101111110010001110010101001000010100001111000000001100001011110000000001110010101001000101010000110100000001010000000000000000000000000001000011100100110010001100110111111001011001101111110010001110010011001000010100001111000000001100001011110000000001110010011001000111010000110100000001010000000000000000000000000001000011100101110010001100110111111001011001101111110010001110010111001000010100001111000000011100001011110000000001110010111001000111010000110100000001010000000000000000000000000001000011100100001010001100110111111001011001101111110010001110010000101000010100001111000000011100001011110000000001110010000101000100110000110100000001010000000000000000000000000001000011100101001010001100110111111001011001101111110010001110010100101000011100001111000000000100001011110000000001110010100101000100110000110100000001010000000000000000000000000001000011100100101010001100110111111001011001101111110010001110010010101000011100001111000000000100001011110000000001110010010101000110110000110100000001010000000000000000000000000001000011100101101010001100110111111001011001101111110010001110010110101000011100001111000000010100001011110000000001110010110101000110110000110100000001010000000000000000000000000001000011100100011010001100110111111001011001101111110010001110010001101000011100001111000000010100001011110000000001110010001101000101110000110100000001010000000000000000000000000001000011100101011010001100110111111001011001101111110010001110010101101000011100001111000000001100001011110000000001110010101101000101110000110100000001010000000000000000000000000001000011100100111010001100110111111001011001101111110010001110010011101000011100001111000000001100001011110000000001110010011101000111110000110100000001010000000000000000000000000001000011100101111010001100110111111001011001101111110010001110010111101000011100001111000000011100001011110000000001110010111101000111110000110100000001010000000000000000000000000001000011100100000110001100110111111001011001101111110010001110010000011000011100001111000000011100001011110000000001110010000011000100001000110100000001010000000000000000000000000001000011100101000110001100110111111001011001101111110010001110010100011000010010001111000000000100001011110000000001110010100011000100001000110100000001010000000000000000000000000001000011100100100110001100110111111001011001101111110010001110010010011000010010001111000000000100001011110000000001110010010011000110001000110100000001010000000000000000000000000001010011100100000000001100110111111001011001101111110011001110010000000000010010001111000000010100001011110000001001110010000000000110001000110100000001010000000000000000000000000001010011100101000000001100110111111001011001101111110011001110010100000000010010001111000000010100001011110000001001110010100000000101001000110100000001010000000000000000000000000001010011100100100000001100110111111001011001101111110011001110010010000000010010001111000000001100001011110000001001110010010000000101001000110100000001010000000000000000000000000001010011100101100000001100110111111001011001101111110011001110010110000000010010001111000000001100001011110000001001110010110000000111001000110100000001010000000000000000000000000001010011100100010000001100110111111001011001101111110011001110010001000000010010001111000000011100001011110000001001110010001000000111001000110100000001010000000000000000000000000001010011100101010000001100110111111001011001101111110011001110010101000000010010001111000000011100001011110000001001110010101000000100101000110100000001010000000000000000000000000001010011100100110000001100110111111001011001101111110011001110010011000000011010001111000000000100001011110000001001110010011000000100101000110100000001010000000000000000000000000001010011100101110000001100110111111001011001101111110011001110010111000000011010001111000000000100001011110000001001110010111000000110101000110100000001010000000000000000000000000001010011100100001000001100110111111001011001101111110011001110010000100000011010001111000000010100001011110000001001110010000100000110101000110100000001010000000000000000000000000001010011100101001000001100110111111001011001101111110011001110010100100000011010001111000000010100001011110000001001110010100100000101101000110100000001010000000000000000000000000001010011100100101000001100110111111001011001101111110011001110010010100000011010001111000000001100001011110000001001110010010100000101101000110100000001010000000000000000000000000001010011100101101000001100110111111001011001101111110011001110010110100000011010001111000000001100001011110000001001110010110100000111101000110100000001010000000000000000000000000001010011100100011000001100110111111001011001101111110011001110010001100000011010001111000000011100001011110000001001110010001100000111101000110100000001010000000000000000000000000001010011100101011000001100110111111001011001101111110011001110010101100000011010001111000000011100001011110000001001110010101100000100011000110100000001010000000000000000000000000001010011100100111000001100110111111001011001101111110011001110010011100000010110001111000000000100001011110000001001110010011100000100011000110100000001010000000000000000000000000001010011100101111000001100110111111001011001101111110011001110010111100000010110001111000000000100001011110000001001110010111100000110011000110100000001010000000000000000000000000001010011100100000100001100110111111001011001101111110011001110010000010000010110001111000000010100001011110000001001110010000010000110011000110100000001010000000000000000000000000001010011100101000100001100110111111001011001101111110011001110010100010000010110001111000000010100001011110000001001110010100010000101011000110100000001010000000000000000000000000001010011100100100100001100110111111001011001101111110011001110010010010000010110001111000000001100001011110000001001110010010010000101011000110100000001010000000000000000000000000001010011100101100100001100110111111001011001101111110011001110010110010000010110001111000000001100001011110000001001110010110010000111011000110100000001010000000000000000000000000001010011100100010100001100110111111001011001101111110011001110010001010000010110001111000000011100001011110000001001110010001010000111011000110100000001010000000000000000000000000001010011100101010100001100110111111001011001101111110011001110010101010000010110001111000000011100001011110000001001110010101010000100111000110100000001010000000000000000000000000001010011100100110100001100110111111001011001101111110011001110010011010000011110001111000000000100001011110000001001110010011010000100111000110100000001010000000000000000000000000001010011100101110100001100110111111001011001101111110011001110010111010000011110001111000000000100001011110000001001110010111010000110111000110100000001010000000000000000000000000001010011100100001100001100110111111001011001101111110011001110010000110000011110001111000000010100001011110000001001110010000110000110111000110100000001010000000000000000000000000001010011100101001100001100110111111001011001101111110011001110010100110000011110001111000000010100001011110000001001110010100110000101111000110100000001010000000000000000000000000001010011100100101100001100110111111001011001101111110011001110010010110000011110001111000000001100001011110000001001110010010110000101111000110100000001010000000000000000000000000001010011100101101100001100110111111001011001101111110011001110010110110000011110001111000000001100001011110000001001110010110110000111111000110100000001010000000000000000000000000001010011100100011100001100110111111001011001101111110011001110010001110000011110001111000000011100001011110000001001110010001110000111111000110100000001010000000000000000000000000001010011100101011100001100110111111001011001101111110011001110010101110000011110001111000000011100001011110000001001110010101110000100000000001100000001010000000000000000000000000001100000000110000000001101001111000110011001101111110011001110010011110000010000000011000000000100001011110000001001110010011110000100000000001100000001010000000000000000000000000001010011100101111100001100110111111001011001101111110011001110010111110000010000000011000000000110100111100011001001110010111110000110000000001100000001010000000000000000000000000001100000000110000000101011110010001001011001101111110011001110010111110000010000000011000000010110100111100011001001110010111110000110000000001100000001010000000000000000000000000001010011100100000010001100110111111001011001101111110011001110010000001000010000000011000000010101111001000100101001110010000001000101000000001100000001010000000000000000000000000001100000000110000000011010010011100100011001101111110011001110010000001000010000000011000000001101111001000100101001110010000001000101000000001100000001010000000000000000000000000001010011100101000010001100110111111001011001101111110011001110010100001000010000000011000000001101001001110010001001110010100001000111000000001100000001010000000000000000000000000001100000000110000000110111110000010001011001101111110011001110010100001000010000000011000000011101001001110010001001110010100001000111000000001100000001010000000000000000000000000001010011100100100010001100110111111001011001101111110011001110010010001000010000000011000000011011111000001000101001110010010001000100100000001100000001010000000000000000000000000001110000000110000000001100110110101110011001101111110011001110010010001000011000000011000000000011111000001000101001110010010001000100100000001100000001010000000000000000000000000001010011100101100010001100110111111001011001101111110011001110010110001000011000000011000000000110011011010111001001110010110001000110100000001100000001010000000000000000000000000001110000000110000000100101011100011011011001101111110011001110010110001000011000000011000000010110011011010111001001110010110001000110100000001100000001010000000000000000000000000001010011100100010010001100110111111001011001101111110011001110010001001000011000000011000000010010101110001101101001110010001001000101100000001100000001010000000000000000000000000001110000000110000000011100101010100000011001101111110011001110010001001000011000000011000000001010101110001101101001110010001001000101100000001100000001010000000000000000000000000001010011100101010010001100110111111001011001101111110011001110010101001000011000000011000000001110010101010000001001110010101001000111100000001100000001010000000000000000000000000001110000000110000000111011111111100000011001101111110011001110010101001000011000000011000000011110010101010000001001110010101001000111100000001100000001010000000000000000000000000001010011100100110010001100110111111001011001101111110011001110010011001000011000000011000000011101111111110000001001110010011001000100010000001100000001010000000000000000000000000001101000000110000000001100100000000110011001101111110011001110010011001000010100000011000000000101111111110000001001110010011001000100010000001100000001010000000000000000000000000001010011100101110010001100110111111001011001101111110011001110010111001000010100000011000000000110010000000011001001110010111001000110010000001100000001010000000000000000000000000001101000000110000000100000101101101000011001101111110011001110010111001000010100000011000000010110010000000011001001110010111001000110010000001100000001010000000000000000000000000001010011100100001010001100110111111001011001101111110011001110010000101000010100000011000000010000010110110100001001110010000101000101010000001100000001010000000000000000000000000001101000000110000000010011000110001010011001101111110011001110010000101000010100000011000000001000010110110100001001110010000101000101010000001100000001010000000000000000000000000001010011100101001010001100110111111001011001101111110011001110010100101000010100000011000000001001100011000101001001110010100101000111010000001100000001010000000000000000000000000001101000000110000000111100001110101001011001101111110011001110010100101000010100000011000000011001100011000101001001110010100101000111010000001100000001010000000000000000000000000001010011100100101010001100110111111001011001101111110011001110010010101000010100000011000000011110000111010100101001110010010101000100110000001100000001010000000000000000000000000001111000000110000000000110011110000100011001101111110011001110010010101000011100000011000000000110000111010100101001110010010101000100110000001100000001010000000000000000000000000001010011100101101010001100110111111001011001101111110011001110010110101000011100000011000000000011001111000010001001110010110101000110110000001100000001010000000000000000000000000001111000000110000000100000001000110110011001101111110011001110010110101000011100000011000000010011001111000010001001110010110101000110110000001100000001010000000000000000000000000001010011100100011010001100110111111001011001101111110011001110010001101000011100000011000000010000000100011011001001110010001101000101110000001100000001010000000000000000000000000001111000000110000000011100010110000000011001101111110011001110010001101000011100000011000000001000000100011011001001110010001101000101110000001100000001010000000000000000000000000001010011100101011010001100110111111001011001101111110011001110010101101000011100000011000000001110001011000000001001110010101101000111110000001100000001010000000000000000000000000001111000000110000000110011010001010110011001101111110011001110010101101000011100000011000000011110001011000000001001110010101101000111110000001100000001010000000000000000000000000001010011100100111010001100110111111001011001101111110011001110010011101000011100000011000000011001101000101011001001110010011101000100001000001100000001010000000000000000000000000001100100000110000000001101111000110111011001101111110011001110010011101000010010000011000000000001101000101011001001110010011101000100001000001100000001010000000000000000000000000001010011100101111010001100110111111001011001101111110011001110010111101000010010000011000000000110111100011011101001110010111101000110001000001100000001010000000000000000000000000001100100000110000000100101110101011111011001101111110011001110010111101000010010000011000000010110111100011011101001110010111101000110001000001100000001010000000000000000000000000001010011100100000110001100110111111001011001101111110011001110010000011000010010000011000000010010111010101111101001110010000011000101001000001100000001010000000000000000000000000001100100000110000000011000111011000000011001101111110011001110010000011000010010000011000000001010111010101111101001110010000011000101001000001100000001010000000000000000000000000001010011100101000110001100110111111001011001101111110011001110010100011000010010000011000000001100011101100000001001110010100011000111001000001100000001010000000000000000000000000001100100000110000000110110101101001111011001101111110011001110010100011000010010000011000000011100011101100000001001110010100011000111001000001100000001010000000000000000000000000001010011100100100110001100110111111001011001101111110011001110010010011000010010000011000000011011010110100111101001110010010011000100101000001100000001010000000000000000000000000001100101000001100000001110011010011001011001101111110011001110010010011000010010100000110000000011010110100111101001110010010011000100101000001100000001110000000000000000000000000001001011100100000000001100110111111001011001101111110010101110010000000000010010100000110000000111001101001100100101110010000000000110101000001100000001110000000000000000000000000001110101000001100000001100110111111001011001101111110010101110010000000000011010100000110000000111001101001100100101110010000000000110101000001100000001110101010000110011000110011001001011100101000000001100110111111001011001101111110010101110010100000000011010100000110000000110011011111100100101110010100000000101101000001100000001110101010000110011000110011001101101000001100000001100110111111001011001101111110010101110010100000000010110100000110000000110011011111100100101110010100000000101101000001100000001111111111100110011001100110001001011100100100000001100110111111001011001101111110010101110010010000000010110100000110000000110011011111100100101110010010000000111101000001100000001111111111100110011001100110001111101000001100000001100110111111001011001101111110010101110010010000000011110100000110000000110011011111100100101110010010000000111101000001100000001111111111100110011001100110001001011100101100000001100110111111001011001101111110010101110010110000000011110100000110000000110011011111100100101110010110000000100011000001100000001111111111100110011001100110001100011000001100000001100110111111001011001101111110010101110010110000000010001100000110000000110011011111100100101110010110000000100011000001100000001111111111100110011001100110001001011100100010000001100110111111001011001101111110010101110010001000000010001100000110000000110011011111100100101110010001000000110011000001100000001111111111100110011001100110001110011000001100000001100110111111001011001101111110010101110010001000000011001100000110000000110011011111100100101110010001000000110011000001100000001111111111100110011001100110001001011100101010000001100110111111001011001101111110010101110010101000000011001100000110000000110011011111100100101110010101000000101011000001100000001111111111100110011001100110001101011000001100000001100110111111001011001101111110010101110010101000000010101100000110000000110011011111100100101110010101000000101011000001100000001111111111100110011001100110001001011100100110000001100110111111001011001101111110010101110010011000000010101100000110000000110011011111100100101110010011000000111011000001100000001111111111100110011001100110001111011000001100000001100110111111001011001101111110010101110010011000000011101100000110000000110011011111100100101110010011000000111011000001100000001111111111100110011001100110001001011100101110000001100110111111001011001101111110010101110010111000000011101100000110000000110011011111100100101110010111000000100111000001100000001111111111100110011001100110001100111000001100000001100110111111001011001101111110010101110010111000000010011100000110000000110011011111100100101110010111000000100111000001100000001111111111100110011001100110001001011100100001000001100110111111001011001101111110010101110010000100000010011100000110000000110011011111100100101110010000100000110111000001100000001111111111100110011001100110001110111000001100000001100110111111001011001101111110010101110010000100000011011100000110000000110011011111100100101110010000100000110111000001100000001111111111100110011001100110001001011100101001000001100110111111001011001101111110010101110010100100000011011100000110000000110011011111100100101110010100100000101111000001100000001111111111100110011001100110001101111000001100000001100110111111001011001101111110010101110010100100000010111100000110000000110011011111100100101110010100100000101111000001100000001111111111100110011001100110001001011100100101000001100110111111001011001101111110010101110010010100000010111100000110000000110011011111100100101110010010100000111111000001100000001111111111100110011001100110001111111000001100000001100110111111001011001101111110010101110010010100000011111100000110000000110011011111100100101110010010100000111111000001100000001111111111100110011001100110001001011100101101000001100110111111001011001101111110010101110010110100000011111100000110000000110011011111100100101110010110100000100000100001100000001111111111100110011001100110001100000100001100000001100110111111001011001101111110010101110010110100000010000010000110000000110011011111100100101110010110100000100000100001100000001111111111100110011001100110001001011100100011000001100110111111001011001101111110010101110010001100000010000010000110000000110011011111100100101110010001100000110000100001100000001111111111100110011001100110001110000100001100000001100110111111001011001101111110010101110010001100000011000010000110000000110011011111100100101110010001100000110000100001100000001111111111100110011001100110001001011100101011000001100110111111001011001101111110010101110010101100000011000010000110000000110011011111100100101110010101100000101000100001100000001111111111100110011001100110001101000100001100000001100110111111001011001101111110010101110010101100000010100010000110000000110011011111100100101110010101100000101000100001100000001111111111100110011001100110001001011100100111000001100110111111001011001101111110010101110010011100000010100010000110000000110011011111100100101110010011100000111000100001100000001111111111100110011001100110001111000100001100000001100110111111001011001101111110010101110010011100000011100010000110000000110011011111100100101110010011100000111000100001100000001111111111100110011001100110001001011100101111000001100110111111001011001101111110010101110010111100000011100010000110000000110011011111100100101110010111100000100100100001100000001111111111100110011001100110001100100100001100000001100110111111001011001101111110010101110010111100000010010010000110000000110011011111100100101110010111100000100100100001100000001111111111100110011001100110001001011100100000100001100110111111001011001101111110010101110010000010000010010010000110000000110011011111100100101110010000010000110100100001100000001111111111100110011001100110001110100100001100000001100110111111001011001101111110010101110010000010000011010010000110000000110011011111100100101110010000010000110100100001100000001111111111100110011001100110001001011100101000100001100110111111001011001101111110010101110010100010000011010010000110000000110011011111100100101110010100010000101100100001100000001111111111100110011001100110001101100100001100000001100110111111001011001101111110010101110010100010000010110010000110000000110011011111100100101110010100010000101100100001100000001111111111100110011001100110001001011100100100100001100110111111001011001101111110010101110010010010000010110010000110000000110011011111100100101110010010010000111100100001100000001111111111100110011001100110001111100100001100000001100110111111001011001101111110010101110010010010000011110010000110000000110011011111100100101110010010010000111100100001100000001111111111100110011001100110001001011100101100100001100110111111001011001101111110010101110010110010000011110010000110000000110011011111100100101110010110010000100010100001100000001111111111100110011001100110001100010100001100000001100110111111001011001101111110010101110010110010000010001010000110000000110011011111100100101110010110010000100010100001100000001111111111100110011001100110001001011100100010100001100110111111001011001101111110010101110010001010000010001010000110000000110011011111100100101110010001010000110010100001100000001111111111100110011001100110001110010100001100000001100110111111001011001101111110010101110010001010000011001010000110000000110011011111100100101110010001010000110010100001100000001111111111100110011001100110001001011100101010100001100110111111001011001101111110010101110010101010000011001010000110000000110011011111100100101110010101010000101010100001100000001111111111100110011001100110001101010100001100000001100110111111001011001101111110010101110010101010000010101010000110000000110011011111100100101110010101010000101010100001100000001111111111100110011001100110001001011100100110100001100110111111001011001101111110010101110010011010000010101010000110000000110011011111100100101110010011010000111010100001100000001111111111100110011001100110001111010100001100000001100110111111001011001101111110010101110010011010000011101010000110000000110011011111100100101110010011010000111010100001100000001111111111100110011001100110001001011100101110100001100110111111001011001101111110010101110010111010000011101010000110000000110011011111100100101110010111010000100110100001100000001111111111100110011001100110001100110100001100000001100110111111001011001101111110010101110010111010000010011010000110000000110011011111100100101110010111010000100110100001100000001111111111100110011001100110001001011100100001100001100110111111001011001101111110010101110010000110000010011010000110000000110011011111100100101110010000110000110110100001100000001111111111100110011001100110001110110100001100000001100110111111001011001101111110010101110010000110000011011010000110000000110011011111100100101110010000110000110110100001100000001111111111100110011001100110001001011100101001100001100110111111001011001101111110010101110010100110000011011010000110000000110011011111100100101110010100110000101110100001100000001111111111100110011001100110001101110100001100000001100110111111001011001101111110010101110010100110000010111010000110000000110011011111100100101110010100110000101110100001100000001111111111100110011001100110001001011100100101100001100110111111001011001101111110010101110010010110000010111010000110000000110011011111100100101110010010110000111110100001100000001111111111100110011001100110001111110100001100000001100110111111001011001101111110010101110010010110000011111010000110000000110011011111100100101110010010110000111110100001100000001111111111100110011001100110001001011100101101100001100110111111001011001101111110010101110010110110000011111010000110000000110011011111100100101110010110110000100001100001100000001111111111100110011001100110001100001100001100000001100110111111001011001101111110010101110010110110000010000110000110000000110011011111100100101110010110110000100001100001100000001111111111100110011001100110001001011100100011100001100110111111001011001101111110010101110010001110000010000110000110000000110011011111100100101110010001110000110001100001100000001111111111100110011001100110001110001100001100000001100110111111001011001101111110010101110010001110000011000110000110000000110011011111100100101110010001110000110001100001100000001111111111100110011001100110001001011100101011100001100110111111001011001101111110010101110010101110000011000110000110000000110011011111100100101110010101110000101001100001100000001111111111100110011001100110001101001100001100000001100110111111001011001101111110010101110010101110000010100110000110000000110011011111100100101110010101110000101001100001100000001111111111100110011001100110001001011100100111100001100110111111001011001101111110010101110010011110000010100110000110000000110011011111100100101110010011110000111001100001100000001111111111100110011001100110001111001100001100000001100110111111001011001101111110010101110010011110000011100110000110000000110011011111100100101110010011110000111001100001100000001111111111100110011001100110001001011100101111100001100110111111001011001101111110010101110010111110000011100110000110000000110011011111100100101110010111110000100101100001100000001111111111100110011001100110001100101100001100000001100110111111001011001101111110010101110010111110000010010110000110000000110011011111100100101110010111110000100101100001100000001111111111100110011001100110001001011100100000010001100110111111001011001101111110010101110010000001000010010110000110000000110011011111100100101110010000001000110101100001100000001111111111100110011001100110001110101100001100000001100110111111001011001101111110010101110010000001000011010110000110000000110011011111100100101110010000001000110101100001100000001111111111100110011001100110001001011100101000010001100110111111001011001101111110010101110010100001000011010110000110000000110011011111100100101110010100001000101101100001100000001111111111100110011001100110001101101100001100000001100110111111001011001101111110010101110010100001000010110110000110000000110011011111100100101110010100001000101101100001100000001111111111100110011001100110001001011100100100010001100110111111001011001101111110010101110010010001000010110110000110000000110011011111100100101110010010001000111101100001100000001111111111100110011001100110001111101100001100000001100110111111001011001101111110010101110010010001000011110110000110000000110011011111100100101110010010001000111101100001100000001111111111100110011001100110001001011100101100010001100110111111001011001101111110010101110010110001000011110110000110000000110011011111100100101110010110001000100011100001100000001111111111100110011001100110001100011100001100000001100110111111001011001101111110010101110010110001000010001110000110000000110011011111100100101110010110001000100011100001100000001111111111100110011001100110001001011100100010010001100110111111001011001101111110010101110010001001000010001110000110000000110011011111100100101110010001001000110011100001100000001111111111100110011001100110001110011100001100000001100110111111001011001101111110010101110010001001000011001110000110000000110011011111100100101110010001001000110011100001100000001111111111100110011001100110001001011100101010010001100110111111001011001101111110010101110010101001000011001110000110000000110011011111100100101110010101001000101011100001100000001111111111100110011001100110001101011100001100000001100110111111001011001101111110010101110010101001000010101110000110000000110011011111100100101110010101001000101011100001100000001111111111100110011001100110001001011100100110010001100110111111001011001101111110010101110010011001000010101110000110000000110011011111100100101110010011001000111011100001100000001111111111100110011001100110001111011100001100000001100110111111001011001101111110010101110010011001000011101110000110000000110011011111100100101110010011001000111011100001100000001111111111100110011001100110001001011100101110010001100110111111001011001101111110010101110010111001000011101110000110000000110011011111100100101110010111001000100111100001100000001111111111100110011001100110001100111100001100000001100110111111001011001101111110010101110010111001000010011110000110000000110011011111100100101110010111001000100111100001100000001111111111100110011001100110001001011100100001010001100110111111001011001101111110010101110010000101000010011110000110000000110011011111100100101110010000101000110111100001100000001111111111100110011001100110001110111100001100000001100110111111001011001101111110010101110010000101000011011110000110000000110011011111100100101110010000101000110111100001100000001111111111100110011001100110001001011100101001010001100110111111001011001101111110010101110010100101000011011110000110000000110011011111100100101110010100101000101111100001100000001111111111100110011001100110001101111100001100000001100110111111001011001101111110010101110010100101000010111110000110000000110011011111100100101110010100101000101111100001100000001111111111100110011001100110001001011100100101010001100110111111001011001101111110010101110010010101000010111110000110000000110011011111100100101110010010101000111111100001100000001111111111100110011001100110001111111100001100000001100110111111001011001101111110010101110010010101000011111110000110000000110011011111100100101110010010101000111111100001100000001111111111100110011001100110001001011100101101010001100110111111001011001101111110010101110010110101000011111110000110000000110011011111100100101110010110101000100000010001100000001111111111100110011001100110001100000010001100000001100110111111001011001101111110010101110010110101000010000001000110000000110011011111100100101110010110101000100000010001100000001111111111100110011001100110001001011100100011010001100110111111001011001101111110010101110010001101000010000001000110000000110011011111100100101110010001101000110000010001100000001111111111100110011001100110001110000010001100000001100110111111001011001101111110010101110010001101000011000001000110000000110011011111100100101110010001101000110000010001100000001111111111100110011001100110001001011100101011010001100110111111001011001101111110010101110010101101000011000001000110000000110011011111100100101110010101101000101000010001100000001111111111100110011001100110001101000010001100000001100110111111001011001101111110010101110010101101000010100001000110000000110011011111100100101110010101101000101000010001100000001111111111100110011001100110001001011100100111010001100110111111001011001101111110010101110010011101000010100001000110000000110011011111100100101110010011101000111000010001100000001111111111100110011001100110001111000010001100000001100110111111001011001101111110010101110010011101000011100001000110000000110011011111100100101110010011101000111000010001100000001111111111100110011001100110001001011100101111010001100110111111001011001101111110010101110010111101000011100001000110000000110011011111100100101110010111101000100100010001100000001111111111100110011001100110001100100010001100000001100110111111001011001101111110010101110010111101000010010001000110000000110011011111100100101110010111101000100100010001100000001111111111100110011001100110001001011100100000110001100110111111001011001101111110010101110010000011000010010001000110000000110011011111100100101110010000011000110100010001100000001111111111100110011001100110001110100010001100000001100110111111001011001101111110010101110010000011000011010001000110000000110011011111100100101110010000011000110100010001100000001111111111100110011001100110001001011100101000110001100110111111001011001101111110010101110010100011000011010001000110000000110011011111100100101110010100011000101100010001100000001111111111100110011001100110001101100010001100000001100110111111001011001101111110010101110010100011000010110001000110000000110011011111100100101110010100011000101100010001100000001111111111100110011001100110001001011100100100110001100110111111001011001101111110010101110010010011000010110001000110000000110011011111100100101110010010011000111100010001100000001111111111100110011001100110001111100010001100000001100110111111001011001101111110010101110010010011000011110001000110000000110011011111100100101110010010011000111100010001100000001111111111100110011001100110001011011100100000000001100110111111001011001101111110011101110010000000000011110001000110000000110011011111100101101110010000000000100010010001100000001111111111100110011001100110001100010010001100000001100110111111001011001101111110011101110010000000000010001001000110000000110011011111100101101110010000000000100010010001100000001111111111100110011001100110001011011100101000000001100110111111001011001101111110011101110010100000000010001001000110000000110011011111100101101110010100000000110010010001100000001111111111100110011001100110001110010010001100000001100110111111001011001101111110011101110010100000000011001001000110000000110011011111100101101110010100000000110010010001100000001111111111100110011001100110001011011100100100000001100110111111001011001101111110011101110010010000000011001001000110000000110011011111100101101110010010000000101010010001100000001111111111100110011001100110001101010010001100000001100110111111001011001101111110011101110010010000000010101001000110000000110011011111100101101110010010000000101010010001100000001111111111100110011001100110001011011100101100000001100110111111001011001101111110011101110010110000000010101001000110000000110011011111100101101110010110000000111010010001100000001111111111100110011001100110001111010010001100000001100110111111001011001101111110011101110010110000000011101001000110000000110011011111100101101110010110000000111010010001100000001111111111100110011001100110001011011100100010000001100110111111001011001101111110011101110010001000000011101001000110000000110011011111100101101110010001000000100110010001100000001111111111100110011001100110001100110010001100000001100110111111001011001101111110011101110010001000000010011001000110000000110011011111100101101110010001000000100110010001100000001111111111100110011001100110001011011100101010000001100110111111001011001101111110011101110010101000000010011001000110000000110011011111100101101110010101000000110110010001100000001111111111100110011001100110001110110010001100000001100110111111001011001101111110011101110010101000000011011001000110000000110011011111100101101110010101000000110110010001100000001111111111100110011001100110001011011100100110000001100110111111001011001101111110011101110010011000000011011001000110000000110011011111100101101110010011000000101110010001100000001111111111100110011001100110001101110010001100000001100110111111001011001101111110011101110010011000000010111001000110000000110011011111100101101110010011000000101110010001100000001111111111100110011001100110001011011100101110000001100110111111001011001101111110011101110010111000000010111001000110000000110011011111100101101110010111000000111110010001100000001111111111100110011001100110001111110010001100000001100110111111001011001101111110011101110010111000000011111001000110000000110011011111100101101110010111000000111110010001100000001111111111100110011001100110001011011100100001000001100110111111001011001101111110011101110010000100000011111001000110000000110011011111100101101110010000100000100001010001100000001111111111100110011001100110001100001010001100000001100110111111001011001101111110011101110010000100000010000101000110000000110011011111100101101110010000100000100001010001100000001111111111100110011001100110001011011100101001000001100110111111001011001101111110011101110010100100000010000101000110000000110011011111100101101110010100100000110001010001100000001111111111100110011001100110001110001010001100000001100110111111001011001101111110011101110010100100000011000101000110000000110011011111100101101110010100100000110001010001100000001111111111100110011001100110001011011100100101000001100110111111001011001101111110011101110010010100000011000101000110000000110011011111100101101110010010100000101001010001100000001111111111100110011001100110001101001010001100000001100110111111001011001101111110011101110010010100000010100101000110000000110011011111100101101110010010100000101001010001100000001111111111100110011001100110001011011100101101000001100110111111001011001101111110011101110010110100000010100101000110000000110011011111100101101110010110100000111001010001100000001111111111100110011001100110001111001010001100000001100110111111001011001101111110011101110010110100000011100101000110000000110011011111100101101110010110100000111001010001100000001111111111100110011001100110001011011100100011000001100110111111001011001101111110011101110010001100000011100101000110000000110011011111100101101110010001100000100101010001100000001111111111100110011001100110001100101010001100000001100110111111001011001101111110011101110010001100000010010101000110000000110011011111100101101110010001100000100101010001100000001111111111100110011001100110001011011100101011000001100110111111001011001101111110011101110010101100000010010101000110000000110011011111100101101110010101100000110101010001100000001111111111100110011001100110001110101010001100000001100110111111001011001101111110011101110010101100000011010101000110000000110011011111100101101110010101100000110101010001100000001111111111100110011001100110001011011100100111000001100110111111001011001101111110011101110010011100000011010101000110000000110011011111100101101110010011100000101101010001100000001111111111100110011001100110001101101010001100000001100110111111001011001101111110011101110010011100000010110101000110000000110011011111100101101110010011100000101101010001100000001111111111100110011001100110001011011100101111000001100110111111001011001101111110011101110010111100000010110101000110000000110011011111100101101110010111100000111101010001100000001111111111100110011001100110001111101010001100000001100110111111001011001101111110011101110010111100000011110101000110000000110011011111100101101110010111100000111101010001100000001111111111100110011001100110001011011100100000100001100110111111001011001101111110011101110010000010000011110101000110000000110011011111100101101110010000010000100011010001100000001111111111100110011001100110001100011010001100000001100110111111001011001101111110011101110010000010000010001101000110000000110011011111100101101110010000010000100011010001100000001111111111100110011001100110001011011100101000100001100110111111001011001101111110011101110010100010000010001101000110000000110011011111100101101110010100010000110011010001100000001111111111100110011001100110001110011010001100000001100110111111001011001101111110011101110010100010000011001101000110000000110011011111100101101110010100010000110011010001100000001111111111100110011001100110001011011100100100100001100110111111001011001101111110011101110010010010000011001101000110000000110011011111100101101110010010010000101011010001100000001111111111100110011001100110001101011010001100000001100110111111001011001101111110011101110010010010000010101101000110000000110011011111100101101110010010010000101011010001100000001111111111100110011001100110001011011100101100100001100110111111001011001101111110011101110010110010000010101101000110000000110011011111100101101110010110010000111011010001100000001111111111100110011001100110001111011010001100000001100110111111001011001101111110011101110010110010000011101101000110000000110011011111100101101110010110010000111011010001100000001111111111100110011001100110001011011100100010100001100110111111001011001101111110011101110010001010000011101101000110000000110011011111100101101110010001010000100111010001100000001111111111100110011001100110001100111010001100000001100110111111001011001101111110011101110010001010000010011101000110000000110011011111100101101110010001010000100111010001100000001111111111100110011001100110001011011100101010100001100110111111001011001101111110011101110010101010000010011101000110000000110011011111100101101110010101010000110111010001100000001111111111100110011001100110001110111010001100000001100110111111001011001101111110011101110010101010000011011101000110000000110011011111100101101110010101010000110111010001100000001111111111100110011001100110001011011100100110100001100110111111001011001101111110011101110010011010000011011101000110000000110011011111100101101110010011010000101111010001100000001111111111100110011001100110001101111010001100000001100110111111001011001101111110011101110010011010000010111101000110000000110011011111100101101110010011010000101111010001100000001111111111100110011001100110001011011100101110100001100110111111001011001101111110011101110010111010000010111101000110000000110011011111100101101110010111010000111111010001100000001111111111100110011001100110001111111010001100000001100110111111001011001101111110011101110010111010000011111101000110000000110011011111100101101110010111010000111111010001100000001111111111100110011001100110001011011100100001100001100110111111001011001101111110011101110010000110000011111101000110000000110011011111100101101110010000110000100000110001100000001111111111100110011001100110001100000110001100000001100110111111001011001101111110011101110010000110000010000011000110000000110011011111100101101110010000110000100000110001100000001111111111100110011001100110001011011100101001100001100110111111001011001101111110011101110010100110000010000011000110000000110011011111100101101110010100110000110000110001100000001111111111100110011001100110001110000110001100000001100110111111001011001101111110011101110010100110000011000011000110000000110011011111100101101110010100110000110000110001100000001111111111100110011001100110001011011100100101100001100110111111001011001101111110011101110010010110000011000011000110000000110011011111100101101110010010110000101000110001100000001111111111100110011001100110001101000110001100000001100110111111001011001101111110011101110010010110000010100011000110000000110011011111100101101110010010110000101000110001100000001111111111100110011001100110001011011100101101100001100110111111001011001101111110011101110010110110000010100011000110000000110011011111100101101110010110110000111000110001100000001111111111100110011001100110001111000110001100000001100110111111001011001101111110011101110010110110000011100011000110000000110011011111100101101110010110110000111000110001100000001111111111100110011001100110001011011100100011100001100110111111001011001101111110011101110010001110000011100011000110000000110011011111100101101110010001110000100100110001100000001111111111100110011001100110001100100110001100000001100110111111001011001101111110011101110010001110000010010011000110000000110011011111100101101110010001110000100100110001100000001111111111100110011001100110001011011100101011100001100110111111001011001101111110011101110010101110000010010011000110000000110011011111100101101110010101110000110100110001100000001111111111100110011001100110001110100110001100000001100110111111001011001101111110011101110010101110000011010011000110000000110011011111100101101110010101110000110100110001100000001111111111100110011001100110001011011100100111100001100110111111001011001101111110011101110010011110000011010011000110000000110011011111100101101110010011110000101100110001100000001111111111100110011001100110001101100110001100000001100110111111001011001101111110011101110010011110000010110011000110000000110011011111100101101110010011110000101100110001100000001111111111100110011001100110001011011100101111100001100110111111001011001101111110011101110010111110000010110011000110000000110011011111100101101110010111110000111100110001100000001111111111100110011001100110001111100110001100000001100110111111001011001101111110011101110010111110000011110011000110000000110011011111100101101110010111110000111100110001100000001111111111100110011001100110001011011100100000010001100110111111001011001101111110011101110010000001000011110011000110000000110011011111100101101110010000001000100010110001100000001111111111100110011001100110001100010110001100000001100110111111001011001101111110011101110010000001000010001011000110000000110011011111100101101110010000001000100010110001100000001111111111100110011001100110001011011100101000010001100110111111001011001101111110011101110010100001000010001011000110000000110011011111100101101110010100001000110010110001100000001111111111100110011001100110001110010110001100000001100110111111001011001101111110011101110010100001000011001011000110000000110011011111100101101110010100001000110010110001100000001111111111100110011001100110001011011100100100010001100110111111001011001101111110011101110010010001000011001011000110000000110011011111100101101110010010001000101010110001100000001111111111100110011001100110001101010110001100000001100110111111001011001101111110011101110010010001000010101011000110000000110011011111100101101110010010001000101010110001100000001111111111100110011001100110001011011100101100010001100110111111001011001101111110011101110010110001000010101011000110000000110011011111100101101110010110001000111010110001100000001111111111100110011001100110001111010110001100000001100110111111001011001101111110011101110010110001000011101011000110000000110011011111100101101110010110001000111010110001100000001111111111100110011001100110001011011100100010010001100110111111001011001101111110011101110010001001000011101011000110000000110011011111100101101110010001001000100110110001100000001111111111100110011001100110001100110110001100000001100110111111001011001101111110011101110010001001000010011011000110000000110011011111100101101110010001001000100110110001100000001111111111100110011001100110001011011100101010010001100110111111001011001101111110011101110010101001000010011011000110000000110011011111100101101110010101001000110110110001100000001111111111100110011001100110001110110110001100000001100110111111001011001101111110011101110010101001000011011011000110000000110011011111100101101110010101001000110110110001100000001111111111100110011001100110001011011100100110010001100110111111001011001101111110011101110010011001000011011011000110000000110011011111100101101110010011001000101110110001100000001111111111100110011001100110001101110110001100000001100110111111001011001101111110011101110010011001000010111011000110000000110011011111100101101110010011001000101110110001100000001111111111100110011001100110001011011100101110010001100110111111001011001101111110011101110010111001000010111011000110000000110011011111100101101110010111001000111110110001100000001111111111100110011001100110001111110110001100000001100110111111001011001101111110011101110010111001000011111011000110000000110011011111100101101110010111001000111110110001100000001111111111100110011001100110001011011100100001010001100110111111001011001101111110011101110010000101000011111011000110000000110011011111100101101110010000101000100001110001100000001111111111100110011001100110001100001110001100000001100110111111001011001101111110011101110010000101000010000111000110000000110011011111100101101110010000101000100001110001100000001111111111100110011001100110001011011100101001010001100110111111001011001101111110011101110010100101000010000111000110000000110011011111100101101110010100101000110001110001100000001111111111100110011001100110001110001110001100000001100110111111001011001101111110011101110010100101000011000111000110000000110011011111100101101110010100101000110001110001100000001111111111100110011001100110001011011100100101010001100110111111001011001101111110011101110010010101000011000111000110000000110011011111100101101110010010101000101001110001100000001111111111100110011001100110001101001110001100000001100110111111001011001101111110011101110010010101000010100111000110000000110011011111100101101110010010101000101001110001100000001111111111100110011001100110001011011100101101010001100110111111001011001101111110011101110010110101000010100111000110000000110011011111100101101110010110101000111001110001100000001111111111100110011001100110001111001110001100000001100110111111001011001101111110011101110010110101000011100111000110000000110011011111100101101110010110101000111001110001100000001111111111100110011001100110001011011100100011010001100110111111001011001101111110011101110010001101000011100111000110000000110011011111100101101110010001101000100101110001100000001111111111100110011001100110001100101110001100000001100110111111001011001101111110011101110010001101000010010111000110000000110011011111100101101110010001101000100101110001100000001111111111100110011001100110001011011100101011010001100110111111001011001101111110011101110010101101000010010111000110000000110011011111100101101110010101101000110101110001100000001111111111100110011001100110001110101110001100000001100110111111001011001101111110011101110010101101000011010111000110000000110011011111100101101110010101101000110101110001100000001111111111100110011001100110001011011100100111010001100110111111001011001101111110011101110010011101000011010111000110000000110011011111100101101110010011101000101101110001100000001111111111100110011001100110001101101110001100000001100110111111001011001101111110011101110010011101000010110111000110000000110011011111100101101110010011101000101101110001100000001111111111100110011001100110001011011100101111010001100110111111001011001101111110011101110010111101000010110111000110000000110011011111100101101110010111101000111101110001100000001111111111100110011001100110001111101110001100000001100110111111001011001101111110011101110010111101000011110111000110000000110011011111100101101110010111101000111101110001100000001111111111100110011001100110001011011100100000110001100110111111001011001101111110011101110010000011000011110111000110000000110011011111100101101110010000011000100011110001100000001111111111100110011001100110001100011110001100000001100110111111001011001101111110011101110010000011000010001111000110000000110011011111100101101110010000011000100011110001100000001111111111100110011001100110001011011100101000110001100110111111001011001101111110011101110010100011000010001111000110000000110011011111100101101110010100011000110011110001100000001111111111100110011001100110001110011110001100000001100110111111001011001101111110011101110010100011000011001111000110000000110011011111100101101110010100011000110011110001100000001111111111100110011001100110001011011100100100110001100110111111001011001101111110011101110010010011000011001111000110000000110011011111100101101110010010011000101011110001100000001111111111100110011001100110001101011110001100000001100110111111001011001101111110011101110010010011000010101111000110000000110011011111100101101110010010011000101011110001100000001111111111100110011001100110001000111100100000000001100110111111001011001101111110010011110010000000000010101111000110000000110011011111100100011110010000000000111011110001100000001111111111100110011001100110001111011110001100000001100110111111001011001101111110010011110010000000000011101111000110000000110011011111100100011110010000000000111011110001100000001111111111100110011001100110001000111100101000000001100110111111001011001101111110010011110010100000000011101111000110000000110011011111100100011110010100000000100111110001100000001111111111100110011001100110001100111110001100000001100110111111001011001101111110010011110010100000000010011111000110000000110011011111100100011110010100000000100111110001100000001111111111100110011001100110001000111100100100000001100110111111001011001101111110010011110010010000000010011111000110000000110011011111100100011110010010000000110111110001100000001111111111100110011001100110001110111110001100000001100110111111001011001101111110010011110010010000000011011111000110000000110011011111100100011110010010000000110111110001100000001111111111100110011001100110001000111100101100000001100110111111001011001101111110010011110010110000000011011111000110000000110011011111100100011110010110000000101111110001100000001111111111100110011001100110001101111110001100000001100110111111001011001101111110010011110010110000000010111111000110000000110011011111100100011110010110000000101111110001100000001111111111100110011001100110001000111100100010000001100110111111001011001101111110010011110010001000000010111111000110000000110011011111100100011110010001000000111111110001100000001111111111100110011001100110001111111110001100000001100110111111001011001101111110010011110010001000000011111111000110000000110011011111100100011110010001000000111111110001100000001111111111100110011001100110001000111100101010000001100110111111001011001101111110010011110010101000000011111111000110000000110011011111100100011110010101000000100000001001100000001111111111100110011001100110001100000001001100000001100110111111001011001101111110010011110010101000000010000000100110000000110011011111100100011110010101000000100000001001100000001111111111100110011001100110001000111100100110000001100110111111001011001101111110010011110010011000000010000000100110000000110011011111100100011110010011000000110000001001100000001111111111100110011001100110001110000001001100000001100110111111001011001101111110010011110010011000000011000000100110000000110011011111100100011110010011000000110000001001100000001111111111100110011001100110001000111100101110000001100110111111001011001101111110010011110010111000000011000000100110000000110011011111100100011110010111000000101000001001100000001111111111100110011001100110001101000001001100000001100110111111001011001101111110010011110010111000000010100000100110000000110011011111100100011110010111000000101000001001100000001111111111100110011001100110001000111100100001000001100110111111001011001101111110010011110010000100000010100000100110000000110011011111100100011110010000100000111000001001100000001111111111100110011001100110001111000001001100000001100110111111001011001101111110010011110010000100000011100000100110000000110011011111100100011110010000100000111000001001100000001111111111100110011001100110001000111100101001000001100110111111001011001101111110010011110010100100000011100000100110000000110011011111100100011110010100100000100100001001100000001111111111100110011001100110001100100001001100000001100110111111001011001101111110010011110010100100000010010000100110000000110011011111100100011110010100100000100100001001100000001111111111100110011001100110001000111100100101000001100110111111001011001101111110010011110010010100000010010000100110000000110011011111100100011110010010100000110100001001100000001111111111100110011001100110001110100001001100000001100110111111001011001101111110010011110010010100000011010000100110000000110011011111100100011110010010100000110100001001100000001111111111100110011001100110001000111100101101000001100110111111001011001101111110010011110010110100000011010000100110000000110011011111100100011110010110100000101100001001100000001111111111100110011001100110001101100001001100000001100110111111001011001101111110010011110010110100000010110000100110000000110011011111100100011110010110100000101100001001100000001111111111100110011001100110001000111100100011000001100110111111001011001101111110010011110010001100000010110000100110000000110011011111100100011110010001100000111100001001100000001111111111100110011001100110001111100001001100000001100110111111001011001101111110010011110010001100000011110000100110000000110011011111100100011110010001100000111100001001100000001111111111100110011001100110001000111100101011000001100110111111001011001101111110010011110010101100000011110000100110000000110011011111100100011110010101100000100010001001100000001111111111100110011001100110001100010001001100000001100110111111001011001101111110010011110010101100000010001000100110000000110011011111100100011110010101100000100010001001100000001111111111100110011001100110001000111100100111000001100110111111001011001101111110010011110010011100000010001000100110000000110011011111100100011110010011100000110010001001100000001111111111100110011001100110001110010001001100000001100110111111001011001101111110010011110010011100000011001000100110000000110011011111100100011110010011100000110010001001100000001111111111100110011001100110001000111100101111000001100110111111001011001101111110010011110010111100000011001000100110000000110011011111100100011110010111100000101010001001100000001111111111100110011001100110001101010001001100000001100110111111001011001101111110010011110010111100000010101000100110000000110011011111100100011110010111100000101010001001100000001111111111100110011001100110001000111100100000100001100110111111001011001101111110010011110010000010000010101000100110000000110011011111100100011110010000010000111010001001100000001111111111100110011001100110001111010001001100000001100110111111001011001101111110010011110010000010000011101000100110000000110011011111100100011110010000010000111010001001100000001111111111100110011001100110001000111100101000100001100110111111001011001101111110010011110010100010000011101000100110000000110011011111100100011110010100010000100110001001100000001111111111100110011001100110001100110001001100000001100110111111001011001101111110010011110010100010000010011000100110000000110011011111100100011110010100010000100110001001100000001111111111100110011001100110001000111100100100100001100110111111001011001101111110010011110010010010000010011000100110000000110011011111100100011110010010010000110110001001100000001111111111100110011001100110001110110001001100000001100110111111001011001101111110010011110010010010000011011000100110000000110011011111100100011110010010010000110110001001100000001111111111100110011001100110001000111100101100100001100110111111001011001101111110010011110010110010000011011000100110000000110011011111100100011110010110010000101110001001100000001111111111100110011001100110001101110001001100000001100110111111001011001101111110010011110010110010000010111000100110000000110011011111100100011110010110010000101110001001100000001111111111100110011001100110001000111100100010100001100110111111001011001101111110010011110010001010000010111000100110000000110011011111100100011110010001010000111110001001100000001111111111100110011001100110001111110001001100000001100110111111001011001101111110010011110010001010000011111000100110000000110011011111100100011110010001010000111110001001100000001111111111100110011001100110001000111100101010100001100110111111001011001101111110010011110010101010000011111000100110000000110011011111100100011110010101010000100001001001100000001111111111100110011001100110001100001001001100000001100110111111001011001101111110010011110010101010000010000100100110000000110011011111100100011110010101010000100001001001100000001111111111100110011001100110001000111100100110100001100110111111001011001101111110010011110010011010000010000100100110000000110011011111100100011110010011010000110001001001100000001111111111100110011001100110001110001001001100000001100110111111001011001101111110010011110010011010000011000100100110000000110011011111100100011110010011010000110001001001100000001111111111100110011001100110001000111100101110100001100110111111001011001101111110010011110010111010000011000100100110000000110011011111100100011110010111010000101001001001100000001111111111100110011001100110001101001001001100000001100110111111001011001101111110010011110010111010000010100100100110000000110011011111100100011110010111010000101001001001100000001111111111100110011001100110001000111100100001100001100110111111001011001101111110010011110010000110000010100100100110000000110011011111100100011110010000110000111001001001100000001111111111100110011001100110001111001001001100000001100110111111001011001101111110010011110010000110000011100100100110000000110011011111100100011110010000110000111001001001100000001111111111100110011001100110001000111100101001100001100110111111001011001101111110010011110010100110000011100100100110000000110011011111100100011110010100110000100101001001100000001111111111100110011001100110001100101001001100000001100110111111001011001101111110010011110010100110000010010100100110000000110011011111100100011110010100110000100101001001100000001111111111100110011001100110001000111100100101100001100110111111001011001101111110010011110010010110000010010100100110000000110011011111100100011110010010110000110101001001100000001111111111100110011001100110001110101001001100000001100110111111001011001101111110010011110010010110000011010100100110000000110011011111100100011110010010110000110101001001100000001111111111100110011001100110001000111100101101100001100110111111001011001101111110010011110010110110000011010100100110000000110011011111100100011110010110110000101101001001100000001111111111100110011001100110001101101001001100000001100110111111001011001101111110010011110010110110000010110100100110000000110011011111100100011110010110110000101101001001100000001111111111100110011001100110001000111100100011100001100110111111001011001101111110010011110010001110000010110100100110000000110011011111100100011110010001110000111101001001100000001111111111100110011001100110001111101001001100000001100110111111001011001101111110010011110010001110000011110100100110000000110011011111100100011110010001110000111101001001100000001111111111100110011001100110001000111100101011100001100110111111001011001101111110010011110010101110000011110100100110000000110011011111100100011110010101110000100011001001100000001111111111100110011001100110001100011001001100000001100110111111001011001101111110010011110010101110000010001100100110000000110011011111100100011110010101110000100011001001100000001111111111100110011001100110001000111100100111100001100110111111001011001101111110010011110010011110000010001100100110000000110011011111100100011110010011110000110011001001100000001111111111100110011001100110001110011001001100000001100110111111001011001101111110010011110010011110000011001100100110000000110011011111100100011110010011110000110011001001100000001111111111100110011001100110001000111100101111100001100110111111001011001101111110010011110010111110000011001100100110000000110011011111100100011110010111110000101011001001100000001111111111100110011001100110001101011001001100000001100110111111001011001101111110010011110010111110000010101100100110000000110011011111100100011110010111110000101011001001100000001111111111100110011001100110001000111100100000010001100110111111001011001101111110010011110010000001000010101100100110000000110011011111100100011110010000001000111011001001100000001111111111100110011001100110001111011001001100000001100110111111001011001101111110010011110010000001000011101100100110000000110011011111100100011110010000001000111011001001100000001111111111100110011001100110001000111100101000010001100110111111001011001101111110010011110010100001000011101100100110000000110011011111100100011110010100001000100111001001100000001111111111100110011001100110001100111001001100000001100110111111001011001101111110010011110010100001000010011100100110000000110011011111100100011110010100001000100111001001100000001111111111100110011001100110001000111100100100010001100110111111001011001101111110010011110010010001000010011100100110000000110011011111100100011110010010001000110111001001100000001111111111100110011001100110001110111001001100000001100110111111001011001101111110010011110010010001000011011100100110000000110011011111100100011110010010001000110111001001100000001111111111100110011001100110001000111100101100010001100110111111001011001101111110010011110010110001000011011100100110000000110011011111100100011110010110001000101111001001100000001111111111100110011001100110001101111001001100000001100110111111001011001101111110010011110010110001000010111100100110000000110011011111100100011110010110001000101111001001100000001111111111100110011001100110001000111100100010010001100110111111001011001101111110010011110010001001000010111100100110000000110011011111100100011110010001001000111111001001100000001111111111100110011001100110001111111001001100000001100110111111001011001101111110010011110010001001000011111100100110000000110011011111100100011110010001001000111111001001100000001111111111100110011001100110001000111100101010010001100110111111001011001101111110010011110010101001000011111100100110000000110011011111100100011110010101001000100000101001100000001111111111100110011001100110001100000101001100000001100110111111001011001101111110010011110010101001000010000010100110000000110011011111100100011110010101001000100000101001100000001111111111100110011001100110001000111100100110010001100110111111001011001101111110010011110010011001000010000010100110000000110011011111100100011110010011001000110000101001100000001111111111100110011001100110001110000101001100000001100110111111001011001101111110010011110010011001000011000010100110000000110011011111100100011110010011001000110000101001100000001111111111100110011001100110001000111100101110010001100110111111001011001101111110010011110010111001000011000010100110000000110011011111100100011110010111001000101000101001100000001111111111100110011001100110001101000101001100000001100110111111001011001101111110010011110010111001000010100010100110000000110011011111100100011110010111001000101000101001100000001111111111100110011001100110001000111100100001010001100110111111001011001101111110010011110010000101000010100010100110000000110011011111100100011110010000101000111000101001100000001111111111100110011001100110001111000101001100000001100110111111001011001101111110010011110010000101000011100010100110000000110011011111100100011110010000101000111000101001100000001111111111100110011001100110001000111100101001010001100110111111001011001101111110010011110010100101000011100010100110000000110011011111100100011110010100101000100100101001100000001111111111100110011001100110001100100101001100000001100110111111001011001101111110010011110010100101000010010010100110000000110011011111100100011110010100101000100100101001100000001111111111100110011001100110001000111100100101010001100110111111001011001101111110010011110010010101000010010010100110000000110011011111100100011110010010101000110100101001100000001111111111100110011001100110001110100101001100000001100110111111001011001101111110010011110010010101000011010010100110000000110011011111100100011110010010101000110100101001100000001111111111100110011001100110001000111100101101010001100110111111001011001101111110010011110010110101000011010010100110000000110011011111100100011110010110101000101100101001100000001111111111100110011001100110001101100101001100000001100110111111001011001101111110010011110010110101000010110010100110000000110011011111100100011110010110101000101100101001100000001111111111100110011001100110001000111100100011010001100110111111001011001101111110010011110010001101000010110010100110000000110011011111100100011110010001101000111100101001100000001111111111100110011001100110001111100101001100000001100110111111001011001101111110010011110010001101000011110010100110000000110011011111100100011110010001101000111100101001100000001111111111100110011001100110001000111100101011010001100110111111001011001101111110010011110010101101000011110010100110000000110011011111100100011110010101101000100010101001100000001111111111100110011001100110001100010101001100000001100110111111001011001101111110010011110010101101000010001010100110000000110011011111100100011110010101101000100010101001100000001111111111100110011001100110001000111100100111010001100110111111001011001101111110010011110010011101000010001010100110000000110011011111100100011110010011101000110010101001100000001111111111100110011001100110001110010101001100000001100110111111001011001101111110010011110010011101000011001010100110000000110011011111100100011110010011101000110010101001100000001111111111100110011001100110001000111100101111010001100110111111001011001101111110010011110010111101000011001010100110000000110011011111100100011110010111101000101010101001100000001111111111100110011001100110001101010101001100000001100110111111001011001101111110010011110010111101000010101010100110000000110011011111100100011110010111101000101010101001100000001111111111100110011001100110001000111100100000110001100110111111001011001101111110010011110010000011000010101010100110000000110011011111100100011110010000011000111010101001100000001111111111100110011001100110001111010101001100000001100110111111001011001101111110010011110010000011000011101010100110000000110011011111100100011110010000011000111010101001100000001111111111100110011001100110001000111100101000110001100110111111001011001101111110010011110010100011000011101010100110000000110011011111100100011110010100011000100110101001100000001111111111100110011001100110001100110101001100000001100110111111001011001101111110010011110010100011000010011010100110000000110011011111100100011110010100011000100110101001100000001111111111100110011001100110001000111100100100110001100110111111001011001101111110010011110010010011000010011010100110000000110011011111100100011110010010011000110110101001100000001111111111100110011001100110001110110101001100000001100110111111001011001101111110010011110010010011000011011010100110000000110011011111100100011110010010011000110110101001100000001111111111100110011001100110001010111100100000000001100110111111001011001101111110011011110010000000000011011010100110000000110011011111100101011110010000000000101110101001100000001111111111100110011001100110001101110101001100000001100110111111001011001101111110011011110010000000000010111010100110000000110011011111100101011110010000000000101110101001100000001111111111100110011001100110001010111100101000000001100110111111001011001101111110011011110010100000000010111010100110000000110011011111100101011110010100000000111110101001100000001111111111100110011001100110001111110101001100000001100110111111001011001101111110011011110010100000000011111010100110000000110011011111100101011110010100000000111110101001100000001111111111100110011001100110001010111100100100000001100110111111001011001101111110011011110010010000000011111010100110000000110011011111100101011110010010000000100001101001100000001111111111100110011001100110001100001101001100000001100110111111001011001101111110011011110010010000000010000110100110000000110011011111100101011110010010000000100001101001100000001111111111100110011001100110001010111100101100000001100110111111001011001101111110011011110010110000000010000110100110000000110011011111100101011110010110000000110001101001100000001111111111100110011001100110001110001101001100000001100110111111001011001101111110011011110010110000000011000110100110000000110011011111100101011110010110000000110001101001100000001111111111100110011001100110001010111100100010000001100110111111001011001101111110011011110010001000000011000110100110000000110011011111100101011110010001000000101001101001100000001111111111100110011001100110001101001101001100000001100110111111001011001101111110011011110010001000000010100110100110000000110011011111100101011110010001000000101001101001100000001111111111100110011001100110001010111100101010000001100110111111001011001101111110011011110010101000000010100110100110000000110011011111100101011110010101000000111001101001100000001111111111100110011001100110001111001101001100000001100110111111001011001101111110011011110010101000000011100110100110000000110011011111100101011110010101000000111001101001100000001111111111100110011001100110001010111100100110000001100110111111001011001101111110011011110010011000000011100110100110000000110011011111100101011110010011000000100101101001100000001111111111100110011001100110001100101101001100000001100110111111001011001101111110011011110010011000000010010110100110000000110011011111100101011110010011000000100101101001100000001111111111100110011001100110001010111100101110000001100110111111001011001101111110011011110010111000000010010110100110000000110011011111100101011110010111000000110101101001100000001111111111100110011001100110001110101101001100000001100110111111001011001101111110011011110010111000000011010110100110000000110011011111100101011110010111000000110101101001100000001111111111100110011001100110001010111100100001000001100110111111001011001101111110011011110010000100000011010110100110000000110011011111100101011110010000100000101101101001100000001111111111100110011001100110001101101101001100000001100110111111001011001101111110011011110010000100000010110110100110000000110011011111100101011110010000100000101101101001100000001111111111100110011001100110001010111100101001000001100110111111001011001101111110011011110010100100000010110110100110000000110011011111100101011110010100100000111101101001100000001111111111100110011001100110001111101101001100000001100110111111001011001101111110011011110010100100000011110110100110000000110011011111100101011110010100100000111101101001100000001111111111100110011001100110001010111100100101000001100110111111001011001101111110011011110010010100000011110110100110000000110011011111100101011110010010100000100011101001100000001111111111100110011001100110001100011101001100000001100110111111001011001101111110011011110010010100000010001110100110000000110011011111100101011110010010100000100011101001100000001111111111100110011001100110001010111100101101000001100110111111001011001101111110011011110010110100000010001110100110000000110011011111100101011110010110100000110011101001100000001111111111100110011001100110001110011101001100000001100110111111001011001101111110011011110010110100000011001110100110000000110011011111100101011110010110100000110011101001100000001111111111100110011001100110001010111100100011000001100110111111001011001101111110011011110010001100000011001110100110000000110011011111100101011110010001100000101011101001100000001111111111100110011001100110001101011101001100000001100110111111001011001101111110011011110010001100000010101110100110000000110011011111100101011110010001100000101011101001100000001111111111100110011001100110001010111100101011000001100110111111001011001101111110011011110010101100000010101110100110000000110011011111100101011110010101100000111011101001100000001111111111100110011001100110001111011101001100000001100110111111001011001101111110011011110010101100000011101110100110000000110011011111100101011110010101100000111011101001100000001111111111100110011001100110001010111100100111000001100110111111001011001101111110011011110010011100000011101110100110000000110011011111100101011110010011100000100111101001100000001111111111100110011001100110001100111101001100000001100110111111001011001101111110011011110010011100000010011110100110000000110011011111100101011110010011100000100111101001100000001111111111100110011001100110001010111100101111000001100110111111001011001101111110011011110010111100000010011110100110000000110011011111100101011110010111100000110111101001100000001111111111100110011001100110001110111101001100000001100110111111001011001101111110011011110010111100000011011110100110000000110011011111100101011110010111100000110111101001100000001111111111100110011001100110001010111100100000100001100110111111001011001101111110011011110010000010000011011110100110000000110011011111100101011110010000010000101111101001100000001111111111100110011001100110001101111101001100000001100110111111001011001101111110011011110010000010000010111110100110000000110011011111100101011110010000010000101111101001100000001111111111100110011001100110001010111100101000100001100110111111001011001101111110011011110010100010000010111110100110000000110011011111100101011110010100010000111111101001100000001111111111100110011001100110001111111101001100000001100110111111001011001101111110011011110010100010000011111110100110000000110011011111100101011110010100010000111111101001100000001111111111100110011001100110001010111100100100100001100110111111001011001101111110011011110010010010000011111110100110000000110011011111100101011110010010010000100000011001100000001111111111100110011001100110001100000011001100000001100110111111001011001101111110011011110010010010000010000001100110000000110011011111100101011110010010010000100000011001100000001111111111100110011001100110001010111100101100100001100110111111001011001101111110011011110010110010000010000001100110000000110011011111100101011110010110010000110000011001100000001111111111100110011001100110001110000011001100000001100110111111001011001101111110011011110010110010000011000001100110000000110011011111100101011110010110010000110000011001100000001111111111100110011001100110001010111100100010100001100110111111001011001101111110011011110010001010000011000001100110000000110011011111100101011110010001010000101000011001100000001111111111100110011001100110001101000011001100000001100110111111001011001101111110011011110010001010000010100001100110000000110011011111100101011110010001010000101000011001100000001111111111100110011001100110001010111100101010100001100110111111001011001101111110011011110010101010000010100001100110000000110011011111100101011110010101010000111000011001100000001111111111100110011001100110001111000011001100000001100110111111001011001101111110011011110010101010000011100001100110000000110011011111100101011110010101010000111000011001100000001111111111100110011001100110001010111100100110100001100110111111001011001101111110011011110010011010000011100001100110000000110011011111100101011110010011010000100100011001100000001111111111100110011001100110001100100011001100000001100110111111001011001101111110011011110010011010000010010001100110000000110011011111100101011110010011010000100100011001100000001111111111100110011001100110001010111100101110100001100110111111001011001101111110011011110010111010000010010001100110000000110011011111100101011110010111010000110100011001100000001111111111100110011001100110001110100011001100000001100110111111001011001101111110011011110010111010000011010001100110000000110011011111100101011110010111010000110100011001100000001111111111100110011001100110001010111100100001100001100110111111001011001101111110011011110010000110000011010001100110000000110011011111100101011110010000110000101100011001100000001111111111100110011001100110001101100011001100000001100110111111001011001101111110011011110010000110000010110001100110000000110011011111100101011110010000110000101100011001100000001111111111100110011001100110001010111100101001100001100110111111001011001101111110011011110010100110000010110001100110000000110011011111100101011110010100110000111100011001100000001111111111100110011001100110001111100011001100000001100110111111001011001101111110011011110010100110000011110001100110000000110011011111100101011110010100110000111100011001100000001111111111100110011001100110001010111100100101100001100110111111001011001101111110011011110010010110000011110001100110000000110011011111100101011110010010110000100010011001100000001111111111100110011001100110001100010011001100000001100110111111001011001101111110011011110010010110000010001001100110000000110011011111100101011110010010110000100010011001100000001111111111100110011001100110001010111100101101100001100110111111001011001101111110011011110010110110000010001001100110000000110011011111100101011110010110110000110010011001100000001111111111100110011001100110001110010011001100000001100110111111001011001101111110011011110010110110000011001001100110000000110011011111100101011110010110110000110010011001100000001111111111100110011001100110001010111100100011100001100110111111001011001101111110011011110010001110000011001001100110000000110011011111100101011110010001110000101010011001100000001111111111100110011001100110001101010011001100000001100110111111001011001101111110011011110010001110000010101001100110000000110011011111100101011110010001110000101010011001100000001111111111100110011001100110001010111100101011100001100110111111001011001101111110011011110010101110000010101001100110000000110011011111100101011110010101110000111010011001100000001111111111100110011001100110001111010011001100000001100110111111001011001101111110011011110010101110000011101001100110000000110011011111100101011110010101110000111010011001100000001111111111100110011001100110001010111100100111100001100110111111001011001101111110011011110010011110000011101001100110000000110011011111100101011110010011110000100110011001100000001111111111100110011001100110001100110011001100000001100110111111001011001101111110011011110010011110000010011001100110000000110011011111100101011110010011110000100110011001100000001111111111100110011001100110001010111100101111100001100110111111001011001101111110011011110010111110000010011001100110000000110011011111100101011110010111110000110110011001100000001111111111100110011001100110001110110011001100000001100110111111001011001101111110011011110010111110000011011001100110000000110011011111100101011110010111110000110110011001100000001111111111100110011001100110001010111100100000010001100110111111001011001101111110011011110010000001000011011001100110000000110011011111100101011110010000001000101110011001100000001111111111100110011001100110001101110011001100000001100110111111001011001101111110011011110010000001000010111001100110000000110011011111100101011110010000001000101110011001100000001111111111100110011001100110001010111100101000010001100110111111001011001101111110011011110010100001000010111001100110000000110011011111100101011110010100001000111110011001100000001111111111100110011001100110001111110011001100000001100110111111001011001101111110011011110010100001000011111001100110000000110011011111100101011110010100001000111110011001100000001111111111100110011001100110001010111100100100010001100110111111001011001101111110011011110010010001000011111001100110000000110011011111100101011110010010001000100001011001100000001111111111100110011001100110001100001011001100000001100110111111001011001101111110011011110010010001000010000101100110000000110011011111100101011110010010001000100001011001100000001111111111100110011001100110001010111100101100010001100110111111001011001101111110011011110010110001000010000101100110000000110011011111100101011110010110001000110001011001100000001111111111100110011001100110001110001011001100000001100110111111001011001101111110011011110010110001000011000101100110000000110011011111100101011110010110001000110001011001100000001111111111100110011001100110001010111100100010010001100110111111001011001101111110011011110010001001000011000101100110000000110011011111100101011110010001001000101001011001100000001111111111100110011001100110001101001011001100000001100110111111001011001101111110011011110010001001000010100101100110000000110011011111100101011110010001001000101001011001100000001111111111100110011001100110001010111100101010010001100110111111001011001101111110011011110010101001000010100101100110000000110011011111100101011110010101001000111001011001100000001111111111100110011001100110001111001011001100000001100110111111001011001101111110011011110010101001000011100101100110000000110011011111100101011110010101001000111001011001100000001111111111100110011001100110001010111100100110010001100110111111001011001101111110011011110010011001000011100101100110000000110011011111100101011110010011001000100101011001100000001111111111100110011001100110001100101011001100000001100110111111001011001101111110011011110010011001000010010101100110000000110011011111100101011110010011001000100101011001100000001111111111100110011001100110001010111100101110010001100110111111001011001101111110011011110010111001000010010101100110000000110011011111100101011110010111001000110101011001100000001111111111100110011001100110001110101011001100000001100110111111001011001101111110011011110010111001000011010101100110000000110011011111100101011110010111001000110101011001100000001111111111100110011001100110001010111100100001010001100110111111001011001101111110011011110010000101000011010101100110000000110011011111100101011110010000101000101101011001100000001111111111100110011001100110001101101011001100000001100110111111001011001101111110011011110010000101000010110101100110000000110011011111100101011110010000101000101101011001100000001111111111100110011001100110001010111100101001010001100110111111001011001101111110011011110010100101000010110101100110000000110011011111100101011110010100101000111101011001100000001111111111100110011001100110001111101011001100000001100110111111001011001101111110011011110010100101000011110101100110000000110011011111100101011110010100101000111101011001100000001111111111100110011001100110001010111100100101010001100110111111001011001101111110011011110010010101000011110101100110000000110011011111100101011110010010101000100011011001100000001111111111100110011001100110001100011011001100000001100110111111001011001101111110011011110010010101000010001101100110000000110011011111100101011110010010101000100011011001100000001111111111100110011001100110001010111100101101010001100110111111001011001101111110011011110010110101000010001101100110000000110011011111100101011110010110101000110011011001100000001111111111100110011001100110001110011011001100000001100110111111001011001101111110011011110010110101000011001101100110000000110011011111100101011110010110101000110011011001100000001111111111100110011001100110001010111100100011010001100110111111001011001101111110011011110010001101000011001101100110000000110011011111100101011110010001101000101011011001100000001111111111100110011001100110001101011011001100000001100110111111001011001101111110011011110010001101000010101101100110000000110011011111100101011110010001101000101011011001100000001111111111100110011001100110001010111100101011010001100110111111001011001101111110011011110010101101000010101101100110000000110011011111100101011110010101101000111011011001100000001111111111100110011001100110001111011011001100000001100110111111001011001101111110011011110010101101000011101101100110000000110011011111100101011110010101101000111011011001100000001111111111100110011001100110001010111100100111010001100110111111001011001101111110011011110010011101000011101101100110000000110011011111100101011110010011101000100111011001100000001111111111100110011001100110001100111011001100000001100110111111001011001101111110011011110010011101000010011101100110000000110011011111100101011110010011101000100111011001100000001111111111100110011001100110001010111100101111010001100110111111001011001101111110011011110010111101000010011101100110000000110011011111100101011110010111101000110111011001100000001111111111100110011001100110001110111011001100000001100110111111001011001101111110011011110010111101000011011101100110000000110011011111100101011110010111101000110111011001100000001111111111100110011001100110001010111100100000110001100110111111001011001101111110011011110010000011000011011101100110000000110011011111100101011110010000011000101111011001100000001111111111100110011001100110001101111011001100000001100110111111001011001101111110011011110010000011000010111101100110000000110011011111100101011110010000011000101111011001100000001111111111100110011001100110001010111100101000110001100110111111001011001101111110011011110010100011000010111101100110000000110011011111100101011110010100011000111111011001100000001111111111100110011001100110001111111011001100000001100110111111001011001101111110011011110010100011000011111101100110000000110011011111100101011110010100011000111111011001100000001111111111100110011001100110001010111100100100110001100110111111001011001101111110011011110010010011000011111101100110000000110011011111100101011110010010011000100000111001100000001111111111100110011001100110001100000111001100000001100110111111001011001101111110011011110010010011000010000011100110000000110011011111100101011110010010011000100000111001100000001111111111100110011001100110001001111100100000000001100110111111001011001101111110010111110010000000000010000011100110000000110011011111100100111110010000000000110000111001100000001111111111100110011001100110001110000111001100000001100110111111001011001101111110010111110010000000000011000011100110000000110011011111100100111110010000000000110000111001100000001111111111100110011001100110001001111100101000000001100110111111001011001101111110010111110010100000000011000011100110000000110011011111100100111110010100000000101000111001100000001111111111100110011001100110001101000111001100000001100110111111001011001101111110010111110010100000000010100011100110000000110011011111100100111110010100000000101000111001100000001111111111100110011001100110001001111100100100000001100110111111001011001101111110010111110010010000000010100011100110000000110011011111100100111110010010000000111000111001100000001111111111100110011001100110001111000111001100000001100110111111001011001101111110010111110010010000000011100011100110000000110011011111100100111110010010000000111000111001100000001111111111100110011001100110001001111100101100000001100110111111001011001101111110010111110010110000000011100011100110000000110011011111100100111110010110000000100100111001100000001111111111100110011001100110001100100111001100000001100110111111001011001101111110010111110010110000000010010011100110000000110011011111100100111110010110000000100100111001100000001111111111100110011001100110001001111100100010000001100110111111001011001101111110010111110010001000000010010011100110000000110011011111100100111110010001000000110100111001100000001111111111100110011001100110001110100111001100000001100110111111001011001101111110010111110010001000000011010011100110000000110011011111100100111110010001000000110100111001100000001111111111100110011001100110001001111100101010000001100110111111001011001101111110010111110010101000000011010011100110000000110011011111100100111110010101000000101100111001100000001111111111100110011001100110001101100111001100000001100110111111001011001101111110010111110010101000000010110011100110000000110011011111100100111110010101000000101100111001100000001111111111100110011001100110001001111100100110000001100110111111001011001101111110010111110010011000000010110011100110000000110011011111100100111110010011000000111100111001100000001111111111100110011001100110001111100111001100000001100110111111001011001101111110010111110010011000000011110011100110000000110011011111100100111110010011000000111100111001100000001111111111100110011001100110001001111100101110000001100110111111001011001101111110010111110010111000000011110011100110000000110011011111100100111110010111000000100010111001100000001111111111100110011001100110001100010111001100000001100110111111001011001101111110010111110010111000000010001011100110000000110011011111100100111110010111000000100010111001100000001111111111100110011001100110001001111100100001000001100110111111001011001101111110010111110010000100000010001011100110000000110011011111100100111110010000100000110010111001100000001111111111100110011001100110001110010111001100000001100110111111001011001101111110010111110010000100000011001011100110000000110011011111100100111110010000100000110010111001100000001111111111100110011001100110001001111100101001000001100110111111001011001101111110010111110010100100000011001011100110000000110011011111100100111110010100100000101010111001100000001111111111100110011001100110001101010111001100000001100110111111001011001101111110010111110010100100000010101011100110000000110011011111100100111110010100100000101010111001100000001111111111100110011001100110001001111100100101000001100110111111001011001101111110010111110010010100000010101011100110000000110011011111100100111110010010100000111010111001100000001111111111100110011001100110001111010111001100000001100110111111001011001101111110010111110010010100000011101011100110000000110011011111100100111110010010100000111010111001100000001111111111100110011001100110001001111100101101000001100110111111001011001101111110010111110010110100000011101011100110000000110011011111100100111110010110100000100110111001100000001111111111100110011001100110001100110111001100000001100110111111001011001101111110010111110010110100000010011011100110000000110011011111100100111110010110100000100110111001100000001111111111100110011001100110001001111100100011000001100110111111001011001101111110010111110010001100000010011011100110000000110011011111100100111110010001100000110110111001100000001111111111100110011001100110001110110111001100000001100110111111001011001101111110010111110010001100000011011011100110000000110011011111100100111110010001100000110110111001100000001111111111100110011001100110001001111100101011000001100110111111001011001101111110010111110010101100000011011011100110000000110011011111100100111110010101100000101110111001100000001111111111100110011001100110001101110111001100000001100110111111001011001101111110010111110010101100000010111011100110000000110011011111100100111110010101100000101110111001100000001111111111100110011001100110001001111100100111000001100110111111001011001101111110010111110010011100000010111011100110000000110011011111100100111110010011100000111110111001100000001111111111100110011001100110001111110111001100000001100110111111001011001101111110010111110010011100000011111011100110000000110011011111100100111110010011100000111110111001100000001111111111100110011001100110001001111100101111000001100110111111001011001101111110010111110010111100000011111011100110000000110011011111100100111110010111100000100001111001100000001111111111100110011001100110001100001111001100000001100110111111001011001101111110010111110010111100000010000111100110000000110011011111100100111110010111100000100001111001100000001111111111100110011001100110001001111100100000100001100110111111001011001101111110010111110010000010000010000111100110000000110011011111100100111110010000010000110001111001100000001111111111100110011001100110001110001111001100000001100110111111001011001101111110010111110010000010000011000111100110000000110011011111100100111110010000010000110001111001100000001111111111100110011001100110001001111100101000100001100110111111001011001101111110010111110010100010000011000111100110000000110011011111100100111110010100010000101001111001100000001111111111100110011001100110001101001111001100000001100110111111001011001101111110010111110010100010000010100111100110000000110011011111100100111110010100010000101001111001100000001111111111100110011001100110001001111100100100100001100110111111001011001101111110010111110010010010000010100111100110000000110011011111100100111110010010010000111001111001100000001111111111100110011001100110001111001111001100000001100110111111001011001101111110010111110010010010000011100111100110000000110011011111100100111110010010010000111001111001100000001111111111100110011001100110001001111100101100100001100110111111001011001101111110010111110010110010000011100111100110000000110011011111100100111110010110010000100101111001100000001111111111100110011001100110001100101111001100000001100110111111001011001101111110010111110010110010000010010111100110000000110011011111100100111110010110010000100101111001100000001111111111100110011001100110001001111100100010100001100110111111001011001101111110010111110010001010000010010111100110000000110011011111100100111110010001010000110101111001100000001111111111100110011001100110001110101111001100000001100110111111001011001101111110010111110010001010000011010111100110000000110011011111100100111110010001010000110101111001100000001111111111100110011001100110001001111100101010100001100110111111001011001101111110010111110010101010000011010111100110000000110011011111100100111110010101010000101101111001100000001111111111100110011001100110001101101111001100000001100110111111001011001101111110010111110010101010000010110111100110000000110011011111100100111110010101010000101101111001100000001111111111100110011001100110001001111100100110100001100110111111001011001101111110010111110010011010000010110111100110000000110011011111100100111110010011010000111101111001100000001111111111100110011001100110001111101111001100000001100110111111001011001101111110010111110010011010000011110111100110000000110011011111100100111110010011010000111101111001100000001111111111100110011001100110001001111100101110100001100110111111001011001101111110010111110010111010000011110111100110000000110011011111100100111110010111010000100011111001100000001111111111100110011001100110001100011111001100000001100110111111001011001101111110010111110010111010000010001111100110000000110011011111100100111110010111010000100011111001100000001111111111100110011001100110001001111100100001100001100110111111001011001101111110010111110010000110000010001111100110000000110011011111100100111110010000110000110011111001100000001111111111100110011001100110001110011111001100000001100110111111001011001101111110010111110010000110000011001111100110000000110011011111100100111110010000110000110011111001100000001111111111100110011001100110001001111100101001100001100110111111001011001101111110010111110010100110000011001111100110000000110011011111100100111110010100110000101011111001100000001111111111100110011001100110001101011111001100000001100110111111001011001101111110010111110010100110000010101111100110000000110011011111100100111110010100110000101011111001100000001111111111100110011001100110001001111100100101100001100110111111001011001101111110010111110010010110000010101111100110000000110011011111100100111110010010110000111011111001100000001111111111100110011001100110001111011111001100000001100110111111001011001101111110010111110010010110000011101111100110000000110011011111100100111110010010110000111011111001100000001111111111100110011001100110001001111100101101100001100110111111001011001101111110010111110010110110000011101111100110000000110011011111100100111110010110110000100111111001100000001111111111100110011001100110001100111111001100000001100110111111001011001101111110010111110010110110000010011111100110000000110011011111100100111110010110110000100111111001100000001111111111100110011001100110001001111100100011100001100110111111001011001101111110010111110010001110000010011111100110000000110011011111100100111110010001110000110111111001100000001111111111100110011001100110001110111111001100000001100110111111001011001101111110010111110010001110000011011111100110000000110011011111100100111110010001110000110111111001100000001111111111100110011001100110001001111100101011100001100110111111001011001101111110010111110010101110000011011111100110000000110011011111100100111110010101110000101111111001100000001111111111100110011001100110001101111111001100000001100110111111001011001101111110010111110010101110000010111111100110000000110011011111100100111110010101110000101111111001100000001111111111100110011001100110001001111100100111100001100110111111001011001101111110010111110010011110000010111111100110000000110011011111100100111110010011110000111111111001100000001111111111100110011001100110001111111111001100000001100110111111001011001101111110010111110010011110000011111111100110000000110011011111100100111110010011110000111111111001100000001111111111100110011001100110001001111100101111100001100110111111001011001101111110010111110010111110000011111111100110000000110011011111100100111110010111110000100000000101100000001111111111100110011001100110001100000000101100000001100110111111001011001101111110010111110010111110000010000000010110000000110011011111100100111110010111110000100000000101100000001111111111100110011001100110001001111100100000010001100110111111001011001101111110010111110010000001000010000000010110000000110011011111100100111110010000001000110000000101100000001111111111100110011001100110001110000000101100000001100110111111001011001101111110010111110010000001000011000000010110000000110011011111100100111110010000001000110000000101100000001111111111100110011001100110001001111100101000010001100110111111001011001101111110010111110010100001000011000000010110000000110011011111100100111110010100001000101000000101100000001111111111100110011001100110001101000000101100000001100110111111001011001101111110010111110010100001000010100000010110000000110011011111100100111110010100001000101000000101100000001111111111100110011001100110001001111100100100010001100110111111001011001101111110010111110010010001000010100000010110000000110011011111100100111110010010001000111000000101100000001111111111100110011001100110001111000000101100000001100110111111001011001101111110010111110010010001000011100000010110000000110011011111100100111110010010001000111000000101100000001111111111100110011001100110001001111100101100010001100110111111001011001101111110010111110010110001000011100000010110000000110011011111100100111110010110001000100100000101100000001111111111100110011001100110001100100000101100000001100110111111001011001101111110010111110010110001000010010000010110000000110011011111100100111110010110001000100100000101100000001111111111100110011001100110001001111100100010010001100110111111001011001101111110010111110010001001000010010000010110000000110011011111100100111110010001001000110100000101100000001111111111100110011001100110001110100000101100000001100110111111001011001101111110010111110010001001000011010000010110000000110011011111100100111110010001001000110100000101100000001111111111100110011001100110001001111100101010010001100110111111001011001101111110010111110010101001000011010000010110000000110011011111100100111110010101001000101100000101100000001111111111100110011001100110001101100000101100000001100110111111001011001101111110010111110010101001000010110000010110000000110011011111100100111110010101001000101100000101100000001111111111100110011001100110001001111100100110010001100110111111001011001101111110010111110010011001000010110000010110000000110011011111100100111110010011001000111100000101100000001111111111100110011001100110001111100000101100000001100110111111001011001101111110010111110010011001000011110000010110000000110011011111100100111110010011001000111100000101100000001111111111100110011001100110001001111100101110010001100110111111001011001101111110010111110010111001000011110000010110000000110011011111100100111110010111001000100010000101100000001111111111100110011001100110001100010000101100000001100110111111001011001101111110010111110010111001000010001000010110000000110011011111100100111110010111001000100010000101100000001111111111100110011001100110001001111100100001010001100110111111001011001101111110010111110010000101000010001000010110000000110011011111100100111110010000101000110010000101100000001111111111100110011001100110001110010000101100000001100110111111001011001101111110010111110010000101000011001000010110000000110011011111100100111110010000101000110010000101100000001111111111100110011001100110001001111100101001010001100110111111001011001101111110010111110010100101000011001000010110000000110011011111100100111110010100101000101010000101100000001111111111100110011001100110001101010000101100000001100110111111001011001101111110010111110010100101000010101000010110000000110011011111100100111110010100101000101010000101100000001111111111100110011001100110001001111100100101010001100110111111001011001101111110010111110010010101000010101000010110000000110011011111100100111110010010101000111010000101100000001111111111100110011001100110001111010000101100000001100110111111001011001101111110010111110010010101000011101000010110000000110011011111100100111110010010101000111010000101100000001111111111100110011001100110001001111100101101010001100110111111001011001101111110010111110010110101000011101000010110000000110011011111100100111110010110101000100110000101100000001111111111100110011001100110001100110000101100000001100110111111001011001101111110010111110010110101000010011000010110000000110011011111100100111110010110101000100110000101100000001111111111100110011001100110001001111100100011010001100110111111001011001101111110010111110010001101000010011000010110000000110011011111100100111110010001101000110110000101100000001111111111100110011001100110001110110000101100000001100110111111001011001101111110010111110010001101000011011000010110000000110011011111100100111110010001101000110110000101100000001111111111100110011001100110001001111100101011010001100110111111001011001101111110010111110010101101000011011000010110000000110011011111100100111110010101101000101110000101100000001111111111100110011001100110001101110000101100000001100110111111001011001101111110010111110010101101000010111000010110000000110011011111100100111110010101101000101110000101100000001111111111100110011001100110001001111100100111010001100110111111001011001101111110010111110010011101000010111000010110000000110011011111100100111110010011101000111110000101100000001111111111100110011001100110001111110000101100000001100110111111001011001101111110010111110010011101000011111000010110000000110011011111100100111110010011101000111110000101100000001111111111100110011001100110001001111100101111010001100110111111001011001101111110010111110010111101000011111000010110000000110011011111100100111110010111101000100001000101100000001111111111100110011001100110001100001000101100000001100110111111001011001101111110010111110010111101000010000100010110000000110011011111100100111110010111101000100001000101100000001111111111100110011001100110001001111100100000110001100110111111001011001101111110010111110010000011000010000100010110000000110011011111100100111110010000011000110001000101100000001111111111100110011001100110001110001000101100000001100110111111001011001101111110010111110010000011000011000100010110000000110011011111100100111110010000011000110001000101100000001111111111100110011001100110001001111100101000110001100110111111001011001101111110010111110010100011000011000100010110000000110011011111100100111110010100011000101001000101100000001111111111100110011001100110001101001000101100000001100110111111001011001101111110010111110010100011000010100100010110000000110011011111100100111110010100011000101001000101100000001111111111100110011001100110001001111100100100110001100110111111001011001101111110010111110010010011000010100100010110000000110011011111100100111110010010011000111001000101100000001111111111100110011001100110001111001000101100000001100110111111001011001101111110010111110010010011000011100100010110000000110011011111100100111110010010011000111001000101100000001111111111100110011001100110001011111100100000000001100110111111001011001101111110011111110010000000000011100100010110000000110011011111100101111110010000000000100101000101100000001111111111100110011001100110001100101000101100000001100110111111001011001101111110011111110010000000000010010100010110000000110011011111100101111110010000000000100101000101100000001111111111100110011001100110001011111100101000000001100110111111001011001101111110011111110010100000000010010100010110000000110011011111100101111110010100000000110101000101100000001111111111100110011001100110001110101000101100000001100110111111001011001101111110011111110010100000000011010100010110000000110011011111100101111110010100000000110101000101100000001111111111100110011001100110001011111100100100000001100110111111001011001101111110011111110010010000000011010100010110000000110011011111100101111110010010000000101101000101100000001111111111100110011001100110001101101000101100000001100110111111001011001101111110011111110010010000000010110100010110000000110011011111100101111110010010000000101101000101100000001111111111100110011001100110001011111100101100000001100110111111001011001101111110011111110010110000000010110100010110000000110011011111100101111110010110000000111101000101100000001111111111100110011001100110001111101000101100000001100110111111001011001101111110011111110010110000000011110100010110000000110011011111100101111110010110000000111101000101100000001111111111100110011001100110001011111100100010000001100110111111001011001101111110011111110010001000000011110100010110000000110011011111100101111110010001000000100011000101100000001111111111100110011001100110001100011000101100000001100110111111001011001101111110011111110010001000000010001100010110000000110011011111100101111110010001000000100011000101100000001111111111100110011001100110001011111100101010000001100110111111001011001101111110011111110010101000000010001100010110000000110011011111100101111110010101000000110011000101100000001111111111100110011001100110001110011000101100000001100110111111001011001101111110011111110010101000000011001100010110000000110011011111100101111110010101000000110011000101100000001111111111100110011001100110001011111100100110000001100110111111001011001101111110011111110010011000000011001100010110000000110011011111100101111110010011000000101011000101100000001111111111100110011001100110001101011000101100000001100110111111001011001101111110011111110010011000000010101100010110000000110011011111100101111110010011000000101011000101100000001111111111100110011001100110001011111100101110000001100110111111001011001101111110011111110010111000000010101100010110000000110011011111100101111110010111000000111011000101100000001111111111100110011001100110001111011000101100000001100110111111001011001101111110011111110010111000000011101100010110000000110011011111100101111110010111000000111011000101100000001111111111100110011001100110001011111100100001000001100110111111001011001101111110011111110010000100000011101100010110000000110011011111100101111110010000100000100111000101100000001111111111100110011001100110001100111000101100000001100110111111001011001101111110011111110010000100000010011100010110000000110011011111100101111110010000100000100111000101100000001111111111100110011001100110001011111100101001000001100110111111001011001101111110011111110010100100000010011100010110000000110011011111100101111110010100100000110111000101100000001111111111100110011001100110001110111000101100000001100110111111001011001101111110011111110010100100000011011100010110000000110011011111100101111110010100100000110111000101100000001111111111100110011001100110001011111100100101000001100110111111001011001101111110011111110010010100000011011100010110000000110011011111100101111110010010100000101111000101100000001111111111100110011001100110001101111000101100000001100110111111001011001101111110011111110010010100000010111100010110000000110011011111100101111110010010100000101111000101100000001111111111100110011001100110001011111100101101000001100110111111001011001101111110011111110010110100000010111100010110000000110011011111100101111110010110100000111111000101100000001111111111100110011001100110001111111000101100000001100110111111001011001101111110011111110010110100000011111100010110000000110011011111100101111110010110100000111111000101100000001111111111100110011001100110001011111100100011000001100110111111001011001101111110011111110010001100000011111100010110000000110011011111100101111110010001100000100000100101100000001111111111100110011001100110001100000100101100000001100110111111001011001101111110011111110010001100000010000010010110000000110011011111100101111110010001100000100000100101100000001111111111100110011001100110001011111100101011000001100110111111001011001101111110011111110010101100000010000010010110000000110011011111100101111110010101100000110000100101100000001111111111100110011001100110001110000100101100000001100110111111001011001101111110011111110010101100000011000010010110000000110011011111100101111110010101100000110000100101100000001111111111100110011001100110001011111100100111000001100110111111001011001101111110011111110010011100000011000010010110000000110011011111100101111110010011100000101000100101100000001111111111100110011001100110001101000100101100000001100110111111001011001101111110011111110010011100000010100010010110000000110011011111100101111110010011100000101000100101100000001111111111100110011001100110001011111100101111000001100110111111001011001101111110011111110010111100000010100010010110000000110011011111100101111110010111100000111000100101100000001111111111100110011001100110001111000100101100000001100110111111001011001101111110011111110010111100000011100010010110000000110011011111100101111110010111100000111000100101100000001111111111100110011001100110001011111100100000100001100110111111001011001101111110011111110010000010000011100010010110000000110011011111100101111110010000010000100100100101100000001111111111100110011001100110001100100100101100000001100110111111001011001101111110011111110010000010000010010010010110000000110011011111100101111110010000010000100100100101100000001111111111100110011001100110001011111100101000100001100110111111001011001101111110011111110010100010000010010010010110000000110011011111100101111110010100010000110100100101100000001111111111100110011001100110001110100100101100000001100110111111001011001101111110011111110010100010000011010010010110000000110011011111100101111110010100010000110100100101100000001111111111100110011001100110001011111100100100100001100110111111001011001101111110011111110010010010000011010010010110000000110011011111100101111110010010010000101100100101100000001111111111100110011001100110001101100100101100000001100110111111001011001101111110011111110010010010000010110010010110000000110011011111100101111110010010010000101100100101100000001111111111100110011001100110001011111100101100100001100110111111001011001101111110011111110010110010000010110010010110000000110011011111100101111110010110010000111100100101100000001111111111100110011001100110001111100100101100000001100110111111001011001101111110011111110010110010000011110010010110000000110011011111100101111110010110010000111100100101100000001111111111100110011001100110001011111100100010100001100110111111001011001101111110011111110010001010000011110010010110000000110011011111100101111110010001010000100010100101100000001111111111100110011001100110001100010100101100000001100110111111001011001101111110011111110010001010000010001010010110000000110011011111100101111110010001010000100010100101100000001111111111100110011001100110001011111100101010100001100110111111001011001101111110011111110010101010000010001010010110000000110011011111100101111110010101010000110010100101100000001111111111100110011001100110001110010100101100000001100110111111001011001101111110011111110010101010000011001010010110000000110011011111100101111110010101010000110010100101100000001111111111100110011001100110001011111100100110100001100110111111001011001101111110011111110010011010000011001010010110000000110011011111100101111110010011010000101010100101100000001111111111100110011001100110001101010100101100000001100110111111001011001101111110011111110010011010000010101010010110000000110011011111100101111110010011010000101010100101100000001111111111100110011001100110001011111100101110100001100110111111001011001101111110011111110010111010000010101010010110000000110011011111100101111110010111010000111010100101100000001111111111100110011001100110001111010100101100000001100110111111001011001101111110011111110010111010000011101010010110000000110011011111100101111110010111010000111010100101100000001111111111100110011001100110001011111100100001100001100110111111001011001101111110011111110010000110000011101010010110000000110011011111100101111110010000110000100110100101100000001111111111100110011001100110001100110100101100000001100110111111001011001101111110011111110010000110000010011010010110000000110011011111100101111110010000110000100110100101100000001111111111100110011001100110001011111100101001100001100110111111001011001101111110011111110010100110000010011010010110000000110011011111100101111110010100110000110110100101100000001111111111100110011001100110001110110100101100000001100110111111001011001101111110011111110010100110000011011010010110000000110011011111100101111110010100110000110110100101100000001111111111100110011001100110001011111100100101100001100110111111001011001101111110011111110010010110000011011010010110000000110011011111100101111110010010110000101110100101100000001111111111100110011001100110001101110100101100000001100110111111001011001101111110011111110010010110000010111010010110000000110011011111100101111110010010110000101110100101100000001111111111100110011001100110001011111100101101100001100110111111001011001101111110011111110010110110000010111010010110000000110011011111100101111110010110110000111110100101100000001111111111100110011001100110001111110100101100000001100110111111001011001101111110011111110010110110000011111010010110000000110011011111100101111110010110110000111110100101100000001111111111100110011001100110001011111100100011100001100110111111001011001101111110011111110010001110000011111010010110000000110011011111100101111110010001110000100001100101100000001111111111100110011001100110001100001100101100000001100110111111001011001101111110011111110010001110000010000110010110000000110011011111100101111110010001110000100001100101100000001111111111100110011001100110001011111100101011100001100110111111001011001101111110011111110010101110000010000110010110000000110011011111100101111110010101110000110001100101100000001111111111100110011001100110001110001100101100000001100110111111001011001101111110011111110010101110000011000110010110000000110011011111100101111110010101110000110001100101100000001111111111100110011001100110001011111100100111100001100110111111001011001101111110011111110010011110000011000110010110000000110011011111100101111110010011110000101001100101100000001111111111100110011001100110001101001100101100000001100110111111001011001101111110011111110010011110000010100110010110000000110011011111100101111110010011110000101001100101100000001111111111100110011001100110001011111100101111100001100110111111001011001101111110011111110010111110000010100110010110000000110011011111100101111110010111110000111001100101100000001111111111100110011001100110001111001100101100000001100110111111001011001101111110011111110010111110000011100110010110000000110011011111100101111110010111110000111001100101100000001111111111100110011001100110001011111100100000010001100110111111001011001101111110011111110010000001000011100110010110000000110011011111100101111110010000001000100101100101100000001111111111100110011001100110001100101100101100000001100110111111001011001101111110011111110010000001000010010110010110000000110011011111100101111110010000001000100101100101100000001111111111100110011001100110001011111100101000010001100110111111001011001101111110011111110010100001000010010110010110000000110011011111100101111110010100001000110101100101100000001111111111100110011001100110001110101100101100000001100110111111001011001101111110011111110010100001000011010110010110000000110011011111100101111110010100001000110101100101100000001111111111100110011001100110001011111100100100010001100110111111001011001101111110011111110010010001000011010110010110000000110011011111100101111110010010001000101101100101100000001111111111100110011001100110001101101100101100000001100110111111001011001101111110011111110010010001000010110110010110000000110011011111100101111110010010001000101101100101100000001111111111100110011001100110001011111100101100010001100110111111001011001101111110011111110010110001000010110110010110000000110011011111100101111110010110001000111101100101100000001111111111100110011001100110001111101100101100000001100110111111001011001101111110011111110010110001000011110110010110000000110011011111100101111110010110001000111101100101100000001111111111100110011001100110001011111100100010010001100110111111001011001101111110011111110010001001000011110110010110000000110011011111100101111110010001001000100011100101100000001111111111100110011001100110001100011100101100000001100110111111001011001101111110011111110010001001000010001110010110000000110011011111100101111110010001001000100011100101100000001111111111100110011001100110001011111100101010010001100110111111001011001101111110011111110010101001000010001110010110000000110011011111100101111110010101001000110011100101100000001111111111100110011001100110001110011100101100000001100110111111001011001101111110011111110010101001000011001110010110000000110011011111100101111110010101001000110011100101100000001111111111100110011001100110001011111100100110010001100110111111001011001101111110011111110010011001000011001110010110000000110011011111100101111110010011001000101011100101100000001111111111100110011001100110001101011100101100000001100110111111001011001101111110011111110010011001000010101110010110000000110011011111100101111110010011001000101011100101100000001111111111100110011001100110001011111100101110010001100110111111001011001101111110011111110010111001000010101110010110000000110011011111100101111110010111001000111011100101100000001111111111100110011001100110001111011100101100000001100110111111001011001101111110011111110010111001000011101110010110000000110011011111100101111110010111001000111011100101100000001111111111100110011001100110001011111100100001010001100110111111001011001101111110011111110010000101000011101110010110000000110011011111100101111110010000101000100111100101100000001111111111100110011001100110001100111100101100000001100110111111001011001101111110011111110010000101000010011110010110000000110011011111100101111110010000101000100111100101100000001111111111100110011001100110001011111100101001010001100110111111001011001101111110011111110010100101000010011110010110000000110011011111100101111110010100101000110111100101100000001111111111100110011001100110001110111100101100000001100110111111001011001101111110011111110010100101000011011110010110000000110011011111100101111110010100101000110111100101100000001111111111100110011001100110001011111100100101010001100110111111001011001101111110011111110010010101000011011110010110000000110011011111100101111110010010101000101111100101100000001111111111100110011001100110001101111100101100000001100110111111001011001101111110011111110010010101000010111110010110000000110011011111100101111110010010101000101111100101100000001111111111100110011001100110001011111100101101010001100110111111001011001101111110011111110010110101000010111110010110000000110011011111100101111110010110101000111111100101100000001111111111100110011001100110001111111100101100000001100110111111001011001101111110011111110010110101000011111110010110000000110011011111100101111110010110101000111111100101100000001111111111100110011001100110001011111100100011010001100110111111001011001101111110011111110010001101000011111110010110000000110011011111100101111110010001101000100000010101100000001111111111100110011001100110001100000010101100000001100110111111001011001101111110011111110010001101000010000001010110000000110011011111100101111110010001101000100000010101100000001111111111100110011001100110001011111100101011010001100110111111001011001101111110011111110010101101000010000001010110000000110011011111100101111110010101101000110000010101100000001111111111100110011001100110001110000010101100000001100110111111001011001101111110011111110010101101000011000001010110000000110011011111100101111110010101101000110000010101100000001111111111100110011001100110001011111100100111010001100110111111001011001101111110011111110010011101000011000001010110000000110011011111100101111110010011101000101000010101100000001111111111100110011001100110001101000010101100000001100110111111001011001101111110011111110010011101000010100001010110000000110011011111100101111110010011101000101000010101100000001111111111100110011001100110001011111100101111010001100110111111001011001101111110011111110010111101000010100001010110000000110011011111100101111110010111101000111000010101100000001111111111100110011001100110001111000010101100000001100110111111001011001101111110011111110010111101000011100001010110000000110011011111100101111110010111101000111000010101100000001111111111100110011001100110001011111100100000110001100110111111001011001101111110011111110010000011000011100001010110000000110011011111100101111110010000011000100100010101100000001111111111100110011001100110001100100010101100000001100110111111001011001101111110011111110010000011000010010001010110000000110011011111100101111110010000011000100100010101100000001111111111100110011001100110001011111100101000110001100110111111001011001101111110011111110010100011000010010001010110000000110011011111100101111110010100011000110100010101100000001111111111100110011001100110001110100010101100000001100110111111001011001101111110011111110010100011000011010001010110000000110011011111100101111110010100011000110100010101100000001111111111100110011001100110001011111100100100110001100110111111001011001101111110011111110010010011000011010001010110000000110011011111100101111110010010011000101100010101100000001111111111100110011001100110001101100010101100000001100110111111001011001101111110011111110010010011000010110001010110000000110011011111100101111110010010011000101100010101100000001111111111100110011001100110001000000010100000000001100110111111001011001101111110010000001010000000000010110001010110000000110011011111100100000001010000000000111100010101100000001111111111100110011001100110001111100010101100000001100110111111001011001101111110010000001010000000000011110001010110000000110011011111100100000001010000000000111100010101100000001111111111100110011001100110001000000010101000000001100110111111001011001101111110010000001010100000000011110001010110000000110011011111100100000001010100000000100010010101100000001111111111100110011001100110001100010010101100000001100110111111001011001101111110010000001010100000000010001001010110000000110011011111100100000001010100000000100010010101100000001111111111100110011001100110001000000010100100000001100110111111001011001101111110010000001010010000000010001001010110000000110011011111100100000001010010000000110010010101100000001111111111100110011001100110001110010010101100000001100110111111001011001101111110010000001010010000000011001001010110000000110011011111100100000001010010000000110010010101100000001111111111100110011001100110001000000010101100000001100110111111001011001101111110010000001010110000000011001001010110000000110011011111100100000001010110000000101010010101100000001111111111100110011001100110001101010010101100000001100110111111001011001101111110010000001010110000000010101001010110000000110011011111100100000001010110000000101010010101100000001111111111100110011001100110001000000010100010000001100110111111001011001101111110010000001010001000000010101001010110000000110011011111100100000001010001000000111010010101100000001111111111100110011001100110001111010010101100000001100110111111001011001101111110010000001010001000000011101001010110000000110011011111100100000001010001000000111010010101100000001111111111100110011001100110001000000010101010000001100110111111001011001101111110010000001010101000000011101001010110000000110011011111100100000001010101000000100110010101100000001111111111100110011001100110001100110010101100000001100110111111001011001101111110010000001010101000000010011001010110000000110011011111100100000001010101000000100110010101100000001111111111100110011001100110001000000010100110000001100110111111001011001101111110010000001010011000000010011001010110000000110011011111100100000001010011000000110110010101100000001111111111100110011001100110001110110010101100000001100110111111001011001101111110010000001010011000000011011001010110000000110011011111100100000001010011000000110110010101100000001111111111100110011001100110001000000010101110000001100110111111001011001101111110010000001010111000000011011001010110000000110011011111100100000001010111000000101110010101100000001111111111100110011001100110001101110010101100000001100110111111001011001101111110010000001010111000000010111001010110000000110011011111100100000001010111000000101110010101100000001111111111100110011001100110001000000010100001000001100110111111001011001101111110010000001010000100000010111001010110000000110011011111100100000001010000100000111110010101100000001111111111100110011001100110001111110010101100000001100110111111001011001101111110010000001010000100000011111001010110000000110011011111100100000001010000100000111110010101100000001111111111100110011001100110001000000010101001000001100110111111001011001101111110010000001010100100000011111001010110000000110011011111100100000001010100100000100001010101100000001111111111100110011001100110001100001010101100000001100110111111001011001101111110010000001010100100000010000101010110000000110011011111100100000001010100100000100001010101100000001111111111100110011001100110001000000010100101000001100110111111001011001101111110010000001010010100000010000101010110000000110011011111100100000001010010100000110001010101100000001111111111100110011001100110001110001010101100000001100110111111001011001101111110010000001010010100000011000101010110000000110011011111100100000001010010100000110001010101100000001111111111100110011001100110001000000010101101000001100110111111001011001101111110010000001010110100000011000101010110000000110011011111100100000001010110100000101001010101100000001111111111100110011001100110001101001010101100000001100110111111001011001101111110010000001010110100000010100101010110000000110011011111100100000001010110100000101001010101100000001111111111100110011001100110001000000010100011000001100110111111001011001101111110010000001010001100000010100101010110000000110011011111100100000001010001100000111001010101100000001111111111100110011001100110001111001010101100000001100110111111001011001101111110010000001010001100000011100101010110000000110011011111100100000001010001100000111001010101100000001111111111100110011001100110001000000010101011000001100110111111001011001101111110010000001010101100000011100101010110000000110011011111100100000001010101100000100101010101100000001111111111100110011001100110001100101010101100000001100110111111001011001101111110010000001010101100000010010101010110000000110011011111100100000001010101100000100101010101100000001111111111100110011001100110001000000010100111000001100110111111001011001101111110010000001010011100000010010101010110000000110011011111100100000001010011100000110101010101100000001111111111100110011001100110001110101010101100000001100110111111001011001101111110010000001010011100000011010101010110000000110011011111100100000001010011100000110101010101100000001111111111100110011001100110001000000010101111000001100110111111001011001101111110010000001010111100000011010101010110000000110011011111100100000001010111100000101101010101100000001111111111100110011001100110001101101010101100000001100110111111001011001101111110010000001010111100000010110101010110000000110011011111100100000001010111100000101101010101100000001111111111100110011001100110001000000010100000100001100110111111001011001101111110010000001010000010000010110101010110000000110011011111100100000001010000010000111101010101100000001111111111100110011001100110001111101010101100000001100110111111001011001101111110010000001010000010000011110101010110000000110011011111100100000001010000010000111101010101100000001111111111100110011001100110001000000010101000100001100110111111001011001101111110010000001010100010000011110101010110000000110011011111100100000001010100010000100011010101100000001111111111100110011001100110001100011010101100000001100110111111001011001101111110010000001010100010000010001101010110000000110011011111100100000001010100010000100011010101100000001111111111100110011001100110001000000010100100100001100110111111001011001101111110010000001010010010000010001101010110000000110011011111100100000001010010010000110011010101100000001111111111100110011001100110001110011010101100000001100110111111001011001101111110010000001010010010000011001101010110000000110011011111100100000001010010010000110011010101100000001111111111100110011001100110001000000010101100100001100110111111001011001101111110010000001010110010000011001101010110000000110011011111100100000001010110010000101011010101100000001111111111100110011001100110001101011010101100000001100110111111001011001101111110010000001010110010000010101101010110000000110011011111100100000001010110010000101011010101100000001111111111100110011001100110001000000010100010100001100110111111001011001101111110010000001010001010000010101101010110000000110011011111100100000001010001010000111011010101100000001111111111100110011001100110001111011010101100000001100110111111001011001101111110010000001010001010000011101101010110000000110011011111100100000001010001010000111011010101100000001111111111100110011001100110001000000010101010100001100110111111001011001101111110010000001010101010000011101101010110000000110011011111100100000001010101010000100111010101100000001111111111100110011001100110001100111010101100000001100110111111001011001101111110010000001010101010000010011101010110000000110011011111100100000001010101010000100111010101100000001111111111100110011001100110001000000010100110100001100110111111001011001101111110010000001010011010000010011101010110000000110011011111100100000001010011010000110111010101100000001111111111100110011001100110001110111010101100000001100110111111001011001101111110010000001010011010000011011101010110000000110011011111100100000001010011010000110111010101100000001111111111100110011001100110001000000010101110100001100110111111001011001101111110010000001010111010000011011101010110000000110011011111100100000001010111010000101111010101100000001111111111100110011001100110001101111010101100000001100110111111001011001101111110010000001010111010000010111101010110000000110011011111100100000001010111010000101111010101100000001111111111100110011001100110001000000010100001100001100110111111001011001101111110010000001010000110000010111101010110000000110011011111100100000001010000110000111111010101100000001111111111100110011001100110001111111010101100000001100110111111001011001101111110010000001010000110000011111101010110000000110011011111100100000001010000110000111111010101100000001111111111100110011001100110001000000010101001100001100110111111001011001101111110010000001010100110000011111101010110000000110011011111100100000001010100110000100000110101100000001111111111100110011001100110001100000110101100000001100110111111001011001101111110010000001010100110000010000011010110000000110011011111100100000001010100110000100000110101100000001111111111100110011001100110001000000010100101100001100110111111001011001101111110010000001010010110000010000011010110000000110011011111100100000001010010110000110000110101100000001111111111100110011001100110001110000110101100000001100110111111001011001101111110010000001010010110000011000011010110000000110011011111100100000001010010110000110000110101100000001111111111100110011001100110001000000010101101100001100110111111001011001101111110010000001010110110000011000011010110000000110011011111100100000001010110110000101000110101100000001111111111100110011001100110001101000110101100000001100110111111001011001101111110010000001010110110000010100011010110000000110011011111100100000001010110110000101000110101100000001111111111100110011001100110001000000010100011100001100110111111001011001101111110010000001010001110000010100011010110000000110011011111100100000001010001110000111000110101100000001111111111100110011001100110001111000110101100000001100110111111001011001101111110010000001010001110000011100011010110000000110011011111100100000001010001110000111000110101100000001111111111100110011001100110001000000010101011100001100110111111001011001101111110010000001010101110000011100011010110000000110011011111100100000001010101110000100100110101100000001111111111100110011001100110001100100110101100000001100110111111001011001101111110010000001010101110000010010011010110000000110011011111100100000001010101110000100100110101100000001111111111100110011001100110001000000010100111100001100110111111001011001101111110010000001010011110000010010011010110000000110011011111100100000001010011110000110100110101100000001111111111100110011001100110001110100110101100000001100110111111001011001101111110010000001010011110000011010011010110000000110011011111100100000001010011110000110100110101100000001111111111100110011001100110001000000010101111100001100110111111001011001101111110010000001010111110000011010011010110000000110011011111100100000001010111110000101100110101100000001111111111100110011001100110001101100110101100000001100110111111001011001101111110010000001010111110000010110011010110000000110011011111100100000001010111110000101100110101100000001111111111100110011001100110001000000010100000010001100110111111001011001101111110010000001010000001000010110011010110000000110011011111100100000001010000001000111100110101100000001111111111100110011001100110001111100110101100000001100110111111001011001101111110010000001010000001000011110011010110000000110011011111100100000001010000001000111100110101100000001111111111100110011001100110001000000010101000010001100110111111001011001101111110010000001010100001000011110011010110000000110011011111100100000001010100001000100010110101100000001111111111100110011001100110001100010110101100000001100110111111001011001101111110010000001010100001000010001011010110000000110011011111100100000001010100001000100010110101100000001111111111100110011001100110001000000010100100010001100110111111001011001101111110010000001010010001000010001011010110000000110011011111100100000001010010001000110010110101100000001111111111100110011001100110001110010110101100000001100110111111001011001101111110010000001010010001000011001011010110000000110011011111100100000001010010001000110010110101100000001111111111100110011001100110001000000010101100010001100110111111001011001101111110010000001010110001000011001011010110000000110011011111100100000001010110001000101010110101100000001111111111100110011001100110001101010110101100000001100110111111001011001101111110010000001010110001000010101011010110000000110011011111100100000001010110001000101010110101100000001111111111100110011001100110001000000010100010010001100110111111001011001101111110010000001010001001000010101011010110000000110011011111100100000001010001001000111010110101100000001111111111100110011001100110001111010110101100000001100110111111001011001101111110010000001010001001000011101011010110000000110011011111100100000001010001001000111010110101100000001111111111100110011001100110001000000010101010010001100110111111001011001101111110010000001010101001000011101011010110000000110011011111100100000001010101001000100110110101100000001111111111100110011001100110001100110110101100000001100110111111001011001101111110010000001010101001000010011011010110000000110011011111100100000001010101001000100110110101100000001111111111100110011001100110001000000010100110010001100110111111001011001101111110010000001010011001000010011011010110000000110011011111100100000001010011001000110110110101100000001111111111100110011001100110001110110110101100000001100110111111001011001101111110010000001010011001000011011011010110000000110011011111100100000001010011001000110110110101100000001111111111100110011001100110001000000010101110010001100110111111001011001101111110010000001010111001000011011011010110000000110011011111100100000001010111001000101110110101100000001111111111100110011001100110001101110110101100000001100110111111001011001101111110010000001010111001000010111011010110000000110011011111100100000001010111001000101110110101100000001111111111100110011001100110001000000010100001010001100110111111001011001101111110010000001010000101000010111011010110000000110011011111100100000001010000101000111110110101100000001111111111100110011001100110001111110110101100000001100110111111001011001101111110010000001010000101000011111011010110000000110011011111100100000001010000101000111110110101100000001111111111100110011001100110001000000010101001010001100110111111001011001101111110010000001010100101000011111011010110000000110011011111100100000001010100101000100001110101100000001111111111100110011001100110001100001110101100000001100110111111001011001101111110010000001010100101000010000111010110000000110011011111100100000001010100101000100001110101100000001111111111100110011001100110001000000010100101010001100110111111001011001101111110010000001010010101000010000111010110000000110011011111100100000001010010101000110001110101100000001111111111100110011001100110001110001110101100000001100110111111001011001101111110010000001010010101000011000111010110000000110011011111100100000001010010101000110001110101100000001111111111100110011001100110001000000010101101010001100110111111001011001101111110010000001010110101000011000111010110000000110011011111100100000001010110101000101001110101100000001111111111100110011001100110001101001110101100000001100110111111001011001101111110010000001010110101000010100111010110000000110011011111100100000001010110101000101001110101100000001111111111100110011001100110001000000010100011010001100110111111001011001101111110010000001010001101000010100111010110000000110011011111100100000001010001101000111001110101100000001111111111100110011001100110001111001110101100000001100110111111001011001101111110010000001010001101000011100111010110000000110011011111100100000001010001101000111001110101100000001111111111100110011001100110001000000010101011010001100110111111001011001101111110010000001010101101000011100111010110000000110011011111100100000001010101101000100101110101100000001111111111100110011001100110001100101110101100000001100110111111001011001101111110010000001010101101000010010111010110000000110011011111100100000001010101101000100101110101100000001111111111100110011001100110001000000010100111010001100110111111001011001101111110010000001010011101000010010111010110000000110011011111100100000001010011101000110101110101100000001111111111100110011001100110001110101110101100000001100110111111001011001101111110010000001010011101000011010111010110000000110011011111100100000001010011101000110101110101100000001111111111100110011001100110001000000010101111010001100110111111001011001101111110010000001010111101000011010111010110000000110011011111100100000001010111101000101101110101100000001111111111100110011001100110001101101110101100000001100110111111001011001101111110010000001010111101000010110111010110000000110011011111100100000001010111101000101101110101100000001111111111100110011001100110001000000010100000110001100110111111001011001101111110010000001010000011000010110111010110000000110011011111100100000001010000011000111101110101100000001111111111100110011001100110001111101110101100000001100110111111001011001101111110010000001010000011000011110111010110000000110011011111100100000001010000011000111101110101100000001111111111100110011001100110001000000010101000110001100110111111001011001101111110010000001010100011000011110111010110000000110011011111100100000001010100011000100011110101100000001111111111100110011001100110001100011110101100000001100110111111001011001101111110010000001010100011000010001111010110000000110011011111100100000001010100011000100011110101100000001111111111100110011001100110001000000010100100110001100110111111001011001101111110010000001010010011000010001111010110000000110011011111100100000001010010011000110011110101100000001111111111100110011001100110001110011110101100000001100110111111001011001101111110010000001010010011000011001111010110000000110011011111100100000001010010011000110011110101100000001111111111100110011001100110001010000010100000000001100110111111001011001101111110011000001010000000000011001111010110000000110011011111100101000001010000000000101011110101100000001111111111100110011001100110001101011110101100000001100110111111001011001101111110011000001010000000000010101111010110000000110011011111100101000001010000000000101011110101100000001111111111100110011001100110001010000010101000000001100110111111001011001101111110011000001010100000000010101111010110000000110011011111100101000001010100000000111011110101100000001111111111100110011001100110001111011110101100000001100110111111001011001101111110011000001010100000000011101111010110000000110011011111100101000001010100000000111011110101100000001111111111100110011001100110001010000010100100000001100110111111001011001101111110011000001010010000000011101111010110000000110011011111100101000001010010000000100111110101100000001111111111100110011001100110001100111110101100000001100110111111001011001101111110011000001010010000000010011111010110000000110011011111100101000001010010000000100111110101100000001111111111100110011001100110001010000010101100000001100110111111001011001101111110011000001010110000000010011111010110000000110011011111100101000001010110000000110111110101100000001111111111100110011001100110001110111110101100000001100110111111001011001101111110011000001010110000000011011111010110000000110011011111100101000001010110000000110111110101100000001111111111100110011001100110001010000010100010000001100110111111001011001101111110011000001010001000000011011111010110000000110011011111100101000001010001000000101111110101100000001111111111100110011001100110001101111110101100000001100110111111001011001101111110011000001010001000000010111111010110000000110011011111100101000001010001000000101111110101100000001111111111100110011001100110001010000010101010000001100110111111001011001101111110011000001010101000000010111111010110000000110011011111100101000001010101000000111111110101100000001111111111100110011001100110001111111110101100000001100110111111001011001101111110011000001010101000000011111111010110000000110011011111100101000001010101000000111111110101100000001111111111100110011001100110001010000010100110000001100110111111001011001101111110011000001010011000000011111111010110000000110011011111100101000001010011000000100000001101100000001111111111100110011001100110001100000001101100000001100110111111001011001101111110011000001010011000000010000000110110000000110011011111100101000001010011000000100000001101100000001111111111100110011001100110001010000010101110000001100110111111001011001101111110011000001010111000000010000000110110000000110011011111100101000001010111000000110000001101100000001111111111100110011001100110001110000001101100000001100110111111001011001101111110011000001010111000000011000000110110000000110011011111100101000001010111000000110000001101100000001111111111100110011001100110001010000010100001000001100110111111001011001101111110011000001010000100000011000000110110000000110011011111100101000001010000100000101000001101100000001111111111100110011001100110001101000001101100000001100110111111001011001101111110011000001010000100000010100000110110000000110011011111100101000001010000100000101000001101100000001111111111100110011001100110001010000010101001000001100110111111001011001101111110011000001010100100000010100000110110000000110011011111100101000001010100100000111000001101100000001111111111100110011001100110001111000001101100000001100110111111001011001101111110011000001010100100000011100000110110000000110011011111100101000001010100100000111000001101100000001111111111100110011001100110001010000010100101000001100110111111001011001101111110011000001010010100000011100000110110000000110011011111100101000001010010100000100100001101100000001111111111100110011001100110001100100001101100000001100110111111001011001101111110011000001010010100000010010000110110000000110011011111100101000001010010100000100100001101100000001111111111100110011001100110001010000010101101000001100110111111001011001101111110011000001010110100000010010000110110000000110011011111100101000001010110100000110100001101100000001111111111100110011001100110001110100001101100000001100110111111001011001101111110011000001010110100000011010000110110000000110011011111100101000001010110100000110100001101100000001111111111100110011001100110001010000010100011000001100110111111001011001101111110011000001010001100000011010000110110000000110011011111100101000001010001100000101100001101100000001111111111100110011001100110001101100001101100000001100110111111001011001101111110011000001010001100000010110000110110000000110011011111100101000001010001100000101100001101100000001111111111100110011001100110001010000010101011000001100110111111001011001101111110011000001010101100000010110000110110000000110011011111100101000001010101100000111100001101100000001111111111100110011001100110001111100001101100000001100110111111001011001101111110011000001010101100000011110000110110000000110011011111100101000001010101100000111100001101100000001111111111100110011001100110001010000010100111000001100110111111001011001101111110011000001010011100000011110000110110000000110011011111100101000001010011100000100010001101100000001111111111100110011001100110001100010001101100000001100110111111001011001101111110011000001010011100000010001000110110000000110011011111100101000001010011100000100010001101100000001111111111100110011001100110001010000010101111000001100110111111001011001101111110011000001010111100000010001000110110000000110011011111100101000001010111100000110010001101100000001111111111100110011001100110001110010001101100000001100110111111001011001101111110011000001010111100000011001000110110000000110011011111100101000001010111100000110010001101100000001111111111100110011001100110001010000010100000100001100110111111001011001101111110011000001010000010000011001000110110000000110011011111100101000001010000010000101010001101100000001111111111100110011001100110001101010001101100000001100110111111001011001101111110011000001010000010000010101000110110000000110011011111100101000001010000010000101010001101100000001111111111100110011001100110001010000010101000100001100110111111001011001101111110011000001010100010000010101000110110000000110011011111100101000001010100010000111010001101100000001111111111100110011001100110001111010001101100000001100110111111001011001101111110011000001010100010000011101000110110000000110011011111100101000001010100010000111010001101100000001111111111100110011001100110001010000010100100100001100110111111001011001101111110011000001010010010000011101000110110000000110011011111100101000001010010010000100110001101100000001111111111100110011001100110001100110001101100000001100110111111001011001101111110011000001010010010000010011000110110000000110011011111100101000001010010010000100110001101100000001111111111100110011001100110001010000010101100100001100110111111001011001101111110011000001010110010000010011000110110000000110011011111100101000001010110010000110110001101100000001111111111100110011001100110001110110001101100000001100110111111001011001101111110011000001010110010000011011000110110000000110011011111100101000001010110010000110110001101100000001111111111100110011001100110001010000010100010100001100110111111001011001101111110011000001010001010000011011000110110000000110011011111100101000001010001010000101110001101100000001111111111100110011001100110001101110001101100000001100110111111001011001101111110011000001010001010000010111000110110000000110011011111100101000001010001010000101110001101100000001111111111100110011001100110001010000010101010100001100110111111001011001101111110011000001010101010000010111000110110000000110011011111100101000001010101010000111110001101100000001111111111100110011001100110001111110001101100000001100110111111001011001101111110011000001010101010000011111000110110000000110011011111100101000001010101010000111110001101100000001111111111100110011001100110001010000010100110100001100110111111001011001101111110011000001010011010000011111000110110000000110011011111100101000001010011010000100001001101100000001111111111100110011001100110001100001001101100000001100110111111001011001101111110011000001010011010000010000100110110000000110011011111100101000001010011010000100001001101100000001111111111100110011001100110001010000010101110100001100110111111001011001101111110011000001010111010000010000100110110000000110011011111100101000001010111010000110001001101100000001111111111100110011001100110001100100110110000000100110101000001100011001101111110011000001010111010000010010011011000000010110011011111100101000001010111010000110001001101100000001011111111100110011001100110001010000010100001100001100110111111001011001101111110011000001010000110000010010011011000000010000011101101110001000001010000110000101001001101100000001011111111100110011001100110001100100110110000000010000010111010001011001101111110011000001010000110000010010011011000000001000011101101110001000001010000110000101001001101100000001010000000000000000000000000001010000010101001100001100110111111001011001101111110011000001010100110000010010011011000000001000001011101000101000001010100110000111001001101100000001010000000000000000000000000001100100110110000000110111001001001010011001101111110011000001010100110000010010011011000000011000001011101000101000001010100110000111001001101100000001010000000000000000000000000001010000010100101100001100110111111001011001101111110011000001010010110000010010011011000000011011100100100101001000001010010110000100101001101100000001010000000000000000000000000001110100110110000000001100100110101001011001101111110011000001010010110000011010011011000000000011100100100101001000001010010110000100101001101100000001010000000000000000000000000001010000010101101100001100110111111001011001101111110011000001010110110000011010011011000000000110010011010100101000001010110110000110101001101100000001010000000000000000000000000001110100110110000000101100000001000011011001101111110011000001010110110000011010011011000000010110010011010100101000001010110110000110101001101100000001010000000000000000000000000001010000010100011100001100110111111001011001101111110011000001010001110000011010011011000000010110000000100001101000001010001110000101101001101100000001010000000000000000000000000001110100110110000000010000010100111001011001101111110011000001010001110000011010011011000000001110000000100001101000001010001110000101101001101100000001010000000000000000000000000001010000010101011100001100110111111001011001101111110011000001010101110000011010011011000000001000001010011100101000001010101110000111101001101100000001010000000000000000000000000001110100110110000000111110100011111100011001101111110011000001010101110000011010011011000000011000001010011100101000001010101110000111101001101100000001010000000000000000000000000001010000010100111100001100110111111001011001101111110011000001010011110000011010011011000000011111010001111110001000001010011110000100011001101100000001010000000000000000000000000001101100110110000000001000100101000000011001101111110011000001010011110000010110011011000000000111010001111110001000001010011110000100011001101100000001010000000000000000000000000001010000010101111100001100110111111001011001101111110011000001010111110000010110011011000000000100010010100000001000001010111110000110011001101100000001010000000000000000000000000001101100110110000000100111001101011010011001101111110011000001010111110000010110011011000000010100010010100000001000001010111110000110011001101100000001010000000000000000000000000001010000010100000010001100110111111001011001101111110011000001010000001000010110011011000000010011100110101101001000001010000001000101011001101100000001010000000000000000000000000001101100110110000000010100010110110001011001101111110011000001010000001000010110011011000000001011100110101101001000001010000001000101011001101100000001010000000000000000000000000001010000010101000010001100110111111001011001101111110011000001010100001000010110011011000000001010001011011000101000001010100001000111011001101100000001010000000000000000000000000001101100110110000000111110011001000100011001101111110011000001010100001000010110011011000000011010001011011000101000001010100001000111011001101100000001010000000000000000000000000001010000010100100010001100110111111001011001101111110011000001010010001000010110011011000000011111001100100010001000001010010001000100111001101100000001010000000000000000000000000001111100110110000000000000010011111000011001101111110011000001010010001000011110011011000000000111001100100010001000001010010001000100111001101100000001010000000000000000000000000001010000010101100010001100110111111001011001101111110011000001010110001000011110011011000000000000001001111100001000001010110001000110111001101100000001010000000000000000000000000001111100110110000000100101110010000001011001101111110011000001010110001000011110011011000000010000001001111100001000001010110001000110111001101100000001010000000000000000000000000001010000010100010010001100110111111001011001101111110011000001010001001000011110011011000000010010111001000000101000001010001001000101111001101100000001010000000000000000000000000001111100110110000000010000100110001000011001101111110011000001010001001000011110011011000000001010111001000000101000001010001001000101111001101100000001010000000000000000000000000001010000010101010010001100110111111001011001101111110011000001010101001000011110011011000000001000010011000100001000001010101001000111111001101100000001010000000000000000000000000001111100110110000000110111000001110101011001101111110011000001010101001000011110011011000000011000010011000100001000001010101001000111111001101100000001010000000000000000000000000001010000010100110010001100110111111001011001101111110011000001010011001000011110011011000000011011100000111010101000001010011001000100000101101100000001010000000000000000000000000001100010110110000000000110011111000010011001101111110011000001010011001000010001011011000000000011100000111010101000001010011001000100000101101100000001010000000000000000000000000001010000010101110010001100110111111001011001101111110011000001010111001000010001011011000000000011001111100001001000001010111001000110000101101100000001010000000000000000000000000001100010110110000000100001100001100001011001101111110011000001010111001000010001011011000000010011001111100001001000001010111001000110000101101100000001010000000000000000000000000001010000010100001010001100110111111001011001101111110011000001010000101000010001011011000000010000110000110000101000001010000101000101000101101100000001010000000000000000000000000001100010110110000000010000010001100000011001101111110011000001010000101000010001011011000000001000110000110000101000001010000101000101000101101100000001010000000000000000000000000001010000010101001010001100110111111001011001101111110011000001010100101000010001011011000000001000001000110000001000001010100101000111000101101100000001010000000000000000000000000001100010110110000000110011011100110001011001101111110011000001010100101000010001011011000000011000001000110000001000001010100101000111000101101100000001010000000000000000000000000001010000010100101010001100110111111001011001101111110011000001010010101000010001011011000000011001101110011000101000001010010101000100100101101100000001010000000000000000000000000001110010110110000000000010011011010110011001101111110011000001010010101000011001011011000000000001101110011000101000001010010101000100100101101100000001010000000000000000000000000001010000010101101010001100110111111001011001101111110011000001010110101000011001011011000000000001001101101011001000001010110101000110100101101100000001010000000000000000000000000001110010110110000000101100010111101000011001101111110011000001010110101000011001011011000000010001001101101011001000001010110101000110100101101100000001010000000000000000000000000001010000010100011010001100110111111001011001101111110011000001010001101000011001011011000000010110001011110100001000001010001101000101100101101100000001010000000000000000000000000001110010110110000000010000001000111000011001101111110011000001010001101000011001011011000000001110001011110100001000001010001101000101100101101100000001010000000000000000000000000001010000010101011010001100110111111001011001101111110011000001010101101000011001011011000000001000000100011100001000001010101101000111100101101100000001010000000000000000000000000001110010110110000000110010110000100000011001101111110011000001010101101000011001011011000000011000000100011100001000001010101101000111100101101100000001010000000000000000000000000001010000010100111010001100110111111001011001101111110011000001010011101000011001011011000000011001011000010000001000001010011101000100010101101100000001010000000000000000000000000001101010110110000000001000010100100000011001101111110011000001010011101000010101011011000000000001011000010000001000001010011101000100010101101100000001010000000000000000000000000001010000010101111010001100110111111001011001101111110011000001010111101000010101011011000000000100001010010000001000001010111101000110010101101100000001010000000000000000000000000001101010110110000000101010010110111010011001101111110011000001010111101000010101011011000000010100001010010000001000001010111101000110010101101100000001010000000000000000000000000001010000010100000110001100110111111001011001101111110011000001010000011000010101011011000000010101001011011101001000001010000011000101010101101100000001010000000000000000000000000001101010110110000000011110010110001000011001101111110011000001010000011000010101011011000000001101001011011101001000001010000011000101010101101100000001010000000000000000000000000001010000010101000110001100110111111001011001101111110011000001010100011000010101011011000000001111001011000100001000001010100011000111010101101100000001010000000000000000000000000001101010110110000000110101001000011110011001101111110011000001010100011000010101011011000000011111001011000100001000001010100011000111010101101100000001010000000000000000000000000001010000010100100110001100110111111001011001101111110011000001010010011000010101011011000000011010100100001111001000001010010011000100110101101100000001010000000000000000000000000001111010110110000000001010010111001000011001101111110011000001010010011000011101011011000000000010100100001111001000001010010011000100110101101100000001010000000000000000000000000001001000010100000000001100110111111001011001101111110010100001010000000000011101011011000000000101001011100100000100001010000000000110110101101100000001010000000000000000000000000001111010110110000000101100010111101000011001101111110010100001010000000000011101011011000000010101001011100100000100001010000000000110110101101100000001010000000000000000000000000001001000010101000000001100110111111001011001101111110010100001010100000000011101011011000000010110001011110100000100001010100000000101110101101100000001010000000000000000000000000001111010110110000000010010001001001100011001101111110010100001010100000000011101011011000000001110001011110100000100001010100000000101110101101100000001010000000000000000000000000001001000010100100000001100110111111001011001101111110010100001010010000000011101011011000000001001000100100110000100001010010000000111110101101100000001010000000000000000000000000001111010110110000000111100110111111001011001101111110010100001010010000000011101011011000000011001000100100110000100001010010000000111110101101100000001010000000000000000000000000001001000010101100000001100110111111001011001101111110010100001010110000000011101011011000000011110011011111100100100001010110000000100001101101100000001010000000000000000000000000001100110110110000000001100110111000001011001101111110010100001010110000000010011011011000000000110011011111100100100001010110000000100001101101100000001010000000000000000000000000001001000010100010000001100110111111001011001101111110010100001010001000000010011011011000000000110011011100000100100001010001000000110001101101100000001010000000000000000000000000001100110110110000000101001010001110100011001101111110010100001010001000000010011011011000000010110011011100000100100001010001000000110001101101100000001010000000000000000000000000001001000010101010000001100110111111001011001101111110010100001010101000000010011011011000000010100101000111010000100001010101000000101001101101100000001010000000000000000000000000001100110110110000000010000010010110011011001101111110010100001010101000000010011011011000000001100101000111010000100001010101000000101001101101100000001010000000000000000000000000001001000010100110000001100110111111001011001101111110010100001010011000000010011011011000000001000001001011001100100001010011000000111001101101100000001010000000000000000000000000001100110110110000000111110111101001011011001101111110010100001010011000000010011011011000000011000001001011001100100001010011000000111001101101100000001010000000000000000000000000001001000010101110000001100110111111001011001101111110010100001010111000000010011011011000000011111011110100101100100001010111000000100101101101100000001010000000000000000000000000001110110110110000000001100100001011010011001101111110010100001010111000000011011011011000000000111011110100101100100001010111000000100101101101100000001010000000000000000000000000001001000010100001000001100110111111001011001101111110010100001010000100000011011011011000000000110010000101101000100001010000100000110101101101100000001010000000000000000000000000001110110110110000000101100110000011000011001101111110010100001010000100000011011011011000000010110010000101101000100001010000100000110101101101100000001010000000000000000000000000001001000010101001000001100110111111001011001101111110010100001010100100000011011011011000000010110011000001100000100001010100100000101101101101100000001010000000000000000000000000001110110110110000000011000010011101010011001101111110010100001010100100000011011011011000000001110011000001100000100001010100100000101101101101100000001010000000000000000000000000001001000010100101000001100110111111001011001101111110010100001010010100000011011011011000000001100001001110101000100001010010100000111101101101100000001010000000000000000000000000001110110110110000000111100100110000000011001101111110010100001010010100000011011011011000000011100001001110101000100001010010100000111101101101100000001010000000000000000000000000001001000010101101000001100110111111001011001101111110010100001010110100000011011011011000000011110010011000000000100001010110100000100011101101100000001010000000000000000000000000001101110110110000000001000001001000001011001101111110010100001010110100000010111011011000000000110010011000000000100001010110100000100011101101100000001010000000000000000000000000001001000010100011000001100110111111001011001101111110010100001010001100000010111011011000000000100000100100000100100001010001100000110011101101100000001010000000000000000000000000001101110110110000000101010011000100111011001101111110010100001010001100000010111011011000000010100000100100000100100001010001100000110011101101100000001010000000000000000000000000001001000010101011000001100110111111001011001101111110010100001010101100000010111011011000000010101001100010011100100001010101100000101011101101100000001010000000000000000000000000001101110110110000000011000010101001000011001101111110010100001010101100000010111011011000000001101001100010011100100001010101100000101011101101100000001010000000000000000000000000001001000010100111000001100110111111001011001101111110010100001010011100000010111011011000000001100001010100100000100001010011100000111011101101100000001010000000000000000000000000001101110110110000000110111000100110011011001101111110010100001010011100000010111011011000000011100001010100100000100001010011100000111011101101100000001010000000000000000000000000001001000010101111000001100110111111001011001101111110010100001010111100000010111011011000000011011100010011001100100001010111100000100111101101100000001010000000000000000000000000001111110110110000000000010000110101110011001101111110010100001010111100000011111011011000000000011100010011001100100001010111100000100111101101100000001010000000000000000000000000001001000010100000100001100110111111001011001101111110010100001010000010000011111011011000000000001000011010111000100001010000010000110111101101100000001010000000000000000000000000001111110110110000000101100010000111000011001101111110010100001010000010000011111011011000000010001000011010111000100001010000010000110111101101100000001010000000000000000000000000001001000010101000100001100110111111001011001101111110010100001010100010000011111011011000000010110001000011100000100001010100010000101111101101100000001010000000000000000000000000001111110110110000000011100010001101000011001101111110010100001010100010000011111011011000000001110001000011100000100001010100010000101111101101100000001010000000000000000000000000001001000010100100100001100110111111001011001101111110010100001010010010000011111011011000000001110001000110100000100001010010010000111111101101100000001010000000000000000000000000001111110110110000000110100010010111000011001101111110010100001010010010000011111011011000000011110001000110100000100001010010010000111111101101100000001010000000000000000000000000001001000010101100100001100110111111001011001101111110010100001010110010000011111011011000000011010001001011100000100001010110010000100000011101100000001010000000000000000000000000001100001110110000000000100001110101000011001101111110010100001010110010000010000111011000000000010001001011100000100001010110010000100000011101100000001010000000000000000000000000001001000010100010100001100110111111001011001101111110010100001010001010000010000111011000000000010000111010100000100001010001010000110000011101100000001010000000000000000000000000001100001110110000000100111101111011010011001101111110010100001010001010000010000111011000000010010000111010100000100001010001010000110000011101100000001010000000000000000000000000001001000010101010100001100110111111001011001101111110010100001010101010000010000111011000000010011110111101101000100001010101010000101000011101100000001010000000000000000000000000001100001110110000000011110000100001000011001101111110010100001010101010000010000111011000000001011110111101101000100001010101010000101000011101100000001010000000000000000000000000001001000010100110100001100110111111001011001101111110010100001010011010000010000111011000000001111000010000100000100001010011010000111000011101100000001010000000000000000000000000001100001110110000000111101000101010110011001101111110010100001010011010000010000111011000000011111000010000100000100001010011010000111000011101100000001010000000000000000000000000001001000010101110100001100110111111001011001101111110010100001010111010000010000111011000000011110100010101011000100001010111010000100100011101100000001010000000000000000000000000001110001110110000000000011111010011110011001101111110010100001010111010000011000111011000000000110100010101011000100001010111010000100100011101100000001010000000000000000000000000001001000010100001100001100110111111001011001101111110010100001010000110000011000111011000000000001111101001111000100001010000110000110100011101100000001010000000000000000000000000001110001110110000000101110011111101100011001101111110010100001010000110000011000111011000000010001111101001111000100001010000110000110100011101100000001010000000000000000000000000001001000010101001100001100110111111001011001101111110010100001010100110000011000111011000000010111001111110110000100001010100110000101100011101100000001010000000000000000000000000001110001110110000000011110010111101000011001101111110010100001010100110000011000111011000000001111001111110110000100001010100110000101100011101100000001010000000000000000000000000001001000010100101100001100110111111001011001101111110010100001010010110000011000111011000000001111001011110100000100001010010110000111100011101100000001010000000000000000000000000001110001110110000000111000100111001110011001101111110010100001010010110000011000111011000000011111001011110100000100001010010110000111100011101100000001010000000000000000000000000001001000010101101100001100110111111001011001101111110010100001010110110000011000111011000000011100010011100111000100001010110110000100010011101100000001010000000000000000000000000001101001110110000000000111011001110101011001101111110010100001010110110000010100111011000000000100010011100111000100001010110110000100010011101100000001010000000000000000000000000001001000010100011100001100110111111001011001101111110010100001010001110000010100111011000000000011101100111010100100001010001110000110010011101100000001010000000000000000000000000001101001110110000000101010010011100011011001101111110010100001010001110000010100111011000000010011101100111010100100001010001110000110010011101100000001010000000000000000000000000001001000010101011100001100110111111001011001101111110010100001010101110000010100111011000000010101001001110001100100001010101110000101010011101100000001010000000000000000000000000001101001110110000000011010100010101001011001101111110010100001010101110000010100111011000000001101001001110001100100001010101110000101010011101100000001010000000000000000000000000001001000010100111100001100110111111001011001101111110010100001010011110000010100111011000000001101010001010100100100001010011110000111010011101100000001010000000000000000000000000001101001110110000000111100011010000111011001101111110010100001010011110000010100111011000000011101010001010100100100001010011110000111010011101100000001010000000000000000000000000001001000010101111100001100110111111001011001101111110010100001010111110000010100111011000000011110001101000011100100001010111110000100110011101100000001010000000000000000000000000001111001110110000000001010110000111100011001101111110010100001010111110000011100111011000000000110001101000011100100001010111110000100110011101100000001010000000000000000000000000001001000010100000010001100110111111001011001101111110010100001010000001000011100111011000000000101011000011110000100001010000001000110110011101100000001010000000000000000000000000001111001110110000000100100100001111001011001101111110010100001010000001000011100111011000000010101011000011110000100001010000001000110110011101100000001010000000000000000000000000001001000010101000010001100110111111001011001101111110010100001010100001000011100111011000000010010010000111100100100001010100001000101110011101100000001010000000000000000000000000001111001110110000000011100010100110100011001101111110010100001010100001000011100111011000000001010010000111100100100001010100001000101110011101100000001010000000000000000000000000001001000010100100010001100110111111001011001101111110010100001010010001000011100111011000000001110001010011010000100001010010001000111110011101100000001010000000000000000000000000001111001110110000000110100110110001010011001101111110010100001010010001000011100111011000000011110001010011010000100001010010001000111110011101100000001010000000000000000000000000001001000010101100010001100110111111001011001101111110010100001010110001000011100111011000000011010011011000101000100001010110001000100001011101100000001010000000000000000000000000001100101110110000000001110000001010000011001101111110010100001010110001000010010111011000000000010011011000101000100001010110001000100001011101100000001010000000000000000000000000001001000010100010010001100110111111001011001101111110010100001010001001000010010111011000000000111000000101000000100001010001001000110001011101100000001010000000000000000000000000001100101110110000000100000011111000011011001101111110010100001010001001000010010111011000000010111000000101000000100001010001001000110001011101100000001010000000000000000000000000001001000010101010010001100110111111001011001101111110010100001010101001000010010111011000000010000001111100001100100001010101001000101001011101100000001010000000000000000000000000001100101110110000000010110001110100000011001101111110010100001010101001000010010111011000000001000001111100001100100001010101001000101001011101100000001010000000000000000000000000001001000010100110010001100110111111001011001101111110010100001010011001000010010111011000000001011000111010000000100001010011001000111001011101100000001010000000000000000000000000001100101110110000000111110010001010001011001101111110010100001010011001000010010111011000000011011000111010000000100001010011001000111001011101100000001010000000000000000000000000001001000010101110010001100110111111001011001101111110010100001010111001000010010111011000000011111001000101000100100001010111001000100101011101100000001010000000000000000000000000001110101110110000000001111110000010100011001101111110010100001010111001000011010111011000000000111001000101000100100001010111001000100101011101100000001010000000000000000000000000001001000010100001010001100110111111001011001101111110010100001010000101000011010111011000000000111111000001010000100001010000101000110101011101100000001010000000000000000000000000001110101110110000000101100010111101000011001101111110010100001010000101000011010111011000000010111111000001010000100001010000101000110101011101100000001010000000000000000000000000001001000010101001010001100110111111001011001101111110010100001010100101000011010111011000000010110001011110100000100001010100101000101101011101100000001010000000000000000000000000001110101110110000000011010010100101000011001101111110010100001010100101000011010111011000000001110001011110100000100001010100101000101101011101100000001010000000000000000000000000001001000010100101010001100110111111001011001101111110010100001010010101000011010111011000000001101001010010100000100001010010101000111101011101100000001010000000000000000000000000001110101110110000000111100010001001001011001101111110010100001010010101000011010111011000000011101001010010100000100001010010101000111101011101100000001010000000000000000000000000001001000010101101010001100110111111001011001101111110010100001010110101000011010111011000000011110001000100100100100001010110101000100011011101100000001010000000000000000000000000001101101110110000000001100101111010000011001101111110010100001010110101000010110111011000000000110001000100100100100001010110101000100011011101100000001010000000000000000000000000001001000010100011010001100110111111001011001101111110010100001010001101000010110111011000000000110010111101000000100001010001101000110011011101100000001010000000000000000000000000001101101110110000000100001101100110100011001101111110010100001010001101000010110111011000000010110010111101000000100001010001101000110011011101100000001010000000000000000000000000001001000010101011010001100110111111001011001101111110010100001010101101000010110111011000000010000110110011010000100001010101101000101011011101100000001010000000000000000000000000001101101110110000000011010000011110001011001101111110010100001010101101000010110111011000000001000110110011010000100001010101101000101011011101100000001010000000000000000000000000001001000010100111010001100110111111001011001101111110010100001010011101000010110111011000000001101000001111000100100001010011101000111011011101100000001010000000000000000000000000001101101110110000000111001001010000100011001101111110010100001010011101000010110111011000000011101000001111000100100001010011101000111011011101100000001010000000000000000000000000001001000010101111010001100110111111001011001101111110010100001010111101000010110111011000000011100100101000010000100001010111101000100111011101100000001010000000000000000000000000001111101110110000000000011101100111110011001101111110010100001010111101000011110111011000000000100100101000010000100001010111101000100111011101100000001010000000000000000000000000001001000010100000110001100110111111001011001101111110010100001010000011000011110111011000000000001110110011111000100001010000011000110111011101100000001010000000000000000000000000001111101110110000000100100100011111001011001101111110010100001010000011000011110111011000000010001110110011111000100001010000011000110111011101100000001010000000000000000000000000001001000010101000110001100110111111001011001101111110010100001010100011000011110111011000000010010010001111100100100001010100011000101111011101100000001010000000000000000000000000001111101110110000000011011101111011111011001101111110010100001010100011000011110111011000000001010010001111100100100001010100011000101111011101100000001010000000000000000000000000001001000010100100110001100110111111001011001101111110010100001010010011000011110111011000000001101110111101111100100001010010011000111111011101100000001010000000000000000000000000001111101110110000000110100000000001000011001101111110010100001010010011000011110111011000000011101110111101111100100001010010011000111111011101100000001010000000000000000000000000001011000010100000000001100110111111001011001101111110011100001010000000000011110111011000000011010000000000100001100001010000000000100000111101100000001010000000000000000000000000001100011110110000000001100101010000000011001101111110011100001010000000000010001111011000000000010000000000100001100001010000000000100000111101100000001010000000000000000000000000001011000010101000000001100110111111001011001101111110011100001010100000000010001111011000000000110010101000000001100001010100000000110000111101100000001010000000000000000000000000001100011110110000000101011000001100000011001101111110011100001010100000000010001111011000000010110010101000000001100001010100000000110000111101100000001010000000000000000000000000001011000010100100000001100110111111001011001101111110011100001010010000000010001111011000000010101100000110000001100001010010000000101000111101100000001010000000000000000000000000001100011110110000000010010110111010101011001101111110011100001010010000000010001111011000000001101100000110000001100001010010000000101000111101100000001010000000000000000000000000001011000010101100000001100110111111001011001101111110011100001010110000000010001111011000000001001011011101010101100001010110000000111000111101100000001010000000000000000000000000001100011110110000000110000011010100101011001101111110011100001010110000000010001111011000000011001011011101010101100001010110000000111000111101100000001010000000000000000000000000001011000010100010000001100110111111001011001101111110011100001010001000000010001111011000000011000001101010010101100001010001000000100100111101100000001010000000000000000000000000001110011110110000000001110110100001101011001101111110011100001010001000000011001111011000000000000001101010010101100001010001000000100100111101100000001010000000000000000000000000001011000010101010000001100110111111001011001101111110011100001010101000000011001111011000000000111011010000110101100001010101000000110100111101100000001010000000000000000000000000001110011110110000000101111011110100100011001101111110011100001010101000000011001111011000000010111011010000110101100001010101000000110100111101100000001010000000000000000000000000001011000010100110000001100110111111001011001101111110011100001010011000000011001111011000000010111101111010010001100001010011000000101100111101100000001010000000000000000000000000001110011110110000000010101101111011011011001101111110011100001010011000000011001111011000000001111101111010010001100001010011000000101100111101100000001010000000000000000000000000001011000010101110000001100110111111001011001101111110011100001010111000000011001111011000000001010110111101101101100001010111000000111100111101100000001010000000000000000000000000001110011110110000000111100001000011101011001101111110011100001010111000000011001111011000000011010110111101101101100001010111000000111100111101100000001010000000000000000000000000001011000010100001000001100110111111001011001101111110011100001010000100000011001111011000000011110000100001110101100001010000100000100010111101100000001010000000000000000000000000001101011110110000000001101000000010100011001101111110011100001010000100000010101111011000000000110000100001110101100001010000100000100010111101100000001010000000000000000000000000001011000010101001000001100110111111001011001101111110011100001010100100000010101111011000000000110100000001010001100001010100100000110010111101100000001010000000000000000000000000001101011110110000000101000100110010011011001101111110011100001010100100000010101111011000000010110100000001010001100001010100100000110010111101100000001010000000000000000000000000001011000010100101000001100110111111001011001101111110011100001010010100000010101111011000000010100010011001001101100001010010100000101010111101100000001010000000000000000000000000001101011110110000000011100011101100000011001101111110011100001010010100000010101111011000000001100010011001001101100001010010100000101010111101100000001010000000000000000000000000001011000010101101000001100110111111001011001101111110011100001010110100000010101111011000000001110001110110000001100001010110100000111010111101100000001010000000000000000000000000001101011110110000000111011101111110101011001101111110011100001010110100000010101111011000000011110001110110000001100001010110100000111010111101100000001010000000000000000000000000001011000010100011000001100110111111001011001101111110011100001010001100000010101111011000000011101110111111010101100001010001100000100110111101100000001010000000000000000000000000001111011110110000000001000110101001010011001101111110011100001010001100000011101111011000000000101110111111010101100001010001100000100110111101100000001010000000000000000000000000001011000010101011000001100110111111001011001101111110011100001010101100000011101111011000000000100011010100101001100001010101100000110110111101100000001010000000000000000000000000001111011110110000000101100010111101000011001101111110011100001010101100000011101111011000000010100011010100101001100001010101100000110110111101100000001010000000000000000000000000001011000010100111000001100110111111001011001101111110011100001010011100000011101111011000000010110001011110100001100001010011100000101110111101100000001010000000000000000000000000001111011110110000000010000101100100011011001101111110011100001010011100000011101111011000000001110001011110100001100001010011100000101110111101100000001010000000000000000000000000001011000010101111000001100110111111001011001101111110011100001010111100000011101111011000000001000010110010001101100001010111100000111110111101100000001010000000000000000000000000001111011110110000000111100010111101000011001101111110011100001010111100000011101111011000000011000010110010001101100001010111100000111110111101100000001010000000000000000000000000001011000010100000100001100110111111001011001101111110011100001010000010000011101111011000000011110001011110100001100001010000010000100001111101100000001010000000000000000000000000001100111110110000000001100110100111000011001101111110011100001010000010000010011111011000000000110001011110100001100001010000010000100001111101100000001010000000000000000000000000001011000010101000100001100110111111001011001101111110011100001010100010000010011111011000000000110011010011100001100001010100010000110001111101100000001010000000000000000000000000001100111110110000000100100110111010000011001101111110011100001010100010000010011111011000000010110011010011100001100001010100010000110001111101100000001010000000000000000000000000001011000010100100100001100110111111001011001101111110011100001010010010000010011111011000000010010011011101000001100001010010010000101001111101100000001010000000000000000000000000001100111110110000000011100010001101000011001101111110011100001010010010000010011111011000000001010011011101000001100001010010010000101001111101100000001010000000000000000000000000001011000010101100100001100110111111001011001101111110011100001010110010000010011111011000000001110001000110100001100001010110010000111001111101100000001010000000000000000000000000001100111110110000000110111011000110000011001101111110011100001010110010000010011111011000000011110001000110100001100001010110010000111001111101100000001010000000000000000000000000001011000010100010100001100110111111001011001101111110011100001010001010000010011111011000000011011101100011000001100001010001010000100101111101100000001010000000000000000000000000001110111110110000000001100000101010000011001101111110011100001010001010000011011111011000000000011101100011000001100001010001010000100101111101100000001010000000000000000000000000001011000010101010100001100110111111001011001101111110011100001010101010000011011111011000000000110000010101000001100001010101010000110101111101100000001010000000000000000000000000001110111110110000000101100110111111001011001101111110011100001010101010000011011111011000000010110000010101000001100001010101010000110101111101100000001010000000000000000000000000001011000010100110100001100110111111001011001101111110011100001010011010000011011111011000000010110011011111100101100001010011010000101101111101100000001010000000000000000000000000001110111110110000000011000110101001001011001101111110011100001010011010000011011111011000000001110011011111100101100001010011010000101101111101100000001010000000000000000000000000001011000010101110100001100110111111001011001101111110011100001010111010000011011111011000000001100011010100100101100001010111010000111101111101100000001010000000000000000000000000001110111110110000000111100110011110000011001101111110011100001010111010000011011111011000000011100011010100100101100001010111010000111101111101100000001010000000000000000000000000001011000010100001100001100110111111001011001101111110011100001010000110000011011111011000000011110011001111000001100001010000110000100011111101100000001010000000000000000000000000001101111110110000000000000110111111000011001101111110011100001010000110000010111111011000000000110011001111000001100001010000110000100011111101100000001010000000000000000000000000001011000010101001100001100110111111001011001101111110011100001010100110000010111111011000000000000011011111100001100001010100110000110011111101100000001010000000000000000000000000001101111110110000000100010101010001000011001101111110011100001010100110000010111111011000000010000011011111100001100001010100110000110011111101100000001010000000000000000000000000001011000010100101100001100110111111001011001101111110011100001010010110000010111111011000000010001010101000100001100001010010110000101011111101100000001010000000000000000000000000001101111110110000000010000010110101000011001101111110011100001010010110000010111111011000000001001010101000100001100001010010110000101011111101100000001010000000000000000000000000001011000010101101100001100110111111001011001101111110011100001010110110000010111111011000000001000001011010100001100001010110110000111011111101100000001010000000000000000000000000001101111110110000000111101000000010010011001101111110011100001010110110000010111111011000000011000001011010100001100001010110110000111011111101100000001010000000000000000000000000001011000010100011100001100110111111001011001101111110011100001010001110000010111111011000000011110100000001001001100001010001110000100111111101100000001010000000000000000000000000001111111110110000000000100110000110001011001101111110011100001010001110000011111111011000000000110100000001001001100001010001110000100111111101100000001010000000000000000000000000001011000010101011100001100110111111001011001101111110011100001010101110000011111111011000000000010011000011000101100001010101110000110111111101100000001010000000000000000000000000001111111110110000000101100010111101000011001101111110011100001010101110000011111111011000000010010011000011000101100001010101110000110111111101100000001010000000000000000000000000001011000010100111100001100110111111001011001101111110011100001010011110000011111111011000000010110001011110100001100001010011110000101111111101100000001010000000000000000000000000001111111110110000000011000000000011001011001101111110011100001010011110000011111111011000000001110001011110100001100001010011110000101111111101100000001010000000000000000000000000001011000010101111100001100110111111001011001101111110011100001010111110000011111111011000000001100000000001100101100001010111110000111111111101100000001010000000000000000000000000001111111110110000000111100000001101000011001101111110011100001010111110000011111111011000000011100000000001100101100001010111110000111111111101100000001010000000000000000000000000001011000010100000010001100110111111001011001101111110011100001010000001000011111111011000000011110000000110100001100001010000001000100000000011100000001010000000000000000000000000001100000001110000000001000000000101100011001101111110011100001010000001000010000000111000000000110000000110100001100001010000001000100000000011100000001010000000000000000000000000001011000010101000010001100110111111001011001101111110011100001010100001000010000000111000000000100000000010110001100001010100001000110000000011100000001010000000000000000000000000001100000001110000000100001110010010011011001101111110011100001010100001000010000000111000000010100000000010110001100001010100001000110000000011100000001010000000000000000000000000001011000010100100010001100110111111001011001101111110011100001010010001000010000000111000000010000111001001001101100001010010001000101000000011100000001010000000000000000000000000001100000001110000000011011000001110101011001101111110011100001010010001000010000000111000000001000111001001001101100001010010001000101000000011100000001010000000000000000000000000001011000010101100010001100110111111001011001101111110011100001010110001000010000000111000000001101100000111010101100001010110001000111000000011100000001010000000000000000000000000001100000001110000000110111010110100100011001101111110011100001010110001000010000000111000000011101100000111010101100001010110001000111000000011100000001010000000000000000000000000001011000010100010010001100110111111001011001101111110011100001010001001000010000000111000000011011101011010010001100001010001001000100100000011100000001010000000000000000000000000001110000001110000000000111011001011111011001101111110011100001010001001000011000000111000000000011101011010010001100001010001001000100100000011100000001010000000000000000000000000001011000010101010010001100110111111001011001101111110011100001010101001000011000000111000000000011101100101111101100001010101001000110100000011100000001010000000000000000000000000001110000001110000000101111100000110010011001101111110011100001010101001000011000000111000000010011101100101111101100001010101001000110100000011100000001010000000000000000000000000001011000010100110010001100110111111001011001101111110011100001010011001000011000000111000000010111110000011001001100001010011001000101100000011100000001010000000000000000000000000001110000001110000000011100111001001011011001101111110011100001010011001000011000000111000000001111110000011001001100001010011001000101100000011100000001010000000000000000000000000001011000010101110010001100110111111001011001101111110011100001010111001000011000000111000000001110011100100101101100001010111001000111100000011100000001010000000000000000000000000001110000001110000000111011110110001010011001101111110011100001010111001000011000000111000000011110011100100101101100001010111001000111100000011100000001010000000000000000000000000001011000010100001010001100110111111001011001101111110011100001010000101000011000000111000000011101111011000101001100001010000101000100010000011100000001010000000000000000000000000001101000001110000000000100101001000000011001101111110011100001010000101000010100000111000000000101111011000101001100001010000101000100010000011100000001010000000000000000000000000001011000010101001010001100110111111001011001101111110011100001010100101000010100000111000000000010010100100000001100001010100101000110010000011100000001010000000000000000000000000001101000001110000000100000001111000110011001101111110011100001010100101000010100000111000000010010010100100000001100001010100101000110010000011100000001010000000000000000000000000001011000010100101010001100110111111001011001101111110011100001010010101000010100000111000000010000000111100011001100001010010101000101010000011100000001010000000000000000000000000001101000001110000000010100111000101100011001101111110011100001010010101000010100000111000000001000000111100011001100001010010101000101010000011100000001010000000000000000000000000001011000010101101010001100110111111001011001101111110011100001010110101000010100000111000000001010011100010110001100001010110101000111010000011100000001010000000000000000000000000001101000001110000000110010110100010110011001101111110011100001010110101000010100000111000000011010011100010110001100001010110101000111010000011100000001010000000000000000000000000001011000010100011010001100110111111001011001101111110011100001010001101000010100000111000000011001011010001011001100001010001101000100110000011100000001010000000000000000000000000001111000001110000000000111011010000010011001101111110011100001010001101000011100000111000000000001011010001011001100001010001101000100110000011100000001010000000000000000000000000001011000010101011010001100110111111001011001101111110011100001010101101000011100000111000000000011101101000001001100001010101101000110110000011100000001010000000000000000000000000001111000001110000000101101010010010111011001101111110011100001010101101000011100000111000000010011101101000001001100001010101101000110110000011100000001010000000000000000000000000001011000010100111010001100110111111001011001101111110011100001010011101000011100000111000000010110101001001011101100001010011101000101110000011100000001010000000000000000000000000001111000001110000000010110111000000111011001101111110011100001010011101000011100000111000000001110101001001011101100001010011101000101110000011100000001010000000000000000000000000001011000010101111010001100110111111001011001101111110011100001010111101000011100000111000000001011011100000011101100001010111101000111110000011100000001010000000000000000000000000001111000001110000000111010001110001110011001101111110011100001010111101000011100000111000000011011011100000011101100001010111101000111110000011100000001010000000000000000000000000001011000010100000110001100110111111001011001101111110011100001010000011000011100000111000000011101000111000111001100001010000011000100001000011100000001010000000000000000000000000001100100001110000000000100110010000110011001101111110011100001010000011000010010000111000000000101000111000111001100001010000011000100001000011100000001010000000000000000000000000001011000010101000110001100110111111001011001101111110011100001010100011000010010000111000000000010011001000011001100001010100011000110001000011100000001010000000000000000000000000001100100001110000000100001100100101100011001101111110011100001010100011000010010000111000000010010011001000011001100001010100011000110001000011100000001010000000000000000000000000001011000010100100110001100110111111001011001101111110011100001010010011000010010000111000000010000110010010110001100001010010011000101001000011100000001010000000000000000000000000001100100001110000000011101110001010011011001101111110011100001010010011000010010000111000000001000110010010110001100001010010011000101001000011100000001010000000000000000000000000001000100010100000000001100110111111001011001101111110010010001010000000000010010000111000000001110111000101001100010001010000000000111001000011100000001010000000000000000000000000001100100001110000000111000010001110011011001101111110010010001010000000000010010000111000000011110111000101001100010001010000000000111001000011100000001010000000000000000000000000001000100010101000000001100110111111001011001101111110010010001010100000000010010000111000000011100001000111001100010001010100000000100101000011100000001010000000000000000000000000001110100001110000000001101001000001011011001101111110010010001010100000000011010000111000000000100001000111001100010001010100000000100101000011100000001010000000000000000000000000001000100010100100000001100110111111001011001101111110010010001010010000000011010000111000000000110100100000101100010001010010000000110101000011100000001010000000000000000000000000001110100001110000000100001011101111101011001101111110010010001010010000000011010000111000000010110100100000101100010001010010000000110101000011100000001010000000000000000000000000001000100010101100000001100110111111001011001101111110010010001010110000000011010000111000000010000101110111110100010001010110000000101101000011100000001010000000000000000000000000001110100001110000000011010010001110010011001101111110010010001010110000000011010000111000000001000101110111110100010001010110000000101101000011100000001010000000000000000000000000001000100010100010000001100110111111001011001101111110010010001010001000000011010000111000000001101001000111001000010001010001000000111101000011100000001010000000000000000000000000001110100001110000000110001111010100000011001101111110010010001010001000000011010000111000000011101001000111001000010001010001000000111101000011100000001010000000000000000000000000001000100010101010000001100110111111001011001101111110010010001010101000000011010000111000000011000111101010000000010001010101000000100011000011100000001010000000000000000000000000001101100001110000000001111000001100100011001101111110010010001010101000000010110000111000000000000111101010000000010001010101000000100011000011100000001010000000000000000000000000001000100010100110000001100110111111001011001101111110010010001010011000000010110000111000000000111100000110010000010001010011000000110011000011100000001010000000000000000000000000001101100001110000000101001001000000000011001101111110010010001010011000000010110000111000000010111100000110010000010001010011000000110011000011100000001010000000000000000000000000001000100010101110000001100110111111001011001101111110010010001010111000000010110000111000000010100100100000000000010001010111000000101011000011100000001010000000000000000000000000001101100001110000000010011010000010111011001101111110010010001010111000000010110000111000000001100100100000000000010001010111000000101011000011100000001010000000000000000000000000001000100010100001000001100110111111001011001101111110010010001010000100000010110000111000000001001101000001011100010001010000100000111011000011100000001010000000000000000000000000001101100001110000000111000101010110101011001101111110010010001010000100000010110000111000000011001101000001011100010001010000100000111011000011100000001010000000000000000000000000001000100010101001000001100110111111001011001101111110010010001010100100000010110000111000000011100010101011010100010001010100100000100111000011100000001010000000000000000000000000001111100001110000000001011111000101111011001101111110010010001010100100000011110000111000000000100010101011010100010001010100100000100111000011100000001010000000000000000000000000001000100010100101000001100110111111001011001101111110010010001010010100000011110000111000000000101111100010111100010001010010100000110111000011100000001010000000000000000000000000001111100001110000000100011000010101101011001101111110010010001010010100000011110000111000000010101111100010111100010001010010100000110111000011100000001010000000000000000000000000001000100010101101000001100110111111001011001101111110010010001010110100000011110000111000000010001100001010110100010001010110100000101111000011100000001010000000000000000000000000001111100001110000000010001011111110000011001101111110010010001010110100000011110000111000000001001100001010110100010001010110100000101111000011100000001010000000000000000000000000001000100010100011000001100110111111001011001101111110010010001010001100000011110000111000000001000101111111000000010001010001100000111111000011100000001010000000000000000000000000001111100001110000000110100010000001010011001101111110010010001010001100000011110000111000000011000101111111000000010001010001100000111111000011100000001010000000000000000000000000001000100010101011000001100110111111001011001101111110010010001010101100000011110000111000000011010001000000101000010001010101100000100000100011100000001010000000000000000000000000001100010001110000000001011100001010110011001101111110010010001010101100000010001000111000000000010001000000101000010001010101100000100000100011100000001010000000000000000000000000001000100010100111000001100110111111001011001101111110010010001010011100000010001000111000000000101110000101011000010001010011100000110000100011100000001010000000000000000000000000001100010001110000000100110011000100101011001101111110010010001010011100000010001000111000000010101110000101011000010001010011100000110000100011100000001010000000000000000000000000001000100010101111000001100110111111001011001101111110010010001010111100000010001000111000000010011001100010010100010001010111100000101000100011100000001010000000000000000000000000001100010001110000000011100011001101101011001101111110010010001010111100000010001000111000000001011001100010010100010001010111100000101000100011100000001010000000000000000000000000001000100010100000100001100110111111001011001101111110010010001010000010000010001000111000000001110001100110110100010001010000010000111000100011100000001010000000000000000000000000001100010001110000000110101110110001010011001101111110010010001010000010000010001000111000000011110001100110110100010001010000010000111000100011100000001010000000000000000000000000001000100010101000100001100110111111001011001101111110010010001010100010000010001000111000000011010111011000101000010001010100010000100100100011100000001010000000000000000000000000001110010001110000000000111011110101000011001101111110010010001010100010000011001000111000000000010111011000101000010001010100010000100100100011100000001010000000000000000000000000001000100010100100100001100110111111001011001101111110010010001010010010000011001000111000000000011101111010100000010001010010010000110100100011100000001010000000000000000000000000001110010001110000000101101010001100001011001101111110010010001010010010000011001000111000000010011101111010100000010001010010010000110100100011100000001010000000000000000000000000001000100010101100100001100110111111001011001101111110010010001010110010000011001000111000000010110101000110000100010001010110010000101100100011100000001010000000000000000000000000001110010001110000000010000110110101000011001101111110010010001010110010000011001000111000000001110101000110000100010001010110010000101100100011100000001010000000000000000000000000001000100010100010100001100110111111001011001101111110010010001010001010000011001000111000000001000011011010100000010001010001010000111100100011100000001010000000000000000000000000001110010001110000000110111010010101110011001101111110010010001010001010000011001000111000000011000011011010100000010001010001010000111100100011100000001010000000000000000000000000001000100010101010100001100110111111001011001101111110010010001010101010000011001000111000000011011101001010111000010001010101010000100010100011100000001010000000000000000000000000001101010001110000000000001111100111011011001101111110010010001010101010000010101000111000000000011101001010111000010001010101010000100010100011100000001010000000000000000000000000001000100010100110100001100110111111001011001101111110010010001010011010000010101000111000000000000111110011101100010001010011010000110010100011100000001010000000000000000000000000001101010001110000000101000000101010010011001101111110010010001010011010000010101000111000000010000111110011101100010001010011010000110010100011100000001010000000000000000000000000001000100010101110100001100110111111001011001101111110010010001010111010000010101000111000000010100000010101001000010001010111010000101010100011100000001010000000000000000000000000001101010001110000000011010100010100000011001101111110010010001010111010000010101000111000000001100000010101001000010001010111010000101010100011100000001010000000000000000000000000001000100010100001100001100110111111001011001101111110010010001010000110000010101000111000000001101010001010000000010001010000110000111010100011100000001010000000000000000000000000001101010001110000000110001101011111100011001101111110010010001010000110000010101000111000000011101010001010000000010001010000110000111010100011100000001010000000000000000000000000001000100010101001100001100110111111001011001101111110010010001010100110000010101000111000000011000110101111110000010001010100110000100110100011100000001010000000000000000000000000001111010001110000000000000000101101101011001101111110010010001010100110000011101000111000000000000110101111110000010001010100110000100110100011100000001010000000000000000000000000001000100010100101100001100110111111001011001101111110010010001010010110000011101000111000000000000000010110110100010001010010110000110110100011100000001010000000000000000000000000001111010001110000000101111101110011101011001101111110010010001010010110000011101000111000000010000000010110110100010001010010110000110110100011100000001010000000000000000000000000001000100010101101100001100110111111001011001101111110010010001010110110000011101000111000000010111110111001110100010001010110110000101110100011100000001010000000000000000000000000001111010001110000000010000001010010001011001101111110010010001010110110000011101000111000000001111110111001110100010001010110110000101110100011100000001010000000000000000000000000001000100010100011100001100110111111001011001101111110010010001010001110000011101000111000000001000000101001000100010001010001110000111110100011100000001010000000000000000000000000001111010001110000000110110000000011000011001101111110010010001010001110000011101000111000000011000000101001000100010001010001110000111110100011100000001010000000000000000000000000001000100010101011100001100110111111001011001101111110010010001010101110000011101000111000000011011000000001100000010001010101110000100001100011100000001010000000000000000000000000001100110001110000000000010011111111100011001101111110010010001010101110000010011000111000000000011000000001100000010001010101110000100001100011100000001010000000000000000000000000001000100010100111100001100110111111001011001101111110010010001010011110000010011000111000000000001001111111110000010001010011110000110001100011100000001010000000000000000000000000001100110001110000000100100011010110010011001101111110010010001010011110000010011000111000000010001001111111110000010001010011110000110001100011100000001010000000000000000000000000001000100010101111100001100110111111001011001101111110010010001010111110000010011000111000000010010001101011001000010001010111110000101001100011100000001010000000000000000000000000001100110001110000000011011011010010000011001101111110010010001010111110000010011000111000000001010001101011001000010001010111110000101001100011100000001010000000000000000000000000001000100010100000010001100110111111001011001101111110010010001010000001000010011000111000000001101101101001000000010001010000001000111001100011100000001010000000000000000000000000001100110001110000000111011001011111000011001101111110010010001010000001000010011000111000000011101101101001000000010001010000001000111001100011100000001010000000000000000000000000001000100010101000010001100110111111001011001101111110010010001010100001000010011000111000000011101100101111100000010001010100001000100101100011100000001010000000000000000000000000001110110001110000000001010110001111010011001101111110010010001010100001000011011000111000000000101100101111100000010001010100001000100101100011100000001010000000000000000000000000001000100010100100010001100110111111001011001101111110010010001010010001000011011000111000000000101011000111101000010001010010001000110101100011100000001010000000000000000000000000001110110001110000000101010101011100011011001101111110010010001010010001000011011000111000000010101011000111101000010001010010001000110101100011100000001010000000000000000000000000001000100010101100010001100110111111001011001101111110010010001010110001000011011000111000000010101010101110001100010001010110001000101101100011100000001010000000000000000000000000001110110001110000000011010111100000100011001101111110010010001010110001000011011000111000000001101010101110001100010001010110001000101101100011100000001010000000000000000000000000001000100010100010010001100110111111001011001101111110010010001010001001000011011000111000000001101011110000010000010001010001001000111101100011100000001010000000000000000000000000001110110001110000000110100110000111101011001101111110010010001010001001000011011000111000000011101011110000010000010001010001001000111101100011100000001010000000000000000000000000001000100010101010010001100110111111001011001101111110010010001010101001000011011000111000000011010011000011110100010001010101001000100011100011100000001010000000000000000000000000001101110001110000000001111100001000011011001101111110010010001010101001000010111000111000000000010011000011110100010001010101001000100011100011100000001010000000000000000000000000001000100010100110010001100110111111001011001101111110010010001010011001000010111000111000000000111110000100001100010001010011001000110011100011100000001010000000000000000000000000001101110001110000000100101000110010110011001101111110010010001010011001000010111000111000000010111110000100001100010001010011001000110011100011100000001010000000000000000000000000001000100010101110010001100110111111001011001101111110010010001010111001000010111000111000000010010100011001011000010001010111001000101011100011100000001010000000000000000000000000001101110001110000000011011110100001000011001101111110010010001010111001000010111000111000000001010100011001011000010001010111001000101011100011100000001010000000000000000000000000001000100010100001010001100110111111001011001101111110010010001010000101000010111000111000000001101111010000100000010001010000101000111011100011100000001010000000000000000000000000001101110001110000000110011001001001001011001101111110010010001010000101000010111000111000000011101111010000100000010001010000101000111011100011100000001010000000000000000000000000001000100010101001010001100110111111001011001101111110010010001010100101000010111000111000000011001100100100100100010001010100101000100111100011100000001010000000000000000000000000001111110001110000000001010101101110101011001101111110010010001010100101000011111000111000000000001100100100100100010001010100101000100111100011100000001010000000000000000000000000001000100010100101010001100110111111001011001101111110010010001010010101000011111000111000000000101010110111010100010001010010101000110111100011100000001010000000000000000000000000001111110001110000000100000110110101011011001101111110010010001010010101000011111000111000000010101010110111010100010001010010101000110111100011100000001010000000000000000000000000001000100010101101010001100110111111001011001101111110010010001010110101000011111000111000000010000011011010101100010001010110101000101111100011100000001010000000000000000000000000001111110001110000000010010100011110010011001101111110010010001010110101000011111000111000000001000011011010101100010001010110101000101111100011100000001010000000000000000000000000001000100010100011010001100110111111001011001101111110010010001010001101000011111000111000000001001010001111001000010001010001101000111111100011100000001010000000000000000000000000001111110001110000000110101101110001100011001101111110010010001010001101000011111000111000000011001010001111001000010001010001101000111111100011100000001010000000000000000000000000001000100010101011010001100110111111001011001101111110010010001010101101000011111000111000000011010110111000110000010001010101101000100000010011100000001010000000000000000000000000001100001001110000000001100110010100000011001101111110010010001010101101000010000100111000000000010110111000110000010001010101101000100000010011100000001010000000000000000000000000001000100010100111010001100110111111001011001101111110010010001010011101000010000100111000000000110011001010000000010001010011101000110000010011100000001010000000000000000000000000001100001001110000000100010010111101000011001101111110010010001010011101000010000100111000000010110011001010000000010001010011101000110000010011100000001010000000000000000000000000001000100010101111010001100110111111001011001101111110010010001010111101000010000100111000000010001001011110100000010001010111101000101000010011100000001010000000000000000000000000001100001001110000000011100010100010111011001101111110010010001010111101000010000100111000000001001001011110100000010001010111101000101000010011100000001010000000000000000000000000001000100010100000110001100110111111001011001101111110010010001010000011000010000100111000000001110001010001011100010001010000011000111000010011100000001010000000000000000000000000001100001001110000000111001000011111111011001101111110010010001010000011000010000100111000000011110001010001011100010001010000011000111000010011100000001010000000000000000000000000001000100010101000110001100110111111001011001101111110010010001010100011000010000100111000000011100100001111111100010001010100011000100100010011100000001010000000000000000000000000001110001001110000000001101011000111110011001101111110010010001010100011000011000100111000000000100100001111111100010001010100011000100100010011100000001010000000000000000000000000001000100010100100110001100110111111001011001101111110010010001010010011000011000100111000000000110101100011111000010001010010011000110100010011100000001010000000000000000000000000001110001001110000000101000100001001110011001101111110010010001010010011000011000100111000000010110101100011111000010001010010011000110100010011100000001010000000000000000000000000001010100010100000000001100110111111001011001101111110011010001010000000000011000100111000000010100010000100111001010001010000000000101100010011100000001010000000000000000000000000001110001001110000000011110110001000000011001101111110011010001010000000000011000100111000000001100010000100111001010001010000000000101100010011100000001010000000000000000000000000001010100010101000000001100110111111001011001101111110011010001010100000000011000100111000000001111011000100000001010001010100000000111100010011100000001010000000000000000000000000001110001001110000000111101001010011001011001101111110011010001010100000000011000100111000000011111011000100000001010001010100000000111100010011100000001010000000000000000000000000001010100010100100000001100110111111001011001101111110011010001010010000000011000100111000000011110100101001100101010001010010000000100010010011100000001010000000000000000000000000001101001001110000000001110101010011100011001101111110011010001010010000000010100100111000000000110100101001100101010001010010000000100010010011100000001010000000000000000000000000001010100010101100000001100110111111001011001101111110011010001010110000000010100100111000000000111010101001110001010001010110000000110010010011100000001010000000000000000000000000001101001001110000000100001100000011101011001101111110011010001010110000000010100100111000000010111010101001110001010001010110000000110010010011100000001010000000000000000000000000001010100010100010000001100110111111001011001101111110011010001010001000000010100100111000000010000110000001110101010001010001000000101010010011100000001010000000000000000000000000001101001001110000000010110101110111010011001101111110011010001010001000000010100100111000000001000110000001110101010001010001000000101010010011100000001010000000000000000000000000001010100010101010000001100110111111001011001101111110011010001010101000000010100100111000000001011010111011101001010001010101000000111010010011100000001010000000000000000000000000001101001001110000000111101011101101100011001101111110011010001010101000000010100100111000000011011010111011101001010001010101000000111010010011100000001010000000000000000000000000001010100010100110000001100110111111001011001101111110011010001010011000000010100100111000000011110101110110110001010001010011000000100110010011100000001010000000000000000000000000001111001001110000000000111110001110010011001101111110011010001010011000000011100100111000000000110101110110110001010001010011000000100110010011100000001010000000000000000000000000001010100010101110000001100110111111001011001101111110011010001010111000000011100100111000000000011111000111001001010001010111000000110110010011100000001010000000000000000000000000001111001001110000000101000010110010000011001101111110011010001010111000000011100100111000000010011111000111001001010001010111000000110110010011100000001010000000000000000000000000001010100010100001000001100110111111001011001101111110011010001010000100000011100100111000000010100001011001000001010001010000100000101110010011100000001010000000000000000000000000001111001001110000000011001111110001000011001101111110011010001010000100000011100100111000000001100001011001000001010001010000100000101110010011100000001010000000000000000000000000001010100010101001000001100110111111001011001101111110011010001010100100000011100100111000000001100111111000100001010001010100100000111110010011100000001010000000000000000000000000001111001001110000000110000011100101010011001101111110011010001010100100000011100100111000000011100111111000100001010001010100100000111110010011100000001010000000000000000000000000001010100010100101000001100110111111001011001101111110011010001010010100000011100100111000000011000001110010101001010001010010100000100001010011100000001010000000000000000000000000001100101001110000000000000101010101000011001101111110011010001010010100000010010100111000000000000001110010101001010001010010100000100001010011100000001010000000000000000000000000001010100010101101000001100110111111001011001101111110011010001010110100000010010100111000000000000010101010100001010001010110100000110001010011100000001010000000000000000000000000001100101001110000000100000000011101011011001101111110011010001010110100000010010100111000000010000010101010100001010001010110100000110001010011100000001010000000000000000000000000001010100010100011000001100110111111001011001101111110011010001010001100000010010100111000000010000000001110101101010001010001100000101001010011100000001010000000000000000000000000001100101001110000000011001110000010000011001101111110011010001010001100000010010100111000000001000000001110101101010001010001100000101001010011100000001010000000000000000000000000001010100010101011000001100110111111001011001101111110011010001010101100000010010100111000000001100111000001000001010001010101100000111001010011100000001010000000000000000000000000001100101001110000000110010111111101001011001101111110011010001010101100000010010100111000000011100111000001000001010001010101100000111001010011100000001010000000000000000000000000001010100010100111000001100110111111001011001101111110011010001010011100000010010100111000000011001011111110100101010001010011100000100101010011100000001010000000000000000000000000001110101001110000000000010001000101010011001101111110011010001010011100000011010100111000000000001011111110100101010001010011100000100101010011100000001010000000000000000000000000001010100010101111000001100110111111001011001101111110011010001010111100000011010100111000000000001000100010101001010001010111100000110101010011100000001010000000000000000000000000001110101001110000000101011011111010100011001101111110011010001010111100000011010100111000000010001000100010101001010001010111100000110101010011100000001010000000000000000000000000001010100010100000100001100110111111001011001101111110011010001010000010000011010100111000000010101101111101010001010001010000010000101101010011100000001010000000000000000000000000001110101001110000000011001111001101011011001101111110011010001010000010000011010100111000000001101101111101010001010001010000010000101101010011100000001010000000000000000000000000001010100010101000100001100110111111001011001101111110011010001010100010000011010100111000000001100111100110101101010001010100010000111101010011100000001010000000000000000000000000001110101001110000000110001000111101101011001101111110011010001010100010000011010100111000000011100111100110101101010001010100010000111101010011100000001010000000000000000000000000001010100010100100100001100110111111001011001101111110011010001010010010000011010100111000000011000100011110110101010001010010010000100011010011100000001010000000000000000000000000001101101001110000000001110011001100000011001101111110011010001010010010000010110100111000000000000100011110110101010001010010010000100011010011100000001010000000000000000000000000001010100010101100100001100110111111001011001101111110011010001010110010000010110100111000000000111001100110000001010001010110010000110011010011100000001010000000000000000000000000001101101001110000000100111010000011110011001101111110011010001010110010000010110100111000000010111001100110000001010001010110010000110011010011100000001010000000000000000000000000001010100010100010100001100110111111001011001101111110011010001010001010000010110100111000000010011101000001111001010001010001010000101011010011100000001010000000000000000000000000001101101001110000000011011000010000010011001101111110011010001010001010000010110100111000000001011101000001111001010001010001010000101011010011100000001010000000000000000000000000001010100010101010100001100110111111001011001101111110011010001010101010000010110100111000000001101100001000001001010001010101010000111011010011100000001010000000000000000000000000001101101001110000000110110001010000001011001101111110011010001010101010000010110100111000000011101100001000001001010001010101010000111011010011100000001010000000000000000000000000001010100010100110100001100110111111001011001101111110011010001010011010000010110100111000000011011000101000000101010001010011010000100111010011100000001010000000000000000000000000001111101001110000000000000000101101100011001101111110011010001010011010000011110100111000000000011000101000000101010001010011010000100111010011100000001010000000000000000000000000001010100010101110100001100110111111001011001101111110011010001010111010000011110100111000000000000000010110110001010001010111010000110111010011100000001010000000000000000000000000001111101001110000000101110010111001100011001101111110011010001010111010000011110100111000000010000000010110110001010001010111010000110111010011100000001010000000000000000000000000001010100010100001100001100110111111001011001101111110011010001010000110000011110100111000000010111001011100110001010001010000110000101111010011100000001010000000000000000000000000001111101001110000000011100010010100100011001101111110011010001010000110000011110100111000000001111001011100110001010001010000110000101111010011100000001010000000000000000000000000001010100010101001100001100110111111001011001101111110011010001010100110000011110100111000000001110001001010010001010001010100110000111111010011100000001010000000000000000000000000001111101001110000000111110001111001100011001101111110011010001010100110000011110100111000000011110001001010010001010001010100110000111111010011100000001010000000000000000000000000001010100010100101100001100110111111001011001101111110011010001010010110000011110100111000000011111000111100110001010001010010110000100000110011100000001010000000000000000000000000001100011001110000000000000100010110011011001101111110011010001010010110000010001100111000000000111000111100110001010001010010110000100000110011100000001010000000000000000000000000001010100010101101100001100110111111001011001101111110011010001010110110000010001100111000000000000010001011001101010001010110110000110000110011100000001010000000000000000000000000001100011001110000000100000000011110000011001101111110011010001010110110000010001100111000000010000010001011001101010001010110110000110000110011100000001010000000000000000000000000001010100010100011100001100110111111001011001101111110011010001010001110000010001100111000000010000000001111000001010001010001110000101000110011100000001010000000000000000000000000001100011001110000000010100000010110101011001101111110011010001010001110000010001100111000000001000000001111000001010001010001110000101000110011100000001010000000000000000000000000001010100010101011100001100110111111001011001101111110011010001010101110000010001100111000000001010000001011010101010001010101110000111000110011100000001010000000000000000000000000001100011001110000000111011110010000101011001101111110011010001010101110000010001100111000000011010000001011010101010001010101110000111000110011100000001010000000000000000000000000001010100010100111100001100110111111001011001101111110011010001010011110000010001100111000000011101111001000010101010001010011110000100100110011100000001010000000000000000000000000001110011001110000000000100111011111111011001101111110011010001010011110000011001100111000000000101111001000010101010001010011110000100100110011100000001010000000000000000000000000001010100010101111100001100110111111001011001101111110011010001010111110000011001100111000000000010011101111111101010001010111110000110100110011100000001010000000000000000000000000001110011001110000000101000000111100000011001101111110011010001010111110000011001100111000000010010011101111111101010001010111110000110100110011100000001010000000000000000000000000001010100010100000010001100110111111001011001101111110011010001010000001000011001100111000000010100000011110000001010001010000001000101100110011100000001010000000000000000000000000001110011001110000000010110000101001100011001101111110011010001010000001000011001100111000000001100000011110000001010001010000001000101100110011100000001010000000000000000000000000001010100010101000010001100110111111001011001101111110011010001010100001000011001100111000000001011000010100110001010001010100001000111100110011100000001010000000000000000000000000001110011001110000000110010010010010011011001101111110011010001010100001000011001100111000000011011000010100110001010001010100001000111100110011100000001010000000000000000000000000001010100010100100010001100110111111001011001101111110011010001010010001000011001100111000000011001001001001001101010001010010001000100010110011100000001010000000000000000000000000001101011001110000000001010100001000000011001101111110011010001010010001000010101100111000000000001001001001001101010001010010001000100010110011100000001010000000000000000000000000001010100010101100010001100110111111001011001101111110011010001010110001000010101100111000000000101010000100000001010001010110001000110010110011100000001010000000000000000000000000001101011001110000000100101010110011010011001101111110011010001010110001000010101100111000000010101010000100000001010001010110001000110010110011100000001010000000000000000000000000001010100010100010010001100110111111001011001101111110011010001010001001000010101100111000000010010101011001101001010001010001001000101010110011100000001010000000000000000000000000001101011001110000000011000011101101000011001101111110011010001010001001000010101100111000000001010101011001101001010001010001001000101010110011100000001010000000000000000000000000001010100010101010010001100110111111001011001101111110011010001010101001000010101100111000000001100001110110100001010001010101001000111010110011100000001010000000000000000000000000001101011001110000000111001010111100101011001101111110011010001010101001000010101100111000000011100001110110100001010001010101001000111010110011100000001010000000000000000000000000001010100010100110010001100110111111001011001101111110011010001010011001000010101100111000000011100101011110010101010001010011001000100110110011100000001010000000000000000000000000001111011001110000000001010000111001000011001101111110011010001010011001000011101100111000000000100101011110010101010001010011001000100110110011100000001010000000000000000000000000001010100010101110010001100110111111001011001101111110011010001010111001000011101100111000000000101000011100100001010001010111001000110110110011100000001010000000000000000000000000001111011001110000000101100010110001000011001101111110011010001010111001000011101100111000000010101000011100100001010001010111001000110110110011100000001010000000000000000000000000001010100010100001010001100110111111001011001101111110011010001010000101000011101100111000000010110001011000100001010001010000101000101110110011100000001010000000000000000000000000001111011001110000000011110001101001000011001101111110011010001010000101000011101100111000000001110001011000100001010001010000101000101110110011100000001010000000000000000000000000001010100010101001010001100110111111001011001101111110011010001010100101000011101100111000000001111000110100100001010001010100101000111110110011100000001010000000000000000000000000001111011001110000000111000010111100100011001101111110011010001010100101000011101100111000000011111000110100100001010001010100101000111110110011100000001010000000000000000000000000001010100010100101010001100110111111001011001101111110011010001010010101000011101100111000000011100001011110010001010001010010101000100001110011100000001010000000000000000000000000001100111001110000000001110011111100000011001101111110011010001010010101000010011100111000000000100001011110010001010001010010101000100001110011100000001010000000000000000000000000001010100010101101010001100110111111001011001101111110011010001010110101000010011100111000000000111001111110000001010001010110101000110001110011100000001010000000000000000000000000001100111001110000000101110011010100111011001101111110011010001010110101000010011100111000000010111001111110000001010001010110101000110001110011100000001010000000000000000000000000001010100010100011010001100110111111001011001101111110011010001010001101000010011100111000000010111001101010011101010001010001101000101001110011100000001010000000000000000000000000001100111001110000000011010001001000000011001101111110011010001010001101000010011100111000000001111001101010011101010001010001101000101001110011100000001010000000000000000000000000001010100010101011010001100110111111001011001101111110011010001010101101000010011100111000000001101000100100000001010001010101101000111001110011100000001010000000000000000000000000001100111001110000000111001110011110011011001101111110011010001010101101000010011100111000000011101000100100000001010001010101101000111001110011100000001010000000000000000000000000001010100010100111010001100110111111001011001101111110011010001010011101000010011100111000000011100111001111001101010001010011101000100101110011100000001010000000000000000000000000001110111001110000000001011110010100010011001101111110011010001010011101000011011100111000000000100111001111001101010001010011101000100101110011100000001010000000000000000000000000001010100010101111010001100110111111001011001101111110011010001010111101000011011100111000000000101111001010001001010001010111101000110101110011100000001010000000000000000000000000001110111001110000000101110011110100100011001101111110011010001010111101000011011100111000000010101111001010001001010001010111101000110101110011100000001010000000000000000000000000001010100010100000110001100110111111001011001101111110011010001010000011000011011100111000000010111001111010010001010001010000011000101101110011100000001010000000000000000000000000001110111001110000000011000011101100000011001101111110011010001010000011000011011100111000000001111001111010010001010001010000011000101101110011100000001010000000000000000000000000001010100010101000110001100110111111001011001101111110011010001010100011000011011100111000000001100001110110000001010001010100011000111101110011100000001010000000000000000000000000001110111001110000000111101001110110001011001101111110011010001010100011000011011100111000000011100001110110000001010001010100011000111101110011100000001010000000000000000000000000001010100010100100110001100110111111001011001101111110011010001010010011000011011100111000000011110100111011000101010001010010011000100011110011100000001010000000000000000000000000001101111001110000000000110011000000000011001101111110011010001010010011000010111100111000000000110100111011000101010001010010011000100011110011100000001010000000000000000000000000001001100010100000000001100110111111001011001101111110010110001010000000000010111100111000000000011001100000000000110001010000000000110011110011100000001010000000000000000000000000001101111001110000000100110110100001101011001101111110010110001010000000000010111100111000000010011001100000000000110001010000000000110011110011100000001010000000000000000000000000001001100010101000000001100110111111001011001101111110010110001010100000000010111100111000000010011011010000110100110001010100000000101011110011100000001010000000000000000000000000001101111001110000000010000011100000000011001101111110010110001010100000000010111100111000000001011011010000110100110001010100000000101011110011100000001010000000000000000000000000001001100010100100000001100110111111001011001101111110010110001010010000000010111100111000000001000001110000000000110001010010000000111011110011100000001010000000000000000000000000001101111001110000000110001110001100001011001101111110010110001010010000000010111100111000000011000001110000000000110001010010000000111011110011100000001010000000000000000000000000001001100010101100000001100110111111001011001101111110010110001010110000000010111100111000000011000111000110000100110001010110000000100111110011100000001010000000000000000000000000001111111001110000000000000010111100000011001101111110010110001010110000000011111100111000000000000111000110000100110001010110000000100111110011100000001010000000000000000000000000001001100010100010000001100110111111001011001101111110010110001010001000000011111100111000000000000001011110000000110001010001000000110111110011100000001010000000000000000000000000001111111001110000000101110010111001100011001101111110010110001010001000000011111100111000000010000001011110000000110001010001000000110111110011100000001010000000000000000000000000001001100010101010000001100110111111001011001101111110010110001010101000000011111100111000000010111001011100110000110001010101000000101111110011100000001010000000000000000000000000001111111001110000000011010011001101000011001101111110010110001010101000000011111100111000000001111001011100110000110001010101000000101111110011100000001010000000000000000000000000001001100010100110000001100110111111001011001101111110010110001010011000000011111100111000000001101001100110100000110001010011000000111111110011100000001010000000000000000000000000001111111001110000000111000010111100000011001101111110010110001010011000000011111100111000000011101001100110100000110001010011000000111111110011100000001010000000000000000000000000001001100010101110000001100110111111001011001101111110010110001010111000000011111100111000000011100001011110000000110001010111000000100000001011100000001010000000000000000000000000001001100010101110000001100110111111001011001101111110010110001010111000000010000010111000000000100001011110000000110001010111000000100000001011100000001010000000000000000000000000001001100010100001000001100110111111001011001101111110010110001010000100000010000010111000000000100001011110000000110001010000100000110000001011100000001010000000000000000000000000001001100010101001000001100110111111001011001101111110010110001010100100000010000010111000000010100001011110000000110001010100100000110000001011100000001010000000000000000000000000001001100010100101000001100110111111001011001101111110010110001010010100000010000010111000000010100001011110000000110001010010100000101000001011100000001010000000000000000000000000001001100010101101000001100110111111001011001101111110010110001010110100000010000010111000000001100001011110000000110001010110100000101000001011100000001010000000000000000000000000001001100010100011000001100110111111001011001101111110010110001010001100000010000010111000000001100001011110000000110001010001100000111000001011100000001010000000000000000000000000001001100010101011000001100110111111001011001101111110010110001010101100000010000010111000000011100001011110000000110001010101100000111000001011100000001010000000000000000000000000001001100010100111000001100110111111001011001101111110010110001010011100000010000010111000000011100001011110000000110001010011100000100100001011100000001010000000000000000000000000001001100010101111000001100110111111001011001101111110010110001010111100000011000010111000000000100001011110000000110001010111100000100100001011100000001010000000000000000000000000001001100010100000100001100110111111001011001101111110010110001010000010000011000010111000000000100001011110000000110001010000010000110100001011100000001010000000000000000000000000001001100010101000100001100110111111001011001101111110010110001010100010000011000010111000000010100001011110000000110001010100010000110100001011100000001010000000000000000000000000001001100010100100100001100110111111001011001101111110010110001010010010000011000010111000000010100001011110000000110001010010010000101100001011100000001010000000000000000000000000001001100010101100100001100110111111001011001101111110010110001010110010000011000010111000000001100001011110000000110001010110010000101100001011100000001010000000000000000000000000001001100010100010100001100110111111001011001101111110010110001010001010000011000010111000000001100001011110000000110001010001010000111100001011100000001010000000000000000000000000001001100010101010100001100110111111001011001101111110010110001010101010000011000010111000000011100001011110000000110001010101010000111100001011100000001010000000000000000000000000001001100010100110100001100110111111001011001101111110010110001010011010000011000010111000000011100001011110000000110001010011010000100010001011100000001010000000000000000000000000001001100010101110100001100110111111001011001101111110010110001010111010000010100010111000000000100001011110000000110001010111010000100010001011100000001010000000000000000000000000001001100010100001100001100110111111001011001101111110010110001010000110000010100010111000000000100001011110000000110001010000110000110010001011100000001010000000000000000000000000001001100010101001100001100110111111001011001101111110010110001010100110000010100010111000000010100001011110000000110001010100110000110010001011100000001010000000000000000000000000001001100010100101100001100110111111001011001101111110010110001010010110000010100010111000000010100001011110000000110001010010110000101010001011100000001010000000000000000000000000001001100010101101100001100110111111001011001101111110010110001010110110000010100010111000000001100001011110000000110001010110110000101010001011100000001010000000000000000000000000001001100010100011100001100110111111001011001101111110010110001010001110000010100010111000000001100001011110000000110001010001110000111010001011100000001010000000000000000000000000001001100010101011100001100110111111001011001101111110010110001010101110000010100010111000000011100001011110000000110001010101110000111010001011100000001010000000000000000000000000001001100010100111100001100110111111001011001101111110010110001010011110000010100010111000000011100001011110000000110001010011110000100110001011100000001010000000000000000000000000001001100010101111100001100110111111001011001101111110010110001010111110000011100010111000000000100001011110000000110001010111110000100110001011100000001010000000000000000000000000001001100010100000010001100110111111001011001101111110010110001010000001000011100010111000000000100001011110000000110001010000001000110110001011100000001010000000000000000000000000001001100010101000010001100110111111001011001101111110010110001010100001000011100010111000000010100001011110000000110001010100001000110110001011100000001010000000000000000000000000001001100010100100010001100110111111001011001101111110010110001010010001000011100010111000000010100001011110000000110001010010001000101110001011100000001010000000000000000000000000001001100010101100010001100110111111001011001101111110010110001010110001000011100010111000000001100001011110000000110001010110001000101110001011100000001010000000000000000000000000001001100010100010010001100110111111001011001101111110010110001010001001000011100010111000000001100001011110000000110001010001001000111110001011100000001010000000000000000000000000001001100010101010010001100110111111001011001101111110010110001010101001000011100010111000000011100001011110000000110001010101001000111110001011100000001010000000000000000000000000001001100010100110010001100110111111001011001101111110010110001010011001000011100010111000000011100001011110000000110001010011001000100001001011100000001010000000000000000000000000001001100010101110010001100110111111001011001101111110010110001010111001000010010010111000000000100001011110000000110001010111001000100001001011100000001010000000000000000000000000001001100010100001010001100110111111001011001101111110010110001010000101000010010010111000000000100001011110000000110001010000101000110001001011100000001010000000000000000000000000001001100010101001010001100110111111001011001101111110010110001010100101000010010010111000000010100001011110000000110001010100101000110001001011100000001010000000000000000000000000001001100010100101010001100110111111001011001101111110010110001010010101000010010010111000000010100001011110000000110001010010101000101001001011100000001010000000000000000000000000001001100010101101010001100110111111001011001101111110010110001010110101000010010010111000000001100001011110000000110001010110101000101001001011100000001010000000000000000000000000001001100010100011010001100110111111001011001101111110010110001010001101000010010010111000000001100001011110000000110001010001101000111001001011100000001010000000000000000000000000001001100010101011010001100110111111001011001101111110010110001010101101000010010010111000000011100001011110000000110001010101101000111001001011100000001010000000000000000000000000001001100010100111010001100110111111001011001101111110010110001010011101000010010010111000000011100001011110000000110001010011101000100101001011100000001010000000000000000000000000001001100010101111010001100110111111001011001101111110010110001010111101000011010010111000000000100001011110000000110001010111101000100101001011100000001010000000000000000000000000001001100010100000110001100110111111001011001101111110010110001010000011000011010010111000000000100001011110000000110001010000011000110101001011100000001010000000000000000000000000001001100010101000110001100110111111001011001101111110010110001010100011000011010010111000000010100001011110000000110001010100011000110101001011100000001010000000000000000000000000001001100010100100110001100110111111001011001101111110010110001010010011000011010010111000000010100001011110000000110001010010011000101101001011100000001010000000000000000000000000001011100010100000000001100110111111001011001101111110011110001010000000000011010010111000000001100001011110000001110001010000000000101101001011100000001010000000000000000000000000001011100010101000000001100110111111001011001101111110011110001010100000000011010010111000000001100001011110000001110001010100000000111101001011100000001010000000000000000000000000001011100010100100000001100110111111001011001101111110011110001010010000000011010010111000000011100001011110000001110001010010000000111101001011100000001010000000000000000000000000001011100010101100000001100110111111001011001101111110011110001010110000000011010010111000000011100001011110000001110001010110000000100011001011100000001010000000000000000000000000001011100010100010000001100110111111001011001101111110011110001010001000000010110010111000000000100001011110000001110001010001000000100011001011100000001010000000000000000000000000001011100010101010000001100110111111001011001101111110011110001010101000000010110010111000000000100001011110000001110001010101000000110011001011100000001010000000000000000000000000001011100010100110000001100110111111001011001101111110011110001010011000000010110010111000000010100001011110000001110001010011000000110011001011100000001010000000000000000000000000001011100010101110000001100110111111001011001101111110011110001010111000000010110010111000000010100001011110000001110001010111000000101011001011100000001010000000000000000000000000001011100010100001000001100110111111001011001101111110011110001010000100000010110010111000000001100001011110000001110001010000100000101011001011100000001010000000000000000000000000001011100010101001000001100110111111001011001101111110011110001010100100000010110010111000000001100001011110000001110001010100100000111011001011100000001010000000000000000000000000001011100010100101000001100110111111001011001101111110011110001010010100000010110010111000000011100001011110000001110001010010100000111011001011100000001010000000000000000000000000001011100010101101000001100110111111001011001101111110011110001010110100000010110010111000000011100001011110000001110001010110100000100111001011100000001010000000000000000000000000001011100010100011000001100110111111001011001101111110011110001010001100000011110010111000000000100001011110000001110001010001100000100111001011100000001010000000000000000000000000001011100010101011000001100110111111001011001101111110011110001010101100000011110010111000000000100001011110000001110001010101100000110111001011100000001010000000000000000000000000001011100010100111000001100110111111001011001101111110011110001010011100000011110010111000000010100001011110000001110001010011100000110111001011100000001010000000000000000000000000001011100010101111000001100110111111001011001101111110011110001010111100000011110010111000000010100001011110000001110001010111100000101111001011100000001010000000000000000000000000001011100010100000100001100110111111001011001101111110011110001010000010000011110010111000000001100001011110000001110001010000010000101111001011100000001010000000000000000000000000001011100010101000100001100110111111001011001101111110011110001010100010000011110010111000000001100001011110000001110001010100010000111111001011100000001010000000000000000000000000001011100010100100100001100110111111001011001101111110011110001010010010000011110010111000000011100001011110000001110001010010010000111111001011100000001010000000000000000000000000001011100010101100100001100110111111001011001101111110011110001010110010000011110010111000000011100001011110000001110001010110010000100000101011100000001010000000000000000000000000001011100010100010100001100110111111001011001101111110011110001010001010000010001010111000000000100001011110000001110001010001010000100000101011100000001010000000000000000000000000001011100010101010100001100110111111001011001101111110011110001010101010000010001010111000000000100001011110000001110001010101010000110000101011100000001010000000000000000000000000001011100010100110100001100110111111001011001101111110011110001010011010000010001010111000000010100001011110000001110001010011010000110000101011100000001010000000000000000000000000001011100010101110100001100110111111001011001101111110011110001010111010000010001010111000000010100001011110000001110001010111010000101000101011100000001010000000000000000000000000001011100010100001100001100110111111001011001101111110011110001010000110000010001010111000000001100001011110000001110001010000110000101000101011100000001010000000000000000000000000001011100010101001100001100110111111001011001101111110011110001010100110000010001010111000000001100001011110000001110001010100110000111000101011100000001010000000000000000000000000001011100010100101100001100110111111001011001101111110011110001010010110000010001010111000000011100001011110000001110001010010110000111000101011100000001010000000000000000000000000001011100010101101100001100110111111001011001101111110011110001010110110000010001010111000000011100001011110000001110001010110110000100100101011100000001010000000000000000000000000001011100010100011100001100110111111001011001101111110011110001010001110000011001010111000000000100001011110000001110001010001110000100100101011100000001010000000000000000000000000001011100010101011100001100110111111001011001101111110011110001010101110000011001010111000000000100001011110000001110001010101110000110100101011100000001010000000000000000000000000001011100010100111100001100110111111001011001101111110011110001010011110000011001010111000000010100001011110000001110001010011110000110100101011100000001010000000000000000000000000001011100010101111100001100110111111001011001101111110011110001010111110000011001010111000000010100001011110000001110001010111110000101100101011100000001010000000000000000000000000001011100010100000010001100110111111001011001101111110011110001010000001000011001010111000000001100001011110000001110001010000001000101100101011100000001010000000000000000000000000001011100010101000010001100110111111001011001101111110011110001010100001000011001010111000000001100001011110000001110001010100001000111100101011100000001010000000000000000000000000001011100010100100010001100110111111001011001101111110011110001010010001000011001010111000000011100001011110000001110001010010001000111100101011100000001010000000000000000000000000001011100010101100010001100110111111001011001101111110011110001010110001000011001010111000000011100001011110000001110001010110001000100010101011100000001010000000000000000000000000001011100010100010010001100110111111001011001101111110011110001010001001000010101010111000000000100001011110000001110001010001001000100010101011100000001010000000000000000000000000001011100010101010010001100110111111001011001101111110011110001010101001000010101010111000000000100001011110000001110001010101001000110010101011100000001010000000000000000000000000001011100010100110010001100110111111001011001101111110011110001010011001000010101010111000000010100001011110000001110001010011001000110010101011100000001010000000000000000000000000001011100010101110010001100110111111001011001101111110011110001010111001000010101010111000000010100001011110000001110001010111001000101010101011100000001010000000000000000000000000001011100010100001010001100110111111001011001101111110011110001010000101000010101010111000000001100001011110000001110001010000101000101010101011100000001010000000000000000000000000001011100010101001010001100110111111001011001101111110011110001010100101000010101010111000000001100001011110000001110001010100101000111010101011100000001010000000000000000000000000001011100010100101010001100110111111001011001101111110011110001010010101000010101010111000000011100001011110000001110001010010101000111010101011100000001010000000000000000000000000001011100010101101010001100110111111001011001101111110011110001010110101000010101010111000000011100001011110000001110001010110101000100110101011100000001010000000000000000000000000001011100010100011010001100110111111001011001101111110011110001010001101000011101010111000000000100001011110000001110001010001101000100110101011100000001010000000000000000000000000001011100010101011010001100110111111001011001101111110011110001010101101000011101010111000000000100001011110000001110001010101101000110110101011100000001010000000000000000000000000001011100010100111010001100110111111001011001101111110011110001010011101000011101010111000000010100001011110000001110001010011101000110110101011100000001010000000000000000000000000001011100010101111010001100110111111001011001101111110011110001010111101000011101010111000000010100001011110000001110001010111101000101110101011100000001010000000000000000000000000001011100010100000110001100110111111001011001101111110011110001010000011000011101010111000000001100001011110000001110001010000011000101110101011100000001010000000000000000000000000001011100010101000110001100110111111001011001101111110011110001010100011000011101010111000000001100001011110000001110001010100011000111110101011100000001010000000000000000000000000001011100010100100110001100110111111001011001101111110011110001010010011000011101010111000000011100001011110000001110001010010011000111110101011100000001010000000000000000000000000001000010010100000000001100110111111001011001101111110010001001010000000000011101010111000000011100001011110000000001001010000000000100001101011100000001010000000000000000000000000001000010010101000000001100110111111001011001101111110010001001010100000000010011010111000000000100001011110000000001001010100000000100001101011100000001010000000000000000000000000001000010010100100000001100110111111001011001101111110010001001010010000000010011010111000000000100001011110000000001001010010000000110001101011100000001010000000000000000000000000001000010010101100000001100110111111001011001101111110010001001010110000000010011010111000000010100001011110000000001001010110000000110001101011100000001010000000000000000000000000001000010010100010000001100110111111001011001101111110010001001010001000000010011010111000000010100001011110000000001001010001000000101001101011100000001010000000000000000000000000001000010010101010000001100110111111001011001101111110010001001010101000000010011010111000000001100001011110000000001001010101000000101001101011100000001010000000000000000000000000001000010010100110000001100110111111001011001101111110010001001010011000000010011010111000000001100001011110000000001001010011000000111001101011100000001010000000000000000000000000001000010010101110000001100110111111001011001101111110010001001010111000000010011010111000000011100001011110000000001001010111000000111001101011100000001010000000000000000000000000001000010010100001000001100110111111001011001101111110010001001010000100000010011010111000000011100001011110000000001001010000100000100101101011100000001010000000000000000000000000001000010010101001000001100110111111001011001101111110010001001010100100000011011010111000000000100001011110000000001001010100100000100101101011100000001010000000000000000000000000001000010010100101000001100110111111001011001101111110010001001010010100000011011010111000000000100001011110000000001001010010100000110101101011100000001010000000000000000000000000001000010010101101000001100110111111001011001101111110010001001010110100000011011010111000000010100001011110000000001001010110100000110101101011100000001010000000000000000000000000001000010010100011000001100110111111001011001101111110010001001010001100000011011010111000000010100001011110000000001001010001100000101101101011100000001010000000000000000000000000001000010010101011000001100110111111001011001101111110010001001010101100000011011010111000000001100001011110000000001001010101100000101101101011100000001010000000000000000000000000001000010010100111000001100110111111001011001101111110010001001010011100000011011010111000000001100001011110000000001001010011100000111101101011100000001010000000000000000000000000001000010010101111000001100110111111001011001101111110010001001010111100000011011010111000000011100001011110000000001001010111100000111101101011100000001010000000000000000000000000001000010010100000100001100110111111001011001101111110010001001010000010000011011010111000000011100001011110000000001001010000010000100011101011100000001010000000000000000000000000001000010010101000100001100110111111001011001101111110010001001010100010000010111010111000000000100001011110000000001001010100010000100011101011100000001010000000000000000000000000001000010010100100100001100110111111001011001101111110010001001010010010000010111010111000000000100001011110000000001001010010010000110011101011100000001010000000000000000000000000001000010010101100100001100110111111001011001101111110010001001010110010000010111010111000000010100001011110000000001001010110010000110011101011100000001010000000000000000000000000001000010010100010100001100110111111001011001101111110010001001010001010000010111010111000000010100001011110000000001001010001010000101011101011100000001010000000000000000000000000001000010010101010100001100110111111001011001101111110010001001010101010000010111010111000000001100001011110000000001001010101010000101011101011100000001010000000000000000000000000001000010010100110100001100110111111001011001101111110010001001010011010000010111010111000000001100001011110000000001001010011010000111011101011100000001010000000000000000000000000001000010010101110100001100110111111001011001101111110010001001010111010000010111010111000000011100001011110000000001001010111010000111011101011100000001010000000000000000000000000001000010010100001100001100110111111001011001101111110010001001010000110000010111010111000000011100001011110000000001001010000110000100111101011100000001010000000000000000000000000001000010010101001100001100110111111001011001101111110010001001010100110000011111010111000000000100001011110000000001001010100110000100111101011100000001010000000000000000000000000001000010010100101100001100110111111001011001101111110010001001010010110000011111010111000000000100001011110000000001001010010110000110111101011100000001010000000000000000000000000001000010010101101100001100110111111001011001101111110010001001010110110000011111010111000000010100001011110000000001001010110110000110111101011100000001010000000000000000000000000001000010010100011100001100110111111001011001101111110010001001010001110000011111010111000000010100001011110000000001001010001110000101111101011100000001010000000000000000000000000001000010010101011100001100110111111001011001101111110010001001010101110000011111010111000000001100001011110000000001001010101110000101111101011100000001010000000000000000000000000001000010010100111100001100110111111001011001101111110010001001010011110000011111010111000000001100001011110000000001001010011110000111111101011100000001010000000000000000000000000001000010010101111100001100110111111001011001101111110010001001010111110000011111010111000000011100001011110000000001001010111110000111111101011100000001010000000000000000000000000001000010010100000010001100110111111001011001101111110010001001010000001000011111010111000000011100001011110000000001001010000001000100000011011100000001010000000000000000000000000001000010010101000010001100110111111001011001101111110010001001010100001000010000110111000000000100001011110000000001001010100001000100000011011100000001010000000000000000000000000001000010010100100010001100110111111001011001101111110010001001010010001000010000110111000000000100001011110000000001001010010001000110000011011100000001010000000000000000000000000001000010010101100010001100110111111001011001101111110010001001010110001000010000110111000000010100001011110000000001001010110001000110000011011100000001010000000000000000000000000001000010010100010010001100110111111001011001101111110010001001010001001000010000110111000000010100001011110000000001001010001001000101000011011100000001010000000000000000000000000001000010010101010010001100110111111001011001101111110010001001010101001000010000110111000000001100001011110000000001001010101001000101000011011100000001010000000000000000000000000001000010010100110010001100110111111001011001101111110010001001010011001000010000110111000000001100001011110000000001001010011001000111000011011100000001010000000000000000000000000001000010010101110010001100110111111001011001101111110010001001010111001000010000110111000000011100001011110000000001001010111001000111000011011100000001010000000000000000000000000001000010010100001010001100110111111001011001101111110010001001010000101000010000110111000000011100001011110000000001001010000101000100100011011100000001010000000000000000000000000001000010010101001010001100110111111001011001101111110010001001010100101000011000110111000000000100001011110000000001001010100101000100100011011100000001010000000000000000000000000001000010010100101010001100110111111001011001101111110010001001010010101000011000110111000000000100001011110000000001001010010101000110100011011100000001010000000000000000000000000001000010010101101010001100110111111001011001101111110010001001010110101000011000110111000000010100001011110000000001001010110101000110100011011100000001010000000000000000000000000001000010010100011010001100110111111001011001101111110010001001010001101000011000110111000000010100001011110000000001001010001101000101100011011100000001010000000000000000000000000001000010010101011010001100110111111001011001101111110010001001010101101000011000110111000000001100001011110000000001001010101101000101100011011100000001010000000000000000000000000001000010010100111010001100110111111001011001101111110010001001010011101000011000110111000000001100001011110000000001001010011101000111100011011100000001010000000000000000000000000001000010010101111010001100110111111001011001101111110010001001010111101000011000110111000000011100001011110000000001001010111101000111100011011100000001010000000000000000000000000001000010010100000110001100110111111001011001101111110010001001010000011000011000110111000000011100001011110000000001001010000011000100010011011100000001010000000000000000000000000001000010010101000110001100110111111001011001101111110010001001010100011000010100110111000000000100001011110000000001001010100011000100010011011100000001010000000000000000000000000001000010010100100110001100110111111001011001101111110010001001010010011000010100110111000000000100001011110000000001001010010011000110010011011100000001010000000000000000000000000001010010010100000000001100110111111001011001101111110011001001010000000000010100110111000000010100001011110000001001001010000000000110010011011100000001010000000000000000000000000001010010010101000000001100110111111001011001101111110011001001010100000000010100110111000000010100001011110000001001001010100000000101010011011100000001010000000000000000000000000001010010010100100000001100110111111001011001101111110011001001010010000000010100110111000000001100001011110000001001001010010000000101010011011100000001010000000000000000000000000001010010010101100000001100110111111001011001101111110011001001010110000000010100110111000000001100001011110000001001001010110000000111010011011100000001010000000000000000000000000001010010010100010000001100110111111001011001101111110011001001010001000000010100110111000000011100001011110000001001001010001000000111010011011100000001010000000000000000000000000001010010010101010000001100110111111001011001101111110011001001010101000000010100110111000000011100001011110000001001001010101000000100110011011100000001010000000000000000000000000001010010010100110000001100110111111001011001101111110011001001010011000000011100110111000000000100001011110000001001001010011000000100110011011100000001010000000000000000000000000001010010010101110000001100110111111001011001101111110011001001010111000000011100110111000000000100001011110000001001001010111000000110110011011100000001010000000000000000000000000001010010010100001000001100110111111001011001101111110011001001010000100000011100110111000000010100001011110000001001001010000100000110110011011100000001010000000000000000000000000001010010010101001000001100110111111001011001101111110011001001010100100000011100110111000000010100001011110000001001001010100100000101110011011100000001010000000000000000000000000001010010010100101000001100110111111001011001101111110011001001010010100000011100110111000000001100001011110000001001001010010100000101110011011100000001010000000000000000000000000001010010010101101000001100110111111001011001101111110011001001010110100000011100110111000000001100001011110000001001001010110100000111110011011100000001010000000000000000000000000001010010010100011000001100110111111001011001101111110011001001010001100000011100110111000000011100001011110000001001001010001100000111110011011100000001010000000000000000000000000001010010010101011000001100110111111001011001101111110011001001010101100000011100110111000000011100001011110000001001001010101100000100001011011100000001010000000000000000000000000001010010010100111000001100110111111001011001101111110011001001010011100000010010110111000000000100001011110000001001001010011100000100001011011100000001010000000000000000000000000001010010010101111000001100110111111001011001101111110011001001010111100000010010110111000000000100001011110000001001001010111100000110001011011100000001010000000000000000000000000001010010010100000100001100110111111001011001101111110011001001010000010000010010110111000000010100001011110000001001001010000010000110001011011100000001010000000000000000000000000001010010010101000100001100110111111001011001101111110011001001010100010000010010110111000000010100001011110000001001001010100010000101001011011100000001010000000000000000000000000001010010010100100100001100110111111001011001101111110011001001010010010000010010110111000000001100001011110000001001001010010010000101001011011100000001010000000000000000000000000001010010010101100100001100110111111001011001101111110011001001010110010000010010110111000000001100001011110000001001001010110010000111001011011100000001010000000000000000000000000001010010010100010100001100110111111001011001101111110011001001010001010000010010110111000000011100001011110000001001001010001010000111001011011100000001010000000000000000000000000001010010010101010100001100110111111001011001101111110011001001010101010000010010110111000000011100001011110000001001001010101010000100101011011100000001010000000000000000000000000001010010010100110100001100110111111001011001101111110011001001010011010000011010110111000000000100001011110000001001001010011010000100101011011100000001010000000000000000000000000001010010010101110100001100110111111001011001101111110011001001010111010000011010110111000000000100001011110000001001001010111010000110101011011100000001010000000000000000000000000001010010010100001100001100110111111001011001101111110011001001010000110000011010110111000000010100001011110000001001001010000110000110101011011100000001010000000000000000000000000001010010010101001100001100110111111001011001101111110011001001010100110000011010110111000000010100001011110000001001001010100110000101101011011100000001010000000000000000000000000001010010010100101100001100110111111001011001101111110011001001010010110000011010110111000000001100001011110000001001001010010110000101101011011100000001010000000000000000000000000001010010010101101100001100110111111001011001101111110011001001010110110000011010110111000000001100001011110000001001001010110110000111101011011100000001010000000000000000000000000001010010010100011100001100110111111001011001101111110011001001010001110000011010110111000000011100001011110000001001001010001110000111101011011100000001010000000000000000000000000001010010010101011100001100110111111001011001101111110011001001010101110000011010110111000000011100001011110000001001001010101110000100011011011100000001010000000000000000000000000001010010010100111100001100110111111001011001101111110011001001010011110000010110110111000000000100001011110000001001001010011110000100011011011100000001010000000000000000000000000001010010010101111100001100110111111001011001101111110011001001010111110000010110110111000000000100001011110000001001001010111110000110011011011100000001010000000000000000000000000001010010010100000010001100110111111001011001101111110011001001010000001000010110110111000000010100001011110000001001001010000001000110011011011100000001010000000000000000000000000001010010010101000010001100110111111001011001101111110011001001010100001000010110110111000000010100001011110000001001001010100001000101011011011100000001010000000000000000000000000001010010010100100010001100110111111001011001101111110011001001010010001000010110110111000000001100001011110000001001001010010001000101011011011100000001010000000000000000000000000001010010010101100010001100110111111001011001101111110011001001010110001000010110110111000000001100001011110000001001001010110001000111011011011100000001010000000000000000000000000001010010010100010010001100110111111001011001101111110011001001010001001000010110110111000000011100001011110000001001001010001001000111011011011100000001010000000000000000000000000001010010010101010010001100110111111001011001101111110011001001010101001000010110110111000000011100001011110000001001001010101001000100111011011100000001010000000000000000000000000001010010010100110010001100110111111001011001101111110011001001010011001000011110110111000000000100001011110000001001001010011001000100111011011100000001010000000000000000000000000001010010010101110010001100110111111001011001101111110011001001010111001000011110110111000000000100001011110000001001001010111001000110111011011100000001010000000000000000000000000001010010010100001010001100110111111001011001101111110011001001010000101000011110110111000000010100001011110000001001001010000101000110111011011100000001010000000000000000000000000001010010010101001010001100110111111001011001101111110011001001010100101000011110110111000000010100001011110000001001001010100101000101111011011100000001010000000000000000000000000001010010010100101010001100110111111001011001101111110011001001010010101000011110110111000000001100001011110000001001001010010101000101111011011100000001010000000000000000000000000001010010010101101010001100110111111001011001101111110011001001010110101000011110110111000000001100001011110000001001001010110101000111111011011100000001010000000000000000000000000001010010010100011010001100110111111001011001101111110011001001010001101000011110110111000000011100001011110000001001001010001101000111111011011100000001010000000000000000000000000001010010010101011010001100110111111001011001101111110011001001010101101000011110110111000000011100001011110000001001001010101101000100000111011100000001010000000000000000000000000001010010010100111010001100110111111001011001101111110011001001010011101000010001110111000000000100001011110000001001001010011101000100000111011100000001010000000000000000000000000001010010010101111010001100110111111001011001101111110011001001010111101000010001110111000000000100001011110000001001001010111101000110000111011100000001010000000000000000000000000001010010010100000110001100110111111001011001101111110011001001010000011000010001110111000000010100001011110000001001001010000011000110000111011100000001010000000000000000000000000001010010010101000110001100110111111001011001101111110011001001010100011000010001110111000000010100001011110000001001001010100011000101000111011100000001010000000000000000000000000001010010010100100110001100110111111001011001101111110011001001010010011000010001110111000000001100001011110000001001001010010011000101000111011100000001010000000000000000000000000001001010010100000000001100110111111001011001101111110010101001010000000000010001110111000000001100001011110000000101001010000000000111000111011100000001010000000000000000000000000001001010010101000000001100110111111001011001101111110010101001010100000000010001110111000000011100001011110000000101001010100000000111000111011100000001010000000000000000000000000001001010010100100000001100110111111001011001101111110010101001010010000000010001110111000000011100001011110000000101001010010000000100100111011100000001010000000000000000000000000001001010010101100000001100110111111001011001101111110010101001010110000000011001110111000000000100001011110000000101001010110000000100100111011100000001010000000000000000000000000001001010010100010000001100110111111001011001101111110010101001010001000000011001110111000000000100001011110000000101001010001000000110100111011100000001010000000000000000000000000001001010010101010000001100110111111001011001101111110010101001010101000000011001110111000000010100001011110000000101001010101000000110100111011100000001010000000000000000000000000001001010010100110000001100110111111001011001101111110010101001010011000000011001110111000000010100001011110000000101001010011000000101100111011100000001010000000000000000000000000001001010010101110000001100110111111001011001101111110010101001010111000000011001110111000000001100001011110000000101001010111000000101100111011100000001010000000000000000000000000001001010010100001000001100110111111001011001101111110010101001010000100000011001110111000000001100001011110000000101001010000100000111100111011100000001010000000000000000000000000001001010010101001000001100110111111001011001101111110010101001010100100000011001110111000000011100001011110000000101001010100100000111100111011100000001010000000000000000000000000001001010010100101000001100110111111001011001101111110010101001010010100000011001110111000000011100001011110000000101001010010100000100010111011100000001010000000000000000000000000001001010010101101000001100110111111001011001101111110010101001010110100000010101110111000000000100001011110000000101001010110100000100010111011100000001010000000000000000000000000001001010010100011000001100110111111001011001101111110010101001010001100000010101110111000000000100001011110000000101001010001100000110010111011100000001010000000000000000000000000001001010010101011000001100110111111001011001101111110010101001010101100000010101110111000000010100001011110000000101001010101100000110010111011100000001010000000000000000000000000001001010010100111000001100110111111001011001101111110010101001010011100000010101110111000000010100001011110000000101001010011100000101010111011100000001010000000000000000000000000001001010010101111000001100110111111001011001101111110010101001010111100000010101110111000000001100001011110000000101001010111100000101010111011100000001010000000000000000000000000001001010010100000100001100110111111001011001101111110010101001010000010000010101110111000000001100001011110000000101001010000010000111010111011100000001010000000000000000000000000001001010010101000100001100110111111001011001101111110010101001010100010000010101110111000000011100001011110000000101001010100010000111010111011100000001010000000000000000000000000001001010010100100100001100110111111001011001101111110010101001010010010000010101110111000000011100001011110000000101001010010010000100110111011100000001010000000000000000000000000001001010010101100100001100110111111001011001101111110010101001010110010000011101110111000000000100001011110000000101001010110010000100110111011100000001010000000000000000000000000001001010010100010100001100110111111001011001101111110010101001010001010000011101110111000000000100001011110000000101001010001010000110110111011100000001010000000000000000000000000001001010010101010100001100110111111001011001101111110010101001010101010000011101110111000000010100001011110000000101001010101010000110110111011100000001010000000000000000000000000001001010010100110100001100110111111001011001101111110010101001010011010000011101110111000000010100001011110000000101001010011010000101110111011100000001010000000000000000000000000001001010010101110100001100110111111001011001101111110010101001010111010000011101110111000000001100001011110000000101001010111010000101110111011100000001010000000000000000000000000001001010010100001100001100110111111001011001101111110010101001010000110000011101110111000000001100001011110000000101001010000110000111110111011100000001010000000000000000000000000001001010010101001100001100110111111001011001101111110010101001010100110000011101110111000000011100001011110000000101001010100110000111110111011100000001010000000000000000000000000001001010010100101100001100110111111001011001101111110010101001010010110000011101110111000000011100001011110000000101001010010110000100001111011100000001010000000000000000000000000001001010010101101100001100110111111001011001101111110010101001010110110000010011110111000000000100001011110000000101001010110110000100001111011100000001010000000000000000000000000001001010010100011100001100110111111001011001101111110010101001010001110000010011110111000000000100001011110000000101001010001110000110001111011100000001010000000000000000000000000001001010010101011100001100110111111001011001101111110010101001010101110000010011110111000000010100001011110000000101001010101110000110001111011100000001010000000000000000000000000001001010010100111100001100110111111001011001101111110010101001010011110000010011110111000000010100001011110000000101001010011110000101001111011100000001010000000000000000000000000001001010010101111100001100110111111001011001101111110010101001010111110000010011110111000000001100001011110000000101001010111110000101001111011100000001010000000000000000000000000001001010010100000010001100110111111001011001101111110010101001010000001000010011110111000000001100001011110000000101001010000001000111001111011100000001010000000000000000000000000001001010010101000010001100110111111001011001101111110010101001010100001000010011110111000000011100001011110000000101001010100001000111001111011100000001010000000000000000000000000001001010010100100010001100110111111001011001101111110010101001010010001000010011110111000000011100001011110000000101001010010001000100101111011100000001010000000000000000000000000001001010010101100010001100110111111001011001101111110010101001010110001000011011110111000000000100001011110000000101001010110001000100101111011100000001010000000000000000000000000001001010010100010010001100110111111001011001101111110010101001010001001000011011110111000000000100001011110000000101001010001001000110101111011100000001010000000000000000000000000001001010010101010010001100110111111001011001101111110010101001010101001000011011110111000000010100001011110000000101001010101001000110101111011100000001010000000000000000000000000001001010010100110010001100110111111001011001101111110010101001010011001000011011110111000000010100001011110000000101001010011001000101101111011100000001010000000000000000000000000001001010010101110010001100110111111001011001101111110010101001010111001000011011110111000000001100001011110000000101001010111001000101101111011100000001010000000000000000000000000001001010010100001010001100110111111001011001101111110010101001010000101000011011110111000000001100001011110000000101001010000101000111101111011100000001010000000000000000000000000001001010010101001010001100110111111001011001101111110010101001010100101000011011110111000000011100001011110000000101001010100101000111101111011100000001010000000000000000000000000001001010010100101010001100110111111001011001101111110010101001010010101000011011110111000000011100001011110000000101001010010101000100011111011100000001010000000000000000000000000001001010010101101010001100110111111001011001101111110010101001010110101000010111110111000000000100001011110000000101001010110101000100011111011100000001010000000000000000000000000001001010010100011010001100110111111001011001101111110010101001010001101000010111110111000000000100001011110000000101001010001101000110011111011100000001010000000000000000000000000001001010010101011010001100110111111001011001101111110010101001010101101000010111110111000000010100001011110000000101001010101101000110011111011100000001010000000000000000000000000001001010010100111010001100110111111001011001101111110010101001010011101000010111110111000000010100001011110000000101001010011101000101011111011100000001010000000000000000000000000001001010010101111010001100110111111001011001101111110010101001010111101000010111110111000000001100001011110000000101001010111101000101011111011100000001010000000000000000000000000001001010010100000110001100110111111001011001101111110010101001010000011000010111110111000000001100001011110000000101001010000011000111011111011100000001010000000000000000000000000001001010010101000110001100110111111001011001101111110010101001010100011000010111110111000000011100001011110000000101001010100011000111011111011100000001010000000000000000000000000001001010010100100110001100110111111001011001101111110010101001010010011000010111110111000000011100001011110000000101001010010011000100111111011100000001010000000000000000000000000001011010010100000000001100110111111001011001101111110011101001010000000000011111110111000000000100001011110000001101001010000000000100111111011100000001010000000000000000000000000001011010010101000000001100110111111001011001101111110011101001010100000000011111110111000000000100001011110000001101001010100000000110111111011100000001010000000000000000000000000001011010010100100000001100110111111001011001101111110011101001010010000000011111110111000000010100001011110000001101001010010000000110111111011100000001010000000000000000000000000001011010010101100000001100110111111001011001101111110011101001010110000000011111110111000000010100001011110000001101001010110000000101111111011100000001010000000000000000000000000001011010010100010000001100110111111001011001101111110011101001010001000000011111110111000000001100001011110000001101001010001000000101111111011100000001010000000000000000000000000001011010010101010000001100110111111001011001101111110011101001010101000000011111110111000000001100001011110000001101001010101000000111111111011100000001010000000000000000000000000001011010010100110000001100110111111001011001101111110011101001010011000000011111110111000000011100001011110000001101001010011000000111111111011100000001010000000000000000000000000001011010010101110000001100110111111001011001101111110011101001010111000000011111110111000000011100001011110000001101001010111000000100000000111100000001010000000000000000000000000001011010010100001000001100110111111001011001101111110011101001010000100000010000001111000000000100001011110000001101001010000100000100000000111100000001010000000000000000000000000001011010010101001000001100110111111001011001101111110011101001010100100000010000001111000000000100001011110000001101001010100100000110000000111100000001010000000000000000000000000001011010010100101000001100110111111001011001101111110011101001010010100000010000001111000000010100001011110000001101001010010100000110000000111100000001010000000000000000000000000001011010010101101000001100110111111001011001101111110011101001010110100000010000001111000000010100001011110000001101001010110100000101000000111100000001010000000000000000000000000001011010010100011000001100110111111001011001101111110011101001010001100000010000001111000000001100001011110000001101001010001100000101000000111100000001010000000000000000000000000001011010010101011000001100110111111001011001101111110011101001010101100000010000001111000000001100001011110000001101001010101100000111000000111100000001010000000000000000000000000001011010010100111000001100110111111001011001101111110011101001010011100000010000001111000000011100001011110000001101001010011100000111000000111100000001010000000000000000000000000001011010010101111000001100110111111001011001101111110011101001010111100000010000001111000000011100001011110000001101001010111100000100100000111100000001010000000000000000000000000001011010010100000100001100110111111001011001101111110011101001010000010000011000001111000000000100001011110000001101001010000010000100100000111100000001010000000000000000000000000001011010010101000100001100110111111001011001101111110011101001010100010000011000001111000000000100001011110000001101001010100010000110100000111100000001010000000000000000000000000001011010010100100100001100110111111001011001101111110011101001010010010000011000001111000000010100001011110000001101001010010010000110100000111100000001010000000000000000000000000001011010010101100100001100110111111001011001101111110011101001010110010000011000001111000000010100001011110000001101001010110010000101100000111100000001010000000000000000000000000001011010010100010100001100110111111001011001101111110011101001010001010000011000001111000000001100001011110000001101001010001010000101100000111100000001010000000000000000000000000001011010010101010100001100110111111001011001101111110011101001010101010000011000001111000000001100001011110000001101001010101010000111100000111100000001010000000000000000000000000001011010010100110100001100110111111001011001101111110011101001010011010000011000001111000000011100001011110000001101001010011010000111100000111100000001010000000000000000000000000001011010010101110100001100110111111001011001101111110011101001010111010000011000001111000000011100001011110000001101001010111010000100010000111100000001010000000000000000000000000001011010010100001100001100110111111001011001101111110011101001010000110000010100001111000000000100001011110000001101001010000110000100010000111100000001010000000000000000000000000001011010010101001100001100110111111001011001101111110011101001010100110000010100001111000000000100001011110000001101001010100110000110010000111100000001010000000000000000000000000001011010010100101100001100110111111001011001101111110011101001010010110000010100001111000000010100001011110000001101001010010110000110010000111100000001010000000000000000000000000001011010010101101100001100110111111001011001101111110011101001010110110000010100001111000000010100001011110000001101001010110110000101010000111100000001010000000000000000000000000001011010010100011100001100110111111001011001101111110011101001010001110000010100001111000000001100001011110000001101001010001110000101010000111100000001010000000000000000000000000001011010010101011100001100110111111001011001101111110011101001010101110000010100001111000000001100001011110000001101001010101110000111010000111100000001010000000000000000000000000001011010010100111100001100110111111001011001101111110011101001010011110000010100001111000000011100001011110000001101001010011110000111010000111100000001010000000000000000000000000001011010010101111100001100110111111001011001101111110011101001010111110000010100001111000000011100001011110000001101001010111110000100110000111100000001010000000000000000000000000001011010010100000010001100110111111001011001101111110011101001010000001000011100001111000000000100001011110000001101001010000001000100110000111100000001010000000000000000000000000001011010010101000010001100110111111001011001101111110011101001010100001000011100001111000000000100001011110000001101001010100001000110110000111100000001010000000000000000000000000001011010010100100010001100110111111001011001101111110011101001010010001000011100001111000000010100001011110000001101001010010001000110110000111100000001010000000000000000000000000001011010010101100010001100110111111001011001101111110011101001010110001000011100001111000000010100001011110000001101001010110001000101110000111100000001010000000000000000000000000001011010010100010010001100110111111001011001101111110011101001010001001000011100001111000000001100001011110000001101001010001001000101110000111100000001010000000000000000000000000001011010010101010010001100110111111001011001101111110011101001010101001000011100001111000000001100001011110000001101001010101001000111110000111100000001010000000000000000000000000001011010010100110010001100110111111001011001101111110011101001010011001000011100001111000000011100001011110000001101001010011001000111110000111100000001010000000000000000000000000001011010010101110010001100110111111001011001101111110011101001010111001000011100001111000000011100001011110000001101001010111001000100001000111100000001010000000000000000000000000001011010010100001010001100110111111001011001101111110011101001010000101000010010001111000000000100001011110000001101001010000101000100001000111100000001010000000000000000000000000001011010010101001010001100110111111001011001101111110011101001010100101000010010001111000000000100001011110000001101001010100101000110001000111100000001010000000000000000000000000001011010010100101010001100110111111001011001101111110011101001010010101000010010001111000000010100001011110000001101001010010101000110001000111100000001010000000000000000000000000001011010010101101010001100110111111001011001101111110011101001010110101000010010001111000000010100001011110000001101001010110101000101001000111100000001010000000000000000000000000001011010010100011010001100110111111001011001101111110011101001010001101000010010001111000000001100001011110000001101001010001101000101001000111100000001010000000000000000000000000001011010010101011010001100110111111001011001101111110011101001010101101000010010001111000000001100001011110000001101001010101101000111001000111100000001010000000000000000000000000001011010010100111010001100110111111001011001101111110011101001010011101000010010001111000000011100001011110000001101001010011101000111001000111100000001010000000000000000000000000001011010010101111010001100110111111001011001101111110011101001010111101000010010001111000000011100001011110000001101001010111101000100101000111100000001010000000000000000000000000001011010010100000110001100110111111001011001101111110011101001010000011000011010001111000000000100001011110000001101001010000011000100101000111100000001010000000000000000000000000001011010010101000110001100110111111001011001101111110011101001010100011000011010001111000000000100001011110000001101001010100011000110101000111100000001010000000000000000000000000001011010010100100110001100110111111001011001101111110011101001010010011000011010001111000000010100001011110000001101001010010011000110101000111100000001010000000000000000000000000001000110010100000000001100110111111001011001101111110010011001010000000000011010001111000000010100001011110000000011001010000000000101101000111100000001010000000000000000000000000001000110010101000000001100110111111001011001101111110010011001010100000000011010001111000000001100001011110000000011001010100000000101101000111100000001010000000000000000000000000001000110010100100000001100110111111001011001101111110010011001010010000000011010001111000000001100001011110000000011001010010000000111101000111100000001010000000000000000000000000001000110010101100000001100110111111001011001101111110010011001010110000000011010001111000000011100001011110000000011001010110000000111101000111100000001010000000000000000000000000001000110010100010000001100110111111001011001101111110010011001010001000000011010001111000000011100001011110000000011001010001000000100011000111100000001010000000000000000000000000001000110010101010000001100110111111001011001101111110010011001010101000000010110001111000000000100001011110000000011001010101000000100011000111100000001010000000000000000000000000001000110010100110000001100110111111001011001101111110010011001010011000000010110001111000000000100001011110000000011001010011000000110011000111100000001010000000000000000000000000001000110010101110000001100110111111001011001101111110010011001010111000000010110001111000000010100001011110000000011001010111000000110011000111100000001010000000000000000000000000001000110010100001000001100110111111001011001101111110010011001010000100000010110001111000000010100001011110000000011001010000100000101011000111100000001010000000000000000000000000001000110010101001000001100110111111001011001101111110010011001010100100000010110001111000000001100001011110000000011001010100100000101011000111100000001010000000000000000000000000001000110010100101000001100110111111001011001101111110010011001010010100000010110001111000000001100001011110000000011001010010100000111011000111100000001010000000000000000000000000001000110010101101000001100110111111001011001101111110010011001010110100000010110001111000000011100001011110000000011001010110100000111011000111100000001010000000000000000000000000001000110010100011000001100110111111001011001101111110010011001010001100000010110001111000000011100001011110000000011001010001100000100111000111100000001010000000000000000000000000001000110010101011000001100110111111001011001101111110010011001010101100000011110001111000000000100001011110000000011001010101100000100111000111100000001010000000000000000000000000001000110010100111000001100110111111001011001101111110010011001010011100000011110001111000000000100001011110000000011001010011100000110111000111100000001010000000000000000000000000001000110010101111000001100110111111001011001101111110010011001010111100000011110001111000000010100001011110000000011001010111100000110111000111100000001010000000000000000000000000001000110010100000100001100110111111001011001101111110010011001010000010000011110001111000000010100001011110000000011001010000010000101111000111100000001010000000000000000000000000001000110010101000100001100110111111001011001101111110010011001010100010000011110001111000000001100001011110000000011001010100010000101111000111100000001010000000000000000000000000001000110010100100100001100110111111001011001101111110010011001010010010000011110001111000000001100001011110000000011001010010010000111111000111100000001010000000000000000000000000001000110010101100100001100110111111001011001101111110010011001010110010000011110001111000000011100001011110000000011001010110010000111111000111100000001010000000000000000000000000001000110010100010100001100110111111001011001101111110010011001010001010000011110001111000000011100001011110000000011001010001010000100000000000010000001010000000000000000000000000001000000000111000000001100010010110001011001101111110010011001010101010000000000000011100000000100001011110000000011001010101010000100000000000010000001010000000000000000000000000001000110010100110100001100110111111001011001101111110010011001010011010000000000000011100000000110001001011000100011001010011010000110000000000010000001010000000000000000000000000001000000000111000000100111011111110011011001101111110010011001010011010000000000000011100000010110001001011000100011001010011010000110000000000010000001010000000000000000000000000001000110010101110100001100110111111001011001101111110010011001010111010000000000000011100000010011101111111001100011001010111010000101000000000010000001010000000000000000000000000001000000000111000000011001000010111001011001101111110010011001010111010000000000000011100000001011101111111001100011001010111010000101000000000010000001010000000000000000000000000001000110010100001100001100110111111001011001101111110010011001010000110000000000000011100000001100100001011100100011001010000110000111000000000010000001010000000000000000000000000001000000000111000000110110001101110110011001101111110010011001010000110000000000000011100000011100100001011100100011001010000110000111000000000010000001010000000000000000000000000001000110010101001100001100110111111001011001101111110010011001010100110000000000000011100000011011000110111011000011001010100110000100100000000010000001010000000000000000000000000001010000000111000000000011000011001101011001101111110010011001010100110000001000000011100000000011000110111011000011001010100110000100100000000010000001010000000000000000000000000001000110010100101100001100110111111001011001101111110010011001010010110000001000000011100000000001100001100110100011001010010110000110100000000010000001010000000000000000000000000001010000000111000000100010000011010011011001101111110010011001010010110000001000000011100000010001100001100110100011001010010110000110100000000010000001010000000000000000000000000001000110010101101100001100110111111001011001101111110010011001010110110000001000000011100000010001000001101001100011001010110110000101100000000010000001010000000000000000000000000001010000000111000000011111001001011011011001101111110010011001010110110000001000000011100000001001000001101001100011001010110110000101100000000010000001010000000000000000000000000001000110010100011100001100110111111001011001101111110010011001010001110000001000000011100000001111100100101101100011001010001110000111100000000010000001010000000000000000000000000001010000000111000000110000011010100010011001101111110010011001010001110000001000000011100000011111100100101101100011001010001110000111100000000010000001010000000000000000000000000001000110010101011100001100110111111001011001101111110010011001010101110000001000000011100000011000001101010001000011001010101110000100010000000010000001010000000000000000000000000001001000000111000000001101111101001111011001101111110010011001010101110000000100000011100000000000001101010001000011001010101110000100010000000010000001010000000000000000000000000001000110010100111100001100110111111001011001101111110010011001010011110000000100000011100000000110111110100111100011001010011110000110010000000010000001010000000000000000000000000001001000000111000000100100110010000111011001101111110010011001010011110000000100000011100000010110111110100111100011001010011110000110010000000010000001010000000000000000000000000001000110010101111100001100110111111001011001101111110010011001010111110000000100000011100000010010011001000011100011001010111110000101010000000010000001010000000000000000000000000001001000000111000000010011100100111000011001101111110010011001010111110000000100000011100000001010011001000011100011001010111110000101010000000010000001010000000000000000000000000001000110010100000010001100110111111001011001101111110010011001010000001000000100000011100000001001110010011100000011001010000001000111010000000010000001010000000000000000000000000001001000000111000000110110100001011011011001101111110010011001010000001000000100000011100000011001110010011100000011001010000001000111010000000010000001010000000000000000000000000001000110010101000010001100110111111001011001101111110010011001010100001000000100000011100000011011010000101101100011001010100001000100110000000010000001010000000000000000000000000001011000000111000000000111100110011101011001101111110010011001010100001000001100000011100000000011010000101101100011001010100001000100110000000010000001010000000000000000000000000001000110010100100010001100110111111001011001101111110010011001010010001000001100000011100000000011110011001110100011001010010001000110110000000010000001010000000000000000000000000001011000000111000000100100011010100111011001101111110010011001010010001000001100000011100000010011110011001110100011001010010001000110110000000010000001010000000000000000000000000001000110010101100010001100110111111001011001101111110010011001010110001000001100000011100000010010001101010011100011001010110001000101110000000010000001010000000000000000000000000001011000000111000000011110110001010101011001101111110010011001010110001000001100000011100000001010001101010011100011001010110001000101110000000010000001010000000000000000000000000001000110010100010010001100110111111001011001101111110010011001010001001000001100000011100000001111011000101010100011001010001001000111110000000010000001010000000000000000000000000001011000000111000000111001010111100101011001101111110010011001010001001000001100000011100000011111011000101010100011001010001001000111110000000010000001010000000000000000000000000001000110010101010010001100110111111001011001101111110010011001010101001000001100000011100000011100101011110010100011001010101001000100001000000010000001010000000000000000000000000001000100000111000000000110101011000010011001101111110010011001010101001000000010000011100000000100101011110010100011001010101001000100001000000010000001010000000000000000000000000001000110010100110010001100110111111001011001101111110010011001010011001000000010000011100000000011010101100001000011001010011001000110001000000010000001010000000000000000000000000001000100000111000000101110011001011000011001101111110010011001010011001000000010000011100000010011010101100001000011001010011001000110001000000010000001010000000000000000000000000001000110010101110010001100110111111001011001101111110010011001010111001000000010000011100000010111001100101100000011001010111001000101001000000010000001010000000000000000000000000001000100000111000000011111001000110011011001101111110010011001010111001000000010000011100000001111001100101100000011001010111001000101001000000010000001010000000000000000000000000001000110010100001010001100110111111001011001101111110010011001010000101000000010000011100000001111100100011001100011001010000101000111001000000010000001010000000000000000000000000001000100000111000000110011010001011010011001101111110010011001010000101000000010000011100000011111100100011001100011001010000101000111001000000010000001010000000000000000000000000001000110010101001010001100110111111001011001101111110010011001010100101000000010000011100000011001101000101101000011001010100101000100101000000010000001010000000000000000000000000001100101000000010000001100110111111001011001101111110010011001010100101000010010100000001000000001101000101101000011001010100101000100101000000010000001110000000000000000000000000001000110010100101010001100110111111001011001101111110010011001010010101000010010100000001000000110010011110101100011001010010101000110101000000010000001110000000000000000000000000001110101000000010000001100110111111001011001101111110010011001010010101000011010100000001000000110010011110101100011001010010101000110101000000010000001111111111101010111001000100001000110010101101010001100110111111001011001101111110010011001010110101000011010100000001000000110011011111100100011001010110101000101101000000010000001111111111101010111001000100001101101000000010000001100110111111001011001101111110010011001010110101000010110100000001000000110011011111100100011001010110101000101101000000010000001111111111100110011001100110001000110010100011010001100110111111001011001101111110010011001010001101000010110100000001000000110011011111100100011001010001101000111101000000010000001111111111100110011001100110001111101000000010000001100110111111001011001101111110010011001010001101000011110100000001000000110011011111100100011001010001101000111101000000010000001111111111100110011001100110001000110010101011010001100110111111001011001101111110010011001010101101000011110100000001000000110011011111100100011001010101101000100011000000010000001111111111100110011001100110001100011000000010000001100110111111001011001101111110010011001010101101000010001100000001000000110011011111100100011001010101101000100011000000010000001111111111100110011001100110001000110010100111010001100110111111001011001101111110010011001010011101000010001100000001000000110011011111100100011001010011101000110011000000010000001111111111100110011001100110001110011000000010000001100110111111001011001101111110010011001010011101000011001100000001000000110011011111100100011001010011101000110011000000010000001111111111100110011001100110001000110010101111010001100110111111001011001101111110010011001010111101000011001100000001000000110011011111100100011001010111101000101011000000010000001111111111100110011001100110001101011000000010000001100110111111001011001101111110010011001010111101000010101100000001000000110011011111100100011001010111101000101011000000010000001111111111100110011001100110001000110010100000110001100110111111001011001101111110010011001010000011000010101100000001000000110011011111100100011001010000011000111011000000010000001111111111100110011001100110001111011000000010000001100110111111001011001101111110010011001010000011000011101100000001000000110011011111100100011001010000011000111011000000010000001111111111100110011001100110001000110010101000110001100110111111001011001101111110010011001010100011000011101100000001000000110011011111100100011001010100011000100111000000010000001111111111100110011001100110001100111000000010000001100110111111001011001101111110010011001010100011000010011100000001000000110011011111100100011001010100011000100111000000010000001111111111100110011001100110001000110010100100110001100110111111001011001101111110010011001010010011000010011100000001000000110011011111100100011001010010011000110111000000010000001111111111100110011001100110001110111000000010000001100110111111001011001101111110010011001010010011000011011100000001000000110011011111100100011001010010011000110111000000010000001111111111100110011001100110001010110010100000000001100110111111001011001101111110011011001010000000000011011100000001000000110011011111100101011001010000000000101111000000010000001111111111100110011001100110001101111000000010000001100110111111001011001101111110011011001010000000000010111100000001000000110011011111100101011001010000000000101111000000010000001111111111100110011001100110001010110010101000000001100110111111001011001101111110011011001010100000000010111100000001000000110011011111100101011001010100000000111111000000010000001111111111100110011001100110001111111000000010000001100110111111001011001101111110011011001010100000000011111100000001000000110011011111100101011001010100000000111111000000010000001111111111100110011001100110001010110010100100000001100110111111001011001101111110011011001010010000000011111100000001000000110011011111100101011001010010000000100000100000010000001111111111100110011001100110001100000100000010000001100110111111001011001101111110011011001010010000000010000010000001000000110011011111100101011001010010000000100000100000010000001111111111100110011001100110001010110010101100000001100110111111001011001101111110011011001010110000000010000010000001000000110011011111100101011001010110000000110000100000010000001111111111100110011001100110001110000100000010000001100110111111001011001101111110011011001010110000000011000010000001000000110011011111100101011001010110000000110000100000010000001111111111100110011001100110001010110010100010000001100110111111001011001101111110011011001010001000000011000010000001000000110011011111100101011001010001000000101000100000010000001111111111100110011001100110001101000100000010000001100110111111001011001101111110011011001010001000000010100010000001000000110011011111100101011001010001000000101000100000010000001111111111100110011001100110001010110010101010000001100110111111001011001101111110011011001010101000000010100010000001000000110011011111100101011001010101000000111000100000010000001111111111100110011001100110001111000100000010000001100110111111001011001101111110011011001010101000000011100010000001000000110011011111100101011001010101000000111000100000010000001111111111100110011001100110001010110010100110000001100110111111001011001101111110011011001010011000000011100010000001000000110011011111100101011001010011000000100100100000010000001111111111100110011001100110001100100100000010000001100110111111001011001101111110011011001010011000000010010010000001000000110011011111100101011001010011000000100100100000010000001111111111100110011001100110001010110010101110000001100110111111001011001101111110011011001010111000000010010010000001000000110011011111100101011001010111000000110100100000010000001111111111100110011001100110001110100100000010000001100110111111001011001101111110011011001010111000000011010010000001000000110011011111100101011001010111000000110100100000010000001111111111100110011001100110001010110010100001000001100110111111001011001101111110011011001010000100000011010010000001000000110011011111100101011001010000100000101100100000010000001111111111100110011001100110001101100100000010000001100110111111001011001101111110011011001010000100000010110010000001000000110011011111100101011001010000100000101100100000010000001111111111100110011001100110001010110010101001000001100110111111001011001101111110011011001010100100000010110010000001000000110011011111100101011001010100100000111100100000010000001111111111100110011001100110001111100100000010000001100110111111001011001101111110011011001010100100000011110010000001000000110011011111100101011001010100100000111100100000010000001111111111100110011001100110001010110010100101000001100110111111001011001101111110011011001010010100000011110010000001000000110011011111100101011001010010100000100010100000010000001111111111100110011001100110001100010100000010000001100110111111001011001101111110011011001010010100000010001010000001000000110011011111100101011001010010100000100010100000010000001111111111100110011001100110001010110010101101000001100110111111001011001101111110011011001010110100000010001010000001000000110011011111100101011001010110100000110010100000010000001111111111100110011001100110001110010100000010000001100110111111001011001101111110011011001010110100000011001010000001000000110011011111100101011001010110100000110010100000010000001111111111100110011001100110001010110010100011000001100110111111001011001101111110011011001010001100000011001010000001000000110011011111100101011001010001100000101010100000010000001111111111100110011001100110001101010100000010000001100110111111001011001101111110011011001010001100000010101010000001000000110011011111100101011001010001100000101010100000010000001111111111100110011001100110001010110010101011000001100110111111001011001101111110011011001010101100000010101010000001000000110011011111100101011001010101100000111010100000010000001111111111100110011001100110001111010100000010000001100110111111001011001101111110011011001010101100000011101010000001000000110011011111100101011001010101100000111010100000010000001111111111100110011001100110001010110010100111000001100110111111001011001101111110011011001010011100000011101010000001000000110011011111100101011001010011100000100110100000010000001111111111100110011001100110001100110100000010000001100110111111001011001101111110011011001010011100000010011010000001000000110011011111100101011001010011100000100110100000010000001111111111100110011001100110001010110010101111000001100110111111001011001101111110011011001010111100000010011010000001000000110011011111100101011001010111100000110110100000010000001111111111100110011001100110001110110100000010000001100110111111001011001101111110011011001010111100000011011010000001000000110011011111100101011001010111100000110110100000010000001111111111100110011001100110001010110010100000100001100110111111001011001101111110011011001010000010000011011010000001000000110011011111100101011001010000010000101110100000010000001111111111100110011001100110001101110100000010000001100110111111001011001101111110011011001010000010000010111010000001000000110011011111100101011001010000010000101110100000010000001111111111100110011001100110001010110010101000100001100110111111001011001101111110011011001010100010000010111010000001000000110011011111100101011001010100010000111110100000010000001111111111100110011001100110001111110100000010000001100110111111001011001101111110011011001010100010000011111010000001000000110011011111100101011001010100010000111110100000010000001111111111100110011001100110001010110010100100100001100110111111001011001101111110011011001010010010000011111010000001000000110011011111100101011001010010010000100001100000010000001111111111100110011001100110001100001100000010000001100110111111001011001101111110011011001010010010000010000110000001000000110011011111100101011001010010010000100001100000010000001111111111100110011001100110001010110010101100100001100110111111001011001101111110011011001010110010000010000110000001000000110011011111100101011001010110010000110001100000010000001111111111100110011001100110001110001100000010000001100110111111001011001101111110011011001010110010000011000110000001000000110011011111100101011001010110010000110001100000010000001111111111100110011001100110001010110010100010100001100110111111001011001101111110011011001010001010000011000110000001000000110011011111100101011001010001010000101001100000010000001111111111100110011001100110001101001100000010000001100110111111001011001101111110011011001010001010000010100110000001000000110011011111100101011001010001010000101001100000010000001111111111100110011001100110001010110010101010100001100110111111001011001101111110011011001010101010000010100110000001000000110011011111100101011001010101010000111001100000010000001111111111100110011001100110001111001100000010000001100110111111001011001101111110011011001010101010000011100110000001000000110011011111100101011001010101010000111001100000010000001111111111100110011001100110001010110010100110100001100110111111001011001101111110011011001010011010000011100110000001000000110011011111100101011001010011010000100101100000010000001111111111100110011001100110001100101100000010000001100110111111001011001101111110011011001010011010000010010110000001000000110011011111100101011001010011010000100101100000010000001111111111100110011001100110001010110010101110100001100110111111001011001101111110011011001010111010000010010110000001000000110011011111100101011001010111010000110101100000010000001111111111100110011001100110001110101100000010000001100110111111001011001101111110011011001010111010000011010110000001000000110011011111100101011001010111010000110101100000010000001111111111100110011001100110001010110010100001100001100110111111001011001101111110011011001010000110000011010110000001000000110011011111100101011001010000110000101101100000010000001111111111100110011001100110001101101100000010000001100110111111001011001101111110011011001010000110000010110110000001000000110011011111100101011001010000110000101101100000010000001111111111100110011001100110001010110010101001100001100110111111001011001101111110011011001010100110000010110110000001000000110011011111100101011001010100110000111101100000010000001111111111100110011001100110001111101100000010000001100110111111001011001101111110011011001010100110000011110110000001000000110011011111100101011001010100110000111101100000010000001111111111100110011001100110001010110010100101100001100110111111001011001101111110011011001010010110000011110110000001000000110011011111100101011001010010110000100011100000010000001111111111100110011001100110001100011100000010000001100110111111001011001101111110011011001010010110000010001110000001000000110011011111100101011001010010110000100011100000010000001111111111100110011001100110001010110010101101100001100110111111001011001101111110011011001010110110000010001110000001000000110011011111100101011001010110110000110011100000010000001111111111100110011001100110001110011100000010000001100110111111001011001101111110011011001010110110000011001110000001000000110011011111100101011001010110110000110011100000010000001111111111100110011001100110001010110010100011100001100110111111001011001101111110011011001010001110000011001110000001000000110011011111100101011001010001110000101011100000010000001111111111100110011001100110001101011100000010000001100110111111001011001101111110011011001010001110000010101110000001000000110011011111100101011001010001110000101011100000010000001111111111100110011001100110001010110010101011100001100110111111001011001101111110011011001010101110000010101110000001000000110011011111100101011001010101110000111011100000010000001111111111100110011001100110001111011100000010000001100110111111001011001101111110011011001010101110000011101110000001000000110011011111100101011001010101110000111011100000010000001111111111100110011001100110001010110010100111100001100110111111001011001101111110011011001010011110000011101110000001000000110011011111100101011001010011110000100111100000010000001111111111100110011001100110001100111100000010000001100110111111001011001101111110011011001010011110000010011110000001000000110011011111100101011001010011110000100111100000010000001111111111100110011001100110001010110010101111100001100110111111001011001101111110011011001010111110000010011110000001000000110011011111100101011001010111110000110111100000010000001111111111100110011001100110001110111100000010000001100110111111001011001101111110011011001010111110000011011110000001000000110011011111100101011001010111110000110111100000010000001111111111100110011001100110001010110010100000010001100110111111001011001101111110011011001010000001000011011110000001000000110011011111100101011001010000001000101111100000010000001111111111100110011001100110001101111100000010000001100110111111001011001101111110011011001010000001000010111110000001000000110011011111100101011001010000001000101111100000010000001111111111100110011001100110001010110010101000010001100110111111001011001101111110011011001010100001000010111110000001000000110011011111100101011001010100001000111111100000010000001111111111100110011001100110001111111100000010000001100110111111001011001101111110011011001010100001000011111110000001000000110011011111100101011001010100001000111111100000010000001111111111100110011001100110001010110010100100010001100110111111001011001101111110011011001010010001000011111110000001000000110011011111100101011001010010001000100000010000010000001111111111100110011001100110001100000010000010000001100110111111001011001101111110011011001010010001000010000001000001000000110011011111100101011001010010001000100000010000010000001111111111100110011001100110001010110010101100010001100110111111001011001101111110011011001010110001000010000001000001000000110011011111100101011001010110001000110000010000010000001111111111100110011001100110001110000010000010000001100110111111001011001101111110011011001010110001000011000001000001000000110011011111100101011001010110001000110000010000010000001111111111100110011001100110001010110010100010010001100110111111001011001101111110011011001010001001000011000001000001000000110011011111100101011001010001001000101000010000010000001111111111100110011001100110001101000010000010000001100110111111001011001101111110011011001010001001000010100001000001000000110011011111100101011001010001001000101000010000010000001111111111100110011001100110001010110010101010010001100110111111001011001101111110011011001010101001000010100001000001000000110011011111100101011001010101001000111000010000010000001111111111100110011001100110001111000010000010000001100110111111001011001101111110011011001010101001000011100001000001000000110011011111100101011001010101001000111000010000010000001111111111100110011001100110001010110010100110010001100110111111001011001101111110011011001010011001000011100001000001000000110011011111100101011001010011001000100100010000010000001111111111100110011001100110001100100010000010000001100110111111001011001101111110011011001010011001000010010001000001000000110011011111100101011001010011001000100100010000010000001111111111100110011001100110001010110010101110010001100110111111001011001101111110011011001010111001000010010001000001000000110011011111100101011001010111001000110100010000010000001111111111100110011001100110001110100010000010000001100110111111001011001101111110011011001010111001000011010001000001000000110011011111100101011001010111001000110100010000010000001111111111100110011001100110001010110010100001010001100110111111001011001101111110011011001010000101000011010001000001000000110011011111100101011001010000101000101100010000010000001111111111100110011001100110001101100010000010000001100110111111001011001101111110011011001010000101000010110001000001000000110011011111100101011001010000101000101100010000010000001111111111100110011001100110001010110010101001010001100110111111001011001101111110011011001010100101000010110001000001000000110011011111100101011001010100101000111100010000010000001111111111100110011001100110001111100010000010000001100110111111001011001101111110011011001010100101000011110001000001000000110011011111100101011001010100101000111100010000010000001111111111100110011001100110001010110010100101010001100110111111001011001101111110011011001010010101000011110001000001000000110011011111100101011001010010101000100010010000010000001111111111100110011001100110001100010010000010000001100110111111001011001101111110011011001010010101000010001001000001000000110011011111100101011001010010101000100010010000010000001111111111100110011001100110001010110010101101010001100110111111001011001101111110011011001010110101000010001001000001000000110011011111100101011001010110101000110010010000010000001111111111100110011001100110001110010010000010000001100110111111001011001101111110011011001010110101000011001001000001000000110011011111100101011001010110101000110010010000010000001111111111100110011001100110001010110010100011010001100110111111001011001101111110011011001010001101000011001001000001000000110011011111100101011001010001101000101010010000010000001111111111100110011001100110001101010010000010000001100110111111001011001101111110011011001010001101000010101001000001000000110011011111100101011001010001101000101010010000010000001111111111100110011001100110001010110010101011010001100110111111001011001101111110011011001010101101000010101001000001000000110011011111100101011001010101101000111010010000010000001111111111100110011001100110001111010010000010000001100110111111001011001101111110011011001010101101000011101001000001000000110011011111100101011001010101101000111010010000010000001111111111100110011001100110001010110010100111010001100110111111001011001101111110011011001010011101000011101001000001000000110011011111100101011001010011101000100110010000010000001111111111100110011001100110001100110010000010000001100110111111001011001101111110011011001010011101000010011001000001000000110011011111100101011001010011101000100110010000010000001111111111100110011001100110001010110010101111010001100110111111001011001101111110011011001010111101000010011001000001000000110011011111100101011001010111101000110110010000010000001111111111100110011001100110001110110010000010000001100110111111001011001101111110011011001010111101000011011001000001000000110011011111100101011001010111101000110110010000010000001111111111100110011001100110001010110010100000110001100110111111001011001101111110011011001010000011000011011001000001000000110011011111100101011001010000011000101110010000010000001111111111100110011001100110001101110010000010000001100110111111001011001101111110011011001010000011000010111001000001000000110011011111100101011001010000011000101110010000010000001111111111100110011001100110001010110010101000110001100110111111001011001101111110011011001010100011000010111001000001000000110011011111100101011001010100011000111110010000010000001111111111100110011001100110001111110010000010000001100110111111001011001101111110011011001010100011000011111001000001000000110011011111100101011001010100011000111110010000010000001111111111100110011001100110001010110010100100110001100110111111001011001101111110011011001010010011000011111001000001000000110011011111100101011001010010011000100001010000010000001111111111100110011001100110001100001010000010000001100110111111001011001101111110011011001010010011000010000101000001000000110011011111100101011001010010011000100001010000010000001111111111100110011001100110001001110010100000000001100110111111001011001101111110010111001010000000000010000101000001000000110011011111100100111001010000000000110001010000010000001111111111100110011001100110001110001010000010000001100110111111001011001101111110010111001010000000000011000101000001000000110011011111100100111001010000000000110001010000010000001111111111100110011001100110001001110010101000000001100110111111001011001101111110010111001010100000000011000101000001000000110011011111100100111001010100000000101001010000010000001111111111100110011001100110001101001010000010000001100110111111001011001101111110010111001010100000000010100101000001000000110011011111100100111001010100000000101001010000010000001111111111100110011001100110001001110010100100000001100110111111001011001101111110010111001010010000000010100101000001000000110011011111100100111001010010000000111001010000010000001111111111100110011001100110001111001010000010000001100110111111001011001101111110010111001010010000000011100101000001000000110011011111100100111001010010000000111001010000010000001111111111100110011001100110001001110010101100000001100110111111001011001101111110010111001010110000000011100101000001000000110011011111100100111001010110000000100101010000010000001111111111100110011001100110001100101010000010000001100110111111001011001101111110010111001010110000000010010101000001000000110011011111100100111001010110000000100101010000010000001111111111100110011001100110001001110010100010000001100110111111001011001101111110010111001010001000000010010101000001000000110011011111100100111001010001000000110101010000010000001111111111100110011001100110001110101010000010000001100110111111001011001101111110010111001010001000000011010101000001000000110011011111100100111001010001000000110101010000010000001111111111100110011001100110001001110010101010000001100110111111001011001101111110010111001010101000000011010101000001000000110011011111100100111001010101000000101101010000010000001111111111100110011001100110001101101010000010000001100110111111001011001101111110010111001010101000000010110101000001000000110011011111100100111001010101000000101101010000010000001111111111100110011001100110001001110010100110000001100110111111001011001101111110010111001010011000000010110101000001000000110011011111100100111001010011000000111101010000010000001111111111100110011001100110001111101010000010000001100110111111001011001101111110010111001010011000000011110101000001000000110011011111100100111001010011000000111101010000010000001111111111100110011001100110001001110010101110000001100110111111001011001101111110010111001010111000000011110101000001000000110011011111100100111001010111000000100011010000010000001111111111100110011001100110001100011010000010000001100110111111001011001101111110010111001010111000000010001101000001000000110011011111100100111001010111000000100011010000010000001111111111100110011001100110001001110010100001000001100110111111001011001101111110010111001010000100000010001101000001000000110011011111100100111001010000100000110011010000010000001111111111100110011001100110001110011010000010000001100110111111001011001101111110010111001010000100000011001101000001000000110011011111100100111001010000100000110011010000010000001111111111100110011001100110001001110010101001000001100110111111001011001101111110010111001010100100000011001101000001000000110011011111100100111001010100100000101011010000010000001111111111100110011001100110001101011010000010000001100110111111001011001101111110010111001010100100000010101101000001000000110011011111100100111001010100100000101011010000010000001111111111100110011001100110001001110010100101000001100110111111001011001101111110010111001010010100000010101101000001000000110011011111100100111001010010100000111011010000010000001111111111100110011001100110001111011010000010000001100110111111001011001101111110010111001010010100000011101101000001000000110011011111100100111001010010100000111011010000010000001111111111100110011001100110001001110010101101000001100110111111001011001101111110010111001010110100000011101101000001000000110011011111100100111001010110100000100111010000010000001111111111100110011001100110001100111010000010000001100110111111001011001101111110010111001010110100000010011101000001000000110011011111100100111001010110100000100111010000010000001111111111100110011001100110001001110010100011000001100110111111001011001101111110010111001010001100000010011101000001000000110011011111100100111001010001100000110111010000010000001111111111100110011001100110001110111010000010000001100110111111001011001101111110010111001010001100000011011101000001000000110011011111100100111001010001100000110111010000010000001111111111100110011001100110001001110010101011000001100110111111001011001101111110010111001010101100000011011101000001000000110011011111100100111001010101100000101111010000010000001111111111100110011001100110001101111010000010000001100110111111001011001101111110010111001010101100000010111101000001000000110011011111100100111001010101100000101111010000010000001111111111100110011001100110001001110010100111000001100110111111001011001101111110010111001010011100000010111101000001000000110011011111100100111001010011100000111111010000010000001111111111100110011001100110001111111010000010000001100110111111001011001101111110010111001010011100000011111101000001000000110011011111100100111001010011100000111111010000010000001111111111100110011001100110001001110010101111000001100110111111001011001101111110010111001010111100000011111101000001000000110011011111100100111001010111100000100000110000010000001111111111100110011001100110001100000110000010000001100110111111001011001101111110010111001010111100000010000011000001000000110011011111100100111001010111100000100000110000010000001111111111100110011001100110001001110010100000100001100110111111001011001101111110010111001010000010000010000011000001000000110011011111100100111001010000010000110000110000010000001111111111100110011001100110001110000110000010000001100110111111001011001101111110010111001010000010000011000011000001000000110011011111100100111001010000010000110000110000010000001111111111100110011001100110001001110010101000100001100110111111001011001101111110010111001010100010000011000011000001000000110011011111100100111001010100010000101000110000010000001111111111100110011001100110001101000110000010000001100110111111001011001101111110010111001010100010000010100011000001000000110011011111100100111001010100010000101000110000010000001111111111100110011001100110001001110010100100100001100110111111001011001101111110010111001010010010000010100011000001000000110011011111100100111001010010010000111000110000010000001111111111100110011001100110001111000110000010000001100110111111001011001101111110010111001010010010000011100011000001000000110011011111100100111001010010010000111000110000010000001111111111100110011001100110001001110010101100100001100110111111001011001101111110010111001010110010000011100011000001000000110011011111100100111001010110010000100100110000010000001111111111100110011001100110001100100110000010000001100110111111001011001101111110010111001010110010000010010011000001000000110011011111100100111001010110010000100100110000010000001111111111100110011001100110001001110010100010100001100110111111001011001101111110010111001010001010000010010011000001000000110011011111100100111001010001010000110100110000010000001111111111100110011001100110001110100110000010000001100110111111001011001101111110010111001010001010000011010011000001000000110011011111100100111001010001010000110100110000010000001111111111100110011001100110001001110010101010100001100110111111001011001101111110010111001010101010000011010011000001000000110011011111100100111001010101010000101100110000010000001111111111100110011001100110001101100110000010000001100110111111001011001101111110010111001010101010000010110011000001000000110011011111100100111001010101010000101100110000010000001111111111100110011001100110001001110010100110100001100110111111001011001101111110010111001010011010000010110011000001000000110011011111100100111001010011010000111100110000010000001111111111100110011001100110001111100110000010000001100110111111001011001101111110010111001010011010000011110011000001000000110011011111100100111001010011010000111100110000010000001111111111100110011001100110001001110010101110100001100110111111001011001101111110010111001010111010000011110011000001000000110011011111100100111001010111010000100010110000010000001111111111100110011001100110001100010110000010000001100110111111001011001101111110010111001010111010000010001011000001000000110011011111100100111001010111010000100010110000010000001111111111100110011001100110001001110010100001100001100110111111001011001101111110010111001010000110000010001011000001000000110011011111100100111001010000110000110010110000010000001111111111100110011001100110001110010110000010000001100110111111001011001101111110010111001010000110000011001011000001000000110011011111100100111001010000110000110010110000010000001111111111100110011001100110001001110010101001100001100110111111001011001101111110010111001010100110000011001011000001000000110011011111100100111001010100110000101010110000010000001111111111100110011001100110001101010110000010000001100110111111001011001101111110010111001010100110000010101011000001000000110011011111100100111001010100110000101010110000010000001111111111100110011001100110001001110010100101100001100110111111001011001101111110010111001010010110000010101011000001000000110011011111100100111001010010110000111010110000010000001111111111100110011001100110001111010110000010000001100110111111001011001101111110010111001010010110000011101011000001000000110011011111100100111001010010110000111010110000010000001111111111100110011001100110001001110010101101100001100110111111001011001101111110010111001010110110000011101011000001000000110011011111100100111001010110110000100110110000010000001111111111100110011001100110001100110110000010000001100110111111001011001101111110010111001010110110000010011011000001000000110011011111100100111001010110110000100110110000010000001111111111100110011001100110001001110010100011100001100110111111001011001101111110010111001010001110000010011011000001000000110011011111100100111001010001110000110110110000010000001111111111100110011001100110001110110110000010000001100110111111001011001101111110010111001010001110000011011011000001000000110011011111100100111001010001110000110110110000010000001111111111100110011001100110001001110010101011100001100110111111001011001101111110010111001010101110000011011011000001000000110011011111100100111001010101110000101110110000010000001111111111100110011001100110001101110110000010000001100110111111001011001101111110010111001010101110000010111011000001000000110011011111100100111001010101110000101110110000010000001111111111100110011001100110001001110010100111100001100110111111001011001101111110010111001010011110000010111011000001000000110011011111100100111001010011110000111110110000010000001111111111100110011001100110001111110110000010000001100110111111001011001101111110010111001010011110000011111011000001000000110011011111100100111001010011110000111110110000010000001111111111100110011001100110001001110010101111100001100110111111001011001101111110010111001010111110000011111011000001000000110011011111100100111001010111110000100001110000010000001111111111100110011001100110001100001110000010000001100110111111001011001101111110010111001010111110000010000111000001000000110011011111100100111001010111110000100001110000010000001111111111100110011001100110001001110010100000010001100110111111001011001101111110010111001010000001000010000111000001000000110011011111100100111001010000001000110001110000010000001111111111100110011001100110001110001110000010000001100110111111001011001101111110010111001010000001000011000111000001000000110011011111100100111001010000001000110001110000010000001111111111100110011001100110001001110010101000010001100110111111001011001101111110010111001010100001000011000111000001000000110011011111100100111001010100001000101001110000010000001111111111100110011001100110001101001110000010000001100110111111001011001101111110010111001010100001000010100111000001000000110011011111100100111001010100001000101001110000010000001111111111100110011001100110001001110010100100010001100110111111001011001101111110010111001010010001000010100111000001000000110011011111100100111001010010001000111001110000010000001111111111100110011001100110001111001110000010000001100110111111001011001101111110010111001010010001000011100111000001000000110011011111100100111001010010001000111001110000010000001111111111100110011001100110001001110010101100010001100110111111001011001101111110010111001010110001000011100111000001000000110011011111100100111001010110001000100101110000010000001111111111100110011001100110001100101110000010000001100110111111001011001101111110010111001010110001000010010111000001000000110011011111100100111001010110001000100101110000010000001111111111100110011001100110001001110010100010010001100110111111001011001101111110010111001010001001000010010111000001000000110011011111100100111001010001001000110101110000010000001111111111100110011001100110001110101110000010000001100110111111001011001101111110010111001010001001000011010111000001000000110011011111100100111001010001001000110101110000010000001111111111100110011001100110001001110010101010010001100110111111001011001101111110010111001010101001000011010111000001000000110011011111100100111001010101001000101101110000010000001111111111100110011001100110001101101110000010000001100110111111001011001101111110010111001010101001000010110111000001000000110011011111100100111001010101001000101101110000010000001111111111100110011001100110001001110010100110010001100110111111001011001101111110010111001010011001000010110111000001000000110011011111100100111001010011001000111101110000010000001111111111100110011001100110001111101110000010000001100110111111001011001101111110010111001010011001000011110111000001000000110011011111100100111001010011001000111101110000010000001111111111100110011001100110001001110010101110010001100110111111001011001101111110010111001010111001000011110111000001000000110011011111100100111001010111001000100011110000010000001111111111100110011001100110001100011110000010000001100110111111001011001101111110010111001010111001000010001111000001000000110011011111100100111001010111001000100011110000010000001111111111100110011001100110001001110010100001010001100110111111001011001101111110010111001010000101000010001111000001000000110011011111100100111001010000101000110011110000010000001111111111100110011001100110001110011110000010000001100110111111001011001101111110010111001010000101000011001111000001000000110011011111100100111001010000101000110011110000010000001111111111100110011001100110001001110010101001010001100110111111001011001101111110010111001010100101000011001111000001000000110011011111100100111001010100101000101011110000010000001111111111100110011001100110001101011110000010000001100110111111001011001101111110010111001010100101000010101111000001000000110011011111100100111001010100101000101011110000010000001111111111100110011001100110001001110010100101010001100110111111001011001101111110010111001010010101000010101111000001000000110011011111100100111001010010101000111011110000010000001111111111100110011001100110001111011110000010000001100110111111001011001101111110010111001010010101000011101111000001000000110011011111100100111001010010101000111011110000010000001111111111100110011001100110001001110010101101010001100110111111001011001101111110010111001010110101000011101111000001000000110011011111100100111001010110101000100111110000010000001111111111100110011001100110001100111110000010000001100110111111001011001101111110010111001010110101000010011111000001000000110011011111100100111001010110101000100111110000010000001111111111100110011001100110001001110010100011010001100110111111001011001101111110010111001010001101000010011111000001000000110011011111100100111001010001101000110111110000010000001111111111100110011001100110001110111110000010000001100110111111001011001101111110010111001010001101000011011111000001000000110011011111100100111001010001101000110111110000010000001111111111100110011001100110001001110010101011010001100110111111001011001101111110010111001010101101000011011111000001000000110011011111100100111001010101101000101111110000010000001111111111100110011001100110001101111110000010000001100110111111001011001101111110010111001010101101000010111111000001000000110011011111100100111001010101101000101111110000010000001111111111100110011001100110001001110010100111010001100110111111001011001101111110010111001010011101000010111111000001000000110011011111100100111001010011101000111111110000010000001111111111100110011001100110001111111110000010000001100110111111001011001101111110010111001010011101000011111111000001000000110011011111100100111001010011101000111111110000010000001111111111100110011001100110001001110010101111010001100110111111001011001101111110010111001010111101000011111111000001000000110011011111100100111001010111101000100000001000010000001111111111100110011001100110001100000001000010000001100110111111001011001101111110010111001010111101000010000000100001000000110011011111100100111001010111101000100000001000010000001111111111100110011001100110001001110010100000110001100110111111001011001101111110010111001010000011000010000000100001000000110011011111100100111001010000011000110000001000010000001111111111100110011001100110001110000001000010000001100110111111001011001101111110010111001010000011000011000000100001000000110011011111100100111001010000011000110000001000010000001111111111100110011001100110001001110010101000110001100110111111001011001101111110010111001010100011000011000000100001000000110011011111100100111001010100011000101000001000010000001111111111100110011001100110001101000001000010000001100110111111001011001101111110010111001010100011000010100000100001000000110011011111100100111001010100011000101000001000010000001111111111100110011001100110001001110010100100110001100110111111001011001101111110010111001010010011000010100000100001000000110011011111100100111001010010011000111000001000010000001111111111100110011001100110001111000001000010000001100110111111001011001101111110010111001010010011000011100000100001000000110011011111100100111001010010011000111000001000010000001111111111100110011001100110001011110010100000000001100110111111001011001101111110011111001010000000000011100000100001000000110011011111100101111001010000000000100100001000010000001111111111100110011001100110001100100001000010000001100110111111001011001101111110011111001010000000000010010000100001000000110011011111100101111001010000000000100100001000010000001111111111100110011001100110001011110010101000000001100110111111001011001101111110011111001010100000000010010000100001000000110011011111100101111001010100000000110100001000010000001111111111100110011001100110001110100001000010000001100110111111001011001101111110011111001010100000000011010000100001000000110011011111100101111001010100000000110100001000010000001111111111100110011001100110001011110010100100000001100110111111001011001101111110011111001010010000000011010000100001000000110011011111100101111001010010000000101100001000010000001111111111100110011001100110001101100001000010000001100110111111001011001101111110011111001010010000000010110000100001000000110011011111100101111001010010000000101100001000010000001111111111100110011001100110001011110010101100000001100110111111001011001101111110011111001010110000000010110000100001000000110011011111100101111001010110000000111100001000010000001111111111100110011001100110001111100001000010000001100110111111001011001101111110011111001010110000000011110000100001000000110011011111100101111001010110000000111100001000010000001111111111100110011001100110001011110010100010000001100110111111001011001101111110011111001010001000000011110000100001000000110011011111100101111001010001000000100010001000010000001111111111100110011001100110001100010001000010000001100110111111001011001101111110011111001010001000000010001000100001000000110011011111100101111001010001000000100010001000010000001111111111100110011001100110001011110010101010000001100110111111001011001101111110011111001010101000000010001000100001000000110011011111100101111001010101000000110010001000010000001111111111100110011001100110001110010001000010000001100110111111001011001101111110011111001010101000000011001000100001000000110011011111100101111001010101000000110010001000010000001111111111100110011001100110001011110010100110000001100110111111001011001101111110011111001010011000000011001000100001000000110011011111100101111001010011000000101010001000010000001111111111100110011001100110001101010001000010000001100110111111001011001101111110011111001010011000000010101000100001000000110011011111100101111001010011000000101010001000010000001111111111100110011001100110001011110010101110000001100110111111001011001101111110011111001010111000000010101000100001000000110011011111100101111001010111000000111010001000010000001111111111100110011001100110001111010001000010000001100110111111001011001101111110011111001010111000000011101000100001000000110011011111100101111001010111000000111010001000010000001111111111100110011001100110001011110010100001000001100110111111001011001101111110011111001010000100000011101000100001000000110011011111100101111001010000100000100110001000010000001111111111100110011001100110001100110001000010000001100110111111001011001101111110011111001010000100000010011000100001000000110011011111100101111001010000100000100110001000010000001111111111100110011001100110001011110010101001000001100110111111001011001101111110011111001010100100000010011000100001000000110011011111100101111001010100100000110110001000010000001111111111100110011001100110001110110001000010000001100110111111001011001101111110011111001010100100000011011000100001000000110011011111100101111001010100100000110110001000010000001111111111100110011001100110001011110010100101000001100110111111001011001101111110011111001010010100000011011000100001000000110011011111100101111001010010100000101110001000010000001111111111100110011001100110001101110001000010000001100110111111001011001101111110011111001010010100000010111000100001000000110011011111100101111001010010100000101110001000010000001111111111100110011001100110001011110010101101000001100110111111001011001101111110011111001010110100000010111000100001000000110011011111100101111001010110100000111110001000010000001111111111100110011001100110001111110001000010000001100110111111001011001101111110011111001010110100000011111000100001000000110011011111100101111001010110100000111110001000010000001111111111100110011001100110001011110010100011000001100110111111001011001101111110011111001010001100000011111000100001000000110011011111100101111001010001100000100001001000010000001111111111100110011001100110001100001001000010000001100110111111001011001101111110011111001010001100000010000100100001000000110011011111100101111001010001100000100001001000010000001111111111100110011001100110001011110010101011000001100110111111001011001101111110011111001010101100000010000100100001000000110011011111100101111001010101100000110001001000010000001111111111100110011001100110001110001001000010000001100110111111001011001101111110011111001010101100000011000100100001000000110011011111100101111001010101100000110001001000010000001111111111100110011001100110001011110010100111000001100110111111001011001101111110011111001010011100000011000100100001000000110011011111100101111001010011100000101001001000010000001111111111100110011001100110001101001001000010000001100110111111001011001101111110011111001010011100000010100100100001000000110011011111100101111001010011100000101001001000010000001111111111100110011001100110001011110010101111000001100110111111001011001101111110011111001010111100000010100100100001000000110011011111100101111001010111100000111001001000010000001111111111100110011001100110001111001001000010000001100110111111001011001101111110011111001010111100000011100100100001000000110011011111100101111001010111100000111001001000010000001111111111100110011001100110001011110010100000100001100110111111001011001101111110011111001010000010000011100100100001000000110011011111100101111001010000010000100101001000010000001111111111100110011001100110001100101001000010000001100110111111001011001101111110011111001010000010000010010100100001000000110011011111100101111001010000010000100101001000010000001111111111100110011001100110001011110010101000100001100110111111001011001101111110011111001010100010000010010100100001000000110011011111100101111001010100010000110101001000010000001111111111100110011001100110001110101001000010000001100110111111001011001101111110011111001010100010000011010100100001000000110011011111100101111001010100010000110101001000010000001111111111100110011001100110001011110010100100100001100110111111001011001101111110011111001010010010000011010100100001000000110011011111100101111001010010010000101101001000010000001111111111100110011001100110001101101001000010000001100110111111001011001101111110011111001010010010000010110100100001000000110011011111100101111001010010010000101101001000010000001111111111100110011001100110001011110010101100100001100110111111001011001101111110011111001010110010000010110100100001000000110011011111100101111001010110010000111101001000010000001111111111100110011001100110001111101001000010000001100110111111001011001101111110011111001010110010000011110100100001000000110011011111100101111001010110010000111101001000010000001111111111100110011001100110001011110010100010100001100110111111001011001101111110011111001010001010000011110100100001000000110011011111100101111001010001010000100011001000010000001111111111100110011001100110001100011001000010000001100110111111001011001101111110011111001010001010000010001100100001000000110011011111100101111001010001010000100011001000010000001111111111100110011001100110001011110010101010100001100110111111001011001101111110011111001010101010000010001100100001000000110011011111100101111001010101010000110011001000010000001111111111100110011001100110001110011001000010000001100110111111001011001101111110011111001010101010000011001100100001000000110011011111100101111001010101010000110011001000010000001111111111100110011001100110001011110010100110100001100110111111001011001101111110011111001010011010000011001100100001000000110011011111100101111001010011010000101011001000010000001111111111100110011001100110001101011001000010000001100110111111001011001101111110011111001010011010000010101100100001000000110011011111100101111001010011010000101011001000010000001111111111100110011001100110001011110010101110100001100110111111001011001101111110011111001010111010000010101100100001000000110011011111100101111001010111010000111011001000010000001111111111100110011001100110001111011001000010000001100110111111001011001101111110011111001010111010000011101100100001000000110011011111100101111001010111010000111011001000010000001111111111100110011001100110001011110010100001100001100110111111001011001101111110011111001010000110000011101100100001000000110011011111100101111001010000110000100111001000010000001111111111100110011001100110001100111001000010000001100110111111001011001101111110011111001010000110000010011100100001000000110011011111100101111001010000110000100111001000010000001111111111100110011001100110001011110010101001100001100110111111001011001101111110011111001010100110000010011100100001000000110011011111100101111001010100110000110111001000010000001111111111100110011001100110001110111001000010000001100110111111001011001101111110011111001010100110000011011100100001000000110011011111100101111001010100110000110111001000010000001111111111100110011001100110001011110010100101100001100110111111001011001101111110011111001010010110000011011100100001000000110011011111100101111001010010110000101111001000010000001111111111100110011001100110001101111001000010000001100110111111001011001101111110011111001010010110000010111100100001000000110011011111100101111001010010110000101111001000010000001111111111100110011001100110001011110010101101100001100110111111001011001101111110011111001010110110000010111100100001000000110011011111100101111001010110110000111111001000010000001111111111100110011001100110001111111001000010000001100110111111001011001101111110011111001010110110000011111100100001000000110011011111100101111001010110110000111111001000010000001111111111100110011001100110001011110010100011100001100110111111001011001101111110011111001010001110000011111100100001000000110011011111100101111001010001110000100000101000010000001111111111100110011001100110001100000101000010000001100110111111001011001101111110011111001010001110000010000010100001000000110011011111100101111001010001110000100000101000010000001111111111100110011001100110001011110010101011100001100110111111001011001101111110011111001010101110000010000010100001000000110011011111100101111001010101110000110000101000010000001111111111100110011001100110001110000101000010000001100110111111001011001101111110011111001010101110000011000010100001000000110011011111100101111001010101110000110000101000010000001111111111100110011001100110001011110010100111100001100110111111001011001101111110011111001010011110000011000010100001000000110011011111100101111001010011110000101000101000010000001111111111100110011001100110001101000101000010000001100110111111001011001101111110011111001010011110000010100010100001000000110011011111100101111001010011110000101000101000010000001111111111100110011001100110001011110010101111100001100110111111001011001101111110011111001010111110000010100010100001000000110011011111100101111001010111110000111000101000010000001111111111100110011001100110001111000101000010000001100110111111001011001101111110011111001010111110000011100010100001000000110011011111100101111001010111110000111000101000010000001111111111100110011001100110001011110010100000010001100110111111001011001101111110011111001010000001000011100010100001000000110011011111100101111001010000001000100100101000010000001111111111100110011001100110001100100101000010000001100110111111001011001101111110011111001010000001000010010010100001000000110011011111100101111001010000001000100100101000010000001111111111100110011001100110001011110010101000010001100110111111001011001101111110011111001010100001000010010010100001000000110011011111100101111001010100001000110100101000010000001111111111100110011001100110001110100101000010000001100110111111001011001101111110011111001010100001000011010010100001000000110011011111100101111001010100001000110100101000010000001111111111100110011001100110001011110010100100010001100110111111001011001101111110011111001010010001000011010010100001000000110011011111100101111001010010001000101100101000010000001111111111100110011001100110001101100101000010000001100110111111001011001101111110011111001010010001000010110010100001000000110011011111100101111001010010001000101100101000010000001111111111100110011001100110001011110010101100010001100110111111001011001101111110011111001010110001000010110010100001000000110011011111100101111001010110001000111100101000010000001111111111100110011001100110001111100101000010000001100110111111001011001101111110011111001010110001000011110010100001000000110011011111100101111001010110001000111100101000010000001111111111100110011001100110001011110010100010010001100110111111001011001101111110011111001010001001000011110010100001000000110011011111100101111001010001001000100010101000010000001111111111100110011001100110001100010101000010000001100110111111001011001101111110011111001010001001000010001010100001000000110011011111100101111001010001001000100010101000010000001111111111100110011001100110001011110010101010010001100110111111001011001101111110011111001010101001000010001010100001000000110011011111100101111001010101001000110010101000010000001111111111100110011001100110001110010101000010000001100110111111001011001101111110011111001010101001000011001010100001000000110011011111100101111001010101001000110010101000010000001111111111100110011001100110001011110010100110010001100110111111001011001101111110011111001010011001000011001010100001000000110011011111100101111001010011001000101010101000010000001111111111100110011001100110001101010101000010000001100110111111001011001101111110011111001010011001000010101010100001000000110011011111100101111001010011001000101010101000010000001111111111100110011001100110001011110010101110010001100110111111001011001101111110011111001010111001000010101010100001000000110011011111100101111001010111001000111010101000010000001111111111100110011001100110001111010101000010000001100110111111001011001101111110011111001010111001000011101010100001000000110011011111100101111001010111001000111010101000010000001111111111100110011001100110001011110010100001010001100110111111001011001101111110011111001010000101000011101010100001000000110011011111100101111001010000101000100110101000010000001111111111100110011001100110001100110101000010000001100110111111001011001101111110011111001010000101000010011010100001000000110011011111100101111001010000101000100110101000010000001111111111100110011001100110001011110010101001010001100110111111001011001101111110011111001010100101000010011010100001000000110011011111100101111001010100101000110110101000010000001111111111100110011001100110001110110101000010000001100110111111001011001101111110011111001010100101000011011010100001000000110011011111100101111001010100101000110110101000010000001111111111100110011001100110001011110010100101010001100110111111001011001101111110011111001010010101000011011010100001000000110011011111100101111001010010101000101110101000010000001111111111100110011001100110001101110101000010000001100110111111001011001101111110011111001010010101000010111010100001000000110011011111100101111001010010101000101110101000010000001111111111100110011001100110001011110010101101010001100110111111001011001101111110011111001010110101000010111010100001000000110011011111100101111001010110101000111110101000010000001111111111100110011001100110001111110101000010000001100110111111001011001101111110011111001010110101000011111010100001000000110011011111100101111001010110101000111110101000010000001111111111100110011001100110001011110010100011010001100110111111001011001101111110011111001010001101000011111010100001000000110011011111100101111001010001101000100001101000010000001111111111100110011001100110001100001101000010000001100110111111001011001101111110011111001010001101000010000110100001000000110011011111100101111001010001101000100001101000010000001111111111100110011001100110001011110010101011010001100110111111001011001101111110011111001010101101000010000110100001000000110011011111100101111001010101101000110001101000010000001111111111100110011001100110001110001101000010000001100110111111001011001101111110011111001010101101000011000110100001000000110011011111100101111001010101101000110001101000010000001111111111100110011001100110001011110010100111010001100110111111001011001101111110011111001010011101000011000110100001000000110011011111100101111001010011101000101001101000010000001111111111100110011001100110001101001101000010000001100110111111001011001101111110011111001010011101000010100110100001000000110011011111100101111001010011101000101001101000010000001111111111100110011001100110001011110010101111010001100110111111001011001101111110011111001010111101000010100110100001000000110011011111100101111001010111101000111001101000010000001111111111100110011001100110001111001101000010000001100110111111001011001101111110011111001010111101000011100110100001000000110011011111100101111001010111101000111001101000010000001111111111100110011001100110001011110010100000110001100110111111001011001101111110011111001010000011000011100110100001000000110011011111100101111001010000011000100101101000010000001111111111100110011001100110001100101101000010000001100110111111001011001101111110011111001010000011000010010110100001000000110011011111100101111001010000011000100101101000010000001111111111100110011001100110001011110010101000110001100110111111001011001101111110011111001010100011000010010110100001000000110011011111100101111001010100011000110101101000010000001111111111100110011001100110001110101101000010000001100110111111001011001101111110011111001010100011000011010110100001000000110011011111100101111001010100011000110101101000010000001111111111100110011001100110001011110010100100110001100110111111001011001101111110011111001010010011000011010110100001000000110011011111100101111001010010011000101101101000010000001111111111100110011001100110001101101101000010000001100110111111001011001101111110011111001010010011000010110110100001000000110011011111100101111001010010011000101101101000010000001111111111100110011001100110001000001010100000000001100110111111001011001101111110010000101010000000000010110110100001000000110011011111100100000101010000000000111101101000010000001111111111100110011001100110001111101101000010000001100110111111001011001101111110010000101010000000000011110110100001000000110011011111100100000101010000000000111101101000010000001111111111100110011001100110001000001010101000000001100110111111001011001101111110010000101010100000000011110110100001000000110011011111100100000101010100000000100011101000010000001111111111100110011001100110001100011101000010000001100110111111001011001101111110010000101010100000000010001110100001000000110011011111100100000101010100000000100011101000010000001111111111100110011001100110001000001010100100000001100110111111001011001101111110010000101010010000000010001110100001000000110011011111100100000101010010000000110011101000010000001111111111100110011001100110001110011101000010000001100110111111001011001101111110010000101010010000000011001110100001000000110011011111100100000101010010000000110011101000010000001111111111100110011001100110001000001010101100000001100110111111001011001101111110010000101010110000000011001110100001000000110011011111100100000101010110000000101011101000010000001111111111100110011001100110001101011101000010000001100110111111001011001101111110010000101010110000000010101110100001000000110011011111100100000101010110000000101011101000010000001111111111100110011001100110001000001010100010000001100110111111001011001101111110010000101010001000000010101110100001000000110011011111100100000101010001000000111011101000010000001111111111100110011001100110001111011101000010000001100110111111001011001101111110010000101010001000000011101110100001000000110011011111100100000101010001000000111011101000010000001111111111100110011001100110001000001010101010000001100110111111001011001101111110010000101010101000000011101110100001000000110011011111100100000101010101000000100111101000010000001111111111100110011001100110001100111101000010000001100110111111001011001101111110010000101010101000000010011110100001000000110011011111100100000101010101000000100111101000010000001111111111100110011001100110001000001010100110000001100110111111001011001101111110010000101010011000000010011110100001000000110011011111100100000101010011000000110111101000010000001111111111100110011001100110001110111101000010000001100110111111001011001101111110010000101010011000000011011110100001000000110011011111100100000101010011000000110111101000010000001111111111100110011001100110001000001010101110000001100110111111001011001101111110010000101010111000000011011110100001000000110011011111100100000101010111000000101111101000010000001111111111100110011001100110001101111101000010000001100110111111001011001101111110010000101010111000000010111110100001000000110011011111100100000101010111000000101111101000010000001111111111100110011001100110001000001010100001000001100110111111001011001101111110010000101010000100000010111110100001000000110011011111100100000101010000100000111111101000010000001111111111100110011001100110001111111101000010000001100110111111001011001101111110010000101010000100000011111110100001000000110011011111100100000101010000100000111111101000010000001111111111100110011001100110001000001010101001000001100110111111001011001101111110010000101010100100000011111110100001000000110011011111100100000101010100100000100000011000010000001111111111100110011001100110001100000011000010000001100110111111001011001101111110010000101010100100000010000001100001000000110011011111100100000101010100100000100000011000010000001111111111100110011001100110001000001010100101000001100110111111001011001101111110010000101010010100000010000001100001000000110011011111100100000101010010100000110000011000010000001111111111100110011001100110001110000011000010000001100110111111001011001101111110010000101010010100000011000001100001000000110011011111100100000101010010100000110000011000010000001111111111100110011001100110001000001010101101000001100110111111001011001101111110010000101010110100000011000001100001000000110011011111100100000101010110100000101000011000010000001111111111100110011001100110001101000011000010000001100110111111001011001101111110010000101010110100000010100001100001000000110011011111100100000101010110100000101000011000010000001111111111100110011001100110001000001010100011000001100110111111001011001101111110010000101010001100000010100001100001000000110011011111100100000101010001100000111000011000010000001111111111100110011001100110001111000011000010000001100110111111001011001101111110010000101010001100000011100001100001000000110011011111100100000101010001100000111000011000010000001111111111100110011001100110001000001010101011000001100110111111001011001101111110010000101010101100000011100001100001000000110011011111100100000101010101100000100100011000010000001111111111100110011001100110001100100011000010000001100110111111001011001101111110010000101010101100000010010001100001000000110011011111100100000101010101100000100100011000010000001111111111100110011001100110001000001010100111000001100110111111001011001101111110010000101010011100000010010001100001000000110011011111100100000101010011100000110100011000010000001111111111100110011001100110001110100011000010000001100110111111001011001101111110010000101010011100000011010001100001000000110011011111100100000101010011100000110100011000010000001111111111100110011001100110001000001010101111000001100110111111001011001101111110010000101010111100000011010001100001000000110011011111100100000101010111100000101100011000010000001111111111100110011001100110001101100011000010000001100110111111001011001101111110010000101010111100000010110001100001000000110011011111100100000101010111100000101100011000010000001111111111100110011001100110001000001010100000100001100110111111001011001101111110010000101010000010000010110001100001000000110011011111100100000101010000010000111100011000010000001111111111100110011001100110001111100011000010000001100110111111001011001101111110010000101010000010000011110001100001000000110011011111100100000101010000010000111100011000010000001111111111100110011001100110001000001010101000100001100110111111001011001101111110010000101010100010000011110001100001000000110011011111100100000101010100010000100010011000010000001111111111100110011001100110001100010011000010000001100110111111001011001101111110010000101010100010000010001001100001000000110011011111100100000101010100010000100010011000010000001111111111100110011001100110001000001010100100100001100110111111001011001101111110010000101010010010000010001001100001000000110011011111100100000101010010010000110010011000010000001111111111100110011001100110001110010011000010000001100110111111001011001101111110010000101010010010000011001001100001000000110011011111100100000101010010010000110010011000010000001111111111100110011001100110001000001010101100100001100110111111001011001101111110010000101010110010000011001001100001000000110011011111100100000101010110010000101010011000010000001111111111100110011001100110001101010011000010000001100110111111001011001101111110010000101010110010000010101001100001000000110011011111100100000101010110010000101010011000010000001111111111100110011001100110001000001010100010100001100110111111001011001101111110010000101010001010000010101001100001000000110011011111100100000101010001010000111010011000010000001111111111100110011001100110001111010011000010000001100110111111001011001101111110010000101010001010000011101001100001000000110011011111100100000101010001010000111010011000010000001111111111100110011001100110001000001010101010100001100110111111001011001101111110010000101010101010000011101001100001000000110011011111100100000101010101010000100110011000010000001111111111100110011001100110001100110011000010000001100110111111001011001101111110010000101010101010000010011001100001000000110011011111100100000101010101010000100110011000010000001111111111100110011001100110001000001010100110100001100110111111001011001101111110010000101010011010000010011001100001000000110011011111100100000101010011010000110110011000010000001111111111100110011001100110001110110011000010000001100110111111001011001101111110010000101010011010000011011001100001000000110011011111100100000101010011010000110110011000010000001111111111100110011001100110001000001010101110100001100110111111001011001101111110010000101010111010000011011001100001000000110011011111100100000101010111010000101110011000010000001111111111100110011001100110001101110011000010000001100110111111001011001101111110010000101010111010000010111001100001000000110011011111100100000101010111010000101110011000010000001111111111100110011001100110001000001010100001100001100110111111001011001101111110010000101010000110000010111001100001000000110011011111100100000101010000110000111110011000010000001111111111100110011001100110001111110011000010000001100110111111001011001101111110010000101010000110000011111001100001000000110011011111100100000101010000110000111110011000010000001111111111100110011001100110001000001010101001100001100110111111001011001101111110010000101010100110000011111001100001000000110011011111100100000101010100110000100001011000010000001111111111100110011001100110001100001011000010000001100110111111001011001101111110010000101010100110000010000101100001000000110011011111100100000101010100110000100001011000010000001111111111100110011001100110001000001010100101100001100110111111001011001101111110010000101010010110000010000101100001000000110011011111100100000101010010110000110001011000010000001111111111100110011001100110001110001011000010000001100110111111001011001101111110010000101010010110000011000101100001000000110011011111100100000101010010110000110001011000010000001111111111100110011001100110001000001010101101100001100110111111001011001101111110010000101010110110000011000101100001000000110011011111100100000101010110110000101001011000010000001111111111100110011001100110001101001011000010000001100110111111001011001101111110010000101010110110000010100101100001000000110011011111100100000101010110110000101001011000010000001111111111100110011001100110001000001010100011100001100110111111001011001101111110010000101010001110000010100101100001000000110011011111100100000101010001110000111001011000010000001111111111100110011001100110001111001011000010000001100110111111001011001101111110010000101010001110000011100101100001000000110011011111100100000101010001110000111001011000010000001111111111100110011001100110001000001010101011100001100110111111001011001101111110010000101010101110000011100101100001000000110011011111100100000101010101110000100101011000010000001111111111100110011001100110001100101011000010000001100110111111001011001101111110010000101010101110000010010101100001000000110011011111100100000101010101110000100101011000010000001111111111100110011001100110001000001010100111100001100110111111001011001101111110010000101010011110000010010101100001000000110011011111100100000101010011110000110101011000010000001111111111100110011001100110001110101011000010000001100110111111001011001101111110010000101010011110000011010101100001000000110011011111100100000101010011110000110101011000010000001111111111100110011001100110001000001010101111100001100110111111001011001101111110010000101010111110000011010101100001000000110011011111100100000101010111110000101101011000010000001111111111100110011001100110001101101011000010000001100110111111001011001101111110010000101010111110000010110101100001000000110011011111100100000101010111110000101101011000010000001111111111100110011001100110001000001010100000010001100110111111001011001101111110010000101010000001000010110101100001000000110011011111100100000101010000001000111101011000010000001111111111100110011001100110001111101011000010000001100110111111001011001101111110010000101010000001000011110101100001000000110011011111100100000101010000001000111101011000010000001111111111100110011001100110001000001010101000010001100110111111001011001101111110010000101010100001000011110101100001000000110011011111100100000101010100001000100011011000010000001111111111100110011001100110001100011011000010000001100110111111001011001101111110010000101010100001000010001101100001000000110011011111100100000101010100001000100011011000010000001111111111100110011001100110001000001010100100010001100110111111001011001101111110010000101010010001000010001101100001000000110011011111100100000101010010001000110011011000010000001111111111100110011001100110001110011011000010000001100110111111001011001101111110010000101010010001000011001101100001000000110011011111100100000101010010001000110011011000010000001111111111100110011001100110001000001010101100010001100110111111001011001101111110010000101010110001000011001101100001000000110011011111100100000101010110001000101011011000010000001111111111100110011001100110001101011011000010000001100110111111001011001101111110010000101010110001000010101101100001000000110011011111100100000101010110001000101011011000010000001111111111100110011001100110001000001010100010010001100110111111001011001101111110010000101010001001000010101101100001000000110011011111100100000101010001001000111011011000010000001111111111100110011001100110001111011011000010000001100110111111001011001101111110010000101010001001000011101101100001000000110011011111100100000101010001001000111011011000010000001111111111100110011001100110001000001010101010010001100110111111001011001101111110010000101010101001000011101101100001000000110011011111100100000101010101001000100111011000010000001111111111100110011001100110001100111011000010000001100110111111001011001101111110010000101010101001000010011101100001000000110011011111100100000101010101001000100111011000010000001111111111100110011001100110001000001010100110010001100110111111001011001101111110010000101010011001000010011101100001000000110011011111100100000101010011001000110111011000010000001111111111100110011001100110001110111011000010000001100110111111001011001101111110010000101010011001000011011101100001000000110011011111100100000101010011001000110111011000010000001111111111100110011001100110001000001010101110010001100110111111001011001101111110010000101010111001000011011101100001000000110011011111100100000101010111001000101111011000010000001111111111100110011001100110001101111011000010000001100110111111001011001101111110010000101010111001000010111101100001000000110011011111100100000101010111001000101111011000010000001111111111100110011001100110001000001010100001010001100110111111001011001101111110010000101010000101000010111101100001000000110011011111100100000101010000101000111111011000010000001111111111100110011001100110001111111011000010000001100110111111001011001101111110010000101010000101000011111101100001000000110011011111100100000101010000101000111111011000010000001111111111100110011001100110001000001010101001010001100110111111001011001101111110010000101010100101000011111101100001000000110011011111100100000101010100101000100000111000010000001111111111100110011001100110001100000111000010000001100110111111001011001101111110010000101010100101000010000011100001000000110011011111100100000101010100101000100000111000010000001111111111100110011001100110001000001010100101010001100110111111001011001101111110010000101010010101000010000011100001000000110011011111100100000101010010101000110000111000010000001111111111100110011001100110001110000111000010000001100110111111001011001101111110010000101010010101000011000011100001000000110011011111100100000101010010101000110000111000010000001111111111100110011001100110001000001010101101010001100110111111001011001101111110010000101010110101000011000011100001000000110011011111100100000101010110101000101000111000010000001111111111100110011001100110001101000111000010000001100110111111001011001101111110010000101010110101000010100011100001000000110011011111100100000101010110101000101000111000010000001111111111100110011001100110001000001010100011010001100110111111001011001101111110010000101010001101000010100011100001000000110011011111100100000101010001101000111000111000010000001111111111100110011001100110001111000111000010000001100110111111001011001101111110010000101010001101000011100011100001000000110011011111100100000101010001101000111000111000010000001111111111100110011001100110001000001010101011010001100110111111001011001101111110010000101010101101000011100011100001000000110011011111100100000101010101101000100100111000010000001111111111100110011001100110001100100111000010000001100110111111001011001101111110010000101010101101000010010011100001000000110011011111100100000101010101101000100100111000010000001111111111100110011001100110001000001010100111010001100110111111001011001101111110010000101010011101000010010011100001000000110011011111100100000101010011101000110100111000010000001111111111100110011001100110001110100111000010000001100110111111001011001101111110010000101010011101000011010011100001000000110011011111100100000101010011101000110100111000010000001111111111100110011001100110001000001010101111010001100110111111001011001101111110010000101010111101000011010011100001000000110011011111100100000101010111101000101100111000010000001111111111100110011001100110001101100111000010000001100110111111001011001101111110010000101010111101000010110011100001000000110011011111100100000101010111101000101100111000010000001111111111100110011001100110001000001010100000110001100110111111001011001101111110010000101010000011000010110011100001000000110011011111100100000101010000011000111100111000010000001111111111100110011001100110001111100111000010000001100110111111001011001101111110010000101010000011000011110011100001000000110011011111100100000101010000011000111100111000010000001111111111100110011001100110001000001010101000110001100110111111001011001101111110010000101010100011000011110011100001000000110011011111100100000101010100011000100010111000010000001111111111100110011001100110001100010111000010000001100110111111001011001101111110010000101010100011000010001011100001000000110011011111100100000101010100011000100010111000010000001111111111100110011001100110001000001010100100110001100110111111001011001101111110010000101010010011000010001011100001000000110011011111100100000101010010011000110010111000010000001111111111100110011001100110001110010111000010000001100110111111001011001101111110010000101010010011000011001011100001000000110011011111100100000101010010011000110010111000010000001111111111100110011001100110001010001010100000000001100110111111001011001101111110011000101010000000000011001011100001000000110011011111100101000101010000000000101010111000010000001111111111100110011001100110001101010111000010000001100110111111001011001101111110011000101010000000000010101011100001000000110011011111100101000101010000000000101010111000010000001111111111100110011001100110001010001010101000000001100110111111001011001101111110011000101010100000000010101011100001000000110011011111100101000101010100000000111010111000010000001111111111100110011001100110001111010111000010000001100110111111001011001101111110011000101010100000000011101011100001000000110011011111100101000101010100000000111010111000010000001111111111100110011001100110001010001010100100000001100110111111001011001101111110011000101010010000000011101011100001000000110011011111100101000101010010000000100110111000010000001111111111100110011001100110001100110111000010000001100110111111001011001101111110011000101010010000000010011011100001000000110011011111100101000101010010000000100110111000010000001111111111100110011001100110001010001010101100000001100110111111001011001101111110011000101010110000000010011011100001000000110011011111100101000101010110000000110110111000010000001111111111100110011001100110001110110111000010000001100110111111001011001101111110011000101010110000000011011011100001000000110011011111100101000101010110000000110110111000010000001111111111100110011001100110001010001010100010000001100110111111001011001101111110011000101010001000000011011011100001000000110011011111100101000101010001000000101110111000010000001111111111100110011001100110001101110111000010000001100110111111001011001101111110011000101010001000000010111011100001000000110011011111100101000101010001000000101110111000010000001111111111100110011001100110001010001010101010000001100110111111001011001101111110011000101010101000000010111011100001000000110011011111100101000101010101000000111110111000010000001111111111100110011001100110001111110111000010000001100110111111001011001101111110011000101010101000000011111011100001000000110011011111100101000101010101000000111110111000010000001111111111100110011001100110001010001010100110000001100110111111001011001101111110011000101010011000000011111011100001000000110011011111100101000101010011000000100001111000010000001111111111100110011001100110001100001111000010000001100110111111001011001101111110011000101010011000000010000111100001000000110011011111100101000101010011000000100001111000010000001111111111100110011001100110001010001010101110000001100110111111001011001101111110011000101010111000000010000111100001000000110011011111100101000101010111000000110001111000010000001111111111100110011001100110001110001111000010000001100110111111001011001101111110011000101010111000000011000111100001000000110011011111100101000101010111000000110001111000010000001111111111100110011001100110001010001010100001000001100110111111001011001101111110011000101010000100000011000111100001000000110011011111100101000101010000100000101001111000010000001111111111100110011001100110001101001111000010000001100110111111001011001101111110011000101010000100000010100111100001000000110011011111100101000101010000100000101001111000010000001111111111100110011001100110001010001010101001000001100110111111001011001101111110011000101010100100000010100111100001000000110011011111100101000101010100100000111001111000010000001111111111100110011001100110001111001111000010000001100110111111001011001101111110011000101010100100000011100111100001000000110011011111100101000101010100100000111001111000010000001111111111100110011001100110001010001010100101000001100110111111001011001101111110011000101010010100000011100111100001000000110011011111100101000101010010100000100101111000010000001111111111100110011001100110001100101111000010000001100110111111001011001101111110011000101010010100000010010111100001000000110011011111100101000101010010100000100101111000010000001111111111100110011001100110001010001010101101000001100110111111001011001101111110011000101010110100000010010111100001000000110011011111100101000101010110100000110101111000010000001111111111100110011001100110001110101111000010000001100110111111001011001101111110011000101010110100000011010111100001000000110011011111100101000101010110100000110101111000010000001111111111100110011001100110001010001010100011000001100110111111001011001101111110011000101010001100000011010111100001000000110011011111100101000101010001100000101101111000010000001111111111100110011001100110001101101111000010000001100110111111001011001101111110011000101010001100000010110111100001000000110011011111100101000101010001100000101101111000010000001111111111100110011001100110001010001010101011000001100110111111001011001101111110011000101010101100000010110111100001000000110011011111100101000101010101100000111101111000010000001111111111100110011001100110001111101111000010000001100110111111001011001101111110011000101010101100000011110111100001000000110011011111100101000101010101100000111101111000010000001111111111100110011001100110001010001010100111000001100110111111001011001101111110011000101010011100000011110111100001000000110011011111100101000101010011100000100011111000010000001111111111100110011001100110001100011111000010000001100110111111001011001101111110011000101010011100000010001111100001000000110011011111100101000101010011100000100011111000010000001111111111100110011001100110001010001010101111000001100110111111001011001101111110011000101010111100000010001111100001000000110011011111100101000101010111100000110011111000010000001111111111100110011001100110001110011111000010000001100110111111001011001101111110011000101010111100000011001111100001000000110011011111100101000101010111100000110011111000010000001111111111100110011001100110001010001010100000100001100110111111001011001101111110011000101010000010000011001111100001000000110011011111100101000101010000010000101011111000010000001111111111100110011001100110001101011111000010000001100110111111001011001101111110011000101010000010000010101111100001000000110011011111100101000101010000010000101011111000010000001111111111100110011001100110001010001010101000100001100110111111001011001101111110011000101010100010000010101111100001000000110011011111100101000101010100010000111011111000010000001111111111100110011001100110001111011111000010000001100110111111001011001101111110011000101010100010000011101111100001000000110011011111100101000101010100010000111011111000010000001111111111100110011001100110001010001010100100100001100110111111001011001101111110011000101010010010000011101111100001000000110011011111100101000101010010010000100111111000010000001111111111100110011001100110001100111111000010000001100110111111001011001101111110011000101010010010000010011111100001000000110011011111100101000101010010010000100111111000010000001111111111100110011001100110001010001010101100100001100110111111001011001101111110011000101010110010000010011111100001000000110011011111100101000101010110010000110111111000010000001111111111100110011001100110001110111111000010000001100110111111001011001101111110011000101010110010000011011111100001000000110011011111100101000101010110010000110111111000010000001111111111100110011001100110001010001010100010100001100110111111001011001101111110011000101010001010000011011111100001000000110011011111100101000101010001010000101111111000010000001111111111100110011001100110001101111111000010000001100110111111001011001101111110011000101010001010000010111111100001000000110011011111100101000101010001010000101111111000010000001111111111100110011001100110001010001010101010100001100110111111001011001101111110011000101010101010000010111111100001000000110011011111100101000101010101010000111111111000010000001111111111100110011001100110001111111111000010000001100110111111001011001101111110011000101010101010000011111111100001000000110011011111100101000101010101010000111111111000010000001111111111100110011001100110001010001010100110100001100110111111001011001101111110011000101010011010000011111111100001000000110011011111100101000101010011010000100000000100010000001111111111100110011001100110001100000000100010000001100110111111001011001101111110011000101010011010000010000000010001000000110011011111100101000101010011010000100000000100010000001111111111100110011001100110001010001010101110100001100110111111001011001101111110011000101010111010000010000000010001000000110011011111100101000101010111010000110000000100010000001111111111100110011001100110001110000000100010000001100110111111001011001101111110011000101010111010000011000000010001000000110011011111100101000101010111010000110000000100010000001111111111100110011001100110001010001010100001100001100110111111001011001101111110011000101010000110000011000000010001000000110011011111100101000101010000110000101000000100010000001111111111100110011001100110001101000000100010000001100110111111001011001101111110011000101010000110000010100000010001000000110011011111100101000101010000110000101000000100010000001111111111100110011001100110001010001010101001100001100110111111001011001101111110011000101010100110000010100000010001000000110011011111100101000101010100110000111000000100010000001111111111100110011001100110001111000000100010000001100110111111001011001101111110011000101010100110000011100000010001000000110011011111100101000101010100110000111000000100010000001111111111100110011001100110001010001010100101100001100110111111001011001101111110011000101010010110000011100000010001000000110011011111100101000101010010110000100100000100010000001111111111100110011001100110001100100000100010000001100110111111001011001101111110011000101010010110000010010000010001000000110011011111100101000101010010110000100100000100010000001111111111100110011001100110001010001010101101100001100110111111001011001101111110011000101010110110000010010000010001000000110011011111100101000101010110110000110100000100010000001111111111100110011001100110001110100000100010000001100110111111001011001101111110011000101010110110000011010000010001000000110011011111100101000101010110110000110100000100010000001111111111100110011001100110001010001010100011100001100110111111001011001101111110011000101010001110000011010000010001000000110011011111100101000101010001110000101100000100010000001111111111100110011001100110001101100000100010000001100110111111001011001101111110011000101010001110000010110000010001000000110011011111100101000101010001110000101100000100010000001111111111100110011001100110001010001010101011100001100110111111001011001101111110011000101010101110000010110000010001000000110011011111100101000101010101110000111100000100010000001111111111100110011001100110001111100000100010000001100110111111001011001101111110011000101010101110000011110000010001000000110011011111100101000101010101110000111100000100010000001111111111100110011001100110001010001010100111100001100110111111001011001101111110011000101010011110000011110000010001000000110011011111100101000101010011110000100010000100010000001111111111100110011001100110001100010000100010000001100110111111001011001101111110011000101010011110000010001000010001000000110011011111100101000101010011110000100010000100010000001111111111100110011001100110001010001010101111100001100110111111001011001101111110011000101010111110000010001000010001000000110011011111100101000101010111110000110010000100010000001111111111100110011001100110001110010000100010000001100110111111001011001101111110011000101010111110000011001000010001000000110011011111100101000101010111110000110010000100010000001111111111100110011001100110001010001010100000010001100110111111001011001101111110011000101010000001000011001000010001000000110011011111100101000101010000001000101010000100010000001111111111100110011001100110001101010000100010000001100110111111001011001101111110011000101010000001000010101000010001000000110011011111100101000101010000001000101010000100010000001111111111100110011001100110001010001010101000010001100110111111001011001101111110011000101010100001000010101000010001000000110011011111100101000101010100001000111010000100010000001111111111100110011001100110001111010000100010000001100110111111001011001101111110011000101010100001000011101000010001000000110011011111100101000101010100001000111010000100010000001111111111100110011001100110001010001010100100010001100110111111001011001101111110011000101010010001000011101000010001000000110011011111100101000101010010001000100110000100010000001111111111100110011001100110001100110000100010000001100110111111001011001101111110011000101010010001000010011000010001000000110011011111100101000101010010001000100110000100010000001111111111100110011001100110001010001010101100010001100110111111001011001101111110011000101010110001000010011000010001000000110011011111100101000101010110001000110110000100010000001111111111100110011001100110001110110000100010000001100110111111001011001101111110011000101010110001000011011000010001000000110011011111100101000101010110001000110110000100010000001111111111100110011001100110001010001010100010010001100110111111001011001101111110011000101010001001000011011000010001000000110011011111100101000101010001001000101110000100010000001111111111100110011001100110001101110000100010000001100110111111001011001101111110011000101010001001000010111000010001000000110011011111100101000101010001001000101110000100010000001111111111100110011001100110001010001010101010010001100110111111001011001101111110011000101010101001000010111000010001000000110011011111100101000101010101001000111110000100010000001111111111100110011001100110001111110000100010000001100110111111001011001101111110011000101010101001000011111000010001000000110011011111100101000101010101001000111110000100010000001111111111100110011001100110001010001010100110010001100110111111001011001101111110011000101010011001000011111000010001000000110011011111100101000101010011001000100001000100010000001111111111100110011001100110001100001000100010000001100110111111001011001101111110011000101010011001000010000100010001000000110011011111100101000101010011001000100001000100010000001111111111100110011001100110001010001010101110010001100110111111001011001101111110011000101010111001000010000100010001000000110011011111100101000101010111001000110001000100010000001111111111100110011001100110001110001000100010000001100110111111001011001101111110011000101010111001000011000100010001000000110011011111100101000101010111001000110001000100010000001111111111100110011001100110001010001010100001010001100110111111001011001101111110011000101010000101000011000100010001000000110011011111100101000101010000101000101001000100010000001111111111100110011001100110001101001000100010000001100110111111001011001101111110011000101010000101000010100100010001000000110011011111100101000101010000101000101001000100010000001111111111100110011001100110001010001010101001010001100110111111001011001101111110011000101010100101000010100100010001000000110011011111100101000101010100101000111001000100010000001111111111100110011001100110001111001000100010000001100110111111001011001101111110011000101010100101000011100100010001000000110011011111100101000101010100101000111001000100010000001111111111100110011001100110001010001010100101010001100110111111001011001101111110011000101010010101000011100100010001000000110011011111100101000101010010101000100101000100010000001111111111100110011001100110001100101000100010000001100110111111001011001101111110011000101010010101000010010100010001000000110011011111100101000101010010101000100101000100010000001111111111100110011001100110001010001010101101010001100110111111001011001101111110011000101010110101000010010100010001000000110011011111100101000101010110101000110101000100010000001111111111100110011001100110001110101000100010000001100110111111001011001101111110011000101010110101000011010100010001000000110011011111100101000101010110101000110101000100010000001111111111100110011001100110001010001010100011010001100110111111001011001101111110011000101010001101000011010100010001000000110011011111100101000101010001101000101101000100010000001111111111100110011001100110001101101000100010000001100110111111001011001101111110011000101010001101000010110100010001000000110011011111100101000101010001101000101101000100010000001111111111100110011001100110001010001010101011010001100110111111001011001101111110011000101010101101000010110100010001000000110011011111100101000101010101101000111101000100010000001111111111100110011001100110001111101000100010000001100110111111001011001101111110011000101010101101000011110100010001000000110011011111100101000101010101101000111101000100010000001111111111100110011001100110001010001010100111010001100110111111001011001101111110011000101010011101000011110100010001000000110011011111100101000101010011101000100011000100010000001111111111100110011001100110001100011000100010000001100110111111001011001101111110011000101010011101000010001100010001000000110011011111100101000101010011101000100011000100010000001111111111100110011001100110001010001010101111010001100110111111001011001101111110011000101010111101000010001100010001000000110011011111100101000101010111101000110011000100010000001111111111100110011001100110001110011000100010000001100110111111001011001101111110011000101010111101000011001100010001000000110011011111100101000101010111101000110011000100010000001111111111100110011001100110001010001010100000110001100110111111001011001101111110011000101010000011000011001100010001000000110011011111100101000101010000011000101011000100010000001111111111100110011001100110001101011000100010000001100110111111001011001101111110011000101010000011000010101100010001000000110011011111100101000101010000011000101011000100010000001111111111100110011001100110001010001010101000110001100110111111001011001101111110011000101010100011000010101100010001000000110011011111100101000101010100011000111011000100010000001111111111100110011001100110001111011000100010000001100110111111001011001101111110011000101010100011000011101100010001000000110011011111100101000101010100011000111011000100010000001111111111100110011001100110001010001010100100110001100110111111001011001101111110011000101010010011000011101100010001000000110011011111100101000101010010011000100111000100010000001111111111100110011001100110001100111000100010000001100110111111001011001101111110011000101010010011000010011100010001000000110011011111100101000101010010011000100111000100010000001111111111100110011001100110001001001010100000000001100110111111001011001101111110010100101010000000000010011100010001000000110011011111100100100101010000000000110111000100010000001111111111100110011001100110001110111000100010000001100110111111001011001101111110010100101010000000000011011100010001000000110011011111100100100101010000000000110111000100010000001111111111100110011001100110001001001010101000000001100110111111001011001101111110010100101010100000000011011100010001000000110011011111100100100101010100000000101111000100010000001111111111100110011001100110001101111000100010000001100110111111001011001101111110010100101010100000000010111100010001000000110011011111100100100101010100000000101111000100010000001111111111100110011001100110001001001010100100000001100110111111001011001101111110010100101010010000000010111100010001000000110011011111100100100101010010000000111111000100010000001111111111100110011001100110001111111000100010000001100110111111001011001101111110010100101010010000000011111100010001000000110011011111100100100101010010000000111111000100010000001111111111100110011001100110001001001010101100000001100110111111001011001101111110010100101010110000000011111100010001000000110011011111100100100101010110000000100000100100010000001111111111100110011001100110001100000100100010000001100110111111001011001101111110010100101010110000000010000010010001000000110011011111100100100101010110000000100000100100010000001111111111100110011001100110001001001010100010000001100110111111001011001101111110010100101010001000000010000010010001000000110011011111100100100101010001000000110000100100010000001111111111100110011001100110001110000100100010000001100110111111001011001101111110010100101010001000000011000010010001000000110011011111100100100101010001000000110000100100010000001111111111100110011001100110001001001010101010000001100110111111001011001101111110010100101010101000000011000010010001000000110011011111100100100101010101000000101000100100010000001111111111100110011001100110001101000100100010000001100110111111001011001101111110010100101010101000000010100010010001000000110011011111100100100101010101000000101000100100010000001111111111100110011001100110001001001010100110000001100110111111001011001101111110010100101010011000000010100010010001000000110011011111100100100101010011000000111000100100010000001111111111100110011001100110001111000100100010000001100110111111001011001101111110010100101010011000000011100010010001000000110011011111100100100101010011000000111000100100010000001111111111100110011001100110001001001010101110000001100110111111001011001101111110010100101010111000000011100010010001000000110011011111100100100101010111000000100100100100010000001111111111100110011001100110001100100100100010000001100110111111001011001101111110010100101010111000000010010010010001000000110011011111100100100101010111000000100100100100010000001111111111100110011001100110001001001010100001000001100110111111001011001101111110010100101010000100000010010010010001000000110011011111100100100101010000100000110100100100010000001111111111100110011001100110001110100100100010000001100110111111001011001101111110010100101010000100000011010010010001000000110011011111100100100101010000100000110100100100010000001111111111100110011001100110001001001010101001000001100110111111001011001101111110010100101010100100000011010010010001000000110011011111100100100101010100100000101100100100010000001111111111100110011001100110001101100100100010000001100110111111001011001101111110010100101010100100000010110010010001000000110011011111100100100101010100100000101100100100010000001111111111100110011001100110001001001010100101000001100110111111001011001101111110010100101010010100000010110010010001000000110011011111100100100101010010100000111100100100010000001111111111100110011001100110001111100100100010000001100110111111001011001101111110010100101010010100000011110010010001000000110011011111100100100101010010100000111100100100010000001111111111100110011001100110001001001010101101000001100110111111001011001101111110010100101010110100000011110010010001000000110011011111100100100101010110100000100010100100010000001111111111100110011001100110001100010100100010000001100110111111001011001101111110010100101010110100000010001010010001000000110011011111100100100101010110100000100010100100010000001111111111100110011001100110001001001010100011000001100110111111001011001101111110010100101010001100000010001010010001000000110011011111100100100101010001100000110010100100010000001111111111100110011001100110001110010100100010000001100110111111001011001101111110010100101010001100000011001010010001000000110011011111100100100101010001100000110010100100010000001111111111100110011001100110001001001010101011000001100110111111001011001101111110010100101010101100000011001010010001000000110011011111100100100101010101100000101010100100010000001111111111100110011001100110001101010100100010000001100110111111001011001101111110010100101010101100000010101010010001000000110011011111100100100101010101100000101010100100010000001111111111100110011001100110001001001010100111000001100110111111001011001101111110010100101010011100000010101010010001000000110011011111100100100101010011100000111010100100010000001111111111100110011001100110001111010100100010000001100110111111001011001101111110010100101010011100000011101010010001000000110011011111100100100101010011100000111010100100010000001111111111100110011001100110001001001010101111000001100110111111001011001101111110010100101010111100000011101010010001000000110011011111100100100101010111100000100110100100010000001111111111100110011001100110001100110100100010000001100110111111001011001101111110010100101010111100000010011010010001000000110011011111100100100101010111100000100110100100010000001111111111100110011001100110001001001010100000100001100110111111001011001101111110010100101010000010000010011010010001000000110011011111100100100101010000010000110110100100010000001111111111100110011001100110001110110100100010000001100110111111001011001101111110010100101010000010000011011010010001000000110011011111100100100101010000010000110110100100010000001111111111100110011001100110001001001010101000100001100110111111001011001101111110010100101010100010000011011010010001000000110011011111100100100101010100010000101110100100010000001111111111100110011001100110001101110100100010000001100110111111001011001101111110010100101010100010000010111010010001000000110011011111100100100101010100010000101110100100010000001111111111100110011001100110001001001010100100100001100110111111001011001101111110010100101010010010000010111010010001000000110011011111100100100101010010010000111110100100010000001111111111100110011001100110001111110100100010000001100110111111001011001101111110010100101010010010000011111010010001000000110011011111100100100101010010010000111110100100010000001111111111100110011001100110001001001010101100100001100110111111001011001101111110010100101010110010000011111010010001000000110011011111100100100101010110010000100001100100010000001111111111100110011001100110001100001100100010000001100110111111001011001101111110010100101010110010000010000110010001000000110011011111100100100101010110010000100001100100010000001111111111100110011001100110001001001010100010100001100110111111001011001101111110010100101010001010000010000110010001000000110011011111100100100101010001010000110001100100010000001111111111100110011001100110001110001100100010000001100110111111001011001101111110010100101010001010000011000110010001000000110011011111100100100101010001010000110001100100010000001111111111100110011001100110001001001010101010100001100110111111001011001101111110010100101010101010000011000110010001000000110011011111100100100101010101010000101001100100010000001111111111100110011001100110001101001100100010000001100110111111001011001101111110010100101010101010000010100110010001000000110011011111100100100101010101010000101001100100010000001111111111100110011001100110001001001010100110100001100110111111001011001101111110010100101010011010000010100110010001000000110011011111100100100101010011010000111001100100010000001111111111100110011001100110001111001100100010000001100110111111001011001101111110010100101010011010000011100110010001000000110011011111100100100101010011010000111001100100010000001111111111100110011001100110001001001010101110100001100110111111001011001101111110010100101010111010000011100110010001000000110011011111100100100101010111010000100101100100010000001111111111100110011001100110001100101100100010000001100110111111001011001101111110010100101010111010000010010110010001000000110011011111100100100101010111010000100101100100010000001111111111100110011001100110001001001010100001100001100110111111001011001101111110010100101010000110000010010110010001000000110011011111100100100101010000110000110101100100010000001111111111100110011001100110001110101100100010000001100110111111001011001101111110010100101010000110000011010110010001000000110011011111100100100101010000110000110101100100010000001111111111100110011001100110001001001010101001100001100110111111001011001101111110010100101010100110000011010110010001000000110011011111100100100101010100110000101101100100010000001111111111100110011001100110001101101100100010000001100110111111001011001101111110010100101010100110000010110110010001000000110011011111100100100101010100110000101101100100010000001111111111100110011001100110001001001010100101100001100110111111001011001101111110010100101010010110000010110110010001000000110011011111100100100101010010110000111101100100010000001111111111100110011001100110001111101100100010000001100110111111001011001101111110010100101010010110000011110110010001000000110011011111100100100101010010110000111101100100010000001111111111100110011001100110001001001010101101100001100110111111001011001101111110010100101010110110000011110110010001000000110011011111100100100101010110110000100011100100010000001111111111100110011001100110001100011100100010000001100110111111001011001101111110010100101010110110000010001110010001000000110011011111100100100101010110110000100011100100010000001111111111100110011001100110001001001010100011100001100110111111001011001101111110010100101010001110000010001110010001000000110011011111100100100101010001110000110011100100010000001111111111100110011001100110001110011100100010000001100110111111001011001101111110010100101010001110000011001110010001000000110011011111100100100101010001110000110011100100010000001111111111100110011001100110001001001010101011100001100110111111001011001101111110010100101010101110000011001110010001000000110011011111100100100101010101110000101011100100010000001111111111100110011001100110001101011100100010000001100110111111001011001101111110010100101010101110000010101110010001000000110011011111100100100101010101110000101011100100010000001111111111100110011001100110001001001010100111100001100110111111001011001101111110010100101010011110000010101110010001000000110011011111100100100101010011110000111011100100010000001111111111100110011001100110001111011100100010000001100110111111001011001101111110010100101010011110000011101110010001000000110011011111100100100101010011110000111011100100010000001111111111100110011001100110001001001010101111100001100110111111001011001101111110010100101010111110000011101110010001000000110011011111100100100101010111110000100111100100010000001111111111100110011001100110001100111100100010000001100110111111001011001101111110010100101010111110000010011110010001000000110011011111100100100101010111110000100111100100010000001111111111100110011001100110001001001010100000010001100110111111001011001101111110010100101010000001000010011110010001000000110011011111100100100101010000001000110111100100010000001111111111100110011001100110001110111100100010000001100110111111001011001101111110010100101010000001000011011110010001000000110011011111100100100101010000001000110111100100010000001111111111100110011001100110001001001010101000010001100110111111001011001101111110010100101010100001000011011110010001000000110011011111100100100101010100001000101111100100010000001111111111100110011001100110001101111100100010000001100110111111001011001101111110010100101010100001000010111110010001000000110011011111100100100101010100001000101111100100010000001111111111100110011001100110001001001010100100010001100110111111001011001101111110010100101010010001000010111110010001000000110011011111100100100101010010001000111111100100010000001111111111100110011001100110001111111100100010000001100110111111001011001101111110010100101010010001000011111110010001000000110011011111100100100101010010001000111111100100010000001111111111100110011001100110001001001010101100010001100110111111001011001101111110010100101010110001000011111110010001000000110011011111100100100101010110001000100000010100010000001111111111100110011001100110001100000010100010000001100110111111001011001101111110010100101010110001000010000001010001000000110011011111100100100101010110001000100000010100010000001111111111100110011001100110001001001010100010010001100110111111001011001101111110010100101010001001000010000001010001000000110011011111100100100101010001001000110000010100010000001111111111100110011001100110001110000010100010000001100110111111001011001101111110010100101010001001000011000001010001000000110011011111100100100101010001001000110000010100010000001111111111100110011001100110001001001010101010010001100110111111001011001101111110010100101010101001000011000001010001000000110011011111100100100101010101001000101000010100010000001111111111100110011001100110001101000010100010000001100110111111001011001101111110010100101010101001000010100001010001000000110011011111100100100101010101001000101000010100010000001111111111100110011001100110001001001010100110010001100110111111001011001101111110010100101010011001000010100001010001000000110011011111100100100101010011001000111000010100010000001111111111100110011001100110001111000010100010000001100110111111001011001101111110010100101010011001000011100001010001000000110011011111100100100101010011001000111000010100010000001111111111100110011001100110001001001010101110010001100110111111001011001101111110010100101010111001000011100001010001000000110011011111100100100101010111001000100100010100010000001111111111100110011001100110001100100010100010000001100110111111001011001101111110010100101010111001000010010001010001000000110011011111100100100101010111001000100100010100010000001111111111100110011001100110001001001010100001010001100110111111001011001101111110010100101010000101000010010001010001000000110011011111100100100101010000101000110100010100010000001111111111100110011001100110001110100010100010000001100110111111001011001101111110010100101010000101000011010001010001000000110011011111100100100101010000101000110100010100010000001111111111100110011001100110001001001010101001010001100110111111001011001101111110010100101010100101000011010001010001000000110011011111100100100101010100101000101100010100010000001111111111100110011001100110001101100010100010000001100110111111001011001101111110010100101010100101000010110001010001000000110011011111100100100101010100101000101100010100010000001111111111100110011001100110001001001010100101010001100110111111001011001101111110010100101010010101000010110001010001000000110011011111100100100101010010101000111100010100010000001111111111100110011001100110001111100010100010000001100110111111001011001101111110010100101010010101000011110001010001000000110011011111100100100101010010101000111100010100010000001111111111100110011001100110001001001010101101010001100110111111001011001101111110010100101010110101000011110001010001000000110011011111100100100101010110101000100010010100010000001111111111100110011001100110001100010010100010000001100110111111001011001101111110010100101010110101000010001001010001000000110011011111100100100101010110101000100010010100010000001111111111100110011001100110001001001010100011010001100110111111001011001101111110010100101010001101000010001001010001000000110011011111100100100101010001101000110010010100010000001111111111100110011001100110001110010010100010000001100110111111001011001101111110010100101010001101000011001001010001000000110011011111100100100101010001101000110010010100010000001111111111100110011001100110001001001010101011010001100110111111001011001101111110010100101010101101000011001001010001000000110011011111100100100101010101101000101010010100010000001111111111100110011001100110001101010010100010000001100110111111001011001101111110010100101010101101000010101001010001000000110011011111100100100101010101101000101010010100010000001111111111100110011001100110001001001010100111010001100110111111001011001101111110010100101010011101000010101001010001000000110011011111100100100101010011101000111010010100010000001111111111100110011001100110001111010010100010000001100110111111001011001101111110010100101010011101000011101001010001000000110011011111100100100101010011101000111010010100010000001111111111100110011001100110001001001010101111010001100110111111001011001101111110010100101010111101000011101001010001000000110011011111100100100101010111101000100110010100010000001111111111100110011001100110001100110010100010000001100110111111001011001101111110010100101010111101000010011001010001000000110011011111100100100101010111101000100110010100010000001111111111100110011001100110001001001010100000110001100110111111001011001101111110010100101010000011000010011001010001000000110011011111100100100101010000011000110110010100010000001111111111100110011001100110001110110010100010000001100110111111001011001101111110010100101010000011000011011001010001000000110011011111100100100101010000011000110110010100010000001111111111100110011001100110001001001010101000110001100110111111001011001101111110010100101010100011000011011001010001000000110011011111100100100101010100011000101110010100010000001111111111100110011001100110001101110010100010000001100110111111001011001101111110010100101010100011000010111001010001000000110011011111100100100101010100011000101110010100010000001111111111100110011001100110001001001010100100110001100110111111001011001101111110010100101010010011000010111001010001000000110011011111100100100101010010011000111110010100010000001111111111100110011001100110001111110010100010000001100110111111001011001101111110010100101010010011000011111001010001000000110011011111100100100101010010011000111110010100010000001111111111100110011001100110001011001010100000000001100110111111001011001101111110011100101010000000000011111001010001000000110011011111100101100101010000000000100001010100010000001111111111100110011001100110001100001010100010000001100110111111001011001101111110011100101010000000000010000101010001000000110011011111100101100101010000000000100001010100010000001111111111100110011001100110001011001010101000000001100110111111001011001101111110011100101010100000000010000101010001000000110011011111100101100101010100000000110001010100010000001111111111100110011001100110001110001010100010000001100110111111001011001101111110011100101010100000000011000101010001000000110011011111100101100101010100000000110001010100010000001111111111100110011001100110001011001010100100000001100110111111001011001101111110011100101010010000000011000101010001000000110011011111100101100101010010000000101001010100010000001111111111100110011001100110001101001010100010000001100110111111001011001101111110011100101010010000000010100101010001000000110011011111100101100101010010000000101001010100010000001111111111100110011001100110001011001010101100000001100110111111001011001101111110011100101010110000000010100101010001000000110011011111100101100101010110000000111001010100010000001111111111100110011001100110001111001010100010000001100110111111001011001101111110011100101010110000000011100101010001000000110011011111100101100101010110000000111001010100010000001111111111100110011001100110001011001010100010000001100110111111001011001101111110011100101010001000000011100101010001000000110011011111100101100101010001000000100101010100010000001111111111100110011001100110001100101010100010000001100110111111001011001101111110011100101010001000000010010101010001000000110011011111100101100101010001000000100101010100010000001111111111100110011001100110001011001010101010000001100110111111001011001101111110011100101010101000000010010101010001000000110011011111100101100101010101000000110101010100010000001111111111100110011001100110001110101010100010000001100110111111001011001101111110011100101010101000000011010101010001000000110011011111100101100101010101000000110101010100010000001111111111100110011001100110001011001010100110000001100110111111001011001101111110011100101010011000000011010101010001000000110011011111100101100101010011000000101101010100010000001111111111100110011001100110001101101010100010000001100110111111001011001101111110011100101010011000000010110101010001000000110011011111100101100101010011000000101101010100010000001111111111100110011001100110001011001010101110000001100110111111001011001101111110011100101010111000000010110101010001000000110011011111100101100101010111000000111101010100010000001111111111100110011001100110001111101010100010000001100110111111001011001101111110011100101010111000000011110101010001000000110011011111100101100101010111000000111101010100010000001111111111100110011001100110001011001010100001000001100110111111001011001101111110011100101010000100000011110101010001000000110011011111100101100101010000100000100011010100010000001111111111100110011001100110001100011010100010000001100110111111001011001101111110011100101010000100000010001101010001000000110011011111100101100101010000100000100011010100010000001111111111100110011001100110001011001010101001000001100110111111001011001101111110011100101010100100000010001101010001000000110011011111100101100101010100100000110011010100010000001111111111100110011001100110001110011010100010000001100110111111001011001101111110011100101010100100000011001101010001000000110011011111100101100101010100100000110011010100010000001111111111100110011001100110001011001010100101000001100110111111001011001101111110011100101010010100000011001101010001000000110011011111100101100101010010100000101011010100010000001111111111100110011001100110001101011010100010000001100110111111001011001101111110011100101010010100000010101101010001000000110011011111100101100101010010100000101011010100010000001111111111100110011001100110001011001010101101000001100110111111001011001101111110011100101010110100000010101101010001000000110011011111100101100101010110100000111011010100010000001111111111100110011001100110001111011010100010000001100110111111001011001101111110011100101010110100000011101101010001000000110011011111100101100101010110100000111011010100010000001111111111100110011001100110001011001010100011000001100110111111001011001101111110011100101010001100000011101101010001000000110011011111100101100101010001100000100111010100010000001111111111100110011001100110001100111010100010000001100110111111001011001101111110011100101010001100000010011101010001000000110011011111100101100101010001100000100111010100010000001111111111100110011001100110001011001010101011000001100110111111001011001101111110011100101010101100000010011101010001000000110011011111100101100101010101100000110111010100010000001111111111100110011001100110001110111010100010000001100110111111001011001101111110011100101010101100000011011101010001000000110011011111100101100101010101100000110111010100010000001111111111100110011001100110001011001010100111000001100110111111001011001101111110011100101010011100000011011101010001000000110011011111100101100101010011100000101111010100010000001111111111100110011001100110001101111010100010000001100110111111001011001101111110011100101010011100000010111101010001000000110011011111100101100101010011100000101111010100010000001111111111100110011001100110001011001010101111000001100110111111001011001101111110011100101010111100000010111101010001000000110011011111100101100101010111100000111111010100010000001111111111100110011001100110001111111010100010000001100110111111001011001101111110011100101010111100000011111101010001000000110011011111100101100101010111100000111111010100010000001111111111100110011001100110001011001010100000100001100110111111001011001101111110011100101010000010000011111101010001000000110011011111100101100101010000010000100000110100010000001111111111100110011001100110001100000110100010000001100110111111001011001101111110011100101010000010000010000011010001000000110011011111100101100101010000010000100000110100010000001111111111100110011001100110001011001010101000100001100110111111001011001101111110011100101010100010000010000011010001000000110011011111100101100101010100010000110000110100010000001111111111100110011001100110001110000110100010000001100110111111001011001101111110011100101010100010000011000011010001000000110011011111100101100101010100010000110000110100010000001111111111100110011001100110001011001010100100100001100110111111001011001101111110011100101010010010000011000011010001000000110011011111100101100101010010010000101000110100010000001111111111100110011001100110001101000110100010000001100110111111001011001101111110011100101010010010000010100011010001000000110011011111100101100101010010010000101000110100010000001111111111100110011001100110001011001010101100100001100110111111001011001101111110011100101010110010000010100011010001000000110011011111100101100101010110010000111000110100010000001111111111100110011001100110001111000110100010000001100110111111001011001101111110011100101010110010000011100011010001000000110011011111100101100101010110010000111000110100010000001111111111100110011001100110001011001010100010100001100110111111001011001101111110011100101010001010000011100011010001000000110011011111100101100101010001010000100100110100010000001111111111100110011001100110001100100110100010000001100110111111001011001101111110011100101010001010000010010011010001000000110011011111100101100101010001010000100100110100010000001111111111100110011001100110001011001010101010100001100110111111001011001101111110011100101010101010000010010011010001000000110011011111100101100101010101010000110100110100010000001111111111100110011001100110001110100110100010000001100110111111001011001101111110011100101010101010000011010011010001000000110011011111100101100101010101010000110100110100010000001111111111100110011001100110001011001010100110100001100110111111001011001101111110011100101010011010000011010011010001000000110011011111100101100101010011010000101100110100010000001111111111100110011001100110001101100110100010000001100110111111001011001101111110011100101010011010000010110011010001000000110011011111100101100101010011010000101100110100010000001111111111100110011001100110001011001010101110100001100110111111001011001101111110011100101010111010000010110011010001000000110011011111100101100101010111010000111100110100010000001111111111100110011001100110001111100110100010000001100110111111001011001101111110011100101010111010000011110011010001000000110011011111100101100101010111010000111100110100010000001111111111100110011001100110001011001010100001100001100110111111001011001101111110011100101010000110000011110011010001000000110011011111100101100101010000110000100010110100010000001111111111100110011001100110001100010110100010000001100110111111001011001101111110011100101010000110000010001011010001000000110011011111100101100101010000110000100010110100010000001111111111100110011001100110001011001010101001100001100110111111001011001101111110011100101010100110000010001011010001000000110011011111100101100101010100110000110010110100010000001111111111100110011001100110001110010110100010000001100110111111001011001101111110011100101010100110000011001011010001000000110011011111100101100101010100110000110010110100010000001111111111100110011001100110001011001010100101100001100110111111001011001101111110011100101010010110000011001011010001000000110011011111100101100101010010110000101010110100010000001111111111100110011001100110001101010110100010000001100110111111001011001101111110011100101010010110000010101011010001000000110011011111100101100101010010110000101010110100010000001111111111100110011001100110001011001010101101100001100110111111001011001101111110011100101010110110000010101011010001000000110011011111100101100101010110110000111010110100010000001111111111100110011001100110001111010110100010000001100110111111001011001101111110011100101010110110000011101011010001000000110011011111100101100101010110110000111010110100010000001111111111100110011001100110001011001010100011100001100110111111001011001101111110011100101010001110000011101011010001000000110011011111100101100101010001110000100110110100010000001111111111100110011001100110001100110110100010000001100110111111001011001101111110011100101010001110000010011011010001000000110011011111100101100101010001110000100110110100010000001111111111100110011001100110001011001010101011100001100110111111001011001101111110011100101010101110000010011011010001000000110011011111100101100101010101110000110110110100010000001111111111100110011001100110001110110110100010000001100110111111001011001101111110011100101010101110000011011011010001000000110011011111100101100101010101110000110110110100010000001111111111100110011001100110001011001010100111100001100110111111001011001101111110011100101010011110000011011011010001000000110011011111100101100101010011110000101110110100010000001111111111100110011001100110001101110110100010000001100110111111001011001101111110011100101010011110000010111011010001000000110011011111100101100101010011110000101110110100010000001111111111100110011001100110001011001010101111100001100110111111001011001101111110011100101010111110000010111011010001000000110011011111100101100101010111110000111110110100010000001111111111100110011001100110001111110110100010000001100110111111001011001101111110011100101010111110000011111011010001000000110011011111100101100101010111110000111110110100010000001111111111100110011001100110001011001010100000010001100110111111001011001101111110011100101010000001000011111011010001000000110011011111100101100101010000001000100001110100010000001111111111100110011001100110001100001110100010000001100110111111001011001101111110011100101010000001000010000111010001000000110011011111100101100101010000001000100001110100010000001111111111100110011001100110001011001010101000010001100110111111001011001101111110011100101010100001000010000111010001000000110011011111100101100101010100001000110001110100010000001111111111100110011001100110001110001110100010000001100110111111001011001101111110011100101010100001000011000111010001000000110011011111100101100101010100001000110001110100010000001111111111100110011001100110001011001010100100010001100110111111001011001101111110011100101010010001000011000111010001000000110011011111100101100101010010001000101001110100010000001111111111100110011001100110001101001110100010000001100110111111001011001101111110011100101010010001000010100111010001000000110011011111100101100101010010001000101001110100010000001111111111100110011001100110001011001010101100010001100110111111001011001101111110011100101010110001000010100111010001000000110011011111100101100101010110001000111001110100010000001111111111100110011001100110001111001110100010000001100110111111001011001101111110011100101010110001000011100111010001000000110011011111100101100101010110001000111001110100010000001111111111100110011001100110001011001010100010010001100110111111001011001101111110011100101010001001000011100111010001000000110011011111100101100101010001001000100101110100010000001111111111100110011001100110001100101110100010000001100110111111001011001101111110011100101010001001000010010111010001000000110011011111100101100101010001001000100101110100010000001111111111100110011001100110001011001010101010010001100110111111001011001101111110011100101010101001000010010111010001000000110011011111100101100101010101001000110101110100010000001111111111100110011001100110001110101110100010000001100110111111001011001101111110011100101010101001000011010111010001000000110011011111100101100101010101001000110101110100010000001111111111100110011001100110001011001010100110010001100110111111001011001101111110011100101010011001000011010111010001000000110011011111100101100101010011001000101101110100010000001111111111100110011001100110001101101110100010000001100110111111001011001101111110011100101010011001000010110111010001000000110011011111100101100101010011001000101101110100010000001111111111100110011001100110001011001010101110010001100110111111001011001101111110011100101010111001000010110111010001000000110011011111100101100101010111001000111101110100010000001111111111100110011001100110001111101110100010000001100110111111001011001101111110011100101010111001000011110111010001000000110011011111100101100101010111001000111101110100010000001111111111100110011001100110001011001010100001010001100110111111001011001101111110011100101010000101000011110111010001000000110011011111100101100101010000101000100011110100010000001111111111100110011001100110001100011110100010000001100110111111001011001101111110011100101010000101000010001111010001000000110011011111100101100101010000101000100011110100010000001111111111100110011001100110001011001010101001010001100110111111001011001101111110011100101010100101000010001111010001000000110011011111100101100101010100101000110011110100010000001111111111100110011001100110001110011110100010000001100110111111001011001101111110011100101010100101000011001111010001000000110011011111100101100101010100101000110011110100010000001111111111100110011001100110001011001010100101010001100110111111001011001101111110011100101010010101000011001111010001000000110011011111100101100101010010101000101011110100010000001111111111100110011001100110001101011110100010000001100110111111001011001101111110011100101010010101000010101111010001000000110011011111100101100101010010101000101011110100010000001111111111100110011001100110001011001010101101010001100110111111001011001101111110011100101010110101000010101111010001000000110011011111100101100101010110101000111011110100010000001111111111100110011001100110001111011110100010000001100110111111001011001101111110011100101010110101000011101111010001000000110011011111100101100101010110101000111011110100010000001111111111100110011001100110001011001010100011010001100110111111001011001101111110011100101010001101000011101111010001000000110011011111100101100101010001101000100111110100010000001111111111100110011001100110001100111110100010000001100110111111001011001101111110011100101010001101000010011111010001000000110011011111100101100101010001101000100111110100010000001111111111100110011001100110001011001010101011010001100110111111001011001101111110011100101010101101000010011111010001000000110011011111100101100101010101101000110111110100010000001111111111100110011001100110001110111110100010000001100110111111001011001101111110011100101010101101000011011111010001000000110011011111100101100101010101101000110111110100010000001111111111100110011001100110001011001010100111010001100110111111001011001101111110011100101010011101000011011111010001000000110011011111100101100101010011101000101111110100010000001111111111100110011001100110001101111110100010000001100110111111001011001101111110011100101010011101000010111111010001000000110011011111100101100101010011101000101111110100010000001111111111100110011001100110001011001010101111010001100110111111001011001101111110011100101010111101000010111111010001000000110011011111100101100101010111101000111111110100010000001111111111100110011001100110001111111110100010000001100110111111001011001101111110011100101010111101000011111111010001000000110011011111100101100101010111101000111111110100010000001111111111100110011001100110001011001010100000110001100110111111001011001101111110011100101010000011000011111111010001000000110011011111100101100101010000011000100000001100010000001111111111100110011001100110001</data> + <extradata>1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111T111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</extradata> + </log> + </trigger> + </signal_set> + </instance> + <mnemonics/> + <static_plugin_mnemonics/> + <global_info> + <single attribute="active instance" value="0"/> + <single attribute="config widget visible" value="1"/> + <single attribute="data log widget visible" value="1"/> + <single attribute="hierarchy widget visible" value="1"/> + <single attribute="instance widget visible" value="1"/> + <single attribute="jtag widget visible" value="1"/> + <single attribute="lock mode" value="0"/> + <multi attribute="column width" size="23" value="34,34,935,74,68,143,161,96,98,98,88,88,231,101,101,101,101,101,101,101,101,107,78"/> + <multi attribute="frame size" size="2" value="2560,1475"/> + <multi attribute="jtag widget size" size="2" value="613,209"/> + <single attribute="hierarchy widget height" value="238"/> + </global_info> +</session> diff --git a/test.sv b/test.sv new file mode 100644 index 0000000..156fbcf --- /dev/null +++ b/test.sv @@ -0,0 +1,33 @@ +module test; + +// Timer setup +timeunit 10ns; +timeprecision 1ns; + +logic Clk, Reset; +// Instantiating the adder controller +osu_fpga_toplevel main(.CLOCK_50(Clk), .KEY({3'b111, Reset})); + +// Toggle the clock +// #1 means wait for a delay of 1 timeunit +always begin : CLOCK_GENERATION + #1 Clk = ~Clk; +end + +initial begin: CLOCK_INITIALIZATION + Clk = 0; +end + +// Testing begins here +// The initial block is not synthesizable +// Everything happens sequentially inside an initial block as in a software +// program +initial begin: TEST_MAIN + + // Reset + Reset = 0; +#2 Reset = 1; +end + + +endmodule // test diff --git a/testmemory.sv b/testmemory.sv new file mode 100644 index 0000000..c83b859 --- /dev/null +++ b/testmemory.sv @@ -0,0 +1,251 @@ +//------------------------------------------------------------------------- +// test_memory.vhd -- +// Stephen Kempf -- +// Summer 2005 -- +// -- +// Revised 3-15-2006 -- +// 3-22-2007 -- +// 7-26-2013 -- +// -- +// For use with ECE 385 Experment 6 -- +// UIUC ECE Department -- +//------------------------------------------------------------------------- + +// This memory has similar behavior to the SRAM IC on the DE2 board. This +// file should be used for simulations only. In simulation, this memory is +// guaranteed to work at least as well as the actual memory (that is, the +// actual memory may require more careful treatment than this test memory). + +// To use, you should create a seperate top-level entity for simulation +// that connects this memory module to your computer. You can create this +// extra entity either in the same project (temporarily setting it to be the +// top module) or in a new one, and create a new vector waveform file for it. + +`include "SLC3_2.sv" +import SLC3_2::*; + +module test_memory ( input Clk, + input Reset, + inout [15:0] I_O, + input [19:0] A, + input CE, + UB, + LB, + OE, + WE ); + + parameter size = 256; // expand memory as needed (current is 64 words) + + logic [15:0] mem_array [size-1:0]; + logic [15:0] mem_out; + logic [15:0] I_O_wire; + + assign mem_out = mem_array[A[7:0]]; //ATTENTION: Size here must correspond to size of + // memory vector above. Current size is 64, so the slice must be 6 bits. If size were 1024, + // slice would have to be 10 bits. (There are three more places below where values must stay + // consistent as well.) + + always_comb + begin + I_O_wire = 16'bZZZZZZZZZZZZZZZZ; + + if (~CE && ~OE && WE) begin + if (~UB) + I_O_wire[15:8] = mem_out[15:8]; + + if (~LB) + I_O_wire[7:0] = mem_out[7:0]; + end + end + + always_ff @ (posedge Clk or posedge Reset) + begin + if(Reset) // Insert initial memory contents here + begin +mem_array[ 0 ] <= opCLR(R0) ; // Clear the register so it can be used as a base +mem_array[ 1 ] <= opLDR(R1, R0, inSW) ; // Load switches +mem_array[ 2 ] <= opJMP(R1) ; // Jump to the start of a program + + // Basic I/O test 1 +mem_array[ 3 ] <= opLDR(R1, R0, inSW) ; // Load switches +mem_array[ 4 ] <= opSTR(R1, R0, outHEX) ; // Output +mem_array[ 5 ] <= opBR(nzp, -3) ; // Repeat + + // Basic I/O test 2 +mem_array[ 6 ] <= opPSE(12'h801) ; // Checkpoint 1 - prepare to input +mem_array[ 7 ] <= opLDR(R1, R0, inSW) ; // Load switches +mem_array[ 8 ] <= opSTR(R1, R0, outHEX) ; // Output +mem_array[ 9 ] <= opPSE(12'hC02) ; // Checkpoint 2 - read output, prepare to input +mem_array[ 10 ] <= opBR(nzp, -4) ; // Repeat + + // Basic I/O test 3 (Self-modifying code) +mem_array[ 11 ] <= opPSE(12'h801) ; // Checkpoint 1 - prepare to input +mem_array[ 12 ] <= opJSR(0) ; // Get PC address +mem_array[ 13 ] <= opLDR(R2,R7,3) ; // Load pause instruction as data +mem_array[ 14 ] <= opLDR(R1, R0, inSW) ; // Load switches +mem_array[ 15 ] <= opSTR(R1, R0, outHEX) ; // Output +mem_array[ 16 ] <= opPSE(12'hC02) ; // Checkpoint 2 - read output, prepare to input +mem_array[ 17 ] <= opINC(R2) ; // Increment checkpoint number +mem_array[ 18 ] <= opSTR(R2,R7,3) ; // Store new checkpoint instruction (self-modifying code) +mem_array[ 19 ] <= opBR(nzp, -6) ; // Repeat + +mem_array[ 20 ] <= opCLR(R0) ; // XOR test +mem_array[ 21 ] <= opPSE(12'h801) ; // Checkpoint 1 - prepare to input (upper) +mem_array[ 22 ] <= opLDR(R3, R0, inSW) ; // Load switches +mem_array[ 23 ] <= opPSE(12'h802) ; // Checkpoint 2 - prepare to input (lower) +mem_array[ 24 ] <= opLDR(R4, R0, inSW) ; // Load switches again +mem_array[ 25 ] <= opAND(R1, R3, R4) ; // Combine bytes; R1: A +mem_array[ 26 ] <= opPSE(12'h803) ; // Checkpoint 3 - prepare to input (upper) +mem_array[ 27 ] <= opLDR(R3, R0, inSW) ; // Load upper byte 2 +mem_array[ 28 ] <= opPSE(12'h804) ; // Checkpoint 4 - prepare to input (lower) +mem_array[ 29 ] <= opLDR(R4, R0, inSW) ; // Load lower byte 2 +mem_array[ 30 ] <= opAND(R2, R3, R4) ; // Combine bytes; R2: B +mem_array[ 31 ] <= opNOT(R3, R1) ; // R3: A' +mem_array[ 32 ] <= opAND(R3, R3, R2) ; // R3: A'B +mem_array[ 33 ] <= opNOT(R3, R3) ; // R3: (A'B)' +mem_array[ 34 ] <= opNOT(R4, R2) ; // R4: B' +mem_array[ 35 ] <= opAND(R4, R4, R1) ; // R4: AB' +mem_array[ 36 ] <= opNOT(R4, R4) ; // R4: (AB')' +mem_array[ 37 ] <= opAND(R3, R3, R4) ; // R3: (A'B)'(AB')' +mem_array[ 38 ] <= opNOT(R3, R3) ; // R3: ((A'B)'(AB')')' +mem_array[ 39 ] <= opSTR(R3, R0, outHEX) ; // Output +mem_array[ 40 ] <= opPSE(12'h405) ; // Checkpoint 5 - read output +mem_array[ 41 ] <= opBR(nzp, -21) ; // Repeat + +mem_array[ 42 ] <= opCLR(R0) ; // Run once test (also for JMP) +mem_array[ 43 ] <= opCLR(R1) ; // clear R1 +mem_array[ 44 ] <= opJSR(0) ; // get jumpback address +mem_array[ 45 ] <= opSTR(R1, R0, outHEX) ; // output R1; LOOP DEST +mem_array[ 46 ] <= opPSE(12'h401) ; // Checkpoint 1 - read output +mem_array[ 47 ] <= opINC(R1) ; // increment R1 +mem_array[ 48 ] <= opRET ; // repeat + +mem_array[ 49 ] <= opCLR(R0) ; // Multiplier Program +mem_array[ 50 ] <= opJSR(0) ; // R7 <- PC (for loading bit test mask) +mem_array[ 51 ] <= opLDR(R3, R7, 22) ; // load mask; +mem_array[ 52 ] <= opCLR(R4) ; // clear R4 (iteration tracker), ; START +mem_array[ 53 ] <= opCLR(R5) ; // R5 (running total) +mem_array[ 54 ] <= opPSE(12'h801) ; // Checkpoint 1 - prepare to input +mem_array[ 55 ] <= opLDR(R1, R0, inSW) ; // Input operand 1 +mem_array[ 56 ] <= opPSE(12'h802) ; // Checkpoint 2 - prepare to input +mem_array[ 57 ] <= opLDR(R2, R0, inSW) ; // Input operand 2 +mem_array[ 58 ] <= opADD(R5, R5, R5) ; // shift running total; LOOP DEST +mem_array[ 59 ] <= opAND(R7, R3, R1) ; // apply mask +mem_array[ 60 ] <= opBR(z, 1) ; // test bit and jump over... +mem_array[ 61 ] <= opADD(R5, R5, R2) ; // ... the addition +mem_array[ 62 ] <= opADDi(R4, R4, 0) ; // test iteration == 0 (first iteration) +mem_array[ 63 ] <= opBR(p,2) ; // if not first iteration, jump over negation +mem_array[ 64 ] <= opNOT(R5, R5) ; // 2's compliment negate R5 +mem_array[ 65 ] <= opINC(R5) ; // (part of above) +mem_array[ 66 ] <= opINC(R4) ; // increment iteration +mem_array[ 67 ] <= opADD(R1, R1, R1) ; // shift operand 1 for mask comparisons +mem_array[ 68 ] <= opADDi(R7, R4, -8) ; // test for last iteration +mem_array[ 69 ] <= opBR(n, -12) ; // branch back to LOOP DEST if iteration < 7 +mem_array[ 70 ] <= opSTR(R5, R0, outHEX) ; // Output result +mem_array[ 71 ] <= opPSE(12'h403) ; // Checkpoint 3 - read output +mem_array[ 72 ] <= opBR(nzp, -21) ; // loop back to start +mem_array[ 73 ] <= 16'h0080 ; // bit test mask + +mem_array[ 74 ] <= 16'h00ef ; // Data for Bubble Sort +mem_array[ 75 ] <= 16'h001b ; +mem_array[ 76 ] <= 16'h0001 ; +mem_array[ 77 ] <= 16'h008c ; +mem_array[ 78 ] <= 16'h00db ; +mem_array[ 79 ] <= 16'h00fa ; +mem_array[ 80 ] <= 16'h0047 ; +mem_array[ 81 ] <= 16'h0046 ; +mem_array[ 82 ] <= 16'h001f ; +mem_array[ 83 ] <= 16'h000d ; +mem_array[ 84 ] <= 16'h00b8 ; +mem_array[ 85 ] <= 16'h0003 ; +mem_array[ 86 ] <= 16'h006b ; +mem_array[ 87 ] <= 16'h004e ; +mem_array[ 88 ] <= 16'h00f8 ; +mem_array[ 89 ] <= 16'h0007 ; +mem_array[ 90 ] <= opCLR(R0) ; // Bubblesort Program start +mem_array[ 91 ] <= opJSR(0) ; +mem_array[ 92 ] <= opADDi(R6, R7, -16) ; // Store data location in R6 +mem_array[ 93 ] <= opADDi(R6, R6, -2) ; // (data location is 18 above the address from JSR) +mem_array[ 94 ] <= opPSE(12'h3FF) ; // Checkpoint -1 - select function; LOOP DEST +mem_array[ 95 ] <= opLDR(R1, R0, inSW) ; +mem_array[ 96 ] <= opBR(z, -3) ; // If 0, retry +mem_array[ 97 ] <= opDEC(R1) ; +mem_array[ 98 ] <= opBR(np, 2) ; // if selection wasn't 1, jump over� +mem_array[ 99 ] <= opJSR(9) ; // ...call to entry function +mem_array[ 100 ] <= opBR(nzp, -7) ; +mem_array[ 101 ] <= opDEC(R1) ; +mem_array[ 102 ] <= opBR(np, 2) ; // if selection wasn't 2, jump over� +mem_array[ 103 ] <= opJSR(15) ; // ...call to sort function +mem_array[ 104 ] <= opBR(nzp, -11) ; +mem_array[ 105 ] <= opDEC(R1) ; +mem_array[ 106 ] <= opBR(np, -13) ; // if selection wasn't 3, retry +mem_array[ 107 ] <= opJSR(29) ; // call to display function +mem_array[ 108 ] <= opBR(nzp, -15) ; // repeat menu +mem_array[ 109 ] <= opCLR(R1) ; // ENTRY FUNCTION +mem_array[ 110 ] <= opSTR(R1, R0, outHEX) ; // R5 is temporary index into data; R1 is counter; LOOP DEST +mem_array[ 111 ] <= opPSE(12'hC01) ; // Checkpoint 1 - read data (index) and write new value +mem_array[ 112 ] <= opLDR(R2, R0, inSW) ; +mem_array[ 113 ] <= opADD(R5, R6, R1) ; // generate pointer to data +mem_array[ 114 ] <= opSTR(R2, R5, 0) ; // store data +mem_array[ 115 ] <= opINC(R1) ; // increment counter +mem_array[ 116 ] <= opADDi(R3, R1, -16) ; // test for counter == 16 +mem_array[ 117 ] <= opBR(n, -8) ; // less than 16, repeat +mem_array[ 118 ] <= opRET ; // ENTRY FUNCTION RETURN +mem_array[ 119 ] <= opADDi(R1, R0, -16) ; // i = -16; SORT FUNCTION +mem_array[ 120 ] <= opADDi(R2, R0, 1) ; // j = 1; OUTER LOOP DEST +mem_array[ 121 ] <= opADD(R3, R6, R2) ; // generate pointer to data; INNER LOOP DEST +mem_array[ 122 ] <= opLDR(R4, R3, -1) ; // R4 = data[j-1] +mem_array[ 123 ] <= opLDR(R5, R3, 0) ; // R5 = data[j] +mem_array[ 124 ] <= opNOT(R5, R5) ; +mem_array[ 125 ] <= opADDi(R5, R5, 1) ; // R5 = -data[j] +mem_array[ 126 ] <= opADD(R5, R4, R5) ; // R5 = data[j-1]-data[j] +mem_array[ 127 ] <= opBR(nz, 3) ; // if data[j-1] > data[j] +mem_array[ 128 ] <= opLDR(R5, R3, 0) ; // { R5 = data[j] +mem_array[ 129 ] <= opSTR(R5, R3, -1) ; // data[j-1] = data[j] +mem_array[ 130 ] <= opSTR(R4, R3, 0) ; // data[j] = R4 } // old data[j-1] +mem_array[ 131 ] <= opINC(R2) ; +mem_array[ 132 ] <= opADD(R3, R1, R2) ; // Compare i and j +mem_array[ 133 ] <= opBR(n, -13) ; // INNER LOOP BACK +mem_array[ 134 ] <= opINC(R1) ; +mem_array[ 135 ] <= opBR(n, -16) ; // OUTER LOOP BACK +mem_array[ 136 ] <= opRET ; // SORT FUNCTION RETURN +mem_array[ 137 ] <= opCLR(R1) ; // DISPLAY FUNCTION +mem_array[ 138 ] <= opADD(R4, R7, R0) ; // JSR shuffle to get PC value in R5 +mem_array[ 139 ] <= opJSR(0) ; +mem_array[ 140 ] <= opADD(R5, R7, R0) ; +mem_array[ 141 ] <= opADD(R7, R4, R0) ; // shuffle done +mem_array[ 142 ] <= opLDR(R3, R5, 15) ; // R3 = opPSE(12'b802) +mem_array[ 143 ] <= opADDi(R2, R0, 8) ; +mem_array[ 144 ] <= opADD(R2, R2, R2) ; // R2 = 16 +mem_array[ 145 ] <= opADD(R4, R6, R1) ; // generate pointer to data; LOOP DEST +mem_array[ 146 ] <= opLDR(R4, R4, 0) ; // load data +mem_array[ 147 ] <= opSTR(R4, R0, outHEX) ; // display data +mem_array[ 148 ] <= opPSE(12'h802) ; // Checkpoint 2 - read data (self-modified instruction) +mem_array[ 149 ] <= opADD(R3, R3, R2) ; // modify register with code +mem_array[ 150 ] <= opSTR(R3, R5, 8) ; // store modified code +mem_array[ 151 ] <= opINC(R1) ; // increment counter +mem_array[ 152 ] <= opADDi(R4, R1, -16) ; // test for counter == 16 +mem_array[ 153 ] <= opBR(n, -9) ; // less than 16, repeat +mem_array[ 154 ] <= opRET ; // DISPLAY FUNCTION RETURN +mem_array[ 155 ] <= opPSE(12'h802) ; // instruction as data + + + for (integer i = 156; i <= size - 1; i = i + 1) // Assign the rest of the memory to 0 + begin + mem_array[i] <= 16'h0; + end + end + else if (~CE && ~WE && A[15:8]==8'b00000000) + begin + if(~UB) + mem_array[A[7:0]][15:8] <= I_O[15:8]; // A(15 downto X+1): X must + // be the same as above + if(~LB) + mem_array[A[7:0]][7:0] <= I_O[7:0]; // A(X downto 0): X + end // must be the same as above + + end + + assign I_O = I_O_wire; + +endmodule diff --git a/timing.sdc b/timing.sdc index 52da202..26d6e12 100644 --- a/timing.sdc +++ b/timing.sdc @@ -1,24 +1,25 @@ # Create Clocks -create_clock -name {Clk} -period 20.000 -waveform { 0.000 10.000 } [get_ports {CLOCK_50}] -create_generated_clock -name {PLL_SDRAM} -source [get_pins {main_soc|pll|sd1|pll7|clk[0]}] -duty_cycle 50.000 -multiply_by 1 -phase -54.000 -master_clock {CLOCK_50} [get_pins {PLL_SDRAM}] -create_generated_clock -name {PLL_USB} -source [get_pins {main_soc|pll|sd1|pll7|clk[1]}] -duty_cycle 50.000 -divide_by 5 -master_clock {CLOCK_50} [get_pins {PLL_SDRAM}] -create_generated_clock -name {PLL_SRAM} -source [get_pins {main_soc|pll|sd1|pll7|clk[2]}] -duty_cycle 50.000 -multiply_by 2 -master_clock {CLOCK_50} [get_pins {PLL_SDRAM}] +create_clock -name {CLOCK_50} -period 10.000 -waveform { 0.000 50.000 } [get_ports {CLOCK_50}] +# create_generated_clock -name {PLL_SDRAM} -source [get_pins {main_soc|pll|sd1|pll7|clk[0]}] -duty_cycle 50.000 -multiply_by 1 -phase -54.000 -master_clock {CLOCK_50} [get_pins {PLL_SDRAM}] +# create_generated_clock -name {PLL_USB} -source [get_pins {main_soc|pll|sd1|pll7|clk[1]}] -duty_cycle 50.000 -divide_by 5 -master_clock {CLOCK_50} [get_pins {PLL_SDRAM}] +# create_generated_clock -name {PLL_SRAM} -source [get_pins {main_soc|pll|sd1|pll7|clk[2]}] -duty_cycle 50.000 -multiply_by 2 -master_clock {CLOCK_50} [get_pins {PLL_SDRAM}] +create_generated_clock -name {PLL_100} -source [get_pins {pll|pll|sd1|pll7|clk[1]}] -duty_cycle 50.000 -multiply_by 2 -master_clock {CLOCK_50} [get_pins {CLOCK_50 }] # Constrain the input I/O path -set_input_delay -clock {Clk} -max 3 [all_inputs] -set_input_delay -clock {Clk} -min 2 [all_inputs] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {KEY[0]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {KEY[0]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {KEY[1]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {KEY[1]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {KEY[2]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {KEY[2]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {KEY[3]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {KEY[3]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {PS2_KBCLK}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {PS2_KBCLK}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {PS2_KBDAT}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {PS2_KBDAT}] +set_input_delay -clock {CLOCK_50} -max 3 [all_inputs] +set_input_delay -clock {CLOCK_50} -min 2 [all_inputs] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {KEY[0]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {KEY[0]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {KEY[1]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {KEY[1]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {KEY[2]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {KEY[2]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {KEY[3]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {KEY[3]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {PS2_KBCLK}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {PS2_KBCLK}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {PS2_KBDAT}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {PS2_KBDAT}] set_input_delay -add_delay -max -clock [get_clocks {PLL_SDRAM}] 3.000 [get_ports {DRAM_DQ[0]}] set_input_delay -add_delay -min -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_DQ[0]}] set_input_delay -add_delay -max -clock [get_clocks {PLL_SDRAM}] 3.000 [get_ports {DRAM_DQ[1]}] @@ -83,132 +84,132 @@ set_input_delay -add_delay -max -clock [get_clocks {PLL_SDRAM}] 3.000 [get_port set_input_delay -add_delay -min -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_DQ[30]}] set_input_delay -add_delay -max -clock [get_clocks {PLL_SDRAM}] 3.000 [get_ports {DRAM_DQ[31]}] set_input_delay -add_delay -min -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_DQ[31]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[0]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[0]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[1]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[1]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[2]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[2]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[3]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[3]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[4]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[4]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[5]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[5]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[6]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[6]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[7]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[7]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[8]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[8]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[9]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[9]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[10]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[10]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[11]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[11]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[12]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[12]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[13]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[13]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[14]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[14]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {OTG_DATA[15]}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[15]}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {altera_reserved_tck}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {altera_reserved_tck}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {altera_reserved_tdi}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {altera_reserved_tdi}] -set_input_delay -add_delay -max -clock [get_clocks {Clk}] 3.000 [get_ports {altera_reserved_tms}] -set_input_delay -add_delay -min -clock [get_clocks {Clk}] 2.000 [get_ports {altera_reserved_tms}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[0]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[0]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[1]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[1]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[2]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[2]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[3]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[3]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[4]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[4]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[5]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[5]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[6]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[6]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[7]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[7]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[8]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[8]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[9]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[9]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[10]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[10]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[11]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[11]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[12]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[12]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[13]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[13]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[14]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[14]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {OTG_DATA[15]}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[15]}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {altera_reserved_tck}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {altera_reserved_tck}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {altera_reserved_tdi}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {altera_reserved_tdi}] +set_input_delay -add_delay -max -clock [get_clocks {CLOCK_50}] 3.000 [get_ports {altera_reserved_tms}] +set_input_delay -add_delay -min -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {altera_reserved_tms}] # Constrain the output I/O path -set_output_delay -clock {Clk} 2 [all_outputs] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDG[7]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[7]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[8]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[9]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[10]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[11]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[12]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[13]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[14]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[15]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[16]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {LEDR[17]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX0[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX0[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX0[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX0[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX0[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX0[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX0[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX1[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX1[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX1[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX1[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX1[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX1[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX1[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX2[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX2[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX2[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX2[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX2[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX2[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX2[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX3[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX3[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX3[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX3[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX3[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX3[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX3[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX4[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX4[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX4[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX4[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX4[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX4[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX4[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX5[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX5[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX5[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX5[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX5[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX5[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX5[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX6[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX6[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX6[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX6[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX6[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX6[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX6[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX7[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX7[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX7[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX7[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX7[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX7[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {HEX7[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {PS2_KBCLK}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {PS2_KBDAT}] +set_output_delay -clock {CLOCK_50} 2 [all_outputs] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDG[7]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[7]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[8]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[9]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[10]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[11]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[12]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[13]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[14]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[15]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[16]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {LEDR[17]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX0[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX0[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX0[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX0[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX0[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX0[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX0[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX1[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX1[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX1[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX1[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX1[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX1[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX1[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX2[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX2[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX2[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX2[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX2[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX2[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX2[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX3[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX3[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX3[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX3[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX3[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX3[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX3[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX4[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX4[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX4[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX4[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX4[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX4[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX4[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX5[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX5[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX5[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX5[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX5[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX5[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX5[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX6[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX6[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX6[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX6[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX6[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX6[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX6[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX7[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX7[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX7[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX7[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX7[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX7[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {HEX7[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {PS2_KBCLK}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {PS2_KBDAT}] set_output_delay -add_delay -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_ADDR[0]}] set_output_delay -add_delay -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_ADDR[1]}] set_output_delay -add_delay -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_ADDR[2]}] @@ -266,30 +267,30 @@ set_output_delay -add_delay -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports { set_output_delay -add_delay -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_RAS_N}] set_output_delay -add_delay -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_WE_N}] set_output_delay -add_delay -clock [get_clocks {PLL_SDRAM}] 2.000 [get_ports {DRAM_CLK}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_ADDR[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_ADDR[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_CS_N}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_RST_N}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_RD_N}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_WR_N}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[0]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[1]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[2]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[3]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[4]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[5]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[6]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[7]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[8]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[9]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[10]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[11]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[12]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[13]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[14]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {OTG_DATA[15]}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {VGA_CLK}] -set_output_delay -add_delay -clock [get_clocks {Clk}] 2.000 [get_ports {altera_reserved_tdo}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_ADDR[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_ADDR[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_CS_N}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_RST_N}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_RD_N}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_WR_N}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[0]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[1]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[2]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[3]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[4]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[5]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[6]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[7]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[8]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[9]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[10]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[11]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[12]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[13]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[14]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {OTG_DATA[15]}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {VGA_CLK}] +set_output_delay -add_delay -clock [get_clocks {CLOCK_50}] 2.000 [get_ports {altera_reserved_tdo}] # Clock groups set_clock_groups -asynchronous -group [get_clocks {altera_reserved_tck}] -- GitLab