**#include<bits/stdc++.h>
using namespace std;
int main(){
string a,b="",l;//a表示原字符串,b是输出的字符串,l是每层“【】”里的字符串
cin>>a;
int i=0,j=0,num=0,flag;//i,j表示从里到外每个【和】的下标
for(j=0;j<a.length();j++){
if(a[j]=='['){
i=j;
num++;
}
if(a[j]==']')break;
}
if(num==0)j=-1;
int k;
int pi=i,pj=j;//pi和pj保存前一次的数据
while(num>0){
int i1=i+2;
if('0'<=a[i1]&&a[i1]<='9'){
l="";
k=(a[i+1]-'0')*10+(a[i1]-'0');
flag=0;
for(int o=i+3;o<j;o++){
if(flag==0&&a[o]!='['&&a[o]!=']'){
l+=a[o];
}
if(flag==2){
l+=a[o];
}
if(o==pi){
l+=b;
flag=1;
}
if(o==pj){
flag=2;
}
}
b=l;
for(int o=1;o<k;o++)b+=l;
}else{
l="";
k=a[i+1]-'0';
flag=0;
for(int o=i+2;o<j;o++){
if(flag==0&&a[o]!='['&&a[o]!=']'){
l+=a[o];
}
if(flag==2){
l+=a[o];
}
if(o==pi){
l+=b;
flag=1;
}
if(o==pj){
flag=2;
}
}
b=l;
for(int o=1;o<k;o++)b+=l;
}
num--;
if(num>0){
pi=i,pj=j;
i--;
j++;
while(a[i]!='[')i--;
while(a[j]!=']')j++;
}
}
for(int o=i-1;o>=0;o--)b=a[o]+b;
for(int o=j+1;o<a.length();o++)b+=a[o];
cout<<b;
return 0;
}