from enum import Enum, auto

class Y():
    class Month(Enum):
        def _generate_next_value_(name, start, count, last_values):
            return name
        def __str__(self):
            return str(self.value)
        Jan = auto()
        Feb = auto()
        Mar = auto()

    class Sm(Enum):
        def _generate_next_value_(name, start, count, last_values):
            return name
        def __str__(self):
            return str(self.value)
        s1 = auto()
        s2 = auto()

    def __init__(self):
        self.setSm(Y.Sm.s1)

    def getSmFullName(self):
        answer = str(self._sm)
        return answer

    def getSm(self):
        return self._sm

    def goToS2(self, m):
        wasEventProcessed = False
        aSm = self._sm
        match aSm :
            case Y.Sm.s1 :
                System.out.println(m)
                self.setSm(Y.Sm.s2)
                wasEventProcessed = True
            case default :
                pass
        return wasEventProcessed

    def setSm(self, aSm):
        self._sm = aSm

    def delete(self):
        pass

