Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P163PROJ - ROUND 3J - Cây đổi màu

Cho một cây có n nút, đỉnh tại nút 1.

Bạn cần xử lý 2 truy vấn

  1. Thay đổi màu của toàn bộ nút con của cây con gốc v thành màu c
  2. Tìm số màu phân biệt trong cây con gốc v.

Input

Dòng đầu tiên gồm 2 số nguyên n, m (1 <= n, m <= 4.10^5) – Số nút của cây và số truy vấn.

Dòng thứ 2 chứa n số nguyên c[i] (1 <= i <= n, 1<= c[i] <= 60) là màu của nút i.

n – 1 dòng tiếp theo, mỗi dòng gồm 2 số nguyên x[i], y[i] (1 <= x[i], y[i] <= n) thể hiện nút x[i] nối với nút y[i].

m dòng cuối mô tả các truy vấn của bài toán. Mỗi mô tả bắt đầu bằng số nguyên t[k] (1 <= t[k] <= 2) – loại của truy vấn thứ k.

Với các truy vấn loại 1 tiếp theo sau sẽ là 2 số nguyên v[k], c[k] (1 <= v[k] <= n, 1 <= c[k] <= 60)  thể hiện v[k] là nút mà cây con nhận nó làm gốc cần đổi mày thành màu c[k].

Với truy vấn loại 2 tiếp theo sau sẽ là số nguyên v[k] (1 <= v[k] <= n), thể hiện cho cần tính số màu khác nhau trong cây con nhận v[k] là gốc.

Output

Với mỗi truy vấn loại 2 in ra một số nguyên là câu trả lời tương ứng.

Mỗi câu trả lời được in ra trên một dòng riêng biệt và theo thứ tự các truy vấn.

Example

Input:

7 10 1 1 1 1 1 1 1 1 2 1 3 1 4 3 5 3 6 3 7 1 3 2 2 1 1 4 3 2 1 1 2 5 2 1 1 6 4 2 1 2 2 2 3

1 6 4
2 1
2 2
2 3
Output:

2

3

4

5

1

2

Bảng xếp hạng ACM PTIT (NEW)



Được gửi lên bởi:adm
Ngày:2016-03-01
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.