andttTTisNatIListILisNatListactivateILisNatn__0ttisNatn__sNisNatactivateNisNatn__lengthLisNatListactivateLisNatIListn__zerosttisNatIListn__consNILandisNatactivateNisNatIListactivateILisNatListn__nilttisNatListn__consNLandisNatactivateNisNatListactivateLisNatListn__takeNILandisNatactivateNisNatIListactivateILzeroscons0n__zerostake0ILuTake1isNatIListILuTake1ttniltakesMconsNILuTake2andisNatMandisNatNisNatIListactivateILMNactivateILuTake2ttMNILconsactivateNn__takeactivateMactivateILlengthconsNLuLengthandisNatNisNatListactivateLactivateLuLengthttLslengthactivateL0n__0sXn__sXlengthXn__lengthXzerosn__zerosconsX1X2n__consX1X2niln__niltakeX1X2n__takeX1X2activaten__00activaten__sXsactivateXactivaten__lengthXlengthactivateXactivaten__zeroszerosactivaten__consX1X2consactivateX1X2activaten__nilnilactivaten__takeX1X2takeactivateX1activateX2activateXXisNatIListactivaten__zeros1activaten__zeroszerosisNatIListzeros1zeroscons0n__zerosisNatIListcons0n__zeros1consX1X2n__consX1X2isNatIListn__cons0n__zerosisNatIListn__consNILandisNatactivateNisNatIListactivateILandisNatactivate0