activefgXYmarkfXfgXYactivefX1X2factiveX1X2activegXgactiveXfmarkX1X2markfX1X2gmarkXmarkgXproperfX1X2fproperX1properX2propergXgproperXfokX1okX2okfX1X2gokXokgXtopmarkXtopproperXtopokXtopactiveXactivefgXYfXfgXYactivefX1X2activeX1activefX1X2factiveX1X2activegXactiveXactivegXgactiveXfmarkX1X2fX1X2gmarkXgXproperfX1X2properX2properfX1X2properX1properfX1X2fproperX1properX2propergXproperXpropergXgproperXfokX1okX2fX1X2gokXgXtopmarkXproperXtopmarkXtopproperXtopokXactiveXtopokXtopactiveXtruetopokXtopactiveXtopmarkXtopproperXtrue1top1411ok1214proper1010mark1010active1110f201120g1410topmarkXtopproperXactivefgXYmarkfXfgXYactivefX1X2factiveX1X2activegXgactiveXgmarkXmarkgXgokXokgXfmarkX1X2markfX1X2fokX1okX2okfX1X2properfX1X2fproperX1properX2propergXgproperX1top1814ok1010proper1110mark1212f251020g1110properfX1X2fproperX1properX2propergXgproperXfmarkX1X2markfX1X2fokX1okX2okfX1X2gmarkXmarkgXgokXokgXtopokXactiveXfalseactivefX1X2activeX1activegXactiveXtrueactive11activegXgactiveXfalseactivefX1X2factiveX1X2falseactivefgXYfXfgXYfalsetopmarkXproperXfalseproperfX1X2properX2properfX1X2properX1propergXproperXtrueproper11propergXgproperXfalsegmarkXgXgokXgXtrueg11properfX1X2fproperX1properX2falsefmarkX1X2fX1X2fokX1okX2fX1X2truef22fmarkX1X2fX1X2f21