activeU11ttNXXSmarkU12splitAtNXSXactiveU12pairYSZSXmarkpairconsXYSZSactiveafterNthNXSmarksndsplitAtNXSactiveandttXmarkXactivefstpairXYmarkXactiveheadconsNXSmarkNactivenatsFromNmarkconsNnatsFromsNactiveselNXSmarkheadafterNthNXSactivesndpairXYmarkYactivesplitAt0XSmarkpairnilXSactivesplitAtsNconsXXSmarkU11ttNXXSactivetailconsNXSmarkXSactivetakeNXSmarkfstsplitAtNXSactiveU11X1X2X3X4U11activeX1X2X3X4activeU12X1X2U12activeX1X2activesplitAtX1X2splitAtactiveX1X2activesplitAtX1X2splitAtX1activeX2activepairX1X2pairactiveX1X2activepairX1X2pairX1activeX2activeconsX1X2consactiveX1X2activeafterNthX1X2afterNthactiveX1X2activeafterNthX1X2afterNthX1activeX2activesndXsndactiveXactiveandX1X2andactiveX1X2activefstXfstactiveXactiveheadXheadactiveXactivenatsFromXnatsFromactiveXactivesXsactiveXactiveselX1X2selactiveX1X2activeselX1X2selX1activeX2activetailXtailactiveXactivetakeX1X2takeactiveX1X2activetakeX1X2takeX1activeX2U11markX1X2X3X4markU11X1X2X3X4U12markX1X2markU12X1X2splitAtmarkX1X2marksplitAtX1X2splitAtX1markX2marksplitAtX1X2pairmarkX1X2markpairX1X2pairX1markX2markpairX1X2consmarkX1X2markconsX1X2afterNthmarkX1X2markafterNthX1X2afterNthX1markX2markafterNthX1X2sndmarkXmarksndXandmarkX1X2markandX1X2fstmarkXmarkfstXheadmarkXmarkheadXnatsFrommarkXmarknatsFromXsmarkXmarksXselmarkX1X2markselX1X2selX1markX2markselX1X2tailmarkXmarktailXtakemarkX1X2marktakeX1X2takeX1markX2marktakeX1X2properU11X1X2X3X4U11properX1properX2properX3properX4properttokttproperU12X1X2U12properX1properX2propersplitAtX1X2splitAtproperX1properX2properpairX1X2pairproperX1properX2properconsX1X2consproperX1properX2properafterNthX1X2afterNthproperX1properX2propersndXsndproperXproperandX1X2andproperX1properX2properfstXfstproperXproperheadXheadproperXpropernatsFromXnatsFromproperXpropersXsproperXproperselX1X2selproperX1properX2proper0ok0properniloknilpropertailXtailproperXpropertakeX1X2takeproperX1properX2U11okX1okX2okX3okX4okU11X1X2X3X4U12okX1okX2okU12X1X2splitAtokX1okX2oksplitAtX1X2pairokX1okX2okpairX1X2consokX1okX2okconsX1X2afterNthokX1okX2okafterNthX1X2sndokXoksndXandokX1okX2okandX1X2fstokXokfstXheadokXokheadXnatsFromokXoknatsFromXsokXoksXselokX1okX2okselX1X2tailokXoktailXtakeokX1okX2oktakeX1X2topmarkXtopproperXtopokXtopactiveXactiveU11ttNXXSsplitAtNXSactiveU11ttNXXSU12splitAtNXSXactiveU12pairYSZSXconsXYSactiveU12pairYSZSXpairconsXYSZSactiveafterNthNXSsplitAtNXSactiveafterNthNXSsndsplitAtNXSactivenatsFromNsNactivenatsFromNnatsFromsNactivenatsFromNconsNnatsFromsNactiveselNXSafterNthNXSactiveselNXSheadafterNthNXSactivesplitAt0XSpairnilXSactivesplitAtsNconsXXSU11ttNXXSactivetakeNXSsplitAtNXSactivetakeNXSfstsplitAtNXSactiveU11X1X2X3X4activeX1activeU11X1X2X3X4U11activeX1X2X3X4activeU12X1X2activeX1activeU12X1X2U12activeX1X2activesplitAtX1X2activeX1activesplitAtX1X2splitAtactiveX1X2activesplitAtX1X2activeX2activesplitAtX1X2splitAtX1activeX2activepairX1X2activeX1activepairX1X2pairactiveX1X2activepairX1X2activeX2activepairX1X2pairX1activeX2activeconsX1X2activeX1activeconsX1X2consactiveX1X2activeafterNthX1X2activeX1activeafterNthX1X2afterNthactiveX1X2activeafterNthX1X2activeX2activeafterNthX1X2afterNthX1activeX2activesndXactiveXactivesndXsndactiveXactiveandX1X2activeX1activeandX1X2andactiveX1X2activefstXactiveXactivefstXfstactiveXactiveheadXactiveXactiveheadXheadactiveXactivenatsFromXactiveXactivenatsFromXnatsFromactiveXactivesXactiveXactivesXsactiveXactiveselX1X2activeX1activeselX1X2selactiveX1X2activeselX1X2activeX2activeselX1X2selX1activeX2activetailXactiveXactivetailXtailactiveXactivetakeX1X2activeX1activetakeX1X2takeactiveX1X2activetakeX1X2activeX2activetakeX1X2takeX1activeX2U11markX1X2X3X4U11X1X2X3X4U12markX1X2U12X1X2splitAtmarkX1X2splitAtX1X2splitAtX1markX2splitAtX1X2pairmarkX1X2pairX1X2pairX1markX2pairX1X2consmarkX1X2consX1X2afterNthmarkX1X2afterNthX1X2afterNthX1markX2afterNthX1X2sndmarkXsndXandmarkX1X2andX1X2fstmarkXfstXheadmarkXheadXnatsFrommarkXnatsFromXsmarkXsXselmarkX1X2selX1X2selX1markX2selX1X2tailmarkXtailXtakemarkX1X2takeX1X2takeX1markX2takeX1X2properU11X1X2X3X4properX4properU11X1X2X3X4properX3properU11X1X2X3X4properX2properU11X1X2X3X4properX1properU11X1X2X3X4U11properX1properX2properX3properX4properU12X1X2properX2properU12X1X2properX1properU12X1X2U12properX1properX2propersplitAtX1X2properX2propersplitAtX1X2properX1propersplitAtX1X2splitAtproperX1properX2properpairX1X2properX2properpairX1X2properX1properpairX1X2pairproperX1properX2properconsX1X2properX2properconsX1X2properX1properconsX1X2consproperX1properX2properafterNthX1X2properX2properafterNthX1X2properX1properafterNthX1X2afterNthproperX1properX2propersndXproperXpropersndXsndproperXproperandX1X2properX2properandX1X2properX1properandX1X2andproperX1properX2properfstXproperXproperfstXfstproperXproperheadXproperXproperheadXheadproperXpropernatsFromXproperXpropernatsFromXnatsFromproperXpropersXproperXpropersXsproperXproperselX1X2properX2properselX1X2properX1properselX1X2selproperX1properX2propertailXproperXpropertailXtailproperXpropertakeX1X2properX2propertakeX1X2properX1propertakeX1X2takeproperX1properX2U11okX1okX2okX3okX4U11X1X2X3X4U12okX1okX2U12X1X2splitAtokX1okX2splitAtX1X2pairokX1okX2pairX1X2consokX1okX2consX1X2afterNthokX1okX2afterNthX1X2sndokXsndXandokX1okX2andX1X2fstokXfstXheadokXheadXnatsFromokXnatsFromXsokXsXselokX1okX2selX1X2tailokXtailXtakeokX1okX2takeX1X2topmarkXproperXtopmarkXtopproperXtopokXactiveXtopokXtopactiveXtruetopokXtopactiveXtopmarkXtopproperXtruetopokXactiveXfalseactiveU11X1X2X3X4activeX1activeU12X1X2activeX1activesplitAtX1X2activeX1activesplitAtX1X2activeX2activepairX1X2activeX1activepairX1X2activeX2activeconsX1X2activeX1activeafterNthX1X2activeX1activeafterNthX1X2activeX2activesndXactiveXactiveandX1X2activeX1activefstXactiveXactiveheadXactiveXactivenatsFromXactiveXactivesXactiveXactiveselX1X2activeX1activeselX1X2activeX2activetailXactiveXactivetakeX1X2activeX1activetakeX1X2activeX2trueactive11activetakeX1X2takeX1activeX2falseactivetakeX1X2takeactiveX1X2falseactivetailXtailactiveXfalseactiveselX1X2selX1activeX2falseactiveselX1X2selactiveX1X2falseactivesXsactiveXfalseactivenatsFromXnatsFromactiveXfalseactiveheadXheadactiveXfalseactivefstXfstactiveXfalseactiveandX1X2andactiveX1X2falseactivesndXsndactiveXfalseactiveafterNthX1X2afterNthX1activeX2falseactiveafterNthX1X2afterNthactiveX1X2falseactiveconsX1X2consactiveX1X2falseactivepairX1X2pairX1activeX2falseactivepairX1X2pairactiveX1X2falseactivesplitAtX1X2splitAtX1activeX2falseactivesplitAtX1X2splitAtactiveX1X2falseactiveU12X1X2U12activeX1X2falseactiveU11X1X2X3X4U11activeX1X2X3X4falseactivetakeNXSfstsplitAtNXSfalseactivetakeNXSsplitAtNXSfalseactivesplitAtsNconsXXSU11ttNXXSfalseactivesplitAt0XSpairnilXSfalseactiveselNXSheadafterNthNXSfalseactiveselNXSafterNthNXSfalseactivenatsFromNconsNnatsFromsNfalseactivenatsFromNnatsFromsNfalseactivenatsFromNsNfalseactiveafterNthNXSsndsplitAtNXSfalseactiveafterNthNXSsplitAtNXSfalseactiveU12pairYSZSXpairconsXYSZSfalseactiveU12pairYSZSXconsXYSfalseactiveU11ttNXXSU12splitAtNXSXfalseactiveU11ttNXXSsplitAtNXSfalsetopmarkXproperXfalseproperU11X1X2X3X4properX4properU11X1X2X3X4properX3properU11X1X2X3X4properX2properU11X1X2X3X4properX1properU12X1X2properX2properU12X1X2properX1propersplitAtX1X2properX2propersplitAtX1X2properX1properpairX1X2properX2properpairX1X2properX1properconsX1X2properX2properconsX1X2properX1properafterNthX1X2properX2properafterNthX1X2properX1propersndXproperXproperandX1X2properX2properandX1X2properX1properfstXproperXproperheadXproperXpropernatsFromXproperXpropersXproperXproperselX1X2properX2properselX1X2properX1propertailXproperXpropertakeX1X2properX2propertakeX1X2properX1trueproper11propertakeX1X2takeproperX1properX2falsetakemarkX1X2takeX1X2takeX1markX2takeX1X2takeokX1okX2takeX1X2truetake22takemarkX1X2takeX1X2take21propertailXtailproperXfalsetailmarkXtailXtailokXtailXtruetail11properselX1X2selproperX1properX2falseselmarkX1X2selX1X2selX1markX2selX1X2selokX1okX2selX1X2truesel22selmarkX1X2selX1X2sel21propersXsproperXfalsesmarkXsXsokXsXtrues11propernatsFromXnatsFromproperXfalsenatsFrommarkXnatsFromXnatsFromokXnatsFromXtruenatsFrom11properheadXheadproperXfalseheadmarkXheadXheadokXheadXtruehead11properfstXfstproperXfalsefstmarkXfstXfstokXfstXtruefst11properandX1X2andproperX1properX2falseandmarkX1X2andX1X2andokX1okX2andX1X2trueand22andmarkX1X2andX1X2and21propersndXsndproperXfalsesndmarkXsndXsndokXsndXtruesnd11properafterNthX1X2afterNthproperX1properX2falseafterNthmarkX1X2afterNthX1X2afterNthX1markX2afterNthX1X2afterNthokX1okX2afterNthX1X2trueafterNth22afterNthmarkX1X2afterNthX1X2afterNth21properconsX1X2consproperX1properX2falseconsmarkX1X2consX1X2consokX1okX2consX1X2truecons22consmarkX1X2consX1X2cons21properpairX1X2pairproperX1properX2falsepairmarkX1X2pairX1X2pairX1markX2pairX1X2pairokX1okX2pairX1X2truepair22pairmarkX1X2pairX1X2pair21propersplitAtX1X2splitAtproperX1properX2falsesplitAtmarkX1X2splitAtX1X2splitAtX1markX2splitAtX1X2splitAtokX1okX2splitAtX1X2truesplitAt22splitAtmarkX1X2splitAtX1X2splitAt21properU12X1X2U12properX1properX2falseU12markX1X2U12X1X2U12okX1okX2U12X1X2trueU1222U12markX1X2U12X1X2U1221properU11X1X2X3X4U11properX1properX2properX3properX4falseU11markX1X2X3X4U11X1X2X3X4U11okX1okX2okX3okX4U11X1X2X3X4trueU1144U11markX1X2X3X4U11X1X2X3X4U1141