activefXmarkifXcftrueactiveiftrueXYmarkXactiveiffalseXYmarkYactivefXfactiveXactiveifX1X2X3ifactiveX1X2X3activeifX1X2X3ifX1activeX2X3fmarkXmarkfXifmarkX1X2X3markifX1X2X3ifX1markX2X3markifX1X2X3properfXfproperXproperifX1X2X3ifproperX1properX2properX3propercokcpropertrueoktrueproperfalseokfalsefokXokfXifokX1okX2okX3okifX1X2X3topmarkXtopproperXtopokXtopactiveXactivefXifXcftrueactivefXftrueactivefXfactiveXactivefXactiveXactiveifX1X2X3ifactiveX1X2X3activeifX1X2X3activeX1activeifX1X2X3ifX1activeX2X3activeifX1X2X3activeX2fmarkXfXifmarkX1X2X3ifX1X2X3ifX1markX2X3ifX1X2X3properfXfproperXproperfXproperXproperifX1X2X3ifproperX1properX2properX3properifX1X2X3properX1properifX1X2X3properX2properifX1X2X3properX3fokXfXifokX1okX2okX3ifX1X2X3topmarkXtopproperXtopmarkXproperXtopokXtopactiveXtopokXactiveXtruetopokXtopactiveXtopmarkXtopproperXtrue123456789101112131proper111f121if3211223c00ok121true00false00mark111active121top111topokXtopactiveXtopmarkXtopproperXproperfXfproperXproperifX1X2X3ifproperX1properX2properX3propercokcpropertrueoktrueproperfalseokfalseifmarkX1X2X3markifX1X2X3ifX1markX2X3markifX1X2X3ifokX1okX2okX3okifX1X2X3fmarkXmarkfXfokXokfXactivefXmarkifXcftrueactiveiftrueXYmarkXactiveiffalseXYmarkYactivefXfactiveXactiveifX1X2X3ifactiveX1X2X3activeifX1X2X3ifX1activeX2X3properfXfproperXproperifX1X2X3ifproperX1properX2properX3propercokcpropertrueoktrueproperfalseokfalseifmarkX1X2X3markifX1X2X3ifX1markX2X3markifX1X2X3ifokX1okX2okX3okifX1X2X3fmarkXmarkfXfokXokfXactivefXmarkifXcftrueactiveiftrueXYmarkXactiveiffalseXYmarkYactivefXfactiveXactiveifX1X2X3ifactiveX1X2X3activeifX1X2X3ifX1activeX2X31proper111f121if3111223c00ok111true00false01mark111active111top111topokXtopactiveXtopmarkXtopproperXproperfXfproperXproperifX1X2X3ifproperX1properX2properX3propercokcpropertrueoktrueproperfalseokfalseifmarkX1X2X3markifX1X2X3ifX1markX2X3markifX1X2X3ifokX1okX2okX3okifX1X2X3fmarkXmarkfXfokXokfXactivefXmarkifXcftrueactiveiftrueXYmarkXactivefXfactiveXactiveifX1X2X3ifactiveX1X2X3activeifX1X2X3ifX1activeX2X31top111ok111active111mark1111proper111f1111if31112c00true01false00topokXtopactiveX1top111ok1111active111f111mark10if311c00true00activefXmarkifXcftrueactiveiftrueXYmarkXactivefXfactiveXactiveifX1X2X3ifactiveX1X2X3activeifX1X2X3ifX1activeX2X3fmarkXmarkfXfokXokfXifmarkX1X2X3markifX1X2X3ifX1markX2X3markifX1X2X3ifokX1okX2okX3okifX1X2X3topokXactiveXfalse2457891112activeifX1X2X3activeX1activefXactiveXactiveifX1X2X3activeX2true2591011active11activefXifXcftruefalse23567910activefXftruefalse3789activefXfactiveXfalse7activeifX1X2X3ifactiveX1X2X3false6activeifX1X2X3ifX1activeX2X3false5topmarkXproperXfalse5properifX1X2X3properX1properfXproperXproperifX1X2X3properX2properifX1X2X3properX3true4proper11properfXfproperXfalse3fokXfXfmarkXfXtrue2f11properifX1X2X3ifproperX1properX2properX3falseifX1markX2X3ifX1X2X3ifmarkX1X2X3ifX1X2X3ifokX1okX2okX3ifX1X2X3trueif32ifmarkX1X2X3ifX1X2X3if31