#include<stdio.h>
#include<string.h>
#define MAX 100
int isValid(char *s)
{
    for(int i = 0; i < strlen(s); i++)
    {
        if(s[i] != '(' && s[i] !=')')
        {
            return 0;
        }
    }
    return 1;
}
int scoreofparantheses(char *s)
{
    int stack[max];
    int top = -1;
    stack[++top] = 0;
    for(int i = 0; i<strlen(s); i++)
    {
        if(s[i] =='(')
        {
            stack[++top] = 0;
        }
        else
        {
            int v = stack[top--];
            int w = stack[top--];
            int add = (v == 0) ? 1 : 2 *v;
            stack[++top] = w + add;
            
        }
    }
    return stack[top];
}
int main()
{
    char s[max];
    scanf("%s",s);
    if(!isvalid(s))
    {
        printf("Invalid input\n");
        return 0;
    }
    int result = scoreofparentheses(s);
    printf("%d\n,result");
    return 0;
}