#include #include using namespace std;using namespace atcoder;using vst = vector;using ll = long long; using ld = long double;using pll = pair;using vll = vector;using vvll = vector; #define rep(i, n) for (ll i = 0; i < n; i++) #define repp(i,k,n) for (ll i = k; i < n; i++) #define per(i,s,e) for(ll i = s; i >= e; i--) #define all(v) v.begin(),v.end() #define no() {cout << "No" << endl; return 0;} #define yes() {cout << "Yes" << endl;return 0;} #define CHECK(a) a ? cout << "Yes" << endl : cout << "No" << endl #define UNOmap unordered_map #define UNOset unordered_set #define ASC(T) T,vector,greater templatevoid in(T&... a){(cin >> ... >> a);} templatevoid out(const T& a, const Ts&... b){cout << a;((cout << ' ' << b), ...);cout << '\n';} void vin(vll &v){for(ll i = 0; i < (ll)v.size(); i++)in(v[i]);} void vout(vll &v){for(ll i = 0; i < (ll)v.size(); i++) cout << v[i] << ' ';} ll INF = 1LL << 62;ll MODD = 998244353;ll MOD = 1000000007; //---------------------------------------------- int main(){ string s; in(s); ll ans = 0; UNOset st; for(ll b = 0; b < (2 << 8); b++){ bitset<8> x(b); string t = s; ll cnt_sym = 0; ll cnt_cha = 8; ll cnt_num = 0; rep(i,8){ if(x[i] == 1){ if(t[i] == 'l'){ cnt_num++; cnt_cha--; t[i] = '1'; } if(t[i] == 'o'){ cnt_num++; cnt_cha--; t[i] = '0'; } if(t[i] == 'a'){ cnt_cha--; cnt_sym++; t[i] = '@'; } if(t[i] == 's'){ cnt_cha--; cnt_sym++; t[i] = '$'; } } } if(cnt_sym != 0 and cnt_cha != 0 and cnt_num != 0){ st.insert(t); } } out(st.size()); }