function InitAdditionalTransact;
global endJ betta1 betta2 MatrixIn coll xi numpr

    a = 630360016;
    m = 2147483647;
    
J=mod((a*endJ), m);
endJ=J;
curlen = length(MatrixIn);
MatrixIn(2,curlen+1) = - betta1*log(J/m);

J=mod((a*endJ), m);
endJ=J;
MatrixIn(3,curlen+1) = - betta2*log(J/m);

MatrixIn(1,curlen+1) = curlen+1;

J=mod((a*endJ), m);
endJ=J;

for i=1:numpr
    x0=coll(i);
    x1=coll(i+1);
    if (J/m)>x0 && (J/m)<x1
           MatrixIn(4,curlen+1)=xi(i);
    end;
end;