#include using namespace std; long long dp[2][15]; long long sum[2][15]; int x[15]; long long solve(int val) { memset(dp, 0, sizeof(dp)); memset(sum, 0, sizeof(sum)); int nr = 0; while (val) { x[++nr] = val % 10; val /= 10; } int st = 1, dr = nr; while (st <= dr) { swap(x[st], x[dr]); ++st; --dr; } dp[1][0] = 1; for (int i = 0; i < nr; ++i) for (int pot = 0; pot <= 1; ++pot) { for (int c = 0; c <= 9; ++c) { if (pot == 1 && c > x[i + 1]) continue; if (c % 2 == 0 && i == nr - 1) continue; int new_pot = pot; if (c < x[i + 1]) new_pot = 0; dp[new_pot][i + 1] += dp[pot][i]; sum[new_pot][i + 1] += sum[pot][i] + c * dp[pot][i]; } } return sum[0][nr] + sum[1][nr]; } int main() { int a, b; cin >> a >> b; long long res = solve(b) - solve(a - 1); cout << res; return 0; }