#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<string>
#include<stack>
#include<queue>
#include<map>
#include<cstdlib>
#include<set>
#include<ctime>
#include<vector>
#include<cstdio>
#include<list>
using namespace std;
typedef long long ll;
int INF=2147483647;
int inf=-2147483648;
#define read(x) scanf("%d",&x);
#define fo(i,n) for(int i=1;i<=(n);i++)
#define me(a) memset(a,0,sizeof(a));
#define one(x) cout<<(x)<<endl;
#define two(a,b) cout<<(a)<<" "<<(b)<<endl;
int jiecheng(int r)
{
int p=1;
for(int x=r;x>=1;x--)
{
p=p*x;
}
return p;
}
int a[100005];
int main()
{
int cnt;
int ans=1;
string s;
me(a);
cin>>s;
for(int j=0;j<s.length();j++)
{
a[j]=s[j]-'a'+1;
}
for(int i=0;i<s.length();i++)
{
cnt=0;
for(int j=i+1;j<s.length();j++)
{
if(a[i]>a[j])
cnt++;
}
ans+=(cnt*(jiecheng(s.length()-i-1)));
}
one(ans);
return 0;
}