import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author cteam028
*/
public class Main {
/**
* @param args the command line arguments
*/
while((line = br.readLine()) != null) {
final int n = line.length();
int[] vals = new int[n / 2 + 2];
int[] newvals = new int[n/2 + 2];
int[] tmp;
vals[0] = 1;
for(int i = 0; i < n; i++)
{
switch(line.charAt(i))
{
case '.':
five(vals, newvals);
tencp(vals, newvals);
break;
case '(':
five(vals, newvals);
break;
case ')':
ten(vals, newvals);
break;
}
tmp = vals;
vals = newvals;
newvals = tmp;
}
}
}
public static void five(int[] vals, int[] newvals)
{
for(int i = 0; i < vals.length - 1; i++)
newvals[i+1] = vals[i];
newvals[0] = 0;
}
public static void ten(int[] vals, int[] newvals)
{
for(int i = 1; i < vals.length; i++)
newvals[i-1] = vals[i];
newvals[vals.length - 1] = 0;
}
public static void tencp(int[] vals, int[] newvals)
{
for(int i = 1; i < vals.length; i++)
{
newvals[i-1] += vals[i];
newvals[i-1] = newvals[i-1] % 1000000;
}
}
}