#include <bits/stdc++.h>
using namespace std;

char a[10];
int st[10];
vector<int> v;
vector<int> m;
int ans[5];
int len ;
int le;
int out;

void dfs(int x)
{
    if(x == 4){

        int cnt =0 ;
        for(int i = 0 ; i < le; i++){
            for(int j = 0; j < 4 ; j++){
                if( ans[j] == m[i]){
                    cnt++;
                    break;
                }
            }
        }
        if(cnt == le){
            out++;
        }

    }
    else{

        for(int i =0 ; i < len ; i++){
            if( ans[x] == -1){
                ans[x] = v[i];
                dfs(x+1);
                ans[x] = -1;
            }
        }

    }
}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    fill(ans,ans+5,-1);
    int cnt_x=0,cnt_o=0,cnt_q= 0;
    for(int i =0 ; i < 10 ; i++){
        cin >> a[i];
        if( a[i] == 'o' ){
            cnt_o++;
            v.push_back(i);
            m.push_back(i);
        }
        else if(a[i]=='x'){
            cnt_x++;
        }
        else{
            cnt_q++;
            v.push_back(i);
        }
    }
    len = v.size();
    le = m.size();
    if( cnt_o > 4 ){
        cout << 0 << endl;
    }
    else{
        dfs(0);
        cout << out << endl;
    }

    return 0;
}

#include<bits/stdc++.h>
using namespace std;

int64_t kai(int n){
    if(n==0)return 1;
    return n*kai(n-1);
}

int main(){
    string S;
    cin>>S;
    int maru=0;
    int batsu=0;
    for(int i=0;i<10;i++) {
        if(S.at(i)=='o') maru++;
        if(S.at(i)=='x') batsu++;
    }
    if(maru>4) {cout<<0<<endl;return 0;}
    int ans=0;
    for(int i=0;i<=maru;i++){
        ans+=pow(-1,i)*pow(10-batsu-i,4)*kai(maru)/(kai(i)*kai(maru-i));
    }
    cout<<ans<<endl;
    return 0;
}