import java.util.Collections;
import java.util.LinkedList;
import java.util.Scanner;
/**
* Created by 一翎飞仙 on 2017/9/8.
*/
public class Main {
private static int count=1;
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s=in.next();
LinkedList<Character> list=new LinkedList<>();
String s1="";
int num=0;
int sum=1;
for (int j=0;j<s.length();j++){
if (s.charAt(j)=='(')
num++;
else
num--;
s1+=s.charAt(j);
//如果s1两边对称,则直接算其尖括号的方法数
if (num==0&&j!=0){
Huiwen(s1,list);
s1="";
//相乘
sum*=count;
count=1;
}
}
System.out.println(sum);
}
//
private static void Huiwen(String s,LinkedList<Character> list){
for (int i=0;i<s.length()/2;i++)
list.add(s.charAt(i));
CountNum(list);
}
//
private static void CountNum(LinkedList<Character> list) {
if (list.size()==0)
return;
int num=1;
for (int i=0;i<list.size()-1;i++){
if (list.get(i)==list.get(i+1))
num++;
}
count*=num;
list.removeFirst();
CountNum(list);
}
}