andttTTisNatIListILisNatListactivateILisNatn__0ttisNatn__sNisNatactivateNisNatn__lengthLisNatListactivateLisNatIListn__zerosttisNatIListn__consNILandisNatactivateNisNatIListactivateILisNatListn__nilttisNatListn__consNLandisNatactivateNisNatListactivateLisNatListn__takeNILandisNatactivateNisNatIListactivateILzeroscons0n__zerostake0ILuTake1isNatIListILuTake1ttniltakesMconsNILuTake2andisNatMandisNatNisNatIListactivateILMNactivateILuTake2ttMNILconsactivateNn__takeactivateMactivateILlengthconsNLuLengthandisNatNisNatListactivateLactivateLuLengthttLslengthactivateL0n__0sXn__sXlengthXn__lengthXzerosn__zerosconsX1X2n__consX1X2niln__niltakeX1X2n__takeX1X2activaten__00activaten__sXsactivateXactivaten__lengthXlengthactivateXactivaten__zeroszerosactivaten__consX1X2consactivateX1X2activaten__nilnilactivaten__takeX1X2takeactivateX1activateX2activateXX2.1isNatIListactivaten__zeros1activaten__zeroszerosisNatIListzeros1zeroscons0n__zerosisNatIListcons0n__zeros1consX1X2n__consX1X2isNatIListn__cons0n__zerosisNatIListn__consNILandisNatactivateNisNatIListactivateILandisNatactivate0isNatIListactivaten__zerosandisNatactivate0ttt21.14if standard then (var | con | (lpo || unfold[1] || (dp;(tdg | sccs | sc)*;(edg[2] | sccs | sc | sct | {ur?;lpo -dp -af[2]}restore | {ur?;matrix -dp -dim 2 -ib 2 -ob 2 -ur[2]}restore | uncurryx?;uncurryx -top )[10]*)!)) else if relative then (trivial | var | (unfold[2] || (( lpo -quasi | matrix -dim 2 -ib 2 -ob 3 | matrix -dim 3 -ib 2 -ob 2 | uncurryx )[10]*))) else fail