#include // #include using namespace std; // using namespace atcoder; // using mint = modint1000000007; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define reps(i,n) for(int i=1;i<=(int)(n);i++) #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() using ll = long long; typedef pair P; #define EPS (1e-12) const int MOD=998244353; // const int vx[]={0,1,0,-1},vy[]={1,0,-1,0}; templateT gcd(T a,T b){return b?gcd(b,a%b):a;} templateT lcm(T a,T b){return a*b/gcd(a,b);} templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b0){ if(t&1){ rec=rec*a%m; } a=a*a%m; t>>=1; } return rec; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); string s; cin>>s; ll ans=0; rep(i,s.size()){ ll now=s[i]-'0'; ans=ans*10+mpow(2,i,MOD)*now+ans; ans%=MOD; // cout<