2019-12-26 09:56:31 +00:00
|
|
|
dyads = "*+-/%@"
|
2019-12-26 09:23:20 +00:00
|
|
|
monads = list(map(chr, range(ord("A"), ord("Z") + 1)))
|
|
|
|
nilads = "1234567890"
|
|
|
|
|
2019-12-26 09:48:18 +00:00
|
|
|
source = input()[::-1]
|
2019-12-26 09:23:20 +00:00
|
|
|
arities = []
|
|
|
|
for char in source:
|
|
|
|
if char in dyads:
|
|
|
|
arities.append((2, char))
|
|
|
|
|
|
|
|
elif char in monads:
|
|
|
|
arities.append((1, char))
|
|
|
|
|
|
|
|
else:
|
|
|
|
arities.append((0, char))
|
|
|
|
|
|
|
|
exprs = []
|
2019-12-26 09:48:18 +00:00
|
|
|
expr = []
|
2019-12-26 09:56:31 +00:00
|
|
|
patterns = ["020", "021", "022", "02", "10", "11", "12", "20", "21", "22",
|
|
|
|
"102", "110", "111", "112", "120", "121", "122",
|
|
|
|
"202", "210", "211", "212", "220", "221", "222"]
|
2019-12-26 09:48:18 +00:00
|
|
|
pattern = ""
|
2019-12-26 09:23:20 +00:00
|
|
|
while len(arities):
|
2019-12-26 09:56:31 +00:00
|
|
|
if pattern in patterns and pattern + str(arities[-1][0]) not in patterns:
|
2019-12-26 09:48:18 +00:00
|
|
|
exprs += [pattern, expr]
|
|
|
|
expr = []
|
|
|
|
pattern = ""
|
|
|
|
|
|
|
|
pattern += str(arities[-1][0])
|
|
|
|
expr.append(arities[-1][1])
|
|
|
|
arities.pop()
|
2019-12-26 09:23:20 +00:00
|
|
|
|
2019-12-26 09:56:31 +00:00
|
|
|
if expr and pattern in patterns:
|
|
|
|
exprs += [pattern, expr]
|
|
|
|
expr = []
|
|
|
|
pattern = ""
|
2019-12-26 09:23:20 +00:00
|
|
|
|
|
|
|
print(exprs)
|