activeeq00marktrueactiveeqsXsYmarkeqXYactiveeqXYmarkfalseactiveinfXmarkconsXinfsXactivetake0XmarknilactivetakesXconsYLmarkconsYtakeXLactivelengthnilmark0activelengthconsXLmarkslengthLactiveinfXinfactiveXactivetakeX1X2takeactiveX1X2activetakeX1X2takeX1activeX2activelengthXlengthactiveXinfmarkXmarkinfXtakemarkX1X2marktakeX1X2takeX1markX2marktakeX1X2lengthmarkXmarklengthXpropereqX1X2eqproperX1properX2proper0ok0propertrueoktruepropersXsproperXproperfalseokfalseproperinfXinfproperXproperconsanyX1X2consanyanyproperX1anyproperX2propertakeX1X2takeproperX1properX2properniloknilproperlengthXlengthproperXeqokX1okX2okeqX1X2sokXoksXinfokXokinfXconsokX1okX2okconsX1X2takeokX1okX2oktakeX1X2lengthokXoklengthXtopmarkXtopproperXtopokXtopactiveXanyXsXanyproperXanyanyanyXactiveeqsXsYeqXYactiveinfXconsXinfsXactiveinfXinfsXactiveinfXsXactivetakesXconsYLconsYtakeXLactivetakesXconsYLtakeXLactivelengthconsXLslengthLactivelengthconsXLlengthLactiveinfXinfactiveXactiveinfXactiveXactivetakeX1X2takeactiveX1X2activetakeX1X2activeX1activetakeX1X2takeX1activeX2activetakeX1X2activeX2activelengthXlengthactiveXactivelengthXactiveXinfmarkXinfXtakemarkX1X2takeX1X2takeX1markX2takeX1X2lengthmarkXlengthXpropereqX1X2eqproperX1properX2propereqX1X2properX1propereqX1X2properX2propersXsproperXpropersXproperXproperinfXinfproperXproperinfXproperXproperconsanyX1X2consanyanyproperX1anyproperX2properconsanyX1X2anyanyproperX1properconsanyX1X2anyproperX1properconsanyX1X2properX1properconsanyX1X2anyproperX2properconsanyX1X2properX2propertakeX1X2takeproperX1properX2propertakeX1X2properX1propertakeX1X2properX2properlengthXlengthproperXproperlengthXproperXeqokX1okX2eqX1X2sokXsXinfokXinfXconsokX1okX2consX1X2takeokX1okX2takeX1X2lengthokXlengthXtopmarkXtopproperXtopmarkXproperXtopokXtopactiveXtopokXactiveXanyXsXanyproperXanyanyanyXanyproperXanyanyXanyproperXanyXtruetopokXtopactiveXtopmarkXtopproperXtrue123456789101112131415161718192021222324252627282930313233343531top10001000000001ok10001000100011active10001000100001mark11001000100001proper10001000100011eq21000001001001000000000200010true0000s10100000010101false0000inf11101000000001cons201000000000010000000002take200010011000011000000002nil0010length10001001100001any10100101000001topokXtopactiveXactiveeq00marktrueactiveeqsXsYmarkeqXYactiveeqXYmarkfalseactiveinfXmarkconsXinfsXactivetake0XmarknilactivetakesXconsYLmarkconsYtakeXLactivelengthnilmark0activelengthconsXLmarkslengthLactiveinfXinfactiveXactivetakeX1X2takeactiveX1X2activetakeX1X2takeX1activeX2activelengthXlengthactiveXpropereqX1X2eqproperX1properX2proper0ok0propertrueoktruepropersXsproperXproperfalseokfalseproperinfXinfproperXproperconsanyX1X2consanyanyproperX1anyproperX2propertakeX1X2takeproperX1properX2properniloknilproperlengthXlengthproperXtakemarkX1X2marktakeX1X2takeX1markX2marktakeX1X2takeokX1okX2oktakeX1X2infmarkXmarkinfXinfokXokinfXlengthmarkXmarklengthXlengthokXoklengthXeqokX1okX2okeqX1X2sokXoksXconsokX1okX2okconsX1X21top111ok1111active111eq2111001mark10true00s10false00inf111cons2112take211nil01length111activeeq00marktrueactiveeqsXsYmarkeqXYactiveeqXYmarkfalseactiveinfXmarkconsXinfsXactivetake0XmarknilactivetakesXconsYLmarkconsYtakeXLactivelengthnilmark0activelengthconsXLmarkslengthLactiveinfXinfactiveXactivetakeX1X2takeactiveX1X2activetakeX1X2takeX1activeX2activelengthXlengthactiveXtakemarkX1X2marktakeX1X2takeX1markX2marktakeX1X2takeokX1okX2oktakeX1X2infmarkXmarkinfXinfokXokinfXlengthmarkXmarklengthXlengthokXoklengthXtopokXactiveXfalse123457812161921242528293031323334activetakeX1X2activeX1activeinfXactiveXactivetakeX1X2activeX2activelengthXactiveXtrue123467111518202324272829303132331active111take211112inf1111length1111activeeqsXsYeqXYfalse3562331activeinfXconsXinfsXfalse2452230activeinfXinfsXfalse1342129activeinfXsXfalse232028activetakesXconsYLconsYtakeXLfalse34578911121416172021232425262728activetakesXconsYLtakeXLfalse1826activelengthconsXLslengthLfalse1725activelengthconsXLlengthLfalse12456891113141718202122232425activeinfXinfactiveXfalse19activetakeX1X2takeactiveX1X2false18activetakeX1X2takeX1activeX2false17activelengthXlengthactiveXfalse17topmarkXproperXfalse16propereqX1X2properX2propereqX1X2properX1propersXproperXproperinfXproperXproperconsanyX1X2properX1properconsanyX1X2properX2propertakeX1X2properX1propertakeX1X2properX2properlengthXproperXtrue151proper111eq211112s1111inf111cons211112any1111take211112length1111properinfXproperX31proper10001001001001inf10011101100011properinfXinfproperXfalse14infokXinfXinfmarkXinfXtrue141inf111ok1111mark1111propertakeX1X2takeproperX1properX2false13takeX1markX2takeX1X2takemarkX1X2takeX1X2takeokX1okX2takeX1X2true121take211mark1111ok1111takeX1markX2takeX1X231take200000000000011001001002mark10011101100011properlengthXlengthproperXfalse12lengthokXlengthXlengthmarkXlengthXtrue111length111ok1111mark1111propereqX1X2eqproperX1properX2false11propersXsproperXfalse10properconsanyX1X2consanyanyproperX1anyproperX2false9properconsanyX1X2anyanyproperX1false8properconsanyX1X2anyproperX1false8properconsanyX1X2anyproperX2false7eqokX1okX2eqX1X2true61eq212ok1111anyproperXanyXtrue1any111proper1111anyproperXanyanyanyXfalseanyproperXanyanyXfalseanyXsXfalsesokXsXtrue1s111ok1111consokX1okX2consX1X2true1cons212ok1111