#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(ll i=0;i> N; ll n=N.size(); vector a(10); REP(i,n){ a[N[i]-'0']++; } fact(); ll ans=fac[n]; REP(i,10){ ans*=finv[a[i]]; ans%=MOD; } if(a[0]==0){ cout << ans << endl; return 0; } a[0]--; ll c=fac[n-1]; REP(i,10){ c*=finv[a[i]]; c%=MOD; } cout << (ans-c+MOD)%MOD << endl; return 0; }