#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include using namespace std; using namespace atcoder; using ll=long long; using P=pair; void IO(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); } string s; ll n; ll ans=0; void dfs(ll idx,ll c1,ll c2,ll c3){ if(idx==n){ if(c1&&c2&&c3){ ans++; } return; } if(s[idx]=='l'){ dfs(idx+1,c1+1,c2,c3); dfs(idx+1,c1,c2+1,c3); }else if(s[idx]=='o'){ dfs(idx+1,c1+1,c2,c3); dfs(idx+1,c1,c2+1,c3); }else if(s[idx]=='a'){ dfs(idx+1,c1+1,c2,c3); dfs(idx+1,c1,c2,c3+1); }else if(s[idx]=='s'){ dfs(idx+1,c1+1,c2,c3); dfs(idx+1,c1,c2,c3+1); }else{ dfs(idx+1,c1+1,c2,c3); } } int main(){ IO(); cin>>s; n=s.size(); dfs(0,0,0,0); cout<