module nand4_behavioral(
    input       a, b, c, d,  // 4-Input
    output reg  y);          // Output

    // ALWAYS BLOCK with NON-BLOCKING PROCEDURAL ASSIGNMENT STATEMENT
    always @(a or b or c or d) begin
        y <= ~(a & b & c & d);
    end

endmodule