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);