#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define int long long
#define IOS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define mod 1000000007
#define N 100007
#define all(x) x.begin(),x.end()
ll binmultiply(ll a,ll b,ll m){ll res=0;while(b>0){if(b&1)res=(res+a)%m;a=(a+a)%m;b=b>>1;}return res;}
ll expo(ll a, ll b, ll m) {ll res = 1; while (b > 0) {if (b & 1)res = binmultiply(res,a,m)% m; a = binmultiply(a,a,m) % m; b = b >> 1;} return res;}
ll mminvprime(ll a, ll b) {return expo(a, b - 2, b);}
ll mod_add(ll a, ll b, ll m) {a = a % m; b = b % m; return (((a + b) % m) + m) % m;}
ll mod_mul(ll a, ll b, ll m) {a = a % m; b = b % m; return (((a * b) % m) + m) % m;}
ll mod_sub(ll a, ll b, ll m) {a = a % m; b = b % m; return (((a - b) % m) + m) % m;}
ll mod_div(ll a, ll b, ll m) {a = a % m; b = b % m; return (mod_mul(a, mminvprime(b, m), m) + m) % m;} //only for prime m
void solve()
{
string s;cin >> s;
int n=s.size();
ll ans = n*(n-1)/2;
vector<int> f(26,0);
for(int i=0;i<n;i++){
f[s[i]-'a']++;
}
for(int i=0;i<26;i++){
ans -= (f[i]*(f[i]-1))/2;
}
for(int i=0;i<26;i++) if(f[i]>1) {ans++;break;}
cout << ans << endl;
// set<string> st;
// for(int i=0;i<n;i++){
// for(int j=i+1;j<n;j++){
// swap(s[i],s[j]);
// st.insert(s);
// swap(s[i],s[j]);
// }
// }
// cout << st.size() << endl;
}
int32_t main()
{
IOS;
ll t=1;
//cin >> t;
while(t--)
{
solve();
}
return 0;
}