from collections import deque
def ent(a):
if ord(a) == ord('(') or ord(a) == ord(')'):
return 0
elif ord(a) >= ord('0') and ord(a) <= ord('9'):
return 1
else:
return 2
def check(s):
n = len(s)
now = 0
st = deque([])
que = deque([])
for i in range(n):
if ent(s[i]) == 1:
if now == 0:
que.append('1')
now = 1
elif ent(s[i]) == 2:
que.append('+')
now = 0
if len(que) == 0:
return 0
now = 0
while len(que):
tp = que.popleft()
if now == 0:
if tp == '+':
return 0
else:
if tp == '1':
return 0
now = 1 - now
for i in range(n):
if s[i] == '(':
st.append('(')
elif s[i] == ')':
if len(st) == 0:
return 0
st.pop()
if len(st):
return 0
for i in range(n):
if ent(s[i]) == 1:
if i < n - 1 and s[i + 1] == '(':
return 0
if i > 0 and s[i - 1] == ')':
return 0
elif ent(s[i]) == 2:
if i < n - 1 and s[i + 1] == ')':
return 0
if i > 0 and s[i - 1] == '(':
return 0
return 1
def back(s):
n = len(s)
cnt = 0
news, ln = [], []
st = deque([])
for i in range(n):
if ent(s[i]) == 1:
cnt += 1
news.append(s[i])
else:
if cnt:
ln.append(cnt)
cnt = 0
if s[i] == '(':
st.append('(')
elif s[i] == ')':
while len(st) and st[len(st) - 1] != '(':
news.append(st.pop())
st.pop()
elif s[i] == '*' or s[i] == '/':
while len(st) and (st[len(st) - 1] == '*' or st[len(st) - 1] == '/'):
news.append(st.pop())
st.append(s[i])
else:
while len(st) and ent(st[len(st) - 1]):
news.append(st.pop())
st.append(s[i])
if cnt:
ln.append(cnt)
while len(st):
news.append(st.pop())
return "".join(news), ln
def cal(s, ln):
idx, lnidx = 0, -1
st, tmp = deque([]), deque([])
while idx < len(s):
if ent(s[idx]) == 1:
lnidx += 1
now, ten = 0, 1
for i in range(ln[lnidx]):
tmp.append(s[idx])
idx += 1
while len(tmp):
now += ten * (ord(tmp.pop()) - ord('0'))
ten *= 10
st.append(now)
else:
tp2 = st.pop()
tp = st.pop()
if s[idx] == '+':
tp += tp2
elif s[idx] == '-':
tp -= tp2
elif s[idx] == '*':
tp *= tp2
else:
tp //= tp2
st.append(tp)
idx += 1
return st.pop()
s = input()
if check(s) == 0:
print("ROCK")
else:
news, ln = back(s)
print(cal(news, ln))
ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVxdWUKCmRlZiBlbnQoYSk6CglpZiBvcmQoYSkgPT0gb3JkKCcoJykgb3Igb3JkKGEpID09IG9yZCgnKScpOgoJCXJldHVybiAwCgllbGlmIG9yZChhKSA+PSBvcmQoJzAnKSBhbmQgb3JkKGEpIDw9IG9yZCgnOScpOgoJCXJldHVybiAxCgllbHNlOgoJCXJldHVybiAyCgkJCgkJCmRlZiBjaGVjayhzKToKCW4gPSBsZW4ocykKCW5vdyA9IDAKCXN0ID0gZGVxdWUoW10pCglxdWUgPSBkZXF1ZShbXSkKCQoJZm9yIGkgaW4gcmFuZ2Uobik6CgkJaWYgZW50KHNbaV0pID09IDE6CgkJCWlmIG5vdyA9PSAwOgoJCQkJcXVlLmFwcGVuZCgnMScpCgkJCQlub3cgPSAxCgkJZWxpZiBlbnQoc1tpXSkgPT0gMjoKCQkJcXVlLmFwcGVuZCgnKycpCgkJCW5vdyA9IDAKCQkJCglpZiBsZW4ocXVlKSA9PSAwOgoJCXJldHVybiAwCgkKCW5vdyA9IDAKCQoJd2hpbGUgbGVuKHF1ZSk6CgkJdHAgPSBxdWUucG9wbGVmdCgpCgkJCgkJaWYgbm93ID09IDA6CgkJCWlmIHRwID09ICcrJzoKCQkJCXJldHVybiAwCgkJZWxzZToKCQkJaWYgdHAgPT0gJzEnOgoJCQkJcmV0dXJuIDAKCQkJCQoJCW5vdyA9IDEgLSBub3cKCQkKCWZvciBpIGluIHJhbmdlKG4pOgoJCWlmIHNbaV0gPT0gJygnOgoJCQlzdC5hcHBlbmQoJygnKQoJCWVsaWYgc1tpXSA9PSAnKSc6CgkJCWlmIGxlbihzdCkgPT0gMDoKCQkJCXJldHVybiAwCgkJCQkKCQkJc3QucG9wKCkKCQoJaWYgbGVuKHN0KToKCQlyZXR1cm4gMAoJCQoJZm9yIGkgaW4gcmFuZ2Uobik6CgkJaWYgZW50KHNbaV0pID09IDE6CgkJCWlmIGkgPCBuIC0gMSBhbmQgc1tpICsgMV0gPT0gJygnOgoJCQkJcmV0dXJuIDAKCQkJCQoJCQlpZiBpID4gMCBhbmQgc1tpIC0gMV0gPT0gJyknOgoJCQkJcmV0dXJuIDAKCQllbGlmIGVudChzW2ldKSA9PSAyOgoJCQlpZiBpIDwgbiAtIDEgYW5kIHNbaSArIDFdID09ICcpJzoKCQkJCXJldHVybiAwCgkJCQkKCQkJaWYgaSA+IDAgYW5kIHNbaSAtIDFdID09ICcoJzoKCQkJCXJldHVybiAwCgkJCQkKCXJldHVybiAxCgoKZGVmIGJhY2socyk6CgluID0gbGVuKHMpCgljbnQgPSAwCgluZXdzLCBsbiA9IFtdLCBbXQoJc3QgPSBkZXF1ZShbXSkKCQoJZm9yIGkgaW4gcmFuZ2Uobik6CgkJaWYgZW50KHNbaV0pID09IDE6CgkJCWNudCArPSAxCgkJCW5ld3MuYXBwZW5kKHNbaV0pCgkJZWxzZToKCQkJaWYgY250OgoJCQkJbG4uYXBwZW5kKGNudCkKCQkJCWNudCA9IDAKCQkJCQoJCQlpZiBzW2ldID09ICcoJzoKCQkJCXN0LmFwcGVuZCgnKCcpCgkJCWVsaWYgc1tpXSA9PSAnKSc6CgkJCQl3aGlsZSBsZW4oc3QpIGFuZCBzdFtsZW4oc3QpIC0gMV0gIT0gJygnOgoJCQkJCW5ld3MuYXBwZW5kKHN0LnBvcCgpKQoJCQkJCgkJCQlzdC5wb3AoKQoJCQllbGlmIHNbaV0gPT0gJyonIG9yIHNbaV0gPT0gJy8nOgoJCQkJd2hpbGUgbGVuKHN0KSBhbmQgKHN0W2xlbihzdCkgLSAxXSA9PSAnKicgb3Igc3RbbGVuKHN0KSAtIDFdID09ICcvJyk6CgkJCQkJbmV3cy5hcHBlbmQoc3QucG9wKCkpCgkJCQkJCgkJCQlzdC5hcHBlbmQoc1tpXSkKCQkJZWxzZToKCQkJCXdoaWxlIGxlbihzdCkgYW5kIGVudChzdFtsZW4oc3QpIC0gMV0pOgoJCQkJCW5ld3MuYXBwZW5kKHN0LnBvcCgpKQoJCQkJCQoJCQkJc3QuYXBwZW5kKHNbaV0pCgkJCQkKCWlmIGNudDoKCQlsbi5hcHBlbmQoY250KQoJCgl3aGlsZSBsZW4oc3QpOgoJCW5ld3MuYXBwZW5kKHN0LnBvcCgpKQoJCglyZXR1cm4gIiIuam9pbihuZXdzKSwgbG4KCgpkZWYgY2FsKHMsIGxuKToKCWlkeCwgbG5pZHggPSAwLCAtMQoJc3QsIHRtcCA9IGRlcXVlKFtdKSwgZGVxdWUoW10pCgkKCXdoaWxlIGlkeCA8IGxlbihzKToKCQlpZiBlbnQoc1tpZHhdKSA9PSAxOgoJCQlsbmlkeCArPSAxCgkJCW5vdywgdGVuID0gMCwgMQoJCQkKCQkJZm9yIGkgaW4gcmFuZ2UobG5bbG5pZHhdKToKCQkJCXRtcC5hcHBlbmQoc1tpZHhdKQoJCQkJaWR4ICs9IDEKCQkJCgkJCXdoaWxlIGxlbih0bXApOgoJCQkJbm93ICs9IHRlbiAqIChvcmQodG1wLnBvcCgpKSAtIG9yZCgnMCcpKQoJCQkJdGVuICo9IDEwCgkJCQkKCQkJc3QuYXBwZW5kKG5vdykKCQllbHNlOgoJCQl0cDIgPSBzdC5wb3AoKQoJCQl0cCA9IHN0LnBvcCgpCgkJCQoJCQlpZiBzW2lkeF0gPT0gJysnOgoJCQkJdHAgKz0gdHAyCgkJCWVsaWYgc1tpZHhdID09ICctJzoKCQkJCXRwIC09IHRwMgoJCQllbGlmIHNbaWR4XSA9PSAnKic6CgkJCQl0cCAqPSB0cDIKCQkJZWxzZToKCQkJCXRwIC8vPSB0cDIKCQkJCQoJCQlzdC5hcHBlbmQodHApCgkJCWlkeCArPSAxCgkJCQoJcmV0dXJuIHN0LnBvcCgpCgoKcyA9IGlucHV0KCkKCmlmIGNoZWNrKHMpID09IDA6CglwcmludCgiUk9DSyIpCmVsc2U6CgluZXdzLCBsbiA9IGJhY2socykKCQoJcHJpbnQoY2FsKG5ld3MsIGxuKSkK