#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

typedef long long LL;

char s[25];
LL f[25][25][25];

int main() {
	while(1==scanf("%s", s+1)) {
		int n = strlen(s+1);
		memset(f, 0, sizeof(f));
		f[0][0][0] = 1;
		for(int i = 1; i <= n; ++i) {
			for(int j = 0; j < i; ++j) {
				for(int k = 0; k < i; ++k) {
					// j empty position, k number left
					if(s[i] == '+') {
						f[i][j+1][k+1] += f[i-1][j][k];
						f[i][j][k] +=  k * f[i-1][j][k];
					} else {
						f[i][j][k] += j * f[i-1][j][k];
						if(j && k) f[i][j-1][k-1] += j * k * f[i-1][j][k];
					}
				}
			}
		}
		printf("%I64d\n", f[n][0][0]);
	}
}
