#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int MOD = 573; void combination(int n, vector >& comb) { comb.assign(n+1, vector(n+1, 0)); for(int i=0; i<=n; ++i){ comb[i][0] = 1; for(int j=1; j<=i; ++j){ comb[i][j] = comb[i-1][j-1] + comb[i-1][j]; comb[i][j] %= MOD; } } } int main() { string s; cin >> s; int n = s.size(); vector cnt(128, 0); for(int i=0; i > comb; combination(n, comb); int ans = 1; for(char c='A'; c<='Z'; ++c){ ans *= comb[n][cnt[c]]; ans %= MOD; n -= cnt[c]; } ans = (ans - 1 + MOD) % MOD; cout << ans << endl; return 0; }