activeandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactivefirst0XmarknilactivefirstsXconsYZmarkconsYfirstXZactivefromXmarkconsXfromsXmarkandX1X2activeandmarkX1X2marktrueactivetruemarkfalseactivefalsemarkifX1X2X3activeifmarkX1X2X3markaddX1X2activeaddmarkX1X2mark0active0marksXactivesXmarkfirstX1X2activefirstmarkX1markX2marknilactivenilmarkconsX1X2activeconsX1X2markfromXactivefromXandmarkX1X2andX1X2andX1markX2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2ifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3addmarkX1X2addX1X2addX1markX2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2smarkXsXsactiveXsXfirstmarkX1X2firstX1X2firstX1markX2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2consmarkX1X2consX1X2consX1markX2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2frommarkXfromXfromactiveXfromXactiveandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYaddXYactiveaddsXYsaddXYactiveaddsXYmarksaddXYactivefirst0XmarknilactivefirstsXconsYZfirstXZactivefirstsXconsYZconsYfirstXZactivefirstsXconsYZmarkconsYfirstXZactivefromXsXactivefromXfromsXactivefromXconsXfromsXactivefromXmarkconsXfromsXmarkandX1X2markX1markandX1X2andmarkX1X2markandX1X2activeandmarkX1X2marktrueactivetruemarkfalseactivefalsemarkifX1X2X3markX1markifX1X2X3ifmarkX1X2X3markifX1X2X3activeifmarkX1X2X3markaddX1X2markX1markaddX1X2addmarkX1X2markaddX1X2activeaddmarkX1X2mark0active0marksXactivesXmarkfirstX1X2markX2markfirstX1X2markX1markfirstX1X2firstmarkX1markX2markfirstX1X2activefirstmarkX1markX2marknilactivenilmarkconsX1X2activeconsX1X2markfromXactivefromXandmarkX1X2andX1X2andX1markX2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2ifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3addmarkX1X2addX1X2addX1markX2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2smarkXsXsactiveXsXfirstmarkX1X2firstX1X2firstX1markX2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2consmarkX1X2consX1X2consX1markX2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2frommarkXfromXfromactiveXfromXtruemarkfromXactivefromXactiveandtrueXmarkXmarkandX1X2markX1markandX1X2activeandmarkX1X2activeandfalseYmarkfalsemarktrueactivetrueactiveiftrueXYmarkXmarkfalseactivefalseactiveiffalseXYmarkYmarkifX1X2X3markX1markifX1X2X3activeifmarkX1X2X3activeadd0XmarkXmarkaddX1X2markX1markaddX1X2activeaddmarkX1X2activeaddsXYmarksaddXYmark0active0activefirst0XmarknilmarksXactivesXactivefirstsXconsYZmarkconsYfirstXZmarkfirstX1X2markX2markfirstX1X2markX1markfirstX1X2activefirstmarkX1markX2activefromXmarkconsXfromsXmarknilactivenilmarkconsX1X2activeconsX1X2truemarkfromXactivefromXactivefromXmarkconsXfromsXmarkconsX1X2activeconsX1X2activefirstsXconsYZmarkconsYfirstXZmarkfirstX1X2activefirstmarkX1markX2activeaddsXYmarksaddXYmarkfirstX1X2markX1markfirstX1X2markX2marksXactivesXactiveadd0XmarkXmarkaddX1X2activeaddmarkX1X2activeiffalseXYmarkYmarkaddX1X2markX1markifX1X2X3activeifmarkX1X2X3activeiftrueXYmarkXmarkifX1X2X3markX1markandX1X2activeandmarkX1X2activeandtrueXmarkXmarkandX1X2markX1truemark14active11from13cons20nil04first25s12add20005if33false05mark17active18and26true06true0and212active11mark11false0if312300add212s1first212nil0cons2from1active11mark11markfromXactivefromXmarkconsX1X2activeconsX1X2markfirstX1X2activefirstmarkX1markX2marksXactivesXmarkaddX1X2activeaddmarkX1X2markifX1X2X3activeifmarkX1X2X3markandX1X2activeandmarkX1X2activeandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactivefirst0XmarknilactivefirstsXconsYZmarkconsYfirstXZactivefromXmarkconsXfromsXmarkandX1X2activeandmarkX1X2marktrueactivetruemarkfalseactivefalsemarkifX1X2X3activeifmarkX1X2X3markaddX1X2activeaddmarkX1X2mark0active0marksXactivesXmarkfirstX1X2activefirstmarkX1markX2marknilactivenilmarkconsX1X2activeconsX1X2markfromXactivefromXandmarkX1X2andX1X2andX1markX2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2ifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3addmarkX1X2addX1X2addX1markX2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2smarkXsXsactiveXsXfirstmarkX1X2firstX1X2firstX1markX2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2consmarkX1X2consX1X2consX1markX2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2frommarkXfromXfromactiveXfromXmarkandX1X2activeandmarkX1X2falsemarkifX1X2X3activeifmarkX1X2X3falsemarkaddX1X2activeaddmarkX1X2falsemarksXactivesXfalsemarkfirstX1X2activefirstmarkX1markX2falsemarkconsX1X2activeconsX1X2falsemarkfromXactivefromXfalseactiveandfalseYmarkfalsefalsemarktrueactivetruefalsemarkfalseactivefalsefalsemark0active0falseactivefirst0XmarknilfalsemarknilactivenilfalseactivefromXconsXfromsXfalseactivefromXfromsXfalseactivefromXsXfalsemarkfirstX1X2firstmarkX1markX2falseactivefirstsXconsYZconsYfirstXZfalseactivefirstsXconsYZfirstXZfalseactiveaddsXYsaddXYfalseactiveaddsXYaddXYfalsemarkaddX1X2addmarkX1X2falsemarkifX1X2X3ifmarkX1X2X3falsemarkandX1X2andmarkX1X2falseaddmarkX1X2addX1X2addX1markX2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2trueadd22addmarkX1X2addX1X2addactiveX1X2addX1X2add21smarkXsXsactiveXsXtrues11firstmarkX1X2firstX1X2firstX1markX2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2truefirst22firstmarkX1X2firstX1X2firstactiveX1X2firstX1X2first21consmarkX1X2consX1X2consX1markX2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2truecons22consmarkX1X2consX1X2consactiveX1X2consX1X2cons21frommarkXfromXfromactiveXfromXtruefrom11andmarkX1X2andX1X2andX1markX2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2trueand22andmarkX1X2andX1X2andactiveX1X2andX1X2and21ifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3trueif33ifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3if32ifmarkX1X2X3ifX1X2X3ifactiveX1X2X3ifX1X2X3if31