#include #include using namespace std; using ll = long long; using mint = atcoder::modint998244353; int main(){ ios::sync_with_stdio(false); cin.tie(0); ll m; string n; cin >> m >> n; string s = to_string(m); const int L = s.size(); vector dp(L + 1, vector(2, vector(10))), dp2(L + 1, vector(2, vector(10))); dp[0][1][0] = 1; for(int i = 0; i < L; i++){ for(int j = 0; j < 2; j++){ const int r = j ? s[i] - '0' : 9; for(int k = 0; k < 10; k++){ for(int l = 0; l <= r; l++){ dp[i + 1][(j & (l == r))][l] += dp[i][j][k]; dp2[i + 1][(j & (l == r))][l] += l * dp[i][j][k] + dp2[i][j][k] * 10; } } } } mint ans, mod = m, meth = 1; for(auto &&c : n){ meth *= dp[L][0][c - '0']; } for(auto &&c : n){ ans *= mod; ans += dp2[L][0][c - '0'] * (meth / dp[L][0][c - '0']); } cout << ans.val() << '\n'; }