#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int n, a[710], dp[710][710][2], p[710], ans;
char s[710];
int main() {
  scanf("%s", s + 1), n = strlen(s + 1);
  for (int i = 1; i <= n; ++i) a[i] = s[i] - '0';
  for (int i = 1; i <= n; ++i) p[i] = (1ll * p[i - 1] * 10 + 1) % mod;
  for (int i = 1; i <= 9; ++i) {
    dp[0][0][1] = 1;
    for (int j = 1; j <= n; ++j) {
      for (int k = 0; k <= j; ++k) dp[j][k][0] = dp[j][k][1] = 0;
      for (int k = 0; k < j; ++k)
        for (int u = 0; u < 2; ++u)
          if (dp[j - 1][k][u])
            for (int v = 0; v < 10 && (!u || v <= a[j]); ++v)
              ((dp[j][k + (v >= i)][u && (v == a[j])] += dp[j - 1][k][u]) >= mod
                   ? dp[j][k + (v >= i)][u && (v == a[j])] -= mod
                   : 0);
    }
    for (int j = 1; j <= n; ++j)
      ans = (ans + 1ll * (dp[n][j][0] + dp[n][j][1]) * p[j]) % mod;
  }
  printf("%d", ans);
  return 0;
}
