Vétyem 숲은 색이 다양한 나무가 많기로 유명한 숲이다. 이 숲에서 가장 오래되고 키가 큰 너도밤나무 중 하나를 Ős Vezér라고 부른다.
Ős Vezér는 N개의 노드와 N−1개의 간선으로 이루어진 트리로 모델링할 수 있다. 노드는 0부터 N−1까지 번호가 붙고, 간선은 1부터 N−1까지 번호가 붙는다. 각 간선은 서로 다른 두 노드를 잇는다. 구체적으로, 간선 i (1≤i<N)는 노드 i와 노드 P[i]를 잇는다. 여기서 0≤P[i]<i이다. 노드 P[i]를 노드 i의 부모라 하고, 노드 i를 노드 P[i]의 자식이라 한다.
각 간선에는 1부터 M까지의 색이 하나씩 있다. 간선 i의 색은 C[i]이다. 서로 다른 간선이 같은 색을 가질 수 있다. 편의상 P[0]=−1, C[0]=0으로 둔다. 다만 노드 0의 위쪽에는 간선이 없다.
예를 들어 Ős Vezér의 노드가 N=18개이고 색이 M=3가지이며, P=[−1,0,0,0,1,1,1,2,2,3,3,3,4,4,5,10,11,11], C=[0,1,2,3,1,2,3,1,3,3,2,1,1,2,2,1,2,3]라고 하자. 이 트리는 아래 그림과 같다.

Árpád는 부분트리를 연구한다. 0≤r<N인 각 r에 대해, 노드 r의 부분트리는 다음 성질을 만족하는 노드들의 집합 T(r)이다. 노드 r은 T(r)에 속한다. T(r)에 속한 노드 x의 자식은 모두 T(r)에 속한다. 그 밖의 노드는 T(r)에 속하지 않는다. T(r)의 크기는 ∣T(r)∣로 쓴다.
r을 고정하고 T(r)의 노드들을 나열한 순열 v0,v1,…,v∣T(r)∣−1을 생각하자. 1≤i<∣T(r)∣인 각 i에 대해, f(i)는 색 C[vi]가 수열 C[v1],C[v2],…,C[vi−1]에 나타나는 횟수이다. f(1)은 항상 0이다.
다음 두 조건이 모두 성립하면 이 순열은 아름다운 순열이다.
- v0=r이다.
- 1≤i<∣T(r)∣인 각 i에 대해, vi의 부모는 vf(i)이다.
T(r)의 노드들에 대한 아름다운 순열이 존재할 때, 그리고 그때에만 T(r)은 아름다운 부분트리이다. 노드가 하나뿐인 부분트리는 항상 아름답다.
예시 트리에서 T(0)과 T(3)은 아름답지 않다. T(14)는 노드가 하나뿐이므로 아름답다. T(1)도 아름답다. 수열 [v0,v1,v2,v3,v4,v5,v6]=[1,4,5,12,13,6,14]는 T(1)의 노드들을 나열한 순열이다. 아래 그림에서 각 노드의 라벨은 그 노드가 순열에서 놓인 인덱스이다.

이 순열을 확인해 보자. v0=1이다. C[v1]=C[4]=1은 빈 수열에 0번 나타나므로 f(1)=0이고, 노드 4의 부모는 노드 1이다. C[v2]=C[5]=2는 [1]에 0번 나타나므로 f(2)=0이고, 노드 5의 부모는 노드 1이다. C[v3]=C[12]=1은 [1,2]에 1번 나타나므로 f(3)=1이고, 노드 12의 부모는 노드 4이다. C[v4]=C[13]=2는 [1,2,1]에 1번 나타나므로 f(4)=1이고, 노드 13의 부모는 노드 4이다. C[v5]=C[6]=3은 [1,2,1,2]에 0번 나타나므로 f(5)=0이고, 노드 6의 부모는 노드 1이다. C[v6]=C[14]=2는 [1,2,1,2,3]에 2번 나타나므로 f(6)=2이고, 노드 14의 부모는 노드 5이다. 이 순열은 아름다우므로 T(1)은 아름답다.
Ős Vezér의 모든 부분트리에 대해 아름다운 부분트리인지 판정하라.