만드는 중입니다

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

홍수 성벽

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

요약
각 구간의 높이가 두 후보 중 하나인 2^N개의 성벽에서 고이는 물의 총합을 10^9+7로 나눈 나머지로 구합니다.
난이도

보통10점 중 7점

유형
정렬, 누적 합, 수학
정답자
아직 제출이 없습니다

문제

14세기, 트라카이 섬 성의 건설이 곧 시작된다. 수석 건축가의 목록에서 첫 번째 과제는 성의 주벽 건설을 계획하는 것이다.

어떤 공격이든 막아낼 수 있는 벽을 세우기는 꽤 까다롭다. 성의 수비대를 안전하게 지키기 위해 수석 건축가는 설계 범위를 이미 어느 정도 좁혀 두었다.

호수 한가운데에서 오는 공격은 근처 해안에서 오는 공격보다 가능성이 낮다. 그래서 벽은 닫힌 고리일 필요가 없다. 대신 한쪽 끝에서 다른 쪽 끝까지 일직선으로 놓인 NN개의 구간으로 이루어지며, 1번부터 NN번까지 번호가 붙는다. 남은 일은 각 구간의 높이를 정하는 것이다.

수석 건축가는 각 구간마다 가능한 높이 두 개를 이미 골라 두었다. ii번째 구간의 높이는 aia_i 또는 bib_i이다. 따라서 가능한 경우는 2N2^N가지가 남는다.

호수 가운데 있는 작은 섬의 성에는 어려움이 따른다. 폭풍우가 치는 날에는 성이 물에 잠길 수 있다. 어떤 구간의 양쪽에 더 높은 구간이 있으면, 그 구간 위에 물이 고이고 빠지지 못한다.

입력

첫 줄에 정수 NN이 주어진다.

둘째 줄에 NN개의 정수 a1,a2,…,aNa_1, a_2, \dots, a_N이 주어진다.

셋째 줄에 NN개의 정수 b1,b2,…,bNb_1, b_2, \dots, b_N이 주어진다.

출력

2N2^N가지 벽 모두에서 모인 물의 총량을 모두 더한 값을 109+710^9 + 7로 나눈 나머지를 정수 하나로 출력한다.

높이를 고정하면, 위치 ii의 수위가 hh 이상인 것은 위치 ll과 rr의 높이가 모두 hh 이상이 되는 정수 l≤i≤rl \le i \le r이 존재할 때이고, 그때만이다. 위치 11과 NN의 수위는 항상 그 구간의 높이와 같고, 어느 위치의 수위든 그 구간의 높이 이상이다. 위치 ii에 모이는 물의 양은 수위에서 구간 높이를 뺀 값이며, 총량은 위치 1,2,…,N1, 2, \dots, N에 대한 합이다.

제한

1≤N≤5⋅1051 \le N \le 5 \cdot 10^5.

1≤ai,bi≤1091 \le a_i, b_i \le 10^9이고, 모든 1≤i≤N1 \le i \le N에 대해 ai≠bia_i \ne b_i이다.

예제2

  1. 예제 1

    입력
    4
    1 1 1 1
    2 2 2 2
    
    예상 출력
    6
    
  2. 예제 2

    입력
    10
    1 2 3 4 5 6 7 8 9 10
    10 9 8 7 6 5 4 3 2 1
    
    예상 출력
    21116