만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

중위 순회

시간 제한1초메모리 제한1024 MB

요약
전위 순회, 후위 순회, 일부 중위 순회가 주어질 때 이를 만족하는 이진 트리의 서로 다른 중위 순회 개수를 999999937로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

유형
트리, 분할 정복, 조합론
정답자
아직 제출이 없습니다

문제

올림픽 개막식은 배에 탄 팀들이 강 위에서 진행한다. 배 위 선수들의 배치는 특별한 방식으로 정해져 있다. 각 팀의 선수 NN명(1부터 NN까지 번호가 매겨져 있다)은 이진 트리 형태로 배치된다.

주최 측은 각 팀이 따라야 하는 전위 순회, 후위 순회, 그리고 중위 순회의 연속된 일부(비어 있을 수도 있다)를 정했다.

이제 각 팀이 서로 다른 트리 배치를 가질 수 있도록, 가능한 중위 순회의 개수 TT를 소수 999 999 937999\,999\,937로 나눈 나머지를 구하라.

입력

입력은 네 줄로 이루어진다. 첫 줄에는 정수 NN이 주어진다. 이후 세 줄에는 각각 공백으로 구분된 정수 NN개가 주어진다.

둘째 줄은 A1,A2,…,ANA_1, A_2, \dots, A_N이며, AkA_k는 전위 순회에서 kk번째로 나오는 선수의 번호이다.

셋째 줄은 B1,B2,…,BNB_1, B_2, \dots, B_N이며, BkB_k는 후위 순회에서 kk번째로 나오는 선수의 번호이다.

넷째 줄은 C1,C2,…,CNC_1, C_2, \dots, C_N이며, CkC_k는 중위 순회에서 kk번째로 나오는 선수의 번호이거나, 주최 측이 지정하지 않은 경우 00이다.

출력

출력은 한 줄이며, 정수 SS 하나를 출력한다. SS는 0≤S<999 999 9370 \le S < 999\,999\,937을 만족하고, T−ST - S가 999 999 937999\,999\,937로 나누어떨어지는 유일한 정수이다.

제한

  • 1≤N≤500 0001 \le N \le 500\,000
  • 주어진 전위, 후위, 중위 순회를 모두 만족하는 이진 트리가 적어도 하나 존재한다.
  • Ck≥1C_k \ge 1인 인덱스 kk들은 (비어 있을 수도 있는) {1,2,…,N}\{1, 2, \dots, N\}의 연속된 구간을 이룬다. 즉, k≤ℓk \le \ell이고 CkC_k와 CℓC_\ell이 모두 양수이면 Ck,Ck+1,…,CℓC_k, C_{k+1}, \dots, C_\ell도 모두 양수이다.

예제3

  1. 예제 1

    입력
    8
    1 2 3 5 6 4 7 8
    5 6 3 8 7 4 2 1
    0 0 6 2 4 0 0 0
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    1 2 3
    3 2 1
    0 0 0
    
    예상 출력
    4
    
  3. 예제 3

    입력
    4
    1 2 3 4
    4 3 2 1
    0 4 0 0
    
    예상 출력
    3