import sys MOD = 998_244_353 def solve(): s = sys.stdin.readline().strip() n = list(map(int, s)) # 数字串转数组 L = len(n) # dp[pos][tight][prev2] -> 0..1, 0..99 # 用二维数组滚动:dp[tight][prev2] dp = [[0]*100 for _ in range(2)] dp[1][100] = 1 # 前导占位,不可能出现404 for pos in range(L): new_dp = [[0]*100 for _ in range(2)] for tight in 0, 1: for prev2 in range(100): if dp[tight][prev2] == 0: continue max_digit = n[pos] if tight else 9 for d in range(0, max_digit + 1): new_tight = 1 if (tight and d == max_digit) else 0 new_prev = prev2 % 10 * 10 + d if new_prev == 404: continue new_dp[new_tight][new_prev] = \ (new_dp[new_tight][new_prev] + dp[tight][prev2]) % MOD dp = new_dp ans = 0 for tight in 0, 1: for val in range(100): ans = (ans + dp[tight][val]) % MOD print(ans) if __name__ == '__main__': solve()