#include <iostream>
const int kThreeNum = 3;
const int kSixNum = 6;
const int kNineNum = 9;
int countDigits(int n, int x)
{
int count = 0;
int factor = 1;
while (factor <= n)
{
int lower = n % factor;
int current = (n / factor) % 10;
int higher = n / (factor * 10);
if (current > x)
{
count += (higher + 1) * factor;
}
else if (current == x)
{
count += higher * factor + (lower + 1);
}
else
{
count += higher * factor;
}
factor *= 10;
}
return count;
}
int countClapsInRange(int startNum, int finishNum, int x)
{
return countDigits(finishNum, x) - countDigits(startNum - 1, x);
}
int main()
{
int startNum = 0, finishNum = 0;
std::cin >> startNum >> finishNum;
int ret = countClapsInRange(startNum, finishNum, kThreeNum) +
countClapsInRange(startNum, finishNum, kSixNum) +
countClapsInRange(startNum, finishNum, kNineNum);
std::cout << ret;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY29uc3QgaW50IGtUaHJlZU51bSA9IDM7CmNvbnN0IGludCBrU2l4TnVtID0gNjsKY29uc3QgaW50IGtOaW5lTnVtID0gOTsKCmludCBjb3VudERpZ2l0cyhpbnQgbiwgaW50IHgpIAp7CiAgICBpbnQgY291bnQgPSAwOwogICAgaW50IGZhY3RvciA9IDE7CgogICAgd2hpbGUgKGZhY3RvciA8PSBuKSAKICAgIHsKICAgICAgICBpbnQgbG93ZXIgPSBuICUgZmFjdG9yOwogICAgICAgIGludCBjdXJyZW50ID0gKG4gLyBmYWN0b3IpICUgMTA7CiAgICAgICAgaW50IGhpZ2hlciA9IG4gLyAoZmFjdG9yICogMTApOwogICAgICAgIAogICAgICAgIGlmIChjdXJyZW50ID4geCkgCiAgICAgICAgewogICAgICAgICAgICBjb3VudCArPSAoaGlnaGVyICsgMSkgKiBmYWN0b3I7CiAgICAgICAgfSAKICAgICAgICBlbHNlIGlmIChjdXJyZW50ID09IHgpIAogICAgICAgIHsKICAgICAgICAgICAgY291bnQgKz0gaGlnaGVyICogZmFjdG9yICsgKGxvd2VyICsgMSk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIAogICAgICAgIHsKICAgICAgICAgICAgY291bnQgKz0gaGlnaGVyICogZmFjdG9yOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBmYWN0b3IgKj0gMTA7CiAgICB9CiAgICAKICAgIHJldHVybiBjb3VudDsKfQoKaW50IGNvdW50Q2xhcHNJblJhbmdlKGludCBzdGFydE51bSwgaW50IGZpbmlzaE51bSwgaW50IHgpIAp7CiAgICByZXR1cm4gY291bnREaWdpdHMoZmluaXNoTnVtLCB4KSAtIGNvdW50RGlnaXRzKHN0YXJ0TnVtIC0gMSwgeCk7Cn0KCmludCBtYWluKCkgCnsKICAgIGludCBzdGFydE51bSA9IDAsIGZpbmlzaE51bSA9IDA7CiAgICBzdGQ6OmNpbiA+PiBzdGFydE51bSA+PiBmaW5pc2hOdW07CiAgICAKICAgIGludCByZXQgPSBjb3VudENsYXBzSW5SYW5nZShzdGFydE51bSwgZmluaXNoTnVtLCBrVGhyZWVOdW0pICsgCiAgICAJY291bnRDbGFwc0luUmFuZ2Uoc3RhcnROdW0sIGZpbmlzaE51bSwga1NpeE51bSkgKyAKICAgIAljb3VudENsYXBzSW5SYW5nZShzdGFydE51bSwgZmluaXNoTnVtLCBrTmluZU51bSk7CiAgICAKICAgIHN0ZDo6Y291dCA8PCByZXQ7CiAgICAKICAgIHJldHVybiAwOwp9Cg==