forked from PriyankaKhire/ProgrammingPracticePython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBasic Calculator.py
More file actions
113 lines (106 loc) · 26 KB
/
Basic Calculator.py
File metadata and controls
113 lines (106 loc) · 26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#Basic Calculator
#https://leetcode.com/problems/basic-calculator/
class Stack(object):
def __init__(self):
self.stack = []
self.array = []
def evaluate(self, num1, num2, symbol):
if symbol == "+":
return int(num1) + int(num2)
if symbol == "-":
return int(num1) - int(num2)
if symbol == "*":
return int(num1) * int(num2)
if symbol == "/":
return int(num1) / int(num2)
def logic(self):
for char in self.array:
print "The current char is ", char
if(char == "("):
self.stack.append(char)
print self.stack
elif(isinstance(char, int)):
#if stack top is + - * /
print "stack top is ", self.stack[-1]
if(self.stack[-1] != "("):
symbol = self.stack.pop()
#if not(self.stack[-1].isdigit()):
#return -1
num1 = self.stack.pop()
print "num1 is ", num1, " symbol is ", symbol
ans = self.evaluate(num1, char, symbol)
print "answer is ", ans
self.stack.append(ans)
print self.stack
else:
self.stack.append(char)
print self.stack
elif(char == ")"):
num1 = 0
symbol = "+"
num2 = 0
if(isinstance(self.stack[-1], int)):
num2 = self.stack.pop()
print "num2 is ", num2
while(self.stack and self.stack[-1] == "("):
self.stack.pop()
print self.stack
if(self.stack and self.stack[-1] != "(" and not isinstance(self.stack[-1], int) ):
symbol = self.stack.pop()
print "symbol is ", symbol
if( self.stack and isinstance(self.stack[-1], int) ):
num1 = self.stack.pop()
print "num1 is ", num1
ans = self.evaluate(num1, num2, symbol)
print "answer is ", ans
self.stack.append(ans)
print self.stack
else:
self.stack.append(char)
print self.stack
def putInArray(self, s):
self.array.append("(")
for char in s:
if char == " ":
continue
if char.isdigit():
#if array top is a number
if(isinstance(self.array[-1], int)):
num = self.array.pop()
ans = (num*10) + int(char)
self.array.append(ans)
else:
self.array.append(int(char))
else:
self.array.append(char)
self.array.append(")")
print self.array
def calculate(self, s):
self.putInArray(s)
self.logic()
print "The total is ", self.stack[-1]
"""
:type s: str
:rtype: int
"""
#Main
obj1 = Stack()
obj1.calculate(" (1+(4+5+2)-3)+(6+8)")
print "\n"
obj2 = Stack()
obj2.calculate(" 1 + 1 ")
print "\n"
obj3 = Stack()
obj3.calculate(" 2-1 + 2 ")
print "\n"
obj4 = Stack()
obj4.calculate("2147483647")
#print "\n"
#obj5 = Stack()
#obj5.calculate("2+4-1-8-0+3+7+0-8-8-0-(5-3+(0-9-2-5+10-6-9-8+10+1-10-7-5-5+8+9-1+10+2+3+3-10+4-10-9+(5+9+7+3+2+1+(9+(5-2-9+4+8-8-7+7+1-2-4+8-(2+2-2+3-4-10-1-8-(5+3+4+9-10-9+5-0+6-1+6-0+1-5+0-4-3+3-1-(3-8-7+10-2+3-4-6-9-0+1-4-7-6-7-10+1-2-(10+5+10-6+8+10+6+10-7-10+0+5-0+(0-1-9-1+1+0+5-9-8+3-4+2-6+10-2-6+5+3+6-4+(2+7-0-9-(3-(10+10+4-2+2-8-3+(9-7+(4+5+2+2+3+0+7+10+0-0+0+(10-(9+3+9-7+9+9+6-3-2+3+2-10+1-7-8+4+1+3+3-1-6-2+2-8-7+9+6+10+2-4-1-3+4-(2+6-(10+10+4-6+3-7+6-9-0-1-6+3+1-(5-0+7-4-2-7-2+2-8+4+5-2+8-1-2+1+2+5-3+0-8+(6-7-4+1+(6+5+8+0-(8-(7+9+1+1-6+3+0+1+10-10-10+2+(4+4+0+1-1-10-1+0+7-5-6-2+8-9-6-5+6+9-4+2-2+(2+2+(9+7+1+5-7+10-2+0-3-9+5-(8+5-10-6-7-0-3+9+7+6-9-9+3-9+(10+6+(5-6-7-(4+7-3+10-6+(5-8-5+(2+8+4-2-8+4-7+7-4-2-7-8-7+3+4+(2-8-8+10+0-(3-8+8-6+1+8-6-0-4-5+2+4-2+2-0-8-10-6+6-(2+6+1+8+10+2-4+5-9-10+4-2+8+7-(1-(8-1-7-6+3-7+7-2-10-1+3+10+1+8-1-1-7+3-8-8-8+2+(8+1-9-1+3+0-0-3-8+1+7+10+1+9-2+7-0+9-6+2+0-4-4+9-2+4-3-(1-6+2+(9-8-3+2-7-0+0+3-3-5-0-6+4+7+9-7-7-2-7+9-4+8-(5+10-5+5+4-4+7-3+3-8+(1-9-3-8-3+1+7-4-0-5+9+(8-1-5-7+1+0-8+9-7-10-9+2+3-0+2-3+(4-7+6-2+5-(7+8-0+5+5+3+7-(9+(1-5-1-0-10+0+3-9+(9-10-10+8-0-6-6-8-1-1-7+(4+3+9-6+0-0-8-9+6-4+1-3-2-7-4-1+(6+10+0-1+0+5-4+5-1-2-3+8+5+3-4+5+7-7+1+0+1+4+4+7+0-0+9-8-2-(8-5-7-0+10+0+(9-1-6-6-2-4-3-7+5+7-(6+0+3+10+9+5+1-8+0+1-6+1+3-1-9+4-10-4-3-6-8-0+10-5+2-7+5+10-3+4+3-(4-6+3+8+4-8-4-4+1-4-8+5-1-5+4-1-9-9+7-0+3-7-4-8+1-0-10+7-7+4-7-3+5-6+9+2+(3-10-5-6+(0+6+1-(9+1-10+9-7-9+8+7+10-2-6+5+5+0+(5-9+7+(3-0-5-10+4-(4+9-0+3+9-9+8+7+7+5+2-2+8-8+(0-7+9-(1-8-1-5-2-5-7-1-(5-6+1+2-4+6+5+(8+9+9-0+10+7+(7-4+0-4-5+8-7+2+10+6+6-8+1+0+6+7-7-9-7-7-10-4+8-4+9+10+0-9+6+(8+(10+8-1+8+3-0+6+1-6-(10-5-1+0-1+1+6+0-1+7-3+(3-10)-8+4+0-10-2+4-6-4+7-2-9+3+(0+(5-8-3-6+(2+(1+8-9+1+8+8+9-9-(3-1+1+0+6+0+1-2-0+4-8-3+10-(5-7-(5+1-8-8-3+(0-10-10+(2)+10+5-0-0+6-9+6-8-(1-3+(6-3-5+5+4+10+10+7+9-8+1+6+1)+3+5-10-7-4+7-2-0-8+2+10+3-3+4-0+1-(10+7-8+4+4+(3+10-7+6-7+10+5-4+1-8+1+6+9-7-7-5-0-6+(10-0-6-2-1-1-9+5-1+10+0-5+3+2-4+5-5+2-9+7+(7+8-4-8+(10-3+1+3+2+2+6-(4+1+6-8-8-2+6-2+10-10+3-0-10+1+5-9-6)+1-7-1+6-4+1+3-9-9+8-8+10-(8+1-2+9+7-10+10+10-0+10+3-9-4-6-3-2-3+2-7+3+5-8-6-2-3+10-7+7+4+8+8+3+9-1-7+3-9-8)+(0+(0+9+5-2+10+8+7+5-1+10-5+8-4+1+6+10+7-7-10+2-0+3+0+0-1-7-2+5-3+6-9-7-0+3-1-1-4+6-3+1-6-0+4-5-9-7-7+10+3+8+0-2+1+10-(5+10-4-8+4+0-10-7+(3+8-0+6+5-8-4-5+2+7-9-(0-1-8+8+0+6-10-4+3+4-3-0+3+3-(10-4-1-5+10+(1-8-9-(6-10-6+1-8+4+7+(0-8+7+4-2-1-4+(0+7-9+8+6-5+5-10+4+4+7+0+10-10-1-3-2+2-8-6-4+7-6+2-1+0-(10-10-6+4-0+7+4-3+4+0+2-9-(1-3-6+2+5-8+6-8-(3-8+2-0+8+1+5+2+7+5-5-10+10+5-7+6-6-8-0+4+10-4+7+0-8-9+(0+8+10-3+7-5+4-9+0-2-3-(6+4)+2-0-9-2-4+(3-(7-10+10+2+2-10+3+0+2-1-(6+4-6+(6+1+6+1+10+4-1-10+(6-8+2-2-10-8+3+4-1-9+7-2-9-1+(7+0-3-7-8+6+3+10+4-0-7+9-2-(5+1-6+3-3-3-7-7-8+1+5+2+6+(4-2+0+3-4-4+4-4-0-2+3+10+1+3-(1-8+(0+5+4+4+7+9-2+6-10+2-10+7+9+10-8-9-7-3-0+6-4+2+1-8+(3-1+(2+(10-10-1+2+5-9+5-4-9-8-4+7-3+6+5+8+6+4-7-(2-7)-(6+10+5+6+0-3+(7-3-(1+(8+2-7+1+1+8-2-8+3-(9-6+7+6-5+6+0-7-1+9-2-(3-7-8-(3-1+3+(10-10+3+7-9+(6-6-8-(2-1-1+4+0+(10+0+3+2-9+9+1+7-5+2-1-(1+9+8+10+3-10+8-4-10+(10+4+3+5+7-(7+(3-5-9-(10-8+5-2+4-(0+(9-(1+10-2+5-6+2+6-0+1+4-(9-9+(3+10+3-9-10+2-3+6-8+2+4+4-5-1+1+7+8+9-10-2+6-10+1+(8+8-(9-(6+0-2-8-3-10-0+3-6-10+(4-(0+1-5+6-7+0+6+7+9+0+4+5+3-5+0+5+3-2-5-8-(7-0-1+3+7-0+5-1+2+10+3+10+(10-0-3-5+6+8+2-9+6+2+8-8+5+6-1-5+3-6-2-9+(4+7+10-1+6+7-7+6+4-(6+8-6+10+8+1+6+7+7+2+7-5+1-6-0-3-10-9-(3-5+10+2-3+10-6+10+2-4-5-1+9-(1+7+3+1-6)-4+8+4+4+6-5-9+9+1+2-4+6+10+10+9-9+6+8+10)-8+2-7-3+1-5-3+(6-10-2+7-6-10-4+0+1-6-5))+8+7-10+0-4-(6-10-2+4-10+4-6-8-10+8-7+7-5+2-10+9+(7)-10+4-7-5+9-6+(7+8-2+0+1-0-2-0+10+0+9-6+9+1+9-2+8+0+(0-4+7-7+8+0+1-9+(0-0-0-8-6+2-1+2+4-2-4-7+(1+0-5+6+4+(6-2-5-(8-5-(7+7+(7+9-5+3-10-6-5-2+3+1+0+2+1+0)-6-(5-8+1-3+(6+9-10+0+5-0-3-1-6-1+0-0-8+2+4-5+9-2-5+3+0+4-8+0+3-7-7-10-5-5-5-5-5+7-5-4-3+8-9-10-9-2+3+2-10+2-9-5+8-0-8+5-8+0+1+10-3+7-6-8+8+5+8-0+7+6+2-5+4+1+1+8+10-(9+10-2+7-3-4-7+1+10-2+10+7+(0+9+(7-5-(4-7+8+0+4+0+1-1+3+7-5+8-(9+7-2+6-(2-1+10-10+0+8+9+9-0-(10-4-5+7-8+7-2-10-10-8+(9-10-9-9+3-1+7-8+(10-8+1+10+3-1-0+(4-0-7-8+3-3+6+2+3+8+3-10+(10-2-5+0)-(9-1-4+0+0+1-7)-8+(6-2-5+3+10+7+9-6+4-(6-6+5+9+6-9+2-7-6-2+9+1+(6+9-8-1+8+4-8+1-8+10+2+5-3+(0-9+1+2-7+4-6-(0+1+0)-7+2+8-0+5-4-3+(8+0+(2+6-4-8+5+4+(9-1+7+5+0+(10-0-0-8+9-1-7+6-8-5)-7-1+5-(7-(5+10+2+7+3+1+1+6+0-4-(9+3-3-2-5+(4-5+0+4-2-8-(3-4+7+9+4-2-3-10+1+3-9+3-1-(6+4-0+2+0-2+6-5-8-(5-9+7+9+3-6-8+1-(1-0-3-2+7-2-5+0-(4+10+9+3+10-7-2+10+0-5+4-6-0-10+10-3-4+5+7-7-10-(6-2+4+5+(1+1)+7-2+8-4+10+0+0+5+(5-7-(7-9-5+7-9-(8+4-5+6+0-3-1+7+4+0+10+7+2-7-7+2)+9+1+9+4-8+(1)+2-0-6-1+7+8+10-6+9-10+4-2+6+4-1-4+4+10)-3+7-(5+2+(2)-(0+0+7-1+9+0+3+(6+10-1+5+3-1+10+0+(9+2-9+7-9+3-10-8-(5+5-0+(6-2-1+4-4+3-7+5-8)-6-(8+8-2+3-2+9+7+5+0+2-4-3-1-5-4-10+2-0-2+7)+3-(0+7-6-7-4+4+10+(4+6-1+(4-10-8+0+1+5+6+2-3-4-10+4+10-10+8+4-8-9-8+7-1+(10+6-10+2+2+4-9+2-6-9+7-4-2-4+0+3+7+(2+6-3+3+(7+9+9-9-8+3+(9-2-0+5+6-1-4-1+6+3+0+4+(6-9-1-4-10-7-9-7-3-9+0-4-10-0-6+5-7-10+(10-9)+8+9+(7-3+7+7+(6-5-4-4-(2-4+0+8-4+0-3-3-0+2-(4+3-6-9-4+9+2+8)+7-4-9+2+8-(6-5-(7-2)-7+8+1+6+9+3-0)+6+2-2+10+9+10+4-5-(0-6-2+9-0+8-0+1+9-8+3-10+10+(2+4+1+6-0-7-4+3-5+1-8)+9+9-5-10+9-8+5+5-8+4-1+2+9+9-10+8+4+10+10+6-2-9+2-8+6-3+10-(2-1+2+9-10-7-2+(5+3+3+5-8-9-2-6-1+10-3+8+0+3-4+7-3-10+7-10+(10-5-7+4+4+9-2-8-4+(0)+2-6+7-0-0+2+3-2+10-0-3+7)+5-10+3-10-3-2+5-1-1+7-1-8+2-4-2+4-8+8-9-2-4-8+0-3+(8+4+3-9+6)+5+10-0+3+4+6+8-(1+9+4+8+0+4-8-8+10+4+8+10-5+5+9-0+9-4+1+8+8-9+10-8-3+3-8+2+3+(1+8+1+4+9+4+4-9+7+6+1+7-6+9+6-10-0)-4-10-10+9-(7-9-9-10-3-9-(6+(7-3+10+3-3+5-1-3-7+6-9+4-7-8-8+2-0-6-5+0+9+1+(3+6-(2-0+10-4-(4+9-5+8-9+(8-6)+1-7-5+2+3-6+(6-2+7-9-5-4-8-8-9-6+(8+5+7)+9)+6-6-6-(10-3)-9-5-2+9-7-5+10-3-3+0-4-9+10+8-3-8-0-3-7-(8)-9-2-8-6+4+1-7+0-10+6-4-(2+1+10+9-5-4+9-0-(2-8-10+0-9-5+8-3-3+(3+8+0-(0+0+10-8-5-2-(5-7+1+10+4-(7-10-9-5+8+1+0+0+6-0+5+9-4+4+3+4-8-1+1-(6+6+(3-(2+8+0-6+4-5+6-10+9-1+6+(8+3+4+6+9-5+3+3-5+6-10-6-2-1-2+6-1-7-10)-2+9-8-3-5+5+5+8-4-6-10-(6+1-2+4-10-2-1-9+3-5+(9-(5+(5-5-4+3-8+7-4-10+5+1-(1+0-5-6-(10-(3-2-(9+5-3+(0-2-2+9-7+2+5-(8-10-0-10-9+9-0+3+4-6-5+8-1+4-6-2-0+1-5+9+5-0+10+4-0+4-3+9+5-9-8+10+9+4+8-6+3+7-10+1+5+7-(5+5-7-2-2+3-5+9+0+1+3+4-10+0-3+(7+6-(10-1-6+9+2-9-2+8+5+3-8-0+3-6+7+0-10-4-10+2+4+2-10+6-6-5-9+5)-0-6-(7+4-4+4-1)-9+8-3-4-7+3+5+10-9+6+0+9+(0-6-4-5-9+9-7-0-8-4-2+0-10-(7+10-9-2-3+9-1-6+8+9-2+4+6-3+9+1+0)+3-6+10-0+0+7-9-8-(4-4-1+2+10+(10-4+3-10-(9)+4+3+5+9)+5+10+(10-(1-10+8-0-2+6-10-1-10-3))-8+6-1-4-0-7-8-2-3+7-2+7-3-1-10-2-7-0+2+(10-9+3-8-5-3-7-9+8+4-5+3+(2-4-10+5+3)-9+6+8+3))+10+4+7-10+10)+1-1-6-9+1-0-6+3-10+10+(1+8+5+8-4-1-3-8-3+(6)+3-4+2-9-4+4+9-4+2+5+0-10+1-(9+(10-5+8-5+7-9+1+6+8-10+2-6+4+6-6-4-7+7+9+0-10-6)+9+7+3)-(1+7)+3-10+(6+4+(2+(2-0-8-6-2+6-4+3-1-5+2+2-(4-5+3+2+1+3+4-5-7-8-9-0+10+2-2+3-7+7+6+3+8+6-6-7+5-0-7)+8-4+7-1+(10-8-1-2+1+8-4+2+5+8+0+4+(5+7-5-5+9+3)-2-10+(7-7+0)+1+1-(7-(3-4+7-3+8+4-(6+10+8+10+2-10-6-3+(0-(7-5+5+9-6-9+6+10+3-(5-(1-8+0-5+5-9-5+9+9-10-4-8+1+10+(7-(2+5-9+9+1-(10-7-10-7-3-6+6+7-8+7+4+10-3-6-7-4+2+6+6-2+1-7+0-6-6-9+6-6-10+0-1+9+5-1-4+2-0+5)+0-3+3-2-9+10-8+2+2-7-10+9+7-7-1-8-9-4-5+2+5-4)+9-7-2+4+(4+0+2+6-10+7-7+9-4+0+10+7-7-2+8+10+0+9+5-7-5-(2-7+9-3-0-6-3+1-9+3-3-8-6+0+2+0+8-10+7+8+3-6+4)+(3+2+2+6-4-9+0-4-(4-8+3+6-6-5+9-(8+7+8+6-0-8+5-1-7-6+7-8+0-4+7-(0+10-3-1-(2+2+6)-6)-3+3+2-1+9+8+0+1+3-4-2-3+6-2)-8-9+1+6+2-6-9+8-6+8+9-10+8+2-(3+10+(10+1-6)+3+3)-3+4-4+10+5-1-8+7-4-4-3-2+0+9+9+(1+10+0-6+6-1-0-10-2+5-5+2+5-0+(3+1+0)-7-2+10-8-0+10-10+4-7-0-7-4-6+6-3-8+1-7-(1-7+0+4-8-5+9+8+5+5+6-5-7+4-2-0-(9-1)-1+10+(2-2+0-9-9+5+6-1+2+3-9-7+(5-8+(8+10-4-6-0+3+9+2-3+8-(5+8-(3-(9-10-0+6+(2+(2+5+0-5-4-3+9+8-1-(2-4-(3+10-(1)+10+0-5-6-0+(0-10-4+1-7+10+10+5+0-3-0+7+1+4+0-8-1+9-9+10+9+(9+5+6-1+0+5-3-0-8+2+4+4-10+1+4-3)-3-3+0-1+10-0+10-10+4-4+8-2-6+4-6+5-3+7-0-8-(4+(6-7-4+6-8+(10-5-1-0+6+8+10-9-3-(4+1+3-1-2+3+4-3-1+3-5+10+1+7+7+2-3+8-0+3+0-1-7+8+10+(0-3-1-0-2-7+1+3+6-(7-5-5+10+1+4-10-8+6-7+2-8-7)-10+7+4+6+6+0+7+7-8-10+9-2-9-4-9-1-0+2-(6+1)-(2+6+3-1-5+5+0-5+2-6+0+5-10+3+8+4+5-3-7+6+9-9-3+9-1+10-8+10-8+1-8+8+8+9+9+7-0+(3-5)+2-6-5-1-7-2-3+10+6+4+10+3+2-5-6+9)-9-4+6-(8+8+1-9+5-4+6-5+3-2+1+9+7+(3-9-4+9+6+3-0-6)+7-10-4-1-2-10-4-5-1+4-5-0-9+2-7-2-4-5+1-10+(2-4+9-2-3+7+(4-9+10-9-3-7-6)-5-8-8-3-4+5-4+7+10+8+0-6+8+8-10-4+5-(0-(1-6+(1-0+10-(4+(1-1+3+6-7+6-0+0-4+10-1+8-10+1-10+(5-(2)+(3+0-4-7+5+8-0-1-6+(8+4-(2-0-8-(9-4+10+3-1+10+3-8-1-5-7+(1-10-2+5+6+0+8)-(2+2-(8+10)-(2+0-0+3-2-5+6-10-2-0+10-2-8-10-9-1+(3-1-1+6-8+10-5+(1-7-5+5-7-7+8+2-(6-4-7+10-9+7+0+1+4-0+(2-0-8-7+4-(7+4-8+3+(4+7+3+2+6-8+4-6+2-0+9-5+8-5-4-9+4+4-5+9)-7+3-4+2+4+2-3-10-9+9+2-10+8+1+4-9+3+10+6+6+10+6+8-(3+(0-7-2-(1-1+7-0+3+1+10-2+0+4-1-9)+8+0-1+10-(10+5+0-7-10-6-7+(8+1+10-10+4+7+10-5+(6+2+4+9+10+8-1-9-2+4+0-4+6+6+10-4+2+2+10+2+2+6-2+8+6-9+7+2+5-(1+9-4+1-(8-10-0+4+5+3+8+7+1+0+(1-3-3))+5-4+2+4-5-9)+2+9)+2)-1+5+2+4-1-3-1+(4-2+9-6-10-8-9-0+1+(9+7+7+0+3+6-8+10-7-2)+1+10+10+10+(2+8+4+9-1+4))-4+0-7-0-5-6+4+4+1-(8-7-0+4-2+0+2-3+7+2-5-(1-6-6-0-9+(6+7+1+1+3)-4-7+9+4+9+9+(7+(10+8-6+6+(2-5-2-7+3+1-4-1-6-0-(7+10-9+9-5-9-6+10-8-7-9+5)-10+9-3+9-2+(2)-8-7+1+7-1-6-4+7)-8+4-1+9+8+1+0+2)-6+5-1+6-0-3+8+6-7-(0+2-8+1+1-6-3+2-(1+9+4-3+3+8+10-1-2-(3-3-4-7-7-7+6-2)+1+3+10+(2-1+9+7+7+7+1-8+1+8+10-9+1-3-6+8-6+6+7+6-4+3+4+10-3-6-4+6-5-10-6+(0+(6-10-10+7+6-9+4-9+2+4+(1-3+0+2-4+7+2+(6-8+2-1-(0-3+0-2-0+9+1)-9+10-6+7+2-5-10-3-5-5+6+(4-9-6-2+6+4-10-2+10+10-4+0-0+0-2-5+8+(6-8-(10-0)-(0-10+4+6-2)+3)+10+8+10)-3-(5-7+7-2+2-9-8-7-2+1+1+8+5+4+3+9-4-9-(7+7+2+(0-2-4-7+(6)+10+3+9+9-2-7-7-4-2+7-6-5-0-9+4-8+7-4+(6+7-9+6-5-6-2-10-7+5-9-7+1+3+6-6-10-6+7-10+8+2-1-2-3-10+9-2-8)-5)+7-7-3+1+5-(10-0)-5-3-7+1+9+9-3-10+3+7-9+8+10-8+6+(4-9+3+6-0+6-(3-4+1+6+9)+3-0-10-1+1+6-3-(2+2-4-5-2+1+3-4+6-2-6-2-7-0+6-8+0+5+(2)+4+1)+1+1+5+1-3-5-7+(3-3+10-6-9+7-6+10-1-6+(7+(7+(4+4+8+3-0-(4-4)-7+10+9+6+4-6-8+8-1)+6+4+3-8+7-10-8+6+10-5-(10-10-2-(6+10-7+8-8+7-7-2-5-2-6-10+6+4)))+1+1+3+6-7-2+8)+7-8-6-0+4-8+(6+5-6-7+2+8-9+7+4-7+1-7+(3-5+9+8+8+0+7+8+5+6-4+3+8-1+0+4+9+10-7+2-(10-9-(5+6-9+10-0-4+10-7)-(7-(8-7+8+8+6+5+5+9)-9+4-0+3+7+0+6+7+7-2+0+9-4-8-5-5+4-0-2+2-3+4+6+9)-2+(7+(6-2+4+10-3-8+1+(9-10-4-5+8+6-1+7-4+10-4-(2+6+(10+0+6-2-1-2-(4+6-9+10-0-0+(8+6-1+5-10+0-9+8-5+3-0-8-4+10-(6+7-(2+9))-9+(2+6-0+6+5-10-7+10+1-(5-10-8-2+10-(4+1+2+10+3)+3-6+2-6+7+8+1+5+(1+0-7-8)-4+4-9+(8+4+7+9+1-2-8-9-8-0-(2-6-8+0-7+5-6)-6-(7-(0-7+5-2+4-6+(8+1-2-3+9-1-8+(3-9+(1-5+2-(5+10+9+3-(5-2-8+0+2-7+5)+10-3-7+10-5-0+6+10+(2-0-3-4+10-(9-7+4-1-2-0-7)+10+(5-2-0+9+4-6+(8-2+6-8-6-9+0+0+8+4+10)+4-6+1+7+5-9+4-7+5+1-2-10+9+0+4-4))-9-5-4-6-3)-6-2+6+2+3-0+8-2+3)-5+(5)+9+9+5-8-(0+1+1-(7+8+8-0-9+9+4+(5-(3)-5+1+6-3-5+7+0+5+9+3-7-1-9+6+2+5-4+3-4+10+5-8-3-(10-8+5+(10)-1+1-4+7+2-4-7+2+7+1+0-7+7-(8-5-4+7-10+(8)+9+6+8-6+3-2-(2-8)-2+1+5+6)+6-5-10-2+3-(1)-7+6-10-1+6+(8+(5-5-6+(0-3+10+9-4+(0-5-1-(3-6+2-0+(3+0+10-(2-3-(0-8+3+4-(1+2+10+(8-8-(9-0-6-6-8-(10-4-8-1+2+0+7-5+2+2+7+3+10)-8-1-(8-0+7+4+7-2+9+5+5-1-8-10+1+3)-2-0)-1-2-(10+2+6+2-5+9+9+6-8+3-7-1-5+1-7+3+(9-(6-9+4-10+(0-7+9-5-8-5+9)-0+3+0+1-2-(5+(9-7+3+5+5-3+4-1-6-8-6+5)-2+0-4-3+10-9-4+9-6-1)-9-0+8+4-(10-5+9-10-0+2-6+4-10-3+7+0+8+10+9-6+0+8-1-8+4+8-2+0+3-2+(10)-5+10-10+9)+1-1-2+2-7)+9-6+5)-8-0-10+(5-(0-7+6+3-8-9-3+7+0-10+5-6-8+9-1+2+2-7-8+2+3-2+9-3-3+(6-7-9-5+(3-10-10+2-4-0+(6+5-7+9+0+0))-(8-2+0-5-10+4+2-0+4+5+9-4+10+9+2-5-(4+(0-7)-2+8-(7+5+0+(4-4+4+9-8-9+1+1-0-1-2-2-4+3)-8+7+9-7-1+(3+1-2-8+1-10+8+9+4-1-9-2-6+0+2-6-4-1+8+8+0+9+6-6-1-0+8+1)-(2-2-7+1-5-0-7-2-1+2+1+3-8+0)+(1-(6-4-8-10-6+6-0-10-2+6+6+7-(7-0+7)-1-1-10+10+0+6+7-0-10)+0+(9-2-0-10+1-(10+2-1-6+9-10+5-2-6+9+10-0+1)-7+9+(2+3+1+1+3-(7-5-0+10-0+2-8+10+10-5+8+10-3-10-(1-0+7-4-5-8-2+9)-3-10-6)+10+5+9-6-0)-7-0+8-(5-9+8)-4-9+3)+8+0+3+8-2+7-9-(9+4-4+2-(8-2-1+7-2+6-10-(1+5-1+9)+3-7+5+4)+1)-4+7-(7+8-0-9)-(5)+8+2+8+1-6-(4)-(7-0-2)-10+10-9+3+(8))+4-6+10-6-9+8+1-0+3+6+9-5+8-6+7+3-8+2+1-9+8+5+1)+7-(0)+8-1+3+3-0-8+1-3-2-3-4-4+1-10+0+10-0+8+7-7+9-1-8+1+(5+10+7-7-2+2+8-3-5)+10+8-9+3-0-9)-8+9+8-(5+(9-0+0-3+9-10-8+0+3+3+9+3+4+7-6+(0+5+4)+1-10+0)-8+7-7-(3+7-4+6+4-8-1+0-7-7-7-0-5+0)+7-10-5+(8-7-2+2)-(1-8-0+2-10-(7+4+4+9-6-(3+0-5-4+9-5-0-7+2+0-6+2-4+3-7-4+0+4+7+2+5+6-3+0-10-3+4-0-6-3+2+1-2+8+6-(7-5+6)-0-5-0-4+8+3+10-3-10+0+3-0-6+6-(10-4+2+(10-3-3))+4-2+9+8-5-5+2+(3+9)-10+0+3)-2-(9-1-8+4-3-3-6+7-8+(7-3-(5-9+9+9-10-6+7+3+3+2)-1-2-5-7-4-2+3-6)+8+2)-5-(10-3-10-6-2)+3-5)+0+1+8-10+8-6+9+7+1+10+0+8+5-3-5-1)-6+(9-6-2+0-6-(6-8+8+2+5)+0+1-(5+8-6-10-9+1-6)+3-8+2-9+6+0)+0+(10+1-0-4-4-3+4-3-9+0-4+0+3+8-7+2-10+9+8-7)+4+1-3-8-3-10-10-2-1+6-8+9-(4+0-0)+2-0+5+(3+8+2+6-9)+(4-(7+0+3-6-1-0-2+4+9-7+0+0+10+6+6+4-3-5-9-3+10-4-9-8+2)-4-8-9-3+5-9-9+10-2+5+2+0+10+8-3+8+6)-3+5+10-5-(0-9-7+0-3-1+8+8+6-6-0+9+1+5-6-1-(0+7-8-(1)+0)-1+6+3+9)+4-1+4-0-(2-7-4+7-0-7+9-7-4-7-2+3+1+7+4+(0-9)-3-6+(3-1-7-0-9-6+3+7+6+3+7+4+2)-2-4+9+3+(8+2-3-1+4-4+2-3-9-8-1+0-9-10+9-4-9)-2-(5+8+10+2-9-7+1+7+9+5)+6+7)+10+8+6-3+(2-3-0-2+3+7+5+7+2-9+2-1)-2-8-0-9+10-6+(0+8-3-1+(4-8-2-3-3+7-1+4-7-7+0+0+6)-8-2-1-6-5))-0+8+2-9+2-3+1-9-0-8+3+4+9+(9-2+7-(10)-3+5-1+3+(8+0+8+8-6+2-7+1-3-4+7)-4+(10+10-2+9-4+5-1-4+4)+9+8-4-4-8-8+8-2+10-1)+2-(10)+2-1+3-9-1)-1-3)-6)-(2-1+4+4-(1)-10-7)-7-7-9-10-8-2-(3)-5+8+6+7-6+1)-4-7+1-(9+0+1+5+3)+2+10-6-10+8+3+5-(10+1-4-2-5+1+5-(5+7-1+1-6+(7-5+2-2+3)+6+2-7+1-9-4-3+4-0-8-7-2+1-0-7-0)-0+4-(7+1+1)+3-3-0-1-8+7+(9-2+4+0+1-10-(5+4+5-6+9-4-6+9)-0)-5-7-1+5+4-8-(8+8-7-9-9-2-(3+6-9-1-2-10-9+9-0-5+0+(7-10-0-5-9-8+7-7+9+(9-9+6-3-10-8-5-8+4+7+(10+0-10+6-6+10-2+8+7-1-8+0-9-10-10+1-7+1)+10-(2-8+10+9+2)-5))-6-1-10+8-9+(7-4-9-8-2-6-2-8-4)+7+0-9+(8-0-10+5-(4+6+4-7+0+4-(8)+1-0+(0+1-1-3+6+1-3+4+10-(2-5-5+8-8-8-1+9+8+10+3-10-4-6-1-2+(7+9+4-8-8+8+10-10+2-2-3+0+9-5+10+5+8+0-10+0+4-4+5-(10-6+5-7)-10+6-(8-9)+7+2-2+10+5-5-1-4-(9-0+6-9+7))-7-9-4-5-(5-9-5)+10-3-10+(9-8-6+7+10-9+2-3+7-6-2+(3+(6-0-6-2)+2+2-1+6-5+1+10+5-1+4-1-1-3+4+1+8+1-3+8+4)-9+0-2+6+(5+9-8+5-8+3-4-8+1-5+10-6-0+9+6-4-(1+3-3-9+6-4-0-2+(1-4-7-5+1+0+0+4+1-0+4+3-8-7+9-10)-8-0+5-0)-7-4+5+6+9-7-5-(9+8-8+5-2-(0-5+10-7)-7-6+5+9+3-0+3-10-3-8-8+10+4+1+2+0-5+1-2+6+4+4+3-6+1+2+6-6-4+1-1-5+1-5+4-1+7-4-2+5-(10-2+0-8-9)+2+(7)-4-7+1+10+8-7+4-0+5-7)-10+1+0-(1-10-10+5+2-10+7+8-(5+6+4+3-10-1+1+7-(6-10-7)+(8-8)+(10-5+1+2-10-2+9-10-8)+(6-10-9+0-7+10-10-6-3)+(1-8-6-3+3-4)-10-2-7-10+1+4-5+9-3-4-5-7+(9-2-7))-4+6-5)+8+9-(7+1-8-9+(1+3-6-7-7+8-8+9+(2-10+9-2-(2+4-2+10-0-5-9+6-1-2-9-0-10-3+5-4-(10+3+9+1+0-4-9+6-9+4-3-7+(6+3-8-4)+1+10-10+4-(5-(0-9+1+6+3-8-0+10-0+0-(5-8+3)+0-5+4-8+1+10-0)-9-6+6-0-5-5+3+7-10-9-0+10+7+9+4+10)+0-8-8+10-10+(9)+4-6-3+(9+6-9+(5+8+6)+1+5-7+8-8+2+7+1-9+6-0-(7-7)-4+(9-5-3-2-10+0+10+1-9-9+10-8+10+10)+2-3+0-7)+2-(3-6+5+10-5-1-9+5+3+3-8))+0)-(1+2+2-5-6+3+(2-8-(7+2+1+9+5+5-2+6-(10-0)+5-5+(4-(4-1-9-8)-9-10-2-1)))+9-0-1-2+(5-(0+9+5-10+8+0-9+0-6-1-2-6-8+0+5-1-10+2+8-9+7+5)-6+5+(2+8-5+8-0-3+1)-2-9+(0-4)+(6+(7+2)+(9-(5-6+5-3-7-0+1+3+4-0-10-(10+4-0+8-(8+0+10+0-7-9+7-(7+6-10-5-3+2+3-4-4-9-2)+(10+1-2+3)-10)-8-1-1-2-(7+4-10-2+10-2+8+(6+(10-9+0-8+7+5-3-6-9+1-4-4+8+1-4+1)+10-6-10-9-(2-1-9+10-(7-9+9-7-10-10+1+9+(0+5-10-0-10-7-4+8-7-4+6+(4+3+7+6-10))-5+(2+5+3+1+(2)-8+(2+(3-7+2+4-2+4+0+4-2-(2-10+0+3-7)+7+(10-(2+6+5+2-6-3+1+(3-3-4-8+7-0+10+9+1-1-7-6+1-1)+1-(4-3+8-1+5+5-0-0-0+2)+6+5-9+(5)))+2+2-6)-(9-2-4+5)+10+8-6+0+10-7-5-10+2-8+9-7-2+2-0-(2-9+8-1-1-1-6+9+2-6+3+9-(2-(1-4+2+1+9+1-10+2+3-7+(5-3+4-5-2+9)+5+5+6-2+(0-7+4-0-(1-2+3-8-1-9-(10+1+9+(1-7+3+2+0+6+3+10)+3+10+9+7+6+4-10-7+1-7-10+10)-9+1-1)+2-(8-(2-1+3+5-6+(7+0+7+0)+(6-7-3-0-0+3-1-2+(8+6)+(2-9+5+5-10+8+2+7-2-5-3-7-3+7-6+9-0-4)-7-0+5+9-2+8+7-9-5+5+7+7+9-0-1+8+2-4)-5-8-9+9)+0-3+(5-5-5+(0-10+0)+(0-(8+7)+0+2+5)-7+5+9+(7-7+0-2+6+4+(0)+9+6-4)-1-10-2+4-3-5+6-8-(5-1-3+7-6)-10+7+3-2)+0-0-1+4-2)-4-1-2+8+4-2-6+1-0-0+1-4-4-9-9-5+9-3+6-8-4+4+4-9+6+1+0-7-3-2-1+5+(6+8-5+(9+(9-4-7+7-10+6)+6+4-2-(7-10+8)+(0+6+8-8)-6-10-7-3-3-1-8+(10+8+10+(10-8+4+7-2-0-6+6+(6-5-10-4-7+3-3)-3+10-7-4+10)+4)+10+2-2+1+6+6-0+1-1-6)-6-9+5+6)-3-(7)+10-5+8+7+9+2+5-(8-(8+5+1-4+(3-0)-0-1-6)+1-7-5-1-0+1+5+(10-2)-6)+3-4-2-8+7+1-7+2-(2+7+0-5+3+6+8-4+9-9+3-6-5)-(10+9-(5-4+9+10-(10+10+2+7-6-5+2-5-3+(1-5)+5)-0-10-8-4-3-8+7+3-1+(3-0-2+(3+8+9+10-3+4+10-10-1-5-(6-5))+2-4-10+9+8-(0+5)+0+(4+7+10+0-(8-5+2)+0+1+4+0-(8+0+6+8+9+9-(10-10)+1-9+(0-4-0+2-8+8+8+0+9+6)+(9-8+1+0-2-8)+2-8-5+(7-8+1+(6-0+7-4-(8+2)-4+9-7-2+10+2-6-10+3-3+6)-(6)-1)+5+5+10+10-1-0-(0-10+1-0-1)+(1-1-(9+0-8)+1-4)+7+3+7-5+(8)+9-10-3-6-6+7+(6)+0-7+8-0+1-(5+2)-0+10-9-6)-6+10-0-3-3+5-3-1-7-(10+6)-0-7-4-1-1+3+0-4-4-7))+5+6-4-9-2)-4)+4+9-0-(9+0-0-1+10-6+10+6+3-8+10+9-10+0+10+(5+1+7+2-2+4+4-6-(8-6-1-7)-4-8-(3+1)-6+2-5)+6+4+10+3-6+3-7-0)))+4-3+6+2+3-8-7+8)-7-(4+4-2+8+9+10-3+8+5+3+5-1+7+9+7+2-10-8+(1-2-1-8+1-10+6+10+0-(2+3-9-5+8+4-2+(8)-7+3+5-2)-9+3-2-8)-4-0-8-9+9+3+2+2-3+6-8-3-(8)+9-2+2-0+10))+2-6)+(4+3-7)+3-4+6)+5)-5+8-4+0+0+10+5-5-7+9-9+2+8+6-6)+1-1-5-2-8-6-5+3-(4+10+2-1-10-3-2+2-2+9+(10-(1+2+10-6+7+0))+5-4)+6+9+0)+2-1+7+5+0+8+5)+4-(8-(8-9+6+3+7-3)-(3)-(2-6-2+2+10+10-3-9-2+1-0+(4-(1+10+5+10-7)-3-4+0-0-8-6-2-8-0+3+6-3+9)+7-4)-4-10-7+1)-7)-5-9+3+(2+1+3-8))+2+9-0+(0-6+9+5-(0-9+7+(9-8-7+4+1-8-5-8-7+7+8-3-7))+6-2-9)-10+1+9+8-1-2)+3+10-0+4-(5+3-3-0)+9-0-5+(2+2+3-4)-3)-1-10-4+10-6-1-8+5+(7-(2+6-7))+(0+9-6-3+0+0-5+(7)-10)+(7-10+2+0+2-5+0-4+4+6-3-10-(1+2-0-8)-(0+4+8+9+6+10+10+1+7+2-1+(10-(8+9)-5+6-0+0-4+3-1-6-7-1-2+8-6+7+7+7-3+1-(5-3+1+7-8-7-1-7+9-9-4-8+0-8+8-4-0-0-0+2+10)-4+9-6+(2+2+6+2+3-(7-7-8+4)-3)+(9-8-(9)-5))+5-9+3+10+6-10+(10+6))-5-(10+4+5-8-2)-8-10-8+(5+5-7-0+10+4+1-10+0+3-9)+(6+6+2+(2+1+6+7+(9+4+0-10-8-(2+5+(6-7)-2+4+7-1-6+6-2-(2-6+9+7+(0-5+8+3-1-6-7+10+(1+9-(6-5)+10-(10-1+9-9-4+8)))+8+8-7+9+2+8+6)+8+1-5-5-(3)-9+1+3-8+9-3+7)+8)-6+6-9+5-0-1-0)-1+2-4)-(4+10+1)+9-5+5+3-10+(10-4-(0+1-1+0+(6-(7+9+3+8-0+3-3-8+(10-10-9+4-10-3-7+9+7+10+9+4+0-3)+(4-0-0+2+7+9+5+2-10-0)+4-5+9)-2-7)-3)+6-(8+9+4+9+8+4+8-2)+(4))-6+9-0-0)+6-0-2+1+9-9-(1-1-9+9+1-5))+6-5+2-10+(1+4-(6-5-1+9+10+6+(0-(10+10-2+10)+9+2+1-0-(7)+5+2-8-8+4-2)-7+8+8+8-8-7+2+2+0-9+9)+2-1+4-6+0-1-7-5+3))-5+0-3+5+0+4+0+0-7+(7-2-(0+9-(3+7-7-4+0+8+7+10-4)-0)))-6+8-10)-4-6)+7+9)-8+3+2-7))-8)-3+(2-7+4-7+2)-8)-8-5+2)+10-0-8+0-9+4+6-9+9)+7-6+5+(4)+5+3)+1+(0)-3+(3-8+3-(2)-8-0-8+8+1+6-2-2-2+10)+(7+9)))+10+8-(0-(8+4+1-5-6)+6)-0)+8+3+5+3+7+7+2+8-0-6+8-1+9))-(0)-5+9+1+8-4+0)-8-9+(3+3-1)-7-3-10-1-7-10-2-3-9+10-8-7+(5+3))+7-4)-1+6+6+1))-6)-3+10+1+5)+2-2)-1+1)+8+10)-10+6+3+7+8-0-2+7-1)+10+1-10+6+8-7-4+5+10-5)+3+(9+0+0+5-0+(5+7+8+9)+2+9+2-1+1-2+7+2-2-3+10+4+3))-6-6-5-10+8)-9+9+7+10-7+4-3+0-8-4-4+4+6-9-8+8-5+7-5))-9+10-(6-0+(3-2-9-8-10-7+5)-8+1-5-2-2)+8-(9+5-(8-7)-4)+(9-10+9+7+10-7)+8+2-9-(10+7+7-4+7)-4-1-8-1+1+8-9-2-8-10+4-6+8-5-1-2)+(10-7+7)-2+(4+0+0+6-(3-5+0+(2-(0+10)-7+3-2+9-3+6-5+8+4))-7-10-(5)-10)-2-(1+5+6)-5+2+4+4+10)-2-1-2-9+8+7-10-8-1+7+8+10+(8+0+8+1+(9-(7-1)-10+9-9+7-6-3-4+5-10+2+5)-3+9+6-(4-9-2)+3-7)-3+4-9-2))+5-6-7+2+8-8+7-4+2+8-4+1+9-1+7-5+7+6-10-6+7-2-10-(7-1+7)-3-1-3-8+7-1+9+10-6+3)-0+(0-3)-9+6)+9-5+0-4+3-1+7-8-4+(0-1+6)+4+7+7)-4+(1-3+1-8+6+9+(0-(6)+4-9+(10+(6+0-5+5+2-3+3-9-(10-8-6+6-6-5-2)+(3)+9+5+5-9+10+9+9+8-0-(7+7)+8-5-6-5-(0))+9)+8+6-6+0-1-9)+5+3-10-9+(9-5+1+10+2-0)+(5+10+4+1+10+4+3+0+(6-0-(7+4-0)+7-4+1+10-7-5-3-7+7+3+6-1+5+(6+(5-6-(5-8-10-9+5+9+6-2+1-6)+0-0-7-1-5-(1-3-9-2-0+6-(9)+9-9-8-5+6-5-5-2+0)+4+6-4)-5+5-5+3-(6-2-5-(1-5-10+8-6+10-3-5)+2+0+3-3)+4+(10-5-10-6+5-6-1-2)-3-9-5+7+(8-9+1-0-9)+5-5+7+7-8+(1+5+1+0+8+3-5+3+(5+7-5-3+6)-6)-10+4-2-6-1+3))-8-10-3+10+8))+6+8+(2+4+4+1+9-1)+5+(1-4)-3+5+0+(1-0-4-10-9)+9+4+2+9+(0-3+6-1+1+8-2-4-1))+0+6+8-10+6+9-5+3)-6+6+6+3-7+(6-4+(0-8-(1+1+3-6-1+2)-2-7-8+2+4-2+8-(0))+5)-1+2-1)-1+4-7)-2-9))-6-0+6-5+4+0-5+2+(0)+5+3+4+3-4+4-0-7-7+9+10+(1)))+2+5-4+9-10-4+4+4-7-4-2-7+1+8+6+(7-6)+10-8+8+10-1+10+10-0-3-6-9+(8+10-6-7)-2+10-4+9+8+2-8+6-4+(1-1+1+(5+8+4+2)+8)-(6-2-10)+(10)+8+8-7-9+8)-0+10-1+2-3+5)+9-0+2-0+10+6-1-1-9))+4-6)+8+5-9)+5+10+7+0+2-1+0-10-3+(6-10+1)-0-4-4+1)-2-10)-3-9+3+4)+2-(7+2+2+6-6-4-1+2-10-8-7+(3+7-10+3+8+8-2-10-3)+5+8)-2+8)-1-6+3-1+(3)+9-9)+10+10+4)+6-(5-4-4)-1)+1+8+2+0-0+9+4+9-10)+7+4+10-8-3+(0+5+6-2-2))-4-6+8-6+4+10+10+2+6+1+9)+10+0)-5+2+8+9-9-10+1+(9-(0+5-10-(9+5-3-(1-9-5+1-4-10-8+(2))+8-9-2+0+10)-(5-7-6-2-5+(6)+0+2+2))+4-(5+1+7-4+6-6+8+10-1+0+3-1+7)-10-10)-8-0-0+2-6+0-3)+9+1+2+6)-4-(9-8+(6-7+2+6-8-7-(10+4-1+9+(0-0+0-0-3+4))+3+10+6-4-4-0+5+0-(2+9-8-7+(10+(5)-9+5-3-9+(6))+6+8+7+7-1-1-7)+3-8+10+4+(5+7+0+1)+1+10+3+5+2+1-2-2)+(9-6-9-3-(7-1+10+1+10+5)-10-2-2)+10)+5+5-1-1)-4+1-7))-5-7+7-(8+7+8-(2+3+5-6-5+4+4)+0)-10+(5-5-4)-3)+8-(9-3-7+3+6+7-(8+3-6-5))-10+9+8-0-(0)-1+2-5+0-4+4)-9-3-7+2)-10)-3+6+3-7+3)+0+3+6)-7+9+5+5-8-(3-8-1-7+9-7-9+7+3+9+3-10-0)+2-0-8+7)+3+10+3))-7-(5)-10-7-0+0)+7)-6+9-0+4-10+1-9+9)-10-1))-9-1+9+0)+9+2-8+8-6+9+10)))+(1)+(0-2+3)+4-2)-10-(4+8-10-5+8-8)-9-7-7+8+(5-2-9-4+5-1+1-9)+3+7-5-8)-9+3-0+4+2+8-9)-3+1)-2+9-1-6)+10+1+10+(3-3+10)))-4+(1-1+(6)+0-8)-8)+2-7+0-3-6+0-(2+4-3+7+3+6-10)-10-4)-5+6-2-4-9)+0-5+7+0+7)-0)-(10)+10+1-4+8+10)-6))-(10-10+(0-2)-1+2+5+7-10))+10)-4+4+10-9+1-10+(2+9-10+0+3)+3+1)-1)-1+9+4-8-0)+10+3-5+10-3+6)-7)-2+6-3+5+9+4-10+6-8+10-8)+9-7)+8+8-10+10+4+1)+9)-2+(1-10+7-8+4)-(7-5)+(9+8)-3-0-8)+7-2+0-3)-3-(4+7+5-3+10-6+8)+5+1+(10-3-(7+5-5+5-4+9)-6-2+2-0+(1+10-(5-4-1+4+0)+2)-7-1+5-3-(2)-7-9-9-4+4-0-8+7-(9-0+10+3+10-7+3+(8+4)-4)+7+2-2)+3+0-2+2-6+2+5+4+0+5+2-9+(10-(0)+4))+4)-9-9-4+10)-10-(0+8+0+9+0-6+(5+0+5-5+3)+1)-4+4+6-8+10-4+0-8+(2+3)+3-6)-6+4-10+8+10-(6+5+9-2+2-2+0+9-8-5-2)+1-1+7)-4+9+5-6))-1))+0-0+5+5+3+8-1+3+(10-0-5-6-6-(6-0)+4-2+2+5+4+6-(2+3)+1-(7+4-5-5+9-(6-7-(0+8-10+(10-1+1)-7+(5)+8)-7+4+6-10-8+7-1-1+2-8+2)-8)-0)-6)+6-10)+10-6+8-10-1+8-4)+4-(5+5-7+6)+5-5+4+(1-3+3))+10-5-7+5)-10-0+0+10+2+9+10+2-1)))+9+(9)+4-9+2)+5+7-2+5-1-2+10-(7)-5-(9-7+8-0+6))+4+10+6+0+3+10+(9+3+6-7+6)-(7)+5-4+7)-9-0+6+3-(3)-(7)+7)))+2))+7+10-4-5-10-9-(9+8+5+4-7-3+8+7-2)-(7+5-7+2+2)-(1+4-(7-8)+8))-(9+6)-8+0+8)+3+3-5-6+2-(5-9+(5)-3)+1-1-5)+(2+0-7+6-9)+4)-0+2)-3-5)+5-3-8-6+(0+3-4)-5-5+6+(10+3-3+(6+5-5)-5)+8+5+4)+1-0)-5-8))+7+0-7+0+1-1-6)+5+10+10-10-9-(6)+9+10+4-7+0-6-6)+10+2))+10)+6+3+2)+3+0-3+4-7+5-10+3)-10+4+(4)-7+6+3)+0)-9+2)-6-(10-7-6-3+0-9+10-5)+0)+1-4-3-5-6)-9-7-10-8)-5+3+8-5+5-5-6+(6-6+(0-9)+1+0+10+2-9+7)-3-(4-5+9-2)+2-(8-8+(8+2+2)+0-7+(7+3+(2+4-5+8-2-4+5-9+8+1+8+6)-6+9+1-4-9+9-6))+4-0-8-4-1-3)+4+2-7-3+6-3)+(6+(2)-3+7)-2-0-1-10+8)))-6)+(6-4)-7+(5)-8+9+7-9-10-2-7-3))))+4+4-9+(0-8+10+6-5-10)+6))-5+7+(7+6)-(0-1+(2-5-7+4+7+7-8-2+4+2)+2+9+(3+1+6)-7-2+7-8-7+3-4+10+6))+9-10+3+0-10+9+7+8)+(4-(5+0))+(1-2-9)+3+6+2-6+3+1-(9-3+10+5)-4)-5+4+7)+2+6-7-7)+1)+10-9-1+6-4+3-6-6+5+(1+1-8-9-7)-2-3-0-4+1)+(0+3+10-4+5-0)+3)+9+10-10+3+(6)))+8)-9-4-5-0-5-7)+6+1-1)+3+(7+5-7+2-0)-10+5-7+6))-1))+8))+8-7-2+2+5+3)-3+10))-4)+9+3+2+5)+10-2)+1)-8)+10-7+0-3-4-5+0+3-8-2-5)-6)-5-10+10-(2-1-2-3+4))-2-4)+5)+10+1-5+6+4)+0-0+4+0+5-6+10-5+(5)-7+3)+3)-(4+0+9-2+4)+4-7-7-10+4+3-7-0-5+0+9)+2+5-5+3-9+4)+(0+4-6)-2+3+9-10-4+6-6)-0+6-1)))-(1-5+10)-2-3+5))-1+8+5+3)+(2-(9-8)-7-0+7)-0-7)-3)))+9)+8)-9)+9)-1+7+3-6+4-2-1+0)+7+10-7+4-(0-2+4-8-5)-1))))+0-4-3-10)-0+9-0)-(10+5)+9+2+5)+10)+5+2-7)-4+(4+1+0+7-6)-6-2-8-4+2-10-6+0+10+4+3+4+2))+4))+9-5-6-7+2))))-1-(2+8-0+5))+0+9)-(8-2-4+4-4-8)-4+3-6)-7-9-9+0)+0-0-10+8+9-10)))+9-0+9))+(0))+10+3-2+10+2)+3+4)))-7-10-7-2-10))-(8))-7)+3-(2-7-10-4-3+8)+8+9)-4+6))-3-4)-1+3)+3-2+2+6+7)-6+6-0)-4)+10-4+8)-8+4)-(10+2-10-4-0-1+5-2)-7-5)+1+7)-(3+7-7-9)-(5+2-4+(4+9)))+1))-3)-3+3-9-8+7-4+(0)-5+4+(0+(4+5-2+9)+5)+8)-6)+5)+5)-(5-8+9))-3+3+0+5+6-1)+(4-2-3)-9+8+10+1)+(9+0-10)-9+3)-10-(7+(6+4)+4-(5)))+0+7+8-9-(5+9+6)-7+10+8)-6+6)+7+10))+3+7-6+6+8)))+7+0+1)+9-6+9-(8+(0+3-7))))+6-5+3)-4-10-(1-10+2)-0)))))-8+2+10-1))-3-0)+7))+4))-1-(8+9-9+3+(10-10-2)+(0-10))-2+2)+(1)+6)))-1-2+(7)-1)-5))-(3-(3))+8+10+9-(6-8))+7+9)+0+8))-4+4)-7))-0+(4))+(7+5+3)))-2))-8)-7-5))-7)))+5))+3-0")
print "\n"
obj6 = Stack()
obj6.calculate("23 + 65")
print "\n"
obj7 = Stack()
obj7.calculate("1-(5)")