code
string base;
ll N;
ll cnt=0;
bool is_ok(string& s){
bool exist_char=0;
bool exist_num=0;
bool exist_sign=0;
for(char c : s){
if('a'<=c && c<='z')exist_char=1;
if(c=='1' or c=='0')exist_num=1;
if(c=='@' or c=='$')exist_sign=1;
}
return exist_char * exist_num * exist_sign;
}
void dfs(string s){
if(s.size()==N){
if(is_ok(s)){
cnt++;
}
return;
}
ll idx = s.size();
char c = base[idx];
s.push_back(c);
dfs(s);
s.pop_back();
if(c=='l'){
s.push_back('1');
dfs(s);
s.pop_back();
}
if(c=='o'){
s.push_back('0');
dfs(s);
s.pop_back();
}
if(c=='a'){
s.push_back('@');
dfs(s);
s.pop_back();
}
if(c=='s'){
s.push_back('$');
dfs(s);
s.pop_back();
}
}
int main(){
cin.tie(0);
ios::sync_with_stdio(false);
cin>>base;
N=base.size();
dfs("");
p(cnt);
return 0;
}