activeminus0Ymark0activeminussXsYmarkminusXYactivegeqX0marktrueactivegeq0sYmarkfalseactivegeqsXsYmarkgeqXYactivediv0sYmark0activedivsXsYmarkifgeqXYsdivminusXYsY0activeiftrueXYmarkXactiveiffalseXYmarkYactivesXsactiveXactivedivX1X2divactiveX1X2activeifX1X2X3ifactiveX1X2X3smarkXmarksXdivmarkX1X2markdivX1X2ifmarkX1X2X3markifX1X2X3properminusX1X2minusproperX1properX2proper0ok0propersXsproperXpropergeqX1X2geqproperX1properX2propertrueoktrueproperfalseokfalseproperdivX1X2divproperX1properX2properifX1X2X3ifproperX1properX2properX3minusokX1okX2okminusX1X2sokXoksXgeqokX1okX2okgeqX1X2divokX1okX2okdivX1X2ifokX1okX2okX3okifX1X2X3topmarkXtopproperXtopokXtopactiveXactiveminussXsYminusXYactivegeqsXsYgeqXYactivedivsXsYminusXYactivedivsXsYdivminusXYsYactivedivsXsYsdivminusXYsYactivedivsXsYgeqXYactivedivsXsYifgeqXYsdivminusXYsY0activesXactiveXactivesXsactiveXactivedivX1X2activeX1activedivX1X2divactiveX1X2activeifX1X2X3activeX1activeifX1X2X3ifactiveX1X2X3smarkXsXdivmarkX1X2divX1X2ifmarkX1X2X3ifX1X2X3properminusX1X2properX2properminusX1X2properX1properminusX1X2minusproperX1properX2propersXproperXpropersXsproperXpropergeqX1X2properX2propergeqX1X2properX1propergeqX1X2geqproperX1properX2properdivX1X2properX2properdivX1X2properX1properdivX1X2divproperX1properX2properifX1X2X3properX3properifX1X2X3properX2properifX1X2X3properX1properifX1X2X3ifproperX1properX2properX3minusokX1okX2minusX1X2sokXsXgeqokX1okX2geqX1X2divokX1okX2divX1X2ifokX1okX2okX3ifX1X2X3topmarkXproperXtopmarkXtopproperXtopokXactiveXtopokXtopactiveXtruetopokXtopactiveXtopmarkXtopproperXtruetopokXactiveXfalseactivesXactiveXactivedivX1X2activeX1activeifX1X2X3activeX1trueactive11activeifX1X2X3ifactiveX1X2X3falseactivedivX1X2divactiveX1X2falseactivesXsactiveXfalseactivedivsXsYifgeqXYsdivminusXYsY0falseactivedivsXsYgeqXYfalseactivedivsXsYsdivminusXYsYfalseactivedivsXsYdivminusXYsYfalseactivedivsXsYminusXYfalseactivegeqsXsYgeqXYfalseactiveminussXsYminusXYfalsetopmarkXproperXfalseproperminusX1X2properX2properminusX1X2properX1propersXproperXpropergeqX1X2properX2propergeqX1X2properX1properdivX1X2properX2properdivX1X2properX1properifX1X2X3properX3properifX1X2X3properX2properifX1X2X3properX1trueproper11properifX1X2X3ifproperX1properX2properX3falseifmarkX1X2X3ifX1X2X3ifokX1okX2okX3ifX1X2X3trueif33ifmarkX1X2X3ifX1X2X3if31properdivX1X2divproperX1properX2falsedivmarkX1X2divX1X2divokX1okX2divX1X2truediv22divmarkX1X2divX1X2div21propergeqX1X2geqproperX1properX2falsegeqokX1okX2geqX1X2truegeq22propersXsproperXfalsesmarkXsXsokXsXtrues11properminusX1X2minusproperX1properX2falseminusokX1okX2minusX1X2trueminus22