activeandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactivefirst0XmarknilactivefirstsXconsYZmarkconsYfirstXZactivefromXmarkconsXfromsXactiveandX1X2andactiveX1X2activeifX1X2X3ifactiveX1X2X3activeaddX1X2addactiveX1X2activefirstX1X2firstactiveX1X2activefirstX1X2firstX1activeX2andmarkX1X2markandX1X2ifmarkX1X2X3markifX1X2X3addmarkX1X2markaddX1X2firstmarkX1X2markfirstX1X2firstX1markX2markfirstX1X2properandX1X2andproperX1properX2propertrueoktrueproperfalseokfalseproperifX1X2X3ifproperX1properX2properX3properaddX1X2addproperX1properX2proper0ok0propersXsproperXproperfirstX1X2firstproperX1properX2properniloknilproperconsX1X2consproperX1properX2properfromXfromproperXandokX1okX2okandX1X2ifokX1okX2okX3okifX1X2X3addokX1okX2okaddX1X2sokXoksXfirstokX1okX2okfirstX1X2consokX1okX2okconsX1X2fromokXokfromXtopmarkXtopproperXtopokXtopactiveXactiveaddsXYsaddXYactiveaddsXYaddXYactivefirstsXconsYZconsYfirstXZactivefirstsXconsYZfirstXZactivefromXconsXfromsXactivefromXfromsXactivefromXsXactiveandX1X2andactiveX1X2activeandX1X2activeX1activeifX1X2X3ifactiveX1X2X3activeifX1X2X3activeX1activeaddX1X2addactiveX1X2activeaddX1X2activeX1activefirstX1X2firstactiveX1X2activefirstX1X2activeX1activefirstX1X2firstX1activeX2activefirstX1X2activeX2andmarkX1X2andX1X2ifmarkX1X2X3ifX1X2X3addmarkX1X2addX1X2firstmarkX1X2firstX1X2firstX1markX2firstX1X2properandX1X2andproperX1properX2properandX1X2properX1properandX1X2properX2properifX1X2X3ifproperX1properX2properX3properifX1X2X3properX1properifX1X2X3properX2properifX1X2X3properX3properaddX1X2addproperX1properX2properaddX1X2properX1properaddX1X2properX2propersXsproperXpropersXproperXproperfirstX1X2firstproperX1properX2properfirstX1X2properX1properfirstX1X2properX2properconsX1X2consproperX1properX2properconsX1X2properX1properconsX1X2properX2properfromXfromproperXproperfromXproperXandokX1okX2andX1X2ifokX1okX2okX3ifX1X2X3addokX1okX2addX1X2sokXsXfirstokX1okX2firstX1X2consokX1okX2consX1X2fromokXfromXtopmarkXtopproperXtopmarkXproperXtopokXtopactiveXtopokXactiveXtruetopokXtopactiveXtopmarkXtopproperXtrue1234567891011121314151617181920212223242526272829301top111ok111active111mark1111proper111and211112true00false01if31111213add211112000s10first211112nil00cons20from11topokXtopactiveXactiveandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactivefirst0XmarknilactivefirstsXconsYZmarkconsYfirstXZactivefromXmarkconsXfromsXactiveandX1X2andactiveX1X2activeifX1X2X3ifactiveX1X2X3activeaddX1X2addactiveX1X2activefirstX1X2firstactiveX1X2activefirstX1X2firstX1activeX2properandX1X2andproperX1properX2propertrueoktrueproperfalseokfalseproperifX1X2X3ifproperX1properX2properX3properaddX1X2addproperX1properX2proper0ok0propersXsproperXproperfirstX1X2firstproperX1properX2properniloknilproperconsX1X2consproperX1properX2properfromXfromproperXifmarkX1X2X3markifX1X2X3ifokX1okX2okX3okifX1X2X3andmarkX1X2markandX1X2andokX1okX2okandX1X2addmarkX1X2markaddX1X2addokX1okX2okaddX1X2firstmarkX1X2markfirstX1X2firstX1markX2markfirstX1X2firstokX1okX2okfirstX1X2sokXoksXconsokX1okX2okconsX1X2fromokXokfromX1top111ok1111active111and21112true00mark10false00if31113add21112000s10first212nil00cons2111from1111activeandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactivefirst0XmarknilactivefirstsXconsYZmarkconsYfirstXZactivefromXmarkconsXfromsXactiveandX1X2andactiveX1X2activeifX1X2X3ifactiveX1X2X3activeaddX1X2addactiveX1X2activefirstX1X2firstactiveX1X2activefirstX1X2firstX1activeX2ifmarkX1X2X3markifX1X2X3ifokX1okX2okX3okifX1X2X3andmarkX1X2markandX1X2andokX1okX2okandX1X2addmarkX1X2markaddX1X2addokX1okX2okaddX1X2firstmarkX1X2markfirstX1X2firstX1markX2markfirstX1X2firstokX1okX2okfirstX1X2topokXactiveXfalse24689111213151618192123242526272829activeifX1X2X3activeX1activeandX1X2activeX1activeaddX1X2activeX1activefirstX1X2activeX1activefirstX1X2activeX2true246913161921222324252627281active111if3111and2111add2111first21112activefirstX1X2activeX1activefirstX1X2activeX21active111first211112activeaddsXYsaddXYfalse246791011131416171921222324252627activeaddsXYaddXYfalse2471114171920212223242526activefirstsXconsYZconsYfirstXZfalse19activefirstsXconsYZfirstXZfalse18activefromXconsXfromsXfalse18activefromXfromsXfalse17activefromXsXfalse17activeandX1X2andactiveX1X2false16activeifX1X2X3ifactiveX1X2X3false15activeaddX1X2addactiveX1X2false15activefirstX1X2firstactiveX1X2false14activefirstX1X2firstX1activeX2false13topmarkXproperXfalse12properandX1X2properX2properandX1X2properX1properifX1X2X3properX1properifX1X2X3properX2properifX1X2X3properX3properaddX1X2properX1properaddX1X2properX2propersXproperXproperfirstX1X2properX1properfirstX1X2properX2properconsX1X2properX1properconsX1X2properX2properfromXproperXtrue121proper111and211112if31111213add211112s1111first211112cons21112from111properconsX1X2properX1properconsX1X2properX2properfromXproperX1proper111cons211112from1111properandX1X2andproperX1properX2false11andokX1okX2andX1X2andmarkX1X2andX1X2true101and212ok1111mark10andmarkX1X2andX1X21and211mark1111properifX1X2X3ifproperX1properX2properX3false10ifokX1okX2okX3ifX1X2X3ifmarkX1X2X3ifX1X2X3true91if31213ok1111mark10ifmarkX1X2X3ifX1X2X31if311mark1111properaddX1X2addproperX1properX2false8addokX1okX2addX1X2addmarkX1X2addX1X2true81add212ok1111mark10addmarkX1X2addX1X21add211mark1111properfirstX1X2firstproperX1properX2false7firstX1markX2firstX1X2firstmarkX1X2firstX1X2firstokX1okX2firstX1X2true1first211mark1111ok1111firstX1markX2firstX1X21first212mark1111propersXsproperXfalseproperconsX1X2consproperX1properX2falseproperfromXfromproperXfalsesokXsXtrue1s111ok1111consokX1okX2consX1X2true1cons212ok1111fromokXfromXtrue1from111ok1111