#include using namespace std; const long long int MOD = 998244353; long long int dp[200005][2]; long long int mypow(long long int x, long long int n) { long long int res = 1; while (n > 0) { if (n % 2 == 1) { res = ((res % MOD) * (x % MOD) % MOD); res %= MOD; } x = ((x % MOD) * (x % MOD) % MOD); x %= MOD; n /= 2; } return res; } int main(void) { cin.tie(0); ios::sync_with_stdio(false); string s; cin >> s; int n = s.length(); for (int i = 0; i < n; i++) { long long int sum = dp[i][0] + dp[i][1]; sum %= MOD; dp[i + 1][0] = sum; sum *= 10; sum %= MOD; long long int val = mypow(2, i); val *= (s[i] - '0'); val %= MOD; sum += val; sum %= MOD; dp[i + 1][1] = sum; } long long int res = 0; for (int i = 1; i <= n; i++) { res += dp[i][1]; res %= MOD; } cout << res << '\n'; return 0; }