#include <bits/stdc++.h>
 
using namespace std;
typedef long long ll;
typedef vector<int> VI;
typedef vector<long long> Vll;
ll mm=1000000000;ll MM=mm+7;
#define rep(i, n) for(int i=0;i<n;i++)
#define PI 3.141592653589793


int main(){
   string s;
   cin >> s;
   ll cnto=0;
   ll cntx=0;
   ll cnt=0;
   rep(i,10){
       if(s[i]=='o')cnto++;
       else if(s[i]=='x')cntx++;
       else cnt++;
   }
   ll ans=1;
   if(cnto>4 || cntx==10)ans=0;
   else if(cnto==4){
       ans=4*3*2*1;
   }
   else if(cnto==3){
       ans=36+4*3*2*1*cnt;
   }
   else if(cnto==2){
       ans=14+cnt*6*4+cnt*cnt*12;
   }
   else if(cnto==1){
       ans=1+cnt*4+cnt*cnt*6+cnt*cnt*cnt*4;
   }
   else{
       ans=cnt*cnt*cnt*cnt;
   }
   cout << ans << endl;
}








#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)


int main(){
   string s;
   cin >> s;
   ll knt = 0;

   for(int i = 0;i < 10;i++){
       for(int j = 0;j < 10;j++){
          for(int k = 0;k < 10;k++){
              for(int l = 0;l < 10;l++){
                string t = s;
                bool flag = true;
                if(t.at(i) == 'x') flag = false;
                if(t.at(j) == 'x') flag = false;
                if(t.at(k) == 'x') flag = false;
                if(t.at(l) == 'x') flag = false;
                t.at(i) = 'x';
                t.at(j) = 'x';
                t.at(k) = 'x';
                t.at(l) = 'x';
                rep(y,10){
                    if(t.at(y) == 'o') flag = false;
                }
                if(flag) knt++;

             }
          }
       }
   }

   cout << knt << endl;
}