# -*- coding: utf-8 -*-
"""
Created on Wed Apr 10 18:53:35 2019
@author: CommissarMa
华为今天的笔试题:
给定一个字符串,包含数字,大小写字母及括号(大括号、中括号、小括号),括号可以嵌套,即括号里可以出现数字何括号
按照如下规则对字符串进行展开,不需要考虑括号成对不匹配问题,用例保证括号匹配,同时用例保证每个数字后面都有括号,
不用考虑数字后面没有括号的情况
1)数字表示括号里的字符串重复的次数,展开后的字符串不包括括号。
2)将字符串进行逆序展开
示例1:
输入:abc3(A)
输出:AAAcba
"""
"""
我的解题思路:
1)对于读到的字符串、数字和左括号,依次入栈;
2)然后读到右括号时,从栈中pop出到左括号为止的所有字符串并进行拼接,然后pop出对应的数字进行,相乘得到的新字符串再入栈
3)重复1)和2),即为正序的解,再逆序即可。
"""
string=input()
str_list=list(string)
stack=[]
temp_str=''
temp_num=''
for c in str_list:
if 'a'<=c<='z' or 'A'<=c<='Z':
temp_str+=c
elif '0'<=c<='9':
if temp_str!='':
stack.append(temp_str)
temp_str=''
temp_num+=c
elif c in ['(','[','{']:
stack.append(int(temp_num))
temp_num=''
stack.append(c)
elif c in [')',']','}']:
if temp_str!='':
stack.append(temp_str)
temp_str=''
new_sub_str=''
last_str=stack.pop()
while last_str not in ['(','[','{']:
new_sub_str=last_str+new_sub_str
last_str=stack.pop()
last_kuohao=last_str
last_num=stack.pop()
stack.append(last_num*new_sub_str)
result=''.join(stack)+temp_str
print(result[::-1])