혜아의 학교에는 가로선 R개와 세로선 C개로 이루어진 커다란 격자가 그려진 운동장이 있습니다. 위에서 r번째 가로선과 왼쪽에서 c번째 세로선이 만나는 교차점을 (r,c)라고 합시다.
이 운동장에는, 어제 비가 많이 오는 바람에 여러 장애물이 생겼습니다.
혜아는 운동회에서 열릴 달리기 시합을 위해 운동장에 N명의 선수가 달릴 N개의 경주로를 그리려고 합니다. 운동회는 기록보다 화합을 위한 행사이기 때문에, 이 경주에도 즐거움을 주기 위한 여러 규칙이 붙어있습니다.
위 규칙을 좀 더 엄밀하게 표현하면 다음과 같습니다.
i번째 선수의 경주로는 (1,a_i)에서 시작해서 (R,b_i)로 끝나는 서로 인접한 교차점의 수열입니다. (1≤i≤N)
수열에 속한 모든 교차점 (r,c)에 대해 1≤r≤R,1≤c≤C여야 합니다.
(x_j,y_j)는 수열에 포함될 수 없습니다. (1≤j≤M)
1<r≤R,1≤c≤C인 (r,c)의 다음 원소가 (r−1,c)이면 안 됩니다.
1≤r≤R,1≤c<C인 r,c에 대해,
한 교차점은 최대 하나의 수열에만 포함됩니다.
위 규칙을 만족하며 경주로를 그리는 모든 방법 중, k명의 선수가 진흙으로 덮인 구간을 지나게 되는 경우의 수를 k=0,1,⋯,N에 대해 구해 주세요. 단, 수가 매우 클 수 있으니 소수인 1\\,000\\,000\\,007$$(=10^9+7)로 나눈 나머지를 출력해 주세요.
첫 줄에 R, C, N, M, S가 공백으로 구분되어 주어집니다. (3≤R,C≤300; 3≤N≤C; 0≤M≤300; 1≤S<R)
둘째 줄에 a_1,a_2,⋯,a_N이 공백으로 구분되어 주어집니다. (1≤a_1<a_2<⋯<a_N≤C)
셋째 줄에 b_1,b_2,⋯,b_N이 공백으로 구분되어 주어집니다. (1≤b_1<b_2<⋯<b_N≤C)
넷째 줄에 t_1,t_2,⋯,t_N이 공백으로 구분되어 주어집니다. (1≤t_1<t_2<⋯<t_N≤C)
M>0인 경우 다음 M개의 줄의 j번째 줄에는 x_j와 y_j가 공백으로 구분되어 주어집니다. (1<x_j<R; 1≤y_j≤C)
주어지는 모든 물웅덩이의 위치는 서로 다릅니다.
첫 줄에 N+1개의 정수를 공백으로 구분하여 출력해 주세요. k+1번째 정수는 k명의 선수가 진흙으로 덮인 구간을 지나게 되는 경우의 수를 1\\,000\\,000\\,007$$(=10^9+7)로 나눈 나머지여야 합니다. (0≤k≤N)