activeandttTmarkTactiveisNatIListILmarkisNatListILactiveisNat0markttactiveisNatsNmarkisNatNactiveisNatlengthLmarkisNatListLactiveisNatIListzerosmarkttactiveisNatIListconsNILmarkandisNatNisNatIListILactiveisNatListnilmarkttactiveisNatListconsNLmarkandisNatNisNatListLactiveisNatListtakeNILmarkandisNatNisNatIListILactivezerosmarkcons0zerosactivetake0ILmarkuTake1isNatIListILactiveuTake1ttmarknilactivetakesMconsNILmarkuTake2andisNatMandisNatNisNatIListILMNILactiveuTake2ttMNILmarkconsNtakeMILactivelengthconsNLmarkuLengthandisNatNisNatListLLactiveuLengthttLmarkslengthLactiveandX1X2andactiveX1X2activeandX1X2andX1activeX2activesXsactiveXactivelengthXlengthactiveXactiveconsX1X2consactiveX1X2activetakeX1X2takeactiveX1X2activetakeX1X2takeX1activeX2activeuTake1XuTake1activeXactiveuTake2X1X2X3X4uTake2activeX1X2X3X4activeuLengthX1X2uLengthactiveX1X2andmarkX1X2markandX1X2andX1markX2markandX1X2smarkXmarksXlengthmarkXmarklengthXconsmarkX1X2markconsX1X2takemarkX1X2marktakeX1X2takeX1markX2marktakeX1X2uTake1markXmarkuTake1XuTake2markX1X2X3X4markuTake2X1X2X3X4uLengthmarkX1X2markuLengthX1X2properandX1X2andproperX1properX2properttokttproperisNatIListXisNatIListproperXproperisNatListXisNatListproperXproperisNatXisNatproperXproper0ok0propersXsproperXproperlengthXlengthproperXproperzerosokzerosproperconsX1X2consproperX1properX2properniloknilpropertakeX1X2takeproperX1properX2properuTake1XuTake1properXproperuTake2X1X2X3X4uTake2properX1properX2properX3properX4properuLengthX1X2uLengthproperX1properX2andokX1okX2okandX1X2isNatIListokXokisNatIListXisNatListokXokisNatListXisNatokXokisNatXsokXoksXlengthokXoklengthXconsokX1okX2okconsX1X2takeokX1okX2oktakeX1X2uTake1okXokuTake1XuTake2okX1okX2okX3okX4okuTake2X1X2X3X4uLengthokX1okX2okuLengthX1X2topmarkXtopproperXtopokXtopactiveXactiveisNatIListILisNatListILactiveisNatsNisNatNactiveisNatlengthLisNatListLactiveisNatIListconsNILisNatIListILactiveisNatIListconsNILisNatNactiveisNatIListconsNILandisNatNisNatIListILactiveisNatListconsNLisNatListLactiveisNatListconsNLisNatNactiveisNatListconsNLandisNatNisNatListLactiveisNatListtakeNILisNatIListILactiveisNatListtakeNILisNatNactiveisNatListtakeNILandisNatNisNatIListILactivezeroscons0zerosactivetake0ILisNatIListILactivetake0ILuTake1isNatIListILactivetakesMconsNILisNatIListILactivetakesMconsNILisNatNactivetakesMconsNILandisNatNisNatIListILactivetakesMconsNILisNatMactivetakesMconsNILandisNatMandisNatNisNatIListILactivetakesMconsNILuTake2andisNatMandisNatNisNatIListILMNILactiveuTake2ttMNILtakeMILactiveuTake2ttMNILconsNtakeMILactivelengthconsNLisNatListLactivelengthconsNLisNatNactivelengthconsNLandisNatNisNatListLactivelengthconsNLuLengthandisNatNisNatListLLactiveuLengthttLlengthLactiveuLengthttLslengthLactiveandX1X2activeX1activeandX1X2andactiveX1X2activeandX1X2activeX2activeandX1X2andX1activeX2activesXactiveXactivesXsactiveXactivelengthXactiveXactivelengthXlengthactiveXactiveconsX1X2activeX1activeconsX1X2consactiveX1X2activetakeX1X2activeX1activetakeX1X2takeactiveX1X2activetakeX1X2activeX2activetakeX1X2takeX1activeX2activeuTake1XactiveXactiveuTake1XuTake1activeXactiveuTake2X1X2X3X4activeX1activeuTake2X1X2X3X4uTake2activeX1X2X3X4activeuLengthX1X2activeX1activeuLengthX1X2uLengthactiveX1X2andmarkX1X2andX1X2andX1markX2andX1X2smarkXsXlengthmarkXlengthXconsmarkX1X2consX1X2takemarkX1X2takeX1X2takeX1markX2takeX1X2uTake1markXuTake1XuTake2markX1X2X3X4uTake2X1X2X3X4uLengthmarkX1X2uLengthX1X2properandX1X2properX2properandX1X2properX1properandX1X2andproperX1properX2properisNatIListXproperXproperisNatIListXisNatIListproperXproperisNatListXproperXproperisNatListXisNatListproperXproperisNatXproperXproperisNatXisNatproperXpropersXproperXpropersXsproperXproperlengthXproperXproperlengthXlengthproperXproperconsX1X2properX2properconsX1X2properX1properconsX1X2consproperX1properX2propertakeX1X2properX2propertakeX1X2properX1propertakeX1X2takeproperX1properX2properuTake1XproperXproperuTake1XuTake1properXproperuTake2X1X2X3X4properX4properuTake2X1X2X3X4properX3properuTake2X1X2X3X4properX2properuTake2X1X2X3X4properX1properuTake2X1X2X3X4uTake2properX1properX2properX3properX4properuLengthX1X2properX2properuLengthX1X2properX1properuLengthX1X2uLengthproperX1properX2andokX1okX2andX1X2isNatIListokXisNatIListXisNatListokXisNatListXisNatokXisNatXsokXsXlengthokXlengthXconsokX1okX2consX1X2takeokX1okX2takeX1X2uTake1okXuTake1XuTake2okX1okX2okX3okX4uTake2X1X2X3X4uLengthokX1okX2uLengthX1X2topmarkXproperXtopmarkXtopproperXtopokXactiveXtopokXtopactiveXtruetopokXtopactiveXtopmarkXtopproperXtruetopokXactiveXfalseactiveandX1X2activeX1activeandX1X2activeX2activesXactiveXactivelengthXactiveXactiveconsX1X2activeX1activetakeX1X2activeX1activetakeX1X2activeX2activeuTake1XactiveXactiveuTake2X1X2X3X4activeX1activeuLengthX1X2activeX1trueactive11activeuLengthX1X2uLengthactiveX1X2falseactiveuTake2X1X2X3X4uTake2activeX1X2X3X4falseactiveuTake1XuTake1activeXfalseactivetakeX1X2takeX1activeX2falseactivetakeX1X2takeactiveX1X2falseactiveconsX1X2consactiveX1X2falseactivelengthXlengthactiveXfalseactivesXsactiveXfalseactiveandX1X2andX1activeX2falseactiveandX1X2andactiveX1X2falseactiveuLengthttLslengthLfalseactiveuLengthttLlengthLfalseactivelengthconsNLuLengthandisNatNisNatListLLfalseactivelengthconsNLandisNatNisNatListLfalseactivelengthconsNLisNatNfalseactivelengthconsNLisNatListLfalseactiveuTake2ttMNILconsNtakeMILfalseactiveuTake2ttMNILtakeMILfalseactivetakesMconsNILuTake2andisNatMandisNatNisNatIListILMNILfalseactivetakesMconsNILandisNatMandisNatNisNatIListILfalseactivetakesMconsNILisNatMfalseactivetakesMconsNILandisNatNisNatIListILfalseactivetakesMconsNILisNatNfalseactivetakesMconsNILisNatIListILfalseactivetake0ILuTake1isNatIListILfalseactivetake0ILisNatIListILfalseactivezeroscons0zerosfalseactiveisNatListtakeNILandisNatNisNatIListILfalseactiveisNatListtakeNILisNatNfalseactiveisNatListtakeNILisNatIListILfalseactiveisNatListconsNLandisNatNisNatListLfalseactiveisNatListconsNLisNatNfalseactiveisNatListconsNLisNatListLfalseactiveisNatIListconsNILandisNatNisNatIListILfalseactiveisNatIListconsNILisNatNfalseactiveisNatIListconsNILisNatIListILfalseactiveisNatlengthLisNatListLfalseactiveisNatsNisNatNfalseactiveisNatIListILisNatListILfalsetopmarkXproperXfalseproperandX1X2properX2properandX1X2properX1properisNatIListXproperXproperisNatListXproperXproperisNatXproperXpropersXproperXproperlengthXproperXproperconsX1X2properX2properconsX1X2properX1propertakeX1X2properX2propertakeX1X2properX1properuTake1XproperXproperuTake2X1X2X3X4properX4properuTake2X1X2X3X4properX3properuTake2X1X2X3X4properX2properuTake2X1X2X3X4properX1properuLengthX1X2properX2properuLengthX1X2properX1trueproper11properuLengthX1X2uLengthproperX1properX2falseuLengthmarkX1X2uLengthX1X2uLengthokX1okX2uLengthX1X2trueuLength22uLengthmarkX1X2uLengthX1X2uLength21properuTake2X1X2X3X4uTake2properX1properX2properX3properX4falseuTake2markX1X2X3X4uTake2X1X2X3X4uTake2okX1okX2okX3okX4uTake2X1X2X3X4trueuTake244uTake2markX1X2X3X4uTake2X1X2X3X4uTake241properuTake1XuTake1properXfalseuTake1markXuTake1XuTake1okXuTake1XtrueuTake111propertakeX1X2takeproperX1properX2falsetakemarkX1X2takeX1X2takeX1markX2takeX1X2takeokX1okX2takeX1X2truetake22takemarkX1X2takeX1X2take21properconsX1X2consproperX1properX2falseconsmarkX1X2consX1X2consokX1okX2consX1X2truecons22consmarkX1X2consX1X2cons21properlengthXlengthproperXfalselengthmarkXlengthXlengthokXlengthXtruelength11propersXsproperXfalsesmarkXsXsokXsXtrues11properisNatXisNatproperXfalseisNatokXisNatXtrueisNat11properisNatListXisNatListproperXfalseisNatListokXisNatListXtrueisNatList11properisNatIListXisNatIListproperXfalseisNatIListokXisNatIListXtrueisNatIList11properandX1X2andproperX1properX2falseandmarkX1X2andX1X2andX1markX2andX1X2andokX1okX2andX1X2trueand22andmarkX1X2andX1X2and21