중위 순회
시간 제한1초메모리 제한1024 MB
전위 순회, 후위 순회, 일부 중위 순회가 주어질 때 이를 만족하는 이진 트리의 서로 다른 중위 순회 개수를 999999937로 나눈 나머지로 구합니다.
문제
올림픽 개막식은 배에 탄 팀들이 강 위에서 진행한다. 배 위 선수들의 배치는 특별한 방식으로 정해져 있다. 각 팀의 선수 명(1부터 까지 번호가 매겨져 있다)은 이진 트리 형태로 배치된다.
주최 측은 각 팀이 따라야 하는 전위 순회, 후위 순회, 그리고 중위 순회의 연속된 일부(비어 있을 수도 있다)를 정했다.
이제 각 팀이 서로 다른 트리 배치를 가질 수 있도록, 가능한 중위 순회의 개수 를 소수 로 나눈 나머지를 구하라.
입력
입력은 네 줄로 이루어진다. 첫 줄에는 정수 이 주어진다. 이후 세 줄에는 각각 공백으로 구분된 정수 개가 주어진다.
둘째 줄은 이며, 는 전위 순회에서 번째로 나오는 선수의 번호이다.
셋째 줄은 이며, 는 후위 순회에서 번째로 나오는 선수의 번호이다.
넷째 줄은 이며, 는 중위 순회에서 번째로 나오는 선수의 번호이거나, 주최 측이 지정하지 않은 경우 이다.
출력
출력은 한 줄이며, 정수 하나를 출력한다. 는 을 만족하고, 가 로 나누어떨어지는 유일한 정수이다.
제한
- 주어진 전위, 후위, 중위 순회를 모두 만족하는 이진 트리가 적어도 하나 존재한다.
- 인 인덱스 들은 (비어 있을 수도 있는) 의 연속된 구간을 이룬다. 즉, 이고 와 이 모두 양수이면 도 모두 양수이다.