fromXconsXn__fromsXsel0consXXSXselsNconsXXSselNactivateXSminusX00minussXsYminusXYquot0sY0quotsXsYsquotminusXYsYzWquotXSnilnilzWquotnilXSnilzWquotconsXXSconsYYSconsquotXYn__zWquotactivateXSactivateYSfromXn__fromXzWquotX1X2n__zWquotX1X2activaten__fromXfromXactivaten__zWquotX1X2zWquotX1X2activateXXselsNconsXXSselNactivateXSselsNconsXXSactivateXSminussXsYminusXYquotsXsYquotminusXYsYquotsXsYminusXYzWquotconsXXSconsYYSquotXYzWquotconsXXSconsYYSactivateXSzWquotconsXXSconsYYSactivateYSactivaten__fromXfromXactivaten__zWquotX1X2zWquotX1X2trueselsNconsXXSselNactivateXStrue12345671sel211s1111cons20activate10n__from10from10n__zWquot20zWquot20quot20nil00000minus20selsNconsXXSactivateXSfalse123456zWquotconsXXSconsYYSactivateXSactivaten__zWquotX1X2zWquotX1X2zWquotconsXXSconsYYSactivateYStrue123451zWquot21112cons2112activate111n__zWquot21112activaten__zWquotX1X2zWquotX1X2activaten__zWquotX1X2zWquotX1X2falsezWquotconsXXSconsYYSquotXYfalse123quotsXsYquotminusXYsYtrue121quot211s11minus20000minusX00minussXsYminusXYquotsXsYminusXYfalse1minussXsYminusXYtrue1minus212s1111activaten__fromXfromXfalse