output_description: Print the number of ways to write positive integers in the vertices so that
  the condition is satisfied.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      n m
      u_1 v_1 s_1
      :
      u_m v_m s_m
attempt: N, M = map(int, input().split())
  UVS = [list(map(int, input().split())) for _ in [0] * M]
  
  E = [[] for _ in [0] * N]
  for u, v, s in UVS:
      u -= 1
      v -= 1
      E[u].append((v, s))
      E[v].append((u, s))
  
  V = [None] * N
  V[0] = (0, 1)
  q = [0]
  while q:
      i = q.pop()
      d, n = V[i]
      for j, s in E[i]:
          if V[j] != None:
              continue
          V[j] = (1 - d, s - n)
          q.append(j)
  
  INF = 10**18
  checkD = False
  checkSum = []
  checkMin = [INF] * 2
  checkMax = [-INF] * 2
  for i in range(N):
      for j, s in E[i]:
          if j < i:
              continue
          checkD = checkD or (V[i][0] == V[j][0])
          if V[i][1] + V[j][1] != s:
              checkSum.append((V[i][0], V[j][0], s - V[i][1] - V[j][1]))
      d = V[i][0]
      checkMin[d] = min(checkMin[d], V[i][1])
  
  if checkD:
      ansFlg = True
      cnt = set()
      for di, dj, s in checkSum:
          if di != dj:
              ansFlg = False
              break
          if di == 1:
              s *= -1
          cnt.add(s)
      if len(cnt) > 1:
          ansFlg = False
      elif cnt:
          d = cnt.pop()
          if d % 2:
              ansFlg = False
          d //= 2
          if min(checkMin[0] + d, checkMin[1] - d) <= 0:
              ansFlg = False
      ans = int(ansFlg)
  else:
      ans = max(sum(checkMin) - 1, 0)
      if checkSum:
          ans = 0
  print(ans)
  
problem_description: Statement
  
  Kenkoooo found a simple connected graph. The vertices are numbered 1 through
  n. The i-th edge connects Vertex u_i and v_i, and has a fixed integer s_i.
  
  Kenkoooo is trying to write a _positive integer_ in each vertex so that the
  following condition is satisfied:
  
    * For every edge i, the sum of the positive integers written in Vertex u_i and v_i is equal to s_i.
  
  Find the number of such ways to write positive integers in the vertices.
samples: [{"input": "3 3\n    1 2 3\n    2 3 5\n    1 3 4", "output": "1\n    \n\nThe condition will be satisfied if we write 1,2 and 3 in vertices 1,2 and 3,\nrespectively. There is no other way to satisfy the condition, so the answer is\n1.\n\n* * *"}, {"input": "4 3\n    1 2 6\n    2 3 7\n    3 4 5", "output": "3\n    \n\nLet a,b,c and d be the numbers to write in vertices 1,2,3 and 4, respectively.\nThere are three quadruples (a,b,c,d) that satisfy the condition:\n\n  * (a,b,c,d)=(1,5,2,3)\n  * (a,b,c,d)=(2,4,3,2)\n  * (a,b,c,d)=(3,3,4,1)\n\n* * *"}, {"input": "8 7\n    1 2 1000000000\n    2 3 2\n    3 4 1000000000\n    4 5 2\n    5 6 1000000000\n    6 7 2\n    7 8 1000000000", "output": "0"}]