#include <iostream>
#include <string>
const long long N = 114514;
using namespace std;
string operate(string str)
{
bool hasoperate = false,hastwonum = false;
string str1,str2,str3;
int a = 0;
int len = str.size();
for(int i=0;i<len;i++)
{
if(str[i] == '['&& str[i+1] > '0' && str[i+1] <= '9')
{
hasoperate = true;
if(str[i+2] >= '0' && str[i+2] <= '9')
{
i++;
hastwonum = true;
}
for(int j=i+2;j<len-1;j++)
{
str2+=str[j];
if(j+2<len)
{
if(str[j+1] == ']'&&str[j+2] != ']')
{
a = j+2;
for(a;a<len;a++)
str3+=str[a];
break;
}
}
if(str[j+1] == ']'&&j+1 == len-1)
{
break;
}
}
if(hastwonum)
{
for(int j=0;j<(str[i] - '0')*10+(str[i+1] - '0');j++)
str1+=str2;
}
else
for(int j=0;j<str[i+1] - '0';j++)
str1+=str2;
}
if(hasoperate) break;
str1 += str[i];
}
str1 += str3;
if(!hasoperate) return str1;
else return operate(str1);
}
int main()
{
string str;
cin >> str;
cout << operate(str);
}