(let [st (java.io.StreamTokenizer. (java.io.BufferedReader. *in*)) ni (fn [] (.nextToken st) (int (.nval st))) n (ni) m (ni) d (ac_library.DSU. n)] (dotimes [_ m] (let [u (ni) v (ni)] (.merge d u v))) (println (count (filter #(= (.leader d %) %) (range n)))))