activeandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactivefirst0XmarknilactivefirstsXconsYZmarkconsYfirstXZactivefromXmarkconsXfromsXmarkandX1X2activeandmarkX1X2marktrueactivetruemarkfalseactivefalsemarkifX1X2X3activeifmarkX1X2X3markaddX1X2activeaddmarkX1X2mark0active0marksXactivesXmarkfirstX1X2activefirstmarkX1markX2marknilactivenilmarkconsX1X2activeconsX1X2markfromXactivefromXandmarkX1X2andX1X2andX1markX2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2ifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3addmarkX1X2addX1X2addX1markX2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2smarkXsXsactiveXsXfirstmarkX1X2firstX1X2firstX1markX2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2consmarkX1X2consX1X2consX1markX2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2frommarkXfromXfromactiveXfromXactiveandtrueXmarkXactiveandfalseYmarkfalseactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactiveaddsXYsaddXYactiveaddsXYaddXYactivefirst0XmarknilactivefirstsXconsYZmarkconsYfirstXZactivefirstsXconsYZconsYfirstXZactivefirstsXconsYZfirstXZactivefromXmarkconsXfromsXactivefromXconsXfromsXactivefromXfromsXactivefromXsXmarkandX1X2activeandmarkX1X2markandX1X2andmarkX1X2markandX1X2markX1marktrueactivetruemarkfalseactivefalsemarkifX1X2X3activeifmarkX1X2X3markifX1X2X3ifmarkX1X2X3markifX1X2X3markX1markaddX1X2activeaddmarkX1X2markaddX1X2addmarkX1X2markaddX1X2markX1mark0active0marksXactivesXmarkfirstX1X2activefirstmarkX1markX2markfirstX1X2firstmarkX1markX2markfirstX1X2markX1markfirstX1X2markX2marknilactivenilmarkconsX1X2activeconsX1X2markfromXactivefromXandmarkX1X2andX1X2andX1markX2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2ifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3addmarkX1X2addX1X2addX1markX2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2smarkXsXsactiveXsXfirstmarkX1X2firstX1X2firstX1markX2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2consmarkX1X2consX1X2consX1markX2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2frommarkXfromXfromactiveXfromXtruemarkandX1X2activeandmarkX1X2activeandtrueXmarkXmarkandX1X2markX1markifX1X2X3activeifmarkX1X2X3activeiftrueXYmarkXmarkifX1X2X3markX1markaddX1X2activeaddmarkX1X2activeiffalseXYmarkYmarkaddX1X2markX1marksXactivesXactiveadd0XmarkXmarkfirstX1X2activefirstmarkX1markX2activeaddsXYmarksaddXYmarkfirstX1X2markX1markfirstX1X2markX2markconsX1X2activeconsX1X2activefirstsXconsYZmarkconsYfirstXZmarkfromXactivefromXactivefromXmarkconsXfromsXtrue1234567891011121314151617181920212223241mark11and21active111mark10true00if31add21false00s10000first21cons20from11active10nil00markandX1X2activeandmarkX1X2activeandtrueXmarkXmarkandX1X2markX1markifX1X2X3activeifmarkX1X2X3activeiftrueXYmarkXmarkifX1X2X3markX1markaddX1X2activeaddmarkX1X2activeiffalseXYmarkYmarkaddX1X2markX1activeadd0XmarkXmarkfirstX1X2activefirstmarkX1markX2activeaddsXYmarksaddXYmarkfirstX1X2markX1markfirstX1X2markX2activefirstsXconsYZmarkconsYfirstXZmarkfromXactivefromXactivefromXmarkconsXfromsXandX1markX2andX1X2andmarkX1X2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2ifX1markX2X3ifX1X2X3ifmarkX1X2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3addX1markX2addX1X2addmarkX1X2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2sactiveXsXsmarkXsXfirstX1markX2firstX1X2firstmarkX1X2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2consX1markX2consX1X2consmarkX1X2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2fromactiveXfromXfrommarkXfromX1mark1111and211112active111mark111true00if31111213add211112false00000first211112s11cons20from1111active111nil00activeandtrueXmarkXactiveiftrueXYmarkXactiveiffalseXYmarkYactiveadd0XmarkXactiveaddsXYmarksaddXYactivefromXmarkconsXfromsXactiveandtrueXmarkXfalseactiveiftrueXYmarkXfalseactiveiffalseXYmarkYfalseactiveadd0XmarkXfalseactiveaddsXYmarksaddXYfalseactivefromXmarkconsXfromsXfalseactiveandfalseYmarkfalsefalse367891011121314151617181920212223marktrueactivetruefalse45678910111213141516171819202122markfalseactivefalsefalse689101213141718192021mark0active0false57891112131617181920activefirst0Xmarknilfalse46781011121516171819marknilactivenilfalse3567910111415161718activeaddsXYsaddXYfalse11activeaddsXYaddXYfalse11activefirstsXconsYZconsYfirstXZfalse11activefirstsXconsYZfirstXZfalse10activefromXconsXfromsXfalse10activefromXfromsXfalse9activefromXsXfalse9markandX1X2andmarkX1X2false8markifX1X2X3ifmarkX1X2X3false8markaddX1X2addmarkX1X2false7markfirstX1X2firstmarkX1markX2false7andX1markX2andX1X2andmarkX1X2andX1X2andactiveX1X2andX1X2andX1activeX2andX1X2true1and211mark1111active1111andX1markX2andX1X2andX1activeX2andX1X21and212mark1111active1111ifX1markX2X3ifX1X2X3ifmarkX1X2X3ifX1X2X3ifX1X2markX3ifX1X2X3ifactiveX1X2X3ifX1X2X3ifX1activeX2X3ifX1X2X3ifX1X2activeX3ifX1X2X3true1if31113mark1111active1111ifX1markX2X3ifX1X2X3ifX1activeX2X3ifX1X2X31if312mark1111active1111addX1markX2addX1X2addmarkX1X2addX1X2addactiveX1X2addX1X2addX1activeX2addX1X2true1add211mark1111active1111addX1markX2addX1X2addX1activeX2addX1X21add212mark1111active1111sactiveXsXsmarkXsXtrue1s121active121mark121sactiveXsXsmarkXsX1s111active1111mark1111firstX1markX2firstX1X2firstmarkX1X2firstX1X2firstactiveX1X2firstX1X2firstX1activeX2firstX1X2true1first211mark1111active1111firstX1markX2firstX1X2firstX1activeX2firstX1X21first212mark1111active1111consX1markX2consX1X2consmarkX1X2consX1X2consactiveX1X2consX1X2consX1activeX2consX1X2true1cons211mark1111active1111consX1markX2consX1X2consX1activeX2consX1X21cons212mark1111active1111fromactiveXfromXfrommarkXfromXtrue1from111active1111mark1111