mdp
const int N;
const double p1 = 0.5;
const double p2 = 0.5;
module main
x : [0..N];
y : [0..2];
[try1] x<N & y=0 -> p1 : (y'=1) & (x'=N) + (1-p1) : (x'=x+1);
[try2] x<N & y=0 -> p2 : (y'=2) & (x'=N) + (1-p1) : (x'=x+1);
endmodule
label "fail" = x=N;