output_description: Print the minimum total cost required to determine all of A_1, A_2, ..., A_N.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
      X_1 Y_1 Z_1
      X_2 Y_2 Z_2
      \vdots
      X_M Y_M Z_M
attempt: n, m = map(int, input().split())
  xyz = [list(map(int, input().split())) for i in range(m)]
  ans = [0 for i in range(n + 1)]
  h = [[] for i in range(n + 1)]
  for i in xyz:
      x, y, z = i
      h[x].append(y)
      h[y].append(x)
  fa = 0
  i = 1
  while i <= n:
      if ans[i] == 0:
          q = [i]
          ans[i] = 1
          fa += 1
          while len(q) > 0:
              t = q.pop()
              for j in h[t]:
                  if ans[j] == 0:
                      q.append(j)
                      ans[j] = 1
          i += 1
      else:
          i += 1
  print(fa)
  
problem_description: Statement
  
  There are N cards placed face down in a row. On each card, an integer 1 or 2
  is written.
  
  Let A_i be the integer written on the i-th card.
  
  Your objective is to guess A_1, A_2, ..., A_N correctly.
  
  You know the following facts:
  
    * For each i = 1, 2, ..., M, the value A_{X_i} + A_{Y_i} + Z_i is an even number.
  
  You are a magician and can use the following magic any number of times:
  
  **Magic** : Choose one card and know the integer A_i written on it. The cost
  of using this magic is 1.
  
  What is the minimum cost required to determine all of A_1, A_2, ..., A_N?
  
  It is guaranteed that there is no contradiction in given input.
samples: [{"input": "3 1\n    1 2 1", "output": "2\n    \n\nYou can determine all of A_1, A_2, A_3 by using the magic for the first and\nthird cards.\n\n* * *"}, {"input": "6 5\n    1 2 1\n    2 3 2\n    1 3 3\n    4 5 4\n    5 6 5", "output": "2\n    \n\n* * *"}, {"input": "100000 1\n    1 100000 100", "output": "99999"}]