module top #(
	parameter WIDTH = 6
) (
	input [WIDTH-1:0] a_i,
	input [WIDTH-1:0] b_i,
	output [WIDTH-1:0] z_o
);
	genvar g;
	generate
		for (g = 0; g < WIDTH; g = g + 1) begin
			if (g > 2) begin
				wire tmp;
				assign tmp = a_i[g] || b_i[g];
				assign z_o[g] = tmp;
			end
			else begin
				assign z_o[g] = a_i[g] && b_i[g];
			end
		end
	endgenerate
endmodule