#include <stdio.h>
#include <string.h>
char s[35],stack[35];
int top=0,c=0,rhq=1,sum=0,cnt=0,cnt1=0,q=0;
void push(char k)
{
if (strlen(s)>=top)
{
stack[top]=k;
top++;
}
}
void pop()
{
if (top>=0)
{
top--;
stack[top]='0';
}
}
void print()
{
if (top==0&&cnt==0&&cnt1==0)
{
if (q>0)
{
printf("%d",rhq+sum);
}
else
{
printf("%d",sum);
}
}
else
{
printf("0");
}
}
int main()
{
int i,j;
scanf("%s",s);
for (i=0; i<strlen(s); i++)
{
if (s[i]=='(')
{
push(s[i]);
cnt++;
}
else if (s[i]=='[')
{
push(s[i]);
cnt1++;
}
else if (s[i]==')')
{
pop();
cnt--;
if (s[i-1]=='('&&top==0)
{
sum+=2;
}
else
{
rhq*=2;
q++;
}
}
else if (s[i]==']')
{
pop();
cnt1--;
if (s[i-1]=='['&&top==0)
{
sum+=3;
}
else
{
rhq*=3;
q++;
}
}
}
print();
}