# include # include using namespace std; //Nは桁数が大きい場合があるので文字列として受け取る string N; vector n; //Nの各桁の数字を格納するベクター int dp[900000][2][2]; int mod = 998244353; int main(){ cin>>N; //ベクターnを構成 for(auto a : N){ n.push_back(a-'0'); } int l = N.size(); //nの長さ dp[0][0][0] = 1; //初期条件。他は0で初期化されている for(int i = 0; i < l; i++){ for(int smaller = 0; smaller < 2; smaller++){ for(int j = 0; j < 2; j++){ for(int x = 0; x <= (smaller ? 9 : n[i]); x++){ dp[i + 1][smaller || x < n[i]][j || x == 8] += dp[i][smaller][j]; dp[i + 1][smaller || x < n[i]][j || x == 8] %= mod; } } } } cout << (dp[l][0][1] + dp[l][1][1])%mod << endl; return 0; }