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: import numpy as np
  
  
  def count(n, s):
      if s == 0:
          return 3**n - 3 * (2**n) + 3
      elif s == 1:
          return 3**n - 2 ** (n + 1) + 1
      elif s == 2:
          return 3**n - 2**n
      else:
          return 3**n
  
  
  def num753(Nlist, appeared):
      n = len(Nlist)
      if n == 0:
          if appeared == 7:
              return 1
          else:
              return 0
  
      top = Nlist[-1]
  
      ap3 = appeared | 1
      s3 = ap3 % 2 + (ap3 % 4) // 2 + ap3 // 4
      ap5 = appeared | 2
      s5 = ap5 % 2 + (ap5 % 4) // 2 + ap5 // 4
      ap7 = appeared | 4
      s7 = ap7 % 2 + (ap7 % 4) // 2 + ap7 // 4
  
      if appeared == 0:
          ans = sum([count(i, 0) for i in range(3, n)])
      else:
          ans = 0
  
      if top == 3:
          ans = ans + num753(Nlist[:-1], ap3)
      elif top == 4:
          ans = ans + count(n - 1, s3)
      elif top == 5:
          ans = ans + count(n - 1, s3) + num753(Nlist[:-1], ap5)
      elif top == 6:
          ans = ans + count(n - 1, s3) + count(n - 1, s5)
      elif top == 7:
          ans = ans + count(n - 1, s3) + count(n - 1, s5) + num753(Nlist[:-1], ap7)
      else:  # top == 8,9
          ans = ans + count(n - 1, s3) + count(n - 1, s5) + count(n - 1, s7)
  
      return ans
  
  
  N = int(input())
  Nlist = []
  while N > 0:
      Nlist.append(N % 10)
      N = N // 10
  Nlist = np.array(Nlist, dtype=np.int)
  
  print(num753(Nlist, 0))
  
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"}]