|
|
@@ -0,0 +1,37 @@ |
|
|
|
import sys |
|
|
|
|
|
|
|
|
|
|
|
def unzip_len(text, recurse=False): |
|
|
|
ptr = 0 |
|
|
|
size = 0 |
|
|
|
while ptr < len(text): |
|
|
|
if text[ptr] == '(': |
|
|
|
ptr += 1 |
|
|
|
|
|
|
|
l1 = ptr + text[ptr:].index('x') |
|
|
|
l2 = ptr + text[ptr:].index(')') |
|
|
|
span = int(text[ptr:l1]) |
|
|
|
repeat = int(text[l1 + 1:l2]) |
|
|
|
|
|
|
|
l3 = l2 + 1 |
|
|
|
l4 = l3 + span |
|
|
|
frag = text[l3:l4] |
|
|
|
length = unzip_len(frag, True) if recurse else len(frag) |
|
|
|
|
|
|
|
ptr = l4 |
|
|
|
size += int(repeat) * length |
|
|
|
|
|
|
|
else: |
|
|
|
ptr += 1 |
|
|
|
size += 1 |
|
|
|
|
|
|
|
return size |
|
|
|
|
|
|
|
|
|
|
|
text = sys.stdin.read().strip() |
|
|
|
|
|
|
|
# ans1 = unzip_len(text) |
|
|
|
# print(ans1) |
|
|
|
|
|
|
|
ans2 = unzip_len(text, recurse=True) |
|
|
|
print(ans2) |