def get_id(self, version: int) -> str:
    assert (version >= 3)
    if (version == 3):
        return str(self)
    res = []
    if (self.leftExpr is None):
        res.append('fl')
    elif (self.rightExpr is None):
        res.append('fr')
    else:
        res.append('fL')
    res.append(_id_operator_v2[self.op])
    if self.leftExpr:
        res.append(self.leftExpr.get_id(version))
    if self.rightExpr:
        res.append(self.rightExpr.get_id(version))
    return ''.join(res)
def get_id(self, version: int) -> str:
    assert (version >= 3)
    if (version == 3):
        return str(self)
    res = []
    if (self.leftExpr is None):
        res.append('fl')
    elif (self.rightExpr is None):
        res.append('fr')
    else:
        res.append('fL')
    res.append(_id_operator_v2[self.op])
    if self.leftExpr:
        res.append(self.leftExpr.get_id(version))
    if self.rightExpr:
        res.append(self.rightExpr.get_id(version))
    return .join(res)