using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = ReadLine(); var mod = 998_244_353; var dp = new long[n.Length][]; for (var i = 0; i < dp.Length; ++i) dp[i] = new long[1024]; var cur = 0; for (var i = 0; i < n.Length; ++i) { var ci = n[i] - '0'; if (i == 0) { for (var j = 1; j < ci; ++j) dp[i][1 << j] = 1; } else { for (var j = 1; j < 10; ++j) ++dp[i][1 << j]; for (var j = 0; j < ci; ++j) ++dp[i][cur ^ (1 << j)]; for (var b = 0; b < 1024; ++b) { for (var j = 0; j < 10; ++j) { dp[i][b ^ (1 << j)] = (dp[i][b ^ (1 << j)] + dp[i - 1][b]) % mod; } } } cur ^= 1 << ci; } WriteLine(dp[^1][0] + (cur == 0 ? 1 : 0)); } }