def isfloat(num):
try:
float(num)
return True
except ValueError:
return False
file=open(input('.gar: ')+'.gar','r').readlines();import time as t
for i in range(len(file)):
if'\n'in file[i]:
file[i]=file[i][:-1]
stack=[]
j=0
while j < len(file):
try:
inp=''
k=file[j]
error='1'
if k[0]=='>':
error='0'
stack+=[k.count('>')]
if k[0]=='<':
error='0'
stack+=[-k.count('<')]
if k=='+':
error='0'
stack+=[stack[-1]+stack[-2]]
del stack[-2]
del stack[-2]
if k=='-':
error='0'
stack+=[stack[-1]-stack[-2]]
del stack[-2]
del stack[-2]
if k=='*':
error='0'
stack+=[stack[-1]*stack[-2]]
del stack[-2]
del stack[-2]
if k=='/':
error='0'
stack+=[stack[-1]/stack[-2]]
del stack[-2]
del stack[-2]
if k=='%':
error='0'
stack+=[stack[-1]%stack[-2]]
del stack[-2]
del stack[-2]
if k=='!':
error='0'
print(stack[-1])
del stack[-1]
if k=='!!':
error='0'
print(' '.join(str(z) for z in stack))
if k==',':
error='0'
print(chr(stack[-1]))
del stack[-1]
if k=="|":
error='0'
stack+=[-stack[-1]]
del stack[-2]
if k==',,':
error='0'
print(''.join(chr(x) for x in stack))
if k=='~':
error='0'
del stack[-1]
if k=='~~':
error='0'
stack=[]
if k==':':
error='0'
stack+=[stack[-1]]
if k=='::':
error='0'
stack+=[stack[-1]]
stack[-2]=stack[-3]
if k=='&':
error='0'
stack[-1],stack[-2]=stack[-2],stack[-1]
if k=='&&':
error='0'
stack=stack[::-1]
if k[0] in '{[(':
error='0'
if k[0]=='#':
error='0'
if k[0]=='}':
error='0'
j=file.index('{'*k.count('}'))
t.sleep(0.1)
if k[0]==')':
error='0'
j=file.index('('*k.count(')'))
if k[0]==']':
error='0'
if not stack[-1]==0:
j=file.index('['*k.count(']'))
if k=='?':
error='0'
while not isfloat(inp):
inp=input('> ')
stack+=[float(inp)]
if k=='??':
error='0'
while not len(inp)==1:
inp=input('> ')
stack+=[ord(inp)]
if k=='???':
error='0'
stack+=[ord(x) for x in [*input('> ')]]
if k=='f':
error='0'
stack=(ord(x) for x in [*(''.join(open(''.join(chr(x) for x in stack),'r').readlines()))])
if k=='v':
error='0'
save1=list(stack)
if k=='vv':
error='0'
stack+=save1
if k=='vvv':
error='0'
stack=list(save1)
if k=='^':
error='0'
save2=list(stack)
if k=='^^':
error='0'
stack+=save2
if k=='^^^':
error='0'
stack=list(save2)
if k=='$':
error='0'
save3=list(stack)
if k=='$$':
error='0'
stack+=save3
if k=='$$$':
error='0'
stack=list(save3)
if k=='"':
error='0'
stack+=(ord(x) for x in str(stack[-1]))
if error=='1':
print("{ERROR}")
break
j+=1
#print(stack)
except:
print("{ERROR}")
break
t.sleep(10000)
ZGVmIGlzZmxvYXQobnVtKToKICAgIHRyeToKICAgICAgICBmbG9hdChudW0pCiAgICAgICAgcmV0dXJuIFRydWUKICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgIHJldHVybiBGYWxzZQpmaWxlPW9wZW4oaW5wdXQoJy5nYXI6ICcpKycuZ2FyJywncicpLnJlYWRsaW5lcygpO2ltcG9ydCB0aW1lIGFzIHQKZm9yIGkgaW4gcmFuZ2UobGVuKGZpbGUpKToKICAgIGlmJ1xuJ2luIGZpbGVbaV06CiAgICAgICAgZmlsZVtpXT1maWxlW2ldWzotMV0Kc3RhY2s9W10Kaj0wCndoaWxlIGogPCBsZW4oZmlsZSk6CiAgICB0cnk6CiAgICAgICAgaW5wPScnCiAgICAgICAgaz1maWxlW2pdCiAgICAgICAgZXJyb3I9JzEnCiAgICAgICAgaWYga1swXT09Jz4nOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgc3RhY2srPVtrLmNvdW50KCc+JyldCiAgICAgICAgaWYga1swXT09JzwnOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgc3RhY2srPVstay5jb3VudCgnPCcpXQogICAgICAgIGlmIGs9PScrJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHN0YWNrKz1bc3RhY2tbLTFdK3N0YWNrWy0yXV0KICAgICAgICAgICAgZGVsIHN0YWNrWy0yXQogICAgICAgICAgICBkZWwgc3RhY2tbLTJdCiAgICAgICAgaWYgaz09Jy0nOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgc3RhY2srPVtzdGFja1stMV0tc3RhY2tbLTJdXQogICAgICAgICAgICBkZWwgc3RhY2tbLTJdCiAgICAgICAgICAgIGRlbCBzdGFja1stMl0KICAgICAgICBpZiBrPT0nKic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjays9W3N0YWNrWy0xXSpzdGFja1stMl1dCiAgICAgICAgICAgIGRlbCBzdGFja1stMl0KICAgICAgICAgICAgZGVsIHN0YWNrWy0yXQogICAgICAgIGlmIGs9PScvJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHN0YWNrKz1bc3RhY2tbLTFdL3N0YWNrWy0yXV0KICAgICAgICAgICAgZGVsIHN0YWNrWy0yXQogICAgICAgICAgICBkZWwgc3RhY2tbLTJdCiAgICAgICAgaWYgaz09JyUnOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgc3RhY2srPVtzdGFja1stMV0lc3RhY2tbLTJdXQogICAgICAgICAgICBkZWwgc3RhY2tbLTJdCiAgICAgICAgICAgIGRlbCBzdGFja1stMl0KICAgICAgICBpZiBrPT0nISc6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBwcmludChzdGFja1stMV0pCiAgICAgICAgICAgIGRlbCBzdGFja1stMV0KICAgICAgICBpZiBrPT0nISEnOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgcHJpbnQoJyAnLmpvaW4oc3RyKHopIGZvciB6IGluIHN0YWNrKSkKICAgICAgICBpZiBrPT0nLCc6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBwcmludChjaHIoc3RhY2tbLTFdKSkKICAgICAgICAgICAgZGVsIHN0YWNrWy0xXQogICAgICAgIGlmIGs9PSJ8IjoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHN0YWNrKz1bLXN0YWNrWy0xXV0KICAgICAgICAgICAgZGVsIHN0YWNrWy0yXQogICAgICAgIGlmIGs9PScsLCc6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBwcmludCgnJy5qb2luKGNocih4KSBmb3IgeCBpbiBzdGFjaykpCiAgICAgICAgaWYgaz09J34nOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgZGVsIHN0YWNrWy0xXQogICAgICAgIGlmIGs9PSd+fic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjaz1bXQogICAgICAgIGlmIGs9PSc6JzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHN0YWNrKz1bc3RhY2tbLTFdXQogICAgICAgIGlmIGs9PSc6Oic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjays9W3N0YWNrWy0xXV0KICAgICAgICAgICAgc3RhY2tbLTJdPXN0YWNrWy0zXQogICAgICAgIGlmIGs9PScmJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHN0YWNrWy0xXSxzdGFja1stMl09c3RhY2tbLTJdLHN0YWNrWy0xXQogICAgICAgIGlmIGs9PScmJic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjaz1zdGFja1s6Oi0xXQogICAgICAgIGlmIGtbMF0gaW4gJ3tbKCc6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgIGlmIGtbMF09PScjJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgaWYga1swXT09J30nOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgaj1maWxlLmluZGV4KCd7JyprLmNvdW50KCd9JykpCiAgICAgICAgICAgIHQuc2xlZXAoMC4xKQogICAgICAgIGlmIGtbMF09PScpJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIGo9ZmlsZS5pbmRleCgnKCcqay5jb3VudCgnKScpKQogICAgICAgIGlmIGtbMF09PSddJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIGlmIG5vdCBzdGFja1stMV09PTA6CiAgICAgICAgICAgICAgICBqPWZpbGUuaW5kZXgoJ1snKmsuY291bnQoJ10nKSkKICAgICAgICBpZiBrPT0nPyc6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICB3aGlsZSBub3QgaXNmbG9hdChpbnApOgogICAgICAgICAgICAgICAgaW5wPWlucHV0KCc+ICcpCiAgICAgICAgICAgIHN0YWNrKz1bZmxvYXQoaW5wKV0KICAgICAgICBpZiBrPT0nPz8nOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgd2hpbGUgbm90IGxlbihpbnApPT0xOgogICAgICAgICAgICAgICAgaW5wPWlucHV0KCc+ICcpCiAgICAgICAgICAgIHN0YWNrKz1bb3JkKGlucCldCiAgICAgICAgaWYgaz09Jz8/Pyc6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjays9W29yZCh4KSBmb3IgeCBpbiBbKmlucHV0KCc+ICcpXV0KICAgICAgICBpZiBrPT0nZic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjaz0ob3JkKHgpIGZvciB4IGluIFsqKCcnLmpvaW4ob3BlbignJy5qb2luKGNocih4KSBmb3IgeCBpbiBzdGFjayksJ3InKS5yZWFkbGluZXMoKSkpXSkKICAgICAgICBpZiBrPT0ndic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzYXZlMT1saXN0KHN0YWNrKQogICAgICAgIGlmIGs9PSd2dic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjays9c2F2ZTEKICAgICAgICBpZiBrPT0ndnZ2JzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHN0YWNrPWxpc3Qoc2F2ZTEpCiAgICAgICAgaWYgaz09J14nOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgc2F2ZTI9bGlzdChzdGFjaykKICAgICAgICBpZiBrPT0nXl4nOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgc3RhY2srPXNhdmUyCiAgICAgICAgaWYgaz09J15eXic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjaz1saXN0KHNhdmUyKQogICAgICAgIGlmIGs9PSckJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHNhdmUzPWxpc3Qoc3RhY2spCiAgICAgICAgaWYgaz09JyQkJzoKICAgICAgICAgICAgZXJyb3I9JzAnCiAgICAgICAgICAgIHN0YWNrKz1zYXZlMwogICAgICAgIGlmIGs9PSckJCQnOgogICAgICAgICAgICBlcnJvcj0nMCcKICAgICAgICAgICAgc3RhY2s9bGlzdChzYXZlMykKICAgICAgICBpZiBrPT0nIic6CiAgICAgICAgICAgIGVycm9yPScwJwogICAgICAgICAgICBzdGFjays9KG9yZCh4KSBmb3IgeCBpbiBzdHIoc3RhY2tbLTFdKSkKICAgICAgICBpZiBlcnJvcj09JzEnOgogICAgICAgICAgICBwcmludCgie0VSUk9SfSIpCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgais9MQogICAgICAgICNwcmludChzdGFjaykKICAgIGV4Y2VwdDoKICAgICAgICBwcmludCgie0VSUk9SfSIpCiAgICAgICAgYnJlYWsKdC5zbGVlcCgxMDAwMCk=