a__factXa__ifa__zeromarkXs0prodXfactpXa__add0XmarkXa__addsXYsa__addmarkXmarkYa__prod0X0a__prodsXYa__addmarkYa__prodmarkXmarkYa__iftrueXYmarkXa__iffalseXYmarkYa__zero0truea__zerosXfalsea__psXmarkXmarkfactXa__factmarkXmarkifX1X2X3a__ifmarkX1X2X3markzeroXa__zeromarkXmarkprodX1X2a__prodmarkX1markX2markpXa__pmarkXmarkaddX1X2a__addmarkX1markX2marksXsmarkXmark00marktruetruemarkfalsefalsea__factXfactXa__ifX1X2X3ifX1X2X3a__zeroXzeroXa__prodX1X2prodX1X2a__pXpXa__addX1X2addX1X2a__factXmarkXa__factXa__zeromarkXa__factXa__ifa__zeromarkXs0prodXfactpXa__add0XmarkXa__addsXYmarkYa__addsXYmarkXa__addsXYa__addmarkXmarkYa__prodsXYmarkXa__prodsXYa__prodmarkXmarkYa__prodsXYmarkYa__prodsXYa__addmarkYa__prodmarkXmarkYa__iftrueXYmarkXa__iffalseXYmarkYa__psXmarkXmarkfactXmarkXmarkfactXa__factmarkXmarkifX1X2X3markX1markifX1X2X3a__ifmarkX1X2X3markzeroXmarkXmarkzeroXa__zeromarkXmarkprodX1X2markX2markprodX1X2markX1markprodX1X2a__prodmarkX1markX2markpXmarkXmarkpXa__pmarkXmarkaddX1X2markX2markaddX1X2markX1markaddX1X2a__addmarkX1markX2marksXmarkXtruea__psXmarkXmarkfactXmarkXmarkfactXa__factmarkXa__factXmarkXmarkifX1X2X3markX1markifX1X2X3a__ifmarkX1X2X3a__iftrueXYmarkXmarkzeroXmarkXmarkprodX1X2markX2markprodX1X2markX1markprodX1X2a__prodmarkX1markX2a__prodsXYmarkXmarkpXmarkXmarkpXa__pmarkXmarkaddX1X2markX2markaddX1X2markX1markaddX1X2a__addmarkX1markX2a__add0XmarkXmarksXmarkXa__addsXYmarkYa__addsXYmarkXa__addsXYa__addmarkXmarkYa__prodsXYa__prodmarkXmarkYa__prodsXYmarkYa__prodsXYa__addmarkYa__prodmarkXmarkYa__iffalseXYmarkYa__factXa__ifa__zeromarkXs0prodXfactpXtruea__factXa__zeromarkXfalsemarkzeroXa__zeromarkXfalse