#include using namespace std; string transf(int n) { stringstream ss; ss << n; string ret; ss >> ret; return ret; } long long brute (int a, int b) { long long ans = 0; for (int i = a; i <= b; i++) { if (i % 2 == 1) { string s = transf(i); for (int j = 0; j < (int) s.size(); j++) { ans += s[j] - '0'; } } } return ans; } long long dp[15][2]; long long sum[15][2]; long long solve(int x) { string s = transf(x); int n = (int) s.size(); for (int i = 0; i <= n; i++) { for (int t = 0; t < 2; t++) { dp[i][t] = 0; sum[i][t] = 0; } } dp[0][0] = 1; for (int i = 0; i < n; i++) { int c = s[i] - '0'; for (int t = 0; t < 2; t++) { for (int d = 0; d <= 9; d++) { if (i == n - 1 && d % 2 != 1) continue; if (t == 0 && d > c) continue; int nt = t; if (d < c) { nt = 1; } dp[i + 1][nt] += dp[i][t]; sum[i + 1][nt] += sum[i][t] + d * dp[i][t]; } } } long long ret = sum[n][0] + sum[n][1]; return ret; } int main() { // assert(freopen("odd.in", "r", stdin)); // assert(freopen("odd.out", "w", stdout)); cin.sync_with_stdio(false); int A, B; cin >> A >> B; long long ans = solve(B) - solve(A - 1); cout << ans << endl; return 0; }