eqn__0n__0trueeqn__sXn__sYeqactivateXactivateYeqXYfalseinfXconsXn__infn__sXtake0XniltakesXconsYLconsactivateYn__takeactivateXactivateLlengthnil0lengthconsXLsn__lengthactivateL0n__0sXn__sXinfXn__infXtakeX1X2n__takeX1X2lengthXn__lengthXactivaten__00activaten__sXsXactivaten__infXinfactivateXactivaten__takeX1X2takeactivateX1activateX2activaten__lengthXlengthactivateXactivateXX