#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 返回表达式的值
# @param s string字符串 待计算的表达式
# @return int整型
#
# def cal(a: int, b: int, op: str) -> int:
    # """根据运算符计算两个数的值"""
    # if op == "+":
    #     return b + a
    # elif op == "-":
    #     return b - a  # 注意顺序,b是先弹出的数,a是后弹出的数
    # elif op == "*":
    #     return b * a
    # else:
    #     raise ValueError(f"不支持的运算符: {op}")

class Solution:
    def solve(self, s: str) -> int:
        # num_str = ""
        # # 运算符优先级字典
        # precedence = {"+": 1, "-": 1, "*": 2}
        # op_stack = []
        # num_stack = []

        # i = 0
        # while i < len(s):
        #     char = s[i]
        #     if char == ' ':  # 忽略空格
        #         i += 1
        #         continue

        #     if char in "0123456789":
        #         # 如果是数字,拼接成完整的数字字符串
        #         num_str += char
        #         # 检查下一个字符是否也是数字,以处理多位数
        #         while i + 1 < len(s) and s[i + 1] in "0123456789":
        #             num_str += s[i + 1]
        #             i += 1
        #         # 将拼接好的数字字符串转换为整数并压入数字栈
        #         num_stack.append(int(num_str))
        #         num_str = ""  # 重置数字字符串

        #     elif char == "(":
        #         op_stack.append(char)

        #     elif char == ")":
        #         # 遇到右括号,弹出运算符并计算,直到遇到左括号
        #         while op_stack and op_stack[-1] != "(":
        #             op = op_stack.pop()
        #             a = num_stack.pop()
        #             b = num_stack.pop()
        #             num_stack.append(cal(a, b, op))
        #         op_stack.pop()  # 弹出左括号,不进行计算

        #     elif char in "+-*":
        #         # 处理负数或正数开头的情况,或者括号后紧跟负数/正数
        #         if i == 0 or s[i-1] == '(' or s[i-1] in "+-*":
        #             if char == '-': # 如果是负号
        #                 num_stack.append(0)
        #             # 如果是正号,可以压入0也可以忽略,这里选择压入0保持逻辑统一
        #             elif char == '+':
        #                 num_stack.append(0)

        #         # 弹出优先级高于或等于当前运算符的运算符进行计算
        #         while op_stack and op_stack[-1] != "(" and precedence[char] <= precedence[op_stack[-1]]:
        #             op = op_stack.pop()
        #             a = num_stack.pop()
        #             b = num_stack.pop()
        #             num_stack.append(cal(a, b, op))
        #         op_stack.append(char)
        #     i += 1

        # # 处理栈中剩余的运算符
        # while op_stack:
        #     op = op_stack.pop()
        #     a = num_stack.pop()
        #     b = num_stack.pop()
        #     num_stack.append(cal(a, b, op))

        # # 数字栈中最后剩下的就是结果
        # return num_stack[0] if num_stack else 0

        res = eval(s)
        return res