require "atcoder" data = STDIN.gets_to_end.split n = data[0].to_i m = data[1].to_i d = AtCoder::DSU.new(n) m.times do |i| d.merge(data[2 + 2 * i].to_i, data[3 + 2 * i].to_i) end puts (0...n).count { |i| d.leader(i) == i }