#include <bits/stdc++.h>
using namespace std;
const int M = 20091119;
string s;
int f[105], d;
int digitDP(int digit) {
long long sum = 0;
if (digit == d / 2 + 1) {
return digit == d ? f[digit] : f[digit] + 1;
}
sum = digit == d ? f[digit] - 1 : f[digit];
for (int i = digit - 1; i >= d / 2 + 1; i--) {
sum *= 10, sum %= M;
}
sum += digitDP(digit - 1) % M;
sum %= M;
return sum;
}
int main() {
long long sum = 0;
cin >> s;
d = s.length();
for (int i = 1; i <= d; i++) {
f[i] = s[d - i] - '0';
}
sum = digitDP(d);
for (int i = d - 1; i >= 1; i--) {
int k = 9;
for (int j = i - 1; j >= i / 2 + 1; j--) {
k *= 10, k %= M;
}
sum += k, sum %= M;
}
printf("%d", sum);
}
实在不知道哪错了