load(x)&-ab(x)>[outl(x)=];
shoot(x)&-ab(x)>[outl(x)=inl(x)&-inl(x)]&[outa(x)=-inl(x)&ina(x)];
wait(x)&-ab(x)>[outa(x)=ina(x)]&[outl(x)=inl(x)]
load(A);
wait(B);
shoot(C);

outl(A)=inl(B);
ina(B)=ina(A);
outa(B)=ina(C);
outl(B)=inl(C);
outa(C);
ina(A);
-inl(A);