process.stdin.resume();
process.stdin.setEncoding('utf8');
// your code goes here
function solve() {
const input = require('fs').readFileSync('/dev/stdin', 'utf8').trim();
const [a, b] = input.split(' ').map(Number);
function countClaps(N) {
if (N <= 0) return 0;
let total = 0;
let power = 1;
while (power <= N) {
const higher = Math.floor(N / (power * 10));
const current = Math.floor(N / power) % 10;
const lower = N % power;
for (const target of [3, 6, 9]) {
if (current > target) {
total += (higher + 1) * power;
} else if (current === target) {
total += higher * power + (lower + 1);
} else {
total += higher * power;
}
}
power *= 10;
}
return total;
}
console.log(countClaps(b) - countClaps(a - 1));
}
solve();
cHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTsKcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZygndXRmOCcpOwoKLy8geW91ciBjb2RlIGdvZXMgaGVyZQpmdW5jdGlvbiBzb2x2ZSgpIHsKICBjb25zdCBpbnB1dCA9IHJlcXVpcmUoJ2ZzJykucmVhZEZpbGVTeW5jKCcvZGV2L3N0ZGluJywgJ3V0ZjgnKS50cmltKCk7CiAgY29uc3QgW2EsIGJdID0gaW5wdXQuc3BsaXQoJyAnKS5tYXAoTnVtYmVyKTsKICAKICBmdW5jdGlvbiBjb3VudENsYXBzKE4pIHsKICAgIGlmIChOIDw9IDApIHJldHVybiAwOwoKICAgIGxldCB0b3RhbCA9IDA7CiAgICBsZXQgcG93ZXIgPSAxOyAKCiAgICB3aGlsZSAocG93ZXIgPD0gTikgewogICAgICBjb25zdCBoaWdoZXIgPSBNYXRoLmZsb29yKE4gLyAocG93ZXIgKiAxMCkpOwogICAgICBjb25zdCBjdXJyZW50ID0gTWF0aC5mbG9vcihOIC8gcG93ZXIpICUgMTA7CiAgICAgIGNvbnN0IGxvd2VyID0gTiAlIHBvd2VyOwoKICAgICAgZm9yIChjb25zdCB0YXJnZXQgb2YgWzMsIDYsIDldKSB7CiAgICAgICAgaWYgKGN1cnJlbnQgPiB0YXJnZXQpIHsKICAgICAgICAgIHRvdGFsICs9IChoaWdoZXIgKyAxKSAqIHBvd2VyOwogICAgICAgIH0gZWxzZSBpZiAoY3VycmVudCA9PT0gdGFyZ2V0KSB7CiAgICAgICAgICB0b3RhbCArPSBoaWdoZXIgKiBwb3dlciArIChsb3dlciArIDEpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0b3RhbCArPSBoaWdoZXIgKiBwb3dlcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHBvd2VyICo9IDEwOwogICAgfQoKICAgIHJldHVybiB0b3RhbDsKICB9CgogIGNvbnNvbGUubG9nKGNvdW50Q2xhcHMoYikgLSBjb3VudENsYXBzKGEgLSAxKSk7Cn0KCnNvbHZlKCk7