A,B = map(int,input().split())
itika = [0] * 20
answer = 0
for i in range(20):
if i >= 1:
itika[i] = (itika[i-1] * 8) + (2 * (10**(i-1)))
def nino(a,b):
return (a % (10**b)) // (10**(b-1))
if len(str(A)) == len(str(B)):
miku = 100
for i in range(len(str(A))):
if nino(A,i+1) != nino(B,i+1):
miku = i
if miku != 100:
for i in range(miku):
if i == 0:
if '4' in str(A)[0:len(str(A))-miku] or '9' in str(A)[0:len(str(A))-miku]:
answer += 10-nino(A,1)
else:
if nino(A,1) <= 4:
answer += 2
else:
answer += 1
else:
if '4' in str(A)[0:len(str(A))-miku] or '9' in str(A)[0:len(str(A))-miku]:
answer += (10**i)*(9-nino(A,i+1))
else:
if nino(A,i+1) <= 3:
answer += (2*(10**i))+((7-nino(A,i+1))*itika[i])
elif nino(A,i+1) == 9:
answer += 0
else:
answer += (10**i)+((8-nino(A,i+1))*itika[i])
for i in range(miku+1):
if i != miku:
if i == 0:
if '4' in str(A)[0:len(str(A))-miku-1] or '9' in str(A)[0:len(str(A))-miku-1]:
answer += (nino(B,miku+1)-nino(A,miku+1)-1) * (10**(miku))
else:
if nino(B,miku+1) <= 4 or 4 <= nino(A,miku+1):
answer += (nino(B,miku+1)-nino(A,miku+1)-1) * itika[miku]
else:
answer += (nino(B,miku+1)-nino(A,miku+1)-2) * itika[miku] + (10**(miku))
else:
if '4' in str(B)[0:len(str(B))-miku-1+i] or '9' in str(B)[0:len(str(B))-miku-1+i]:
answer += nino(B,miku+1-i) * (10**(miku-i))
else:
if nino(B,miku+1-i) <= 4:
answer += nino(B,miku+1-i) * itika[miku-i]
else:
answer += (nino(B,miku+1-i)-1) * itika[miku-i] + 10**(miku-i)
else:
if miku == 0:
if '4' in str(B)[0:len(str(B))-miku-1+i] or '9' in str(B)[0:len(str(B))-miku-1+i]:
answer += nino(B,1)-nino(A,1)+1
else:
for j in range(nino(B,1)-nino(A,1)+1):
if nino(A,1)+j == 4 or nino(A,1)+j == 9:
answer += 1
else:
if '4' in str(B)[0:len(str(B))-miku-1+i] or '9' in str(B)[0:len(str(B))-miku-1+i]:
answer += nino(B,1)+1
else:
for j in range(nino(B,1)+1):
if j == 4 or j == 9:
answer += 1
else:
if '4' in str(B) or '9' in str(B):
answer += 1
else:
for i in range(len(str(B))-1):
if i == 0:
if '4' in str(A)[0:len(str(A))-1] or '9' in str(A)[0:len(str(A))-1]:
answer += 10-nino(A,1)
else:
if i <= 4:
answer += 2
else:
answer += 1
elif i <= len(str(A))-1:
if '4' in str(A)[0:len(str(A))-i-1] or '9' in str(A)[0:len(str(A))-i-1]:
answer += (9-nino(A,i+1))*(10**i)
else:
if nino(A,i+1) <= 3:
answer += (2*(10**i))+(7-nino(A,i+1))*itika[i]
elif nino(A,i+1) == 9:
answer += 0
else:
answer += (10**i)+(8-nino(A,i+1))*itika[i]
else:
answer += 7*itika[i]+2*(10**i)
for i in range(len(str(B))):
if i == 0:
if nino(B,len(str(B))) <= 4:
answer += (nino(B,len(str(B)))-1) * itika[len(str(B))-1]
else:
answer += (10**(len(str(B))-1)) + ((nino(B,len(str(B)))-2) * itika[len(str(B))-1])
else:
if '4' in str(B)[0:i] or '9' in str(B)[0:i]:
answer += (10**(len(str(B))-i-1)) * nino(B,len(str(B))-i)
else:
if nino(B,len(str(B))-i) <= 4:
answer += nino(B,len(str(B))-i) * itika[len(str(B))-i-1]
else:
answer += (10**(len(str(B))-i-1)) + ((nino(B,len(str(B))-i)-1) * itika[len(str(B))-i-1])
if '4' in str(B) or '9' in str(B):
answer += 1
print(answer)