UCPC 만들기
시간 제한3초메모리 제한1024 MB
각 정점에 U, C, P가 적힌 트리가 주어질 때, 두 정점 사이 경로의 글자를 재배열해 (UCPC)^k 꼴로 만들 수 있는 쌍 (a, b)의 개수를 센다.
문제
정점이 개인 트리가 주어진다. 트리의 각 정점에는 1부터 까지의 번호가 매겨져 있으며, 알파벳 U, C, P 중 하나가 쓰여 있다. 다음 조건을 만족하는 순서쌍의 개수를 구하여라.
- 정점 에서 정점 에 이르는 단순 경로에 포함된 모든 정점에 쓰인 문자들을 모은 뒤 재배열하여
UCPC꼴의 문자열을 만들 수 있다. ()
입력
첫 번째 줄에는 정점의 개수 이 주어진다.
그 다음 줄에는 알파벳 U, C, P로만 이루어진 길이 의 문자열 가 주어진다.
그 다음 개의 줄에 걸쳐 두 정수 와 가 공백으로 구분되어 주어진다. 이는 트리에서 정점 와 정점 가 직접 연결되어 있음을 의미한다.
출력
조건을 만족하는 순서쌍의 개수를 출력한다.
힌트
예제 1에 해당하는 트리는 아래와 같다.

그림 J.1: 예제 1에 해당하는 트리
1번 정점과 4번 정점, 1번 정점과 5번 정점 사이의 경로를 이용하면 형태의 문자열(UCPC)을 만들 수 있다.
예제 2의 경우, 형태의 문자열(UCPC) 2개, 형태의 문자열(UCPCUCPC) 1개를 만들 수 있다.