output_description: Print `Yes` if N is a Harshad number; print `No` otherwise.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
attempt: import sys, collections as cl, bisect as bs
  
  sys.setrecursionlimit(100000)
  input = sys.stdin.readline
  mod = 10**9 + 7
  Max = sys.maxsize
  
  
  def l():  # intのlist
      return list(map(int, input().split()))
  
  
  def m():  # 複数文字
      return map(int, input().split())
  
  
  def onem():  # Nとかの取得
      return int(input())
  
  
  def s(x):  # 圧縮
      a = []
      aa = x[0]
      su = 1
      for i in range(len(x) - 1):
          if aa != x[i + 1]:
              a.append([aa, su])
              aa = x[i + 1]
              su = 1
          else:
              su += 1
      a.append([aa, su])
      return a
  
  
  def jo(x):  # listをスペースごとに分ける
      return " ".join(map(str, x))
  
  
  def max2(x):  # 他のときもどうように作成可能
      return max(map(max, x))
  
  
  def In(x, a):  # aがリスト(sorted)
      k = bs.bisect_left(a, x)
      if k != len(a) and a[k] == x:
          return True
      else:
          return False
  
  
  """
  def nibu(x,n,r):
      ll = 0
      rr = r
      while True:
          mid = (ll+rr)//2
  
      if rr == mid:
          return ll
      if (ここに評価入れる):
          rr = mid
      else:
          ll = mid+1
  """
  
  n = onem()
  
  po = str(n)
  co = 0
  for i in po:
      co += int(i)
  print("Yes" if n % co == 0 else "No")
  
problem_description: Statement
  
  An integer X is called a Harshad number if X is divisible by f(X), where f(X)
  is the sum of the digits in X when written in base 10.
  
  Given an integer N, determine whether it is a Harshad number.
samples: [{"input": "12", "output": "Yes\n    \n\nf(12)=1+2=3. Since 12 is divisible by 3, 12 is a Harshad number.\n\n* * *"}, {"input": "57", "output": "No\n    \n\nf(57)=5+7=12. Since 57 is not divisible by 12, 12 is not a Harshad number.\n\n* * *"}, {"input": "148", "output": "No"}]