activezerosmarkcons0zerosactiveU11ttLmarkslengthLactiveandttXmarkXactiveisNat0markttactiveisNatlengthV1markisNatListV1activeisNatsV1markisNatV1activeisNatIListVmarkisNatListVactiveisNatIListzerosmarkttactiveisNatIListconsV1V2markandisNatV1isNatIListV2activeisNatListnilmarkttactiveisNatListconsV1V2markandisNatV1isNatListV2activelengthnilmark0activelengthconsNLmarkU11andisNatListLisNatNLactiveconsX1X2consactiveX1X2activeU11X1X2U11activeX1X2activesXsactiveXactivelengthXlengthactiveXactiveandX1X2andactiveX1X2consmarkX1X2markconsX1X2U11markX1X2markU11X1X2smarkXmarksXlengthmarkXmarklengthXandmarkX1X2markandX1X2properzerosokzerosproperconsX1X2consproperX1properX2proper0ok0properU11X1X2U11properX1properX2properttokttpropersXsproperXproperlengthXlengthproperXproperandX1X2andproperX1properX2properisNatXisNatproperXproperisNatListXisNatListproperXproperisNatIListXisNatIListproperXproperniloknilconsokX1okX2okconsX1X2U11okX1okX2okU11X1X2sokXoksXlengthokXoklengthXandokX1okX2okandX1X2isNatokXokisNatXisNatListokXokisNatListXisNatIListokXokisNatIListXtopmarkXtopproperXtopokXtopactiveXactivezeroscons0zerosactiveU11ttLlengthLactiveU11ttLslengthLactiveisNatlengthV1isNatListV1activeisNatsV1isNatV1activeisNatIListVisNatListVactiveisNatIListconsV1V2isNatIListV2activeisNatIListconsV1V2isNatV1activeisNatIListconsV1V2andisNatV1isNatIListV2activeisNatListconsV1V2isNatListV2activeisNatListconsV1V2isNatV1activeisNatListconsV1V2andisNatV1isNatListV2activelengthconsNLisNatNactivelengthconsNLisNatListLactivelengthconsNLandisNatListLisNatNactivelengthconsNLU11andisNatListLisNatNLactiveconsX1X2activeX1activeconsX1X2consactiveX1X2activeU11X1X2activeX1activeU11X1X2U11activeX1X2activesXactiveXactivesXsactiveXactivelengthXactiveXactivelengthXlengthactiveXactiveandX1X2activeX1activeandX1X2andactiveX1X2consmarkX1X2consX1X2U11markX1X2U11X1X2smarkXsXlengthmarkXlengthXandmarkX1X2andX1X2properconsX1X2properX2properconsX1X2properX1properconsX1X2consproperX1properX2properU11X1X2properX2properU11X1X2properX1properU11X1X2U11properX1properX2propersXproperXpropersXsproperXproperlengthXproperXproperlengthXlengthproperXproperandX1X2properX2properandX1X2properX1properandX1X2andproperX1properX2properisNatXproperXproperisNatXisNatproperXproperisNatListXproperXproperisNatListXisNatListproperXproperisNatIListXproperXproperisNatIListXisNatIListproperXconsokX1okX2consX1X2U11okX1okX2U11X1X2sokXsXlengthokXlengthXandokX1okX2andX1X2isNatokXisNatXisNatListokXisNatListXisNatIListokXisNatIListXtopmarkXproperXtopmarkXtopproperXtopokXactiveXtopokXtopactiveXtruetopokXtopactiveXtopmarkXtopproperXtruetopokXactiveXfalseactiveconsX1X2activeX1activeU11X1X2activeX1activesXactiveXactivelengthXactiveXactiveandX1X2activeX1trueactive11activeandX1X2andactiveX1X2falseactivelengthXlengthactiveXfalseactivesXsactiveXfalseactiveU11X1X2U11activeX1X2falseactiveconsX1X2consactiveX1X2falseactivelengthconsNLU11andisNatListLisNatNLfalseactivelengthconsNLandisNatListLisNatNfalseactivelengthconsNLisNatListLfalseactivelengthconsNLisNatNfalseactiveisNatListconsV1V2andisNatV1isNatListV2falseactiveisNatListconsV1V2isNatV1falseactiveisNatListconsV1V2isNatListV2falseactiveisNatIListconsV1V2andisNatV1isNatIListV2falseactiveisNatIListconsV1V2isNatV1falseactiveisNatIListconsV1V2isNatIListV2falseactiveisNatIListVisNatListVfalseactiveisNatsV1isNatV1falseactiveisNatlengthV1isNatListV1falseactiveU11ttLslengthLfalseactiveU11ttLlengthLfalseactivezeroscons0zerosfalsetopmarkXproperXfalseproperconsX1X2properX2properconsX1X2properX1properU11X1X2properX2properU11X1X2properX1propersXproperXproperlengthXproperXproperandX1X2properX2properandX1X2properX1properisNatXproperXproperisNatListXproperXproperisNatIListXproperXtrueproper11properisNatIListXisNatIListproperXfalseisNatIListokXisNatIListXtrueisNatIList11properisNatListXisNatListproperXfalseisNatListokXisNatListXtrueisNatList11properisNatXisNatproperXfalseisNatokXisNatXtrueisNat11properandX1X2andproperX1properX2falseandmarkX1X2andX1X2andokX1okX2andX1X2trueand22andmarkX1X2andX1X2and21properlengthXlengthproperXfalselengthmarkXlengthXlengthokXlengthXtruelength11propersXsproperXfalsesmarkXsXsokXsXtrues11properU11X1X2U11properX1properX2falseU11markX1X2U11X1X2U11okX1okX2U11X1X2trueU1122U11markX1X2U11X1X2U1121properconsX1X2consproperX1properX2falseconsmarkX1X2consX1X2consokX1okX2consX1X2truecons22consmarkX1X2consX1X2cons21