#include #include #include using namespace std; const int MOD = 573; vector> get_combination(int ma) { vector> mat(ma + 1, vector(ma + 1)); for (int n = 0; n <= ma; n++) mat[n][0] = 1; for (int n = 1; n <= ma; n++) for (int r = 1; r <= n; r++) { mat[n][r] = (mat[n - 1][r - 1] + mat[n - 1][r]) % MOD; } return mat; } int main() { string s; cin >> s; vector cnt(26); for (char c: s) cnt[c - 'A']++; vector> comb = get_combination(1000); int ans = 1, n = s.size(); for (int i = 0; i < 26; i++) (ans *= comb[n][cnt[i]]) %= MOD, n -= cnt[i]; cout << (ans - 1 + MOD) % MOD << endl; return 0; }