#include<bits/stdc++.h>
using namespace std;
int ans;
int n; string a;
int st[100];
int dfs(int end,string now)
{
if(end==n)
{
ans++;
return 0;
}
for(int i=0;i<n;i++)
{
if(end==0||!st[i]&&a[i]!=now[end-1])
{
if(i>=1&&a[i]==a[i-1]&&!st[i-1]) //当前数和前一个数相同,并且前一个数已经用过并回溯
{
continue;
}
st[i]=1;
dfs(end+1,now+a[i]);
st[i]=0;
}
}
return 0;
}
int main() {
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>a;
sort(a.begin(), a.end());
n=a.length();
string now="";
dfs(0,now);
cout<<ans;
}
// 64 位输出请用 printf("%lld")