{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\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 type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e新年假期已经结束,但 Resha 不想扔掉新年树。他邀请好朋友 Kerim 和 Gural 来帮他重新装饰新年树。\u003c/p\u003e\n\n\u003cp\u003e新年树是一棵无向树,包含 $$$n$$$ 个顶点,根位于顶点 $$$1$$$。\u003c/p\u003e\n\n\u003cp\u003e你需要处理两种类型的查询:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e将顶点 $$$v$$$ 的子树中所有顶点的颜色,更改为颜色 $$$c$$$ 。\u003c/li\u003e\n\u003cli\u003e找出顶点 $$$v$$$ 的子树中,不同颜色的数量。\u003c/li\u003e\n\u003c/ol\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e第一行包含两个整数 $$$n,m$$$ ($$$1 \\leq n, m \\leq 4 \\cdot 10^5$$$),分别表示树中顶点的数量,以及查询的数量。\u003c/p\u003e\n\n\u003cp\u003e第二行包含 $$$n$$$ 个整数 $$$c_i$$$ ($$$1 \\leq c_i \\leq 60$$$),表示第 $$$i$$$ 个顶点的颜色。\u003c/p\u003e\n\n\u003cp\u003e接下来的 $$$n-1$$$ 行中,每行包含两个整数 $$$x_j,y_j$$$ ($$$1 \\leq x_j, y_j \\leq n$$$),表示第 $$$j$$$ 条边的顶点。保证给定的是正确的无向树。\u003c/p\u003e\n\n\u003cp\u003e最后的 $$$m$$$ 行,包含查询的描述。每个描述以整数 $$$t_k$$$ ($$$1 \\leq t_k \\leq 2$$$) 开头,表示第 $$$k$$$ 个查询的类型。\n\n对于第一种类型的查询,接下来是两个整数 $$$v_k,c_k$$$ ($$$1 \\leq v_k \\leq n,~ 1 \\leq c_k \\leq 60$$$),表示顶点的编号,以及其子树将被重新着色为 $$$c_k$$$ 。\n\n对于第二种类型的查询,接下来是整数 $$$v_k$$$ ($$$1 \\leq v_k \\leq n$$$),表示顶点的编号,你应当在该顶点的子树中找出不同颜色的数量。\u003c/p\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e对于每个第二种类型的查询,打印整数 $$$a$$$,表示查询中给定顶点的子树中的不同颜色数量。\u003c/p\u003e\n\n\u003cp\u003e每个数应该单独打印在一行上,按输入中给出的查询的顺序。\u003c/p\u003e"}},{"title":"示例1","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e7 10\n1 1 1 1 1 1 1\n1 2\n1 3\n1 4\n3 5\n3 6\n3 7\n1 3 2\n2 1\n1 4 3\n2 1\n1 2 5\n2 1\n1 6 4\n2 1\n2 2\n2 3\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e2\n3\n4\n5\n1\n2\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"示例2","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e23 30\n1 2 2 6 5 3 2 1 1 1 2 4 5 3 4 4 3 3 3 3 3 4 6\n1 2\n1 3\n1 4\n2 5\n2 6\n3 7\n3 8\n4 9\n4 10\n4 11\n6 12\n6 13\n7 14\n7 15\n7 16\n8 17\n8 18\n10 19\n10 20\n10 21\n11 22\n11 23\n2 1\n2 5\n2 6\n2 7\n2 8\n2 9\n2 10\n2 11\n2 4\n1 12 1\n1 13 1\n1 14 1\n1 15 1\n1 16 1\n1 17 1\n1 18 1\n1 19 1\n1 20 1\n1 21 1\n1 22 1\n1 23 1\n2 1\n2 5\n2 6\n2 7\n2 8\n2 9\n2 10\n2 11\n2 4\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e6\n1\n3\n3\n2\n1\n2\n3\n5\n5\n1\n2\n2\n1\n1\n1\n2\n3\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}