#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#define MAX_LEN 32
int main(){
    char s[MAX_LEN];
    int stack[MAX_LEN];
    int top=-1;
    int score=0;
    int len;
    int i;
    bool is_valid=true;
    if(fgets(s,sizeof(s),stdin)==NULL){
        printf("Error reading input");
        return 0;
    }
    len=strlen(s);
    if(len>0 && s[len-1]=='\n'){
        s[len-1]='\0';
        len--;
    }
    for(i=0;i<len;i++){
        if(s[i]!='(' && s[i]!=')'){
            is_valid=false;
            break;
        }
    }
    if(!is_valid){
        printf("Invalid input");
        return 0;
    }
    for(i=0;i<n;i++){
        if(s[i]=='('){
            top++;
            stack[top]=score;
            score=0;
        }else{
            int parent_score=stack[top];
            top--;
            int current_value;
            if(score==0){
                current_value=1;
            }else{
                current_value=2*score;
            }
            score=parent_score_current_value;
        }
    }
    printf("%d",score);
}