def have_3(s): for i in s: if(i==3): return 1 return 0 d={} for i,ma in enumerate([1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,10000000000,100000000000,1000000000000,10000000000000,100000000000000,1000000000000000,10000000000000000,100000000000000000,1000000000000000000,10000000000000000000]): d[i]=ma P=int(input()) k=d[P] count=k//3 for i in range(2,k,3): if(have_3(list(map(int,list(str(i)))))==1): count+=1 for i in range(4,k,3): if(have_3(list(map(int,list(str(i)))))==1): count+=1 print(count)