function [P, CI] = MCAVButterfly(S0,r,T,sigma,NRepl,X1,X2,X3)
nuT = (r-0.5*sigma^2)*T;
siT = sigma*sqrt(T);
Veps = randn(NRepl,1);
Stocks1 = S0*exp(nuT + siT*Veps);
Stocks2 = S0*exp(nuT - siT*Veps);
Payoff1 = zeros(NRepl,1);
Payoff2 = zeros(NRepl,1);
In = find((Stocks1 > X1) & (Stocks1 < X2));
Payoff1(In) = (Stocks1(In) - X1);
In = find((Stocks1 >= X2) & (Stocks1 < X3));
Payoff1(In) = (X3 - Stocks1(In));
In = find((Stocks2 > X1) & (Stocks2 < X2));
Payoff2(In) = (Stocks2(In) - X1);
In = find((Stocks2 >= X2) & (Stocks2 < X3));
Payoff2(In) = (X3 - Stocks2(In));
Payoff = 0.5 * exp(-r*T) * (Payoff1 + Payoff2);
[P, V, CI] = normfit(Payoff);
