/*
#include<stdio.h>
int main()
{
char str[50001];
int num=0,n,len,num2=0;
scanf("%s",str);
len=strlen(str);
for(n=0;n<len;n++)
{
if(str[n]=='(')
{
num++;
}
else if(str[n]==')')
{
num--;
if(num<0)
{
printf("bad");
break;
}
}
}
if(num==0)
{
printf("good");
}
else if(num>0)
{
printf("bad");
}
return 0;
}
*/
//))((
#include<stdio.h>
#include<string.h>
int main()
{
char str[31];
int len,n,num=0,num2=0,a,b;
scanf("%s",str);
len = strlen(str);
for(n=0;n<len;n++)
{
if(str[n]=='(' && str[n+1]==')')
{
num2+=2;
printf("%d ",num2);
}
else if(str[n]=='[' && str[n+1]==']')
{
num2+=3;
printf("%d ",num2);
}
if(str[n]=='(' && str[n+1]=='(' || str[n]=='(' && str[n]=='[')
{
a++;
}
else if(str[n]=='[' && str[n+1]=='[' || str[n]=='[' && str[n]=='(')
{
b++;
}
if(str[n+1]==')' && str[n]==')' || str[n]==')' && str[n]==']')
{ num2 = num2 * 2;
a++;
printf("%d ",num2);
}
else if(str[n+1]==']' && str[n]==']' || str[n]==']' && str[n]==')')
{ num2 = num2 * 3;
b++;
printf("%d ",num2);
}
}
printf("%d",num2);
return 0;
}