output_description: Print the number of the Shichi-Go-San numbers between 1 and N (inclusive).
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: N = int(input())
  n = len(str(N)) - 1
  ans = 0
  for i in range(3, n + 1):
      ans += 3**i - (2**i) * 3 + 3
  
  t = 3**n - 2 ** (n + 1) + 1
  m = 3 ** (n - 1) - 2**n + 1
  
  if int(str(N)[0]) == 3:
      if int(str(N)[1]) == 3:
          for i in range(33 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) == 4:
          ans += m
      elif int(str(N)[1]) == 5:
          ans += m
          for i in range(35 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) == 6:
          ans += 2 * m
      elif int(str(N)[1]) == 7:
          ans += 2 * m
          for i in range(37 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) > 7:
          ans += 3 * m
  elif int(str(N)[0]) == 4:
      ans += t
  elif int(str(N)[0]) == 5:
      if int(str(N)[1]) == 3:
          for i in range(53 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) == 4:
          ans += m
      elif int(str(N)[1]) == 5:
          ans += m
          for i in range(55 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) == 6:
          ans += 2 * m
      elif int(str(N)[1]) == 7:
          ans += 2 * m
          for i in range(57 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) > 7:
          ans += 3 * m
  elif int(str(N)[0]) == 6:
      ans += 2 * t
  elif int(str(N)[0]) == 7:
      if int(str(N)[1]) == 3:
          for i in range(73 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) == 4:
          ans += m
      elif int(str(N)[1]) == 5:
          ans += m
          for i in range(75 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) == 6:
          ans += 2 * m
      elif int(str(N)[1]) == 7:
          ans += 2 * m
          for i in range(77 * (10 ** (n - 1)), N + 1):
              s = set([j for j in str(i)])
              if ("5" in s) and ("7" in s) and (len(s) == 3):
                  ans += 1
      elif int(str(N)[1]) > 7:
          ans += 3 * m
  elif int(str(N)[0]) > 7:
      ans += 3 * t
  print(ans)
  
problem_description: Statement
  
  You are given an integer N. Among the integers between 1 and N (inclusive),
  how many _Shichi-Go-San numbers_ (literally "Seven-Five-Three numbers") are
  there?
  
  Here, a Shichi-Go-San number is a positive integer that satisfies the
  following condition:
  
    * When the number is written in base ten, each of the digits `7`, `5` and `3` appears at least once, and the other digits never appear.
samples: [{"input": "575", "output": "4\n    \n\nThere are four Shichi-Go-San numbers not greater than 575: 357, 375, 537 and\n573.\n\n* * *"}, {"input": "3600", "output": "13\n    \n\nThere are 13 Shichi-Go-San numbers not greater than 3600: the above four\nnumbers, 735, 753, 3357, 3375, 3537, 3557, 3573, 3575 and 3577.\n\n* * *"}, {"input": "999999999", "output": "26484"}]