output_description: Print the amount you have left after shopping.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      X
      A
      B
attempt: n, m = map(int, input().split())
  edge = [[] for _ in range(n)]
  for _ in range(m):
      l, r, d = map(int, input().split())
      l -= 1
      r -= 1
      edge[l].append((r, d))
      edge[r].append((l, -d))
  ans = [10**20] * n
  inf = 10**20
  for i in range(n):
      if ans[i] != inf:
          continue
      stack = [i]
      visited = {i}
      ans[i] = 0
      for node in stack:
          for mode, d in edge[node]:
              if ans[node] + d != ans[mode] != inf:
                  exit(print("No"))  # ans[node]+d!=ans[mode] and ans[mode]!=inf
              if mode in visited:
                  continue
              visited.add(mode)
              stack.append(mode)
              if ans[mode] == inf:
                  ans[mode] = ans[node] + d
                  # if ans[node]+d!=ans[mode]:exit(print("No"))
  print("Yes")
  
problem_description: Statement
  
  You went shopping to buy cakes and donuts with X yen (the currency of Japan).
  
  First, you bought one cake for A yen at a cake shop. Then, you bought as many
  donuts as possible for B yen each, at a donut shop.
  
  How much do you have left after shopping?
samples: [{"input": "1234\n    150\n    100", "output": "84\n    \n\nYou have 1234 - 150 = 1084 yen left after buying a cake. With this amount, you\ncan buy 10 donuts, after which you have 84 yen left.\n\n* * *"}, {"input": "1000\n    108\n    108", "output": "28\n    \n\n* * *"}, {"input": "579\n    123\n    456", "output": "0\n    \n\n* * *"}, {"input": "7477\n    549\n    593", "output": "405"}]