#include using namespace std; typedef pair pii; typedef long long ll; const int N = 2000008, MOD = 998244353, INF = 0x3f3f3f3f; ll res; int n, m, cnt, w[N]; inline ll qmi(ll a, ll b, ll c) { ll res = 1; while (b) { if (b & 1) res = res * a % c; a = a * a % c; b >>= 1; } return res; } ll fac[N], inv[N]; inline void init() { fac[0] = 1; for (int i = 1; i < N; i++) fac[i] = fac[i - 1] * i % MOD; inv[N - 1] = qmi(fac[N - 1], MOD - 2, MOD); for (int i = N - 2; i > -1; i--) inv[i] = inv[i + 1] * (i + 1) % MOD; } ll C(int a, int b) { return fac[a] * inv[b] % MOD * inv[a - b] % MOD; } char s[N]; int c[20]; int main() { init(); scanf("%s", s + 1); n = strlen(s + 1); for (int i = 1; i < n + 1; i++) c[s[i] - '0']++; res = 0; for (int i = 1; i <= 9; i++) { if (!c[i]) continue; ll sum = fac[n - 1]; for (int j = 0; j <= 9; j++) sum = sum * inv[c[j] - (j == i)] % MOD; res = (res + sum) % MOD; } printf("%lld\n", res); return 0; }