#include<bits/stdc++.h>
#include<atcoder/modint>
using namespace std;
using mint=atcoder::modint998244353;
mint dp[1<<20][2][3];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    string S;
    cin>>S;
    int N=S.size();
    dp[0][0][0]=1;
    for(int i=0;i<N;i++)for(int j='0';j<='9';j++)for(int s:{0,1})
    {
        if(s==0&&j>S[i])continue;
        int t=s|(j<S[i]);
        if(j=='0')
        {
            dp[i+1][t][0]+=dp[i][s][0];
            dp[i+1][t][2]+=dp[i][s][1];
            dp[i+1][t][0]+=dp[i][s][2];
        }
        else if(j=='4')
        {
            dp[i+1][t][1]+=dp[i][s][0];
            dp[i+1][t][1]+=dp[i][s][1];
        }
        else
        {
            dp[i+1][t][0]+=dp[i][s][0];
            dp[i+1][t][0]+=dp[i][s][1];
            dp[i+1][t][0]+=dp[i][s][2];
        }
    }
    mint ans=-1;
    for(int s:{0,1})for(int k:{0,1,2})ans+=dp[N][s][k];
    cout<<ans.val()<<endl;
}