import math
import collections
from operator import mul
from functools import reduce
import bisect

b=[]
def test(a):
    if len(a)>=8:
        b.append(a+"3")
        b.append(a+"5")
        b.append(a+"7")
    else:
        b.append(a+"3")
        b.append(a+"5")
        b.append(a+"7")
        test(a+"3")
        test(a+"5")
        test(a+"7")

#n,m=map(int,input().split())

n=int(input())
test("")
c=[]
for bi in b:
    if bi.count("3")>0 and  bi.count("5")>0 and bi.count("7")>0 :
        c.append(bi)

c=sorted(list(map(int,c)))
d=bisect.bisect_left(c,n)
print(d)


