좋은 단순 경로

아직 제출이 없습니다시간 제한1.5초메모리 제한512 MB

문제

노드가 nn개인 트리 TT가 있다. 노드는 11부터 nn까지 번호가 붙어있고, 각 노드에는 영문 대문자 알파벳 ('A' - 'Z') 레이블이 붙어있다. Bob은 TT에서 길이가 가장 긴 단순 경로를 찾는 문제에 관심이 많다. 단순 경로란, 그래프/트리의 같은 노드를 두 번 이상 방문하지 않는 경로를 말한다.

옆에서 지켜보던 Alice는 Bob에게 아래 정의에 따라 "좋은 단순 경로"를 찾아보라고 했다. 임의의 단순 경로 PP에 대해, 만약 PP에 속한 노드들의 레이블을 순서대로 나열하여 문자열을 만들었을 때 같은 알파벳이 연속으로 반복되지 않으면 PP를 "좋은 단순 경로"라 한다.

예를 들어 위의 트리는 77개의 노드를 포함하고 있다.

  • 경로 1571 \to 5 \to 7은 노드 33개를 포함하는 단순 경로이지만 노드들의 알파벳을 나열하면 "AAZ"가 되어 'A'가 연속으로 반복되므로 "좋은 단순 경로"가 아니다.
  • 경로 3213 \to 2 \to 1은 노드 33개를 포함하는 좋은 단순 경로이다. 노드들의 알파벳을 나열하면 "AXA"가 되고 같은 알파벳이 여러 번 등장하지만 연속으로 반복되지 않는다.
  • 경로 32143 \to 2 \to 1 \to 4와 경로 41234 \to 1 \to 2 \to 3은 노드 44개를 포함하는 좋은 단순 경로이다. 단, 이 두 개의 경로는 같은 노드들을 포함하므로 같은 경로로 간주한다. (예제 입출력 참고)
  • 경로 77 혹은 경로 44 처럼 노드를 11개만 포함하는 좋은 단순 경로도 존재한다.
  • 이 트리에서 가장 긴 좋은 단순 경로의 길이는 44이며, 길이가 44인 좋은 단순 경로는 단 하나 존재한다.

Alice와 Bob은 TT에서 가장 긴 좋은 단순 경로의 길이가 무엇인지, 그리고 가장 긴 좋은 단순 경로의 개수가 몇 개인지 궁금해졌다. 둘을 도와 이 문제를 풀어보자.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다

각 테스트 케이스는 세 줄에 걸쳐 주어진다. 첫 줄에 노드의 개수 nn이 주어진다. 둘째 줄에 각 노드의 알파벳 레이블이 공백없이 길이 nn인 문자열 형태로 주어진다. 셋째 줄에 각 노드의 부모 노드의 번호가 공백으로 구분되어 주어진다. 루트 노드의 부모는 00번으로 주어진다.

출력

각 테스트 케이스의 정답인 두 정수를 공백으로 구분하여 각 줄에 출력한다.

첫 번째 정수는 가장 긴 좋은 단순 경로의 길이 (노드의 수)를 나타내고, 두 번째 수는 서로 다른 좋은 단순 경로의 개수를 나타낸다.

제한

  • 1T101 ≤ T ≤ 10
  • 각 노드의 레이블은 알파벳 대문자 ('A' - 'Z')이다.