{"trustable":false,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"MD","content":"有 n 棵树,编号 0 到 n - 1 , 本来以为它们是 n 种不同的树,但是我们陆陆续续的得到了 m 条消息,发现之前统计错了。\n\n消息有如下两种格式:\n\n- ”M a b\" ,编号 a 和 编号 b 的树划分为一种树 ;\n- \"S a\", 将编号为 a 的树从它所属的种类里拿出来,成为一个新的种类;\n\n请问最终有多少种树 ?"}},{"title":"Input","value":{"format":"MD","content":"输入文件中有多个测试用例。\n\n每个测试用例第一行是两个整数 n 和 m(1 ≤ n ≤ 1e5,1 ≤ M ≤ 1e6),随后是 m 行,每行是上述两种格式之一。 \n\n n \u003d 0 和 m \u003d 0 的时候结束。"}},{"title":"Output","value":{"format":"MD","content":"对于每个测试用例,打印一个整数 —— 树的种类。具体格式参照样例。"}},{"title":"Sample Input","value":{"format":"MD","content":"\u003cpre\u003e5 6\nM 0 1\nM 1 2\nM 1 3\nS 1\nM 1 2\nS 3\n\n3 1\nM 1 2\n\n0 0\u003c/pre\u003e"}},{"title":"Sample Output","value":{"format":"MD","content":"\u003cpre\u003eCase #1: 3\nCase #2: 2\u003c/pre\u003e"}}]}