Verilog Procedural Assignments

Consider the following Verilog snippet inside an always @(posedge clk) block:
a <= 1'b1;
a <= ~a;
Assuming the register a holds the value 1'b0 just before the clock edge, what will be the value of a immediately after the clock edge, and why?