시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB95450.000%

문제

Со стародавних времён в поморских деревнях рукодельницы вышивали жемчугом на прямоугольных полотенцах, состоящих из одинаковых клеток. Вышивка начиналась с пришивания жемчужины к полотенцу в центре одной из клеток. Чтобы пришить новую жемчужину, рукодельница делала стежок из клетки, уже содержащей жемчужину, в соседнюю с ней по горизонтали или вертикали свободную клетку. Новая жемчужина пришивалась в центре клетки на конце стежка. Этот процесс повторялся, пока не заканчивались жемчужины.

Одно из таких праздничных полотенец находится в музее. К сожалению, некоторые части узора были утеряны, но описание полотенца сохранилось. Дирекция музея планирует восстановить один из прямоугольных фрагментов полотенца, но не ещё не решила какой именно. Затраты на восстановление фрагмента зависят от количества связных частей узора, попавших на этот фрагмент. Часть узора считается связной, если от любой её жемчужины можно по стежкам перейти к любой другой её жемчужине, не выходя за границы фрагмента. Дирекция всегда относит любые две жемчужины, между которыми можно перейти по стежкам, к одной и той же связной части узора.

Требуется написать программу, вычисляющую количество связных частей узора для каждого из заданных фрагментов.

입력

Первая строка входных данных содержит два целых числа $a$ и $b$ --- размеры полотенца в клетках по горизонтали и вертикали.

Вторая строка содержит два числа $n$ и $q$ --- количество жемчужин в узоре и количество фрагментов соответственно.

Следующие $(n - 1)$ строк содержат описания стежков. Каждый стежок имеет один из следующих видов:

  • h $x y$ означает, что клетки с координатами $(x, y)$ и $(x + 1, y)$ содержат жемчужины, соединённые горизонтальным стежком ($1 \leq x \leq a - 1$; $1 \leq y \leq b$);
  • v $x y$ означает, что клетки с координатами $(x, y)$ и $(x, y + 1)$ содержат жемчужины, соединённые вертикальным стежком ($1 \leq x \leq a$; $1 \leq y \leq b - 1$).

Так как неизвестно в каком порядке рукодельница наносила стежки, их описания следуют в произвольном порядке. При этом гарантируется, что узор был получен в результате процесса, описанного в условии задачи.

Следующие $q$ строк описывают фрагменты. Каждое описание содержит четыре целых числа $x_1$, $y_1$, $x_2$ и $y_2$ --- координаты левой нижней и правой верхней клетки фрагмента ($1 \leq x_1 \leq x_2 \leq a$; $1 \leq y_1 \leq y_2 \leq b$).

출력

Выходные данные должны содержать $q$ строк, где $i$-я строка содержит количество связных частей узора в $i$-м фрагменте.

서브태스크

번호배점제한
128

$1 \le a, b \le 100$, $2 \le n \le 100$, $1 \le q \le 100$

227

$1 \le a, b \le 3000$, $2 \le n \le 3000$, $1 \le q \le 3000$

323

$1 \le a, b \le 3000$, $2 \le n \le 100\,000$, $1 \le q \le 100\,000$

422

$1 \le a, b \le 150\,000$, $2 \le n \le 150\,000$, $1 \le q \le 150\,000$

예제 입력 1

4 3
8 4
v 1 1
h 1 1
h 2 1
v 2 1
v 2 2
h 1 3
h 3 1
1 1 4 3
3 2 4 3
3 1 3 1
1 2 3 3

예제 출력 1

1
0
1
2

힌트

Пояснение к тесту из условия.

$x_1 = 1$, $y_1 = 1$, $x_2 = 4$, $y_2 = 3$ $x_1 = 3$, $y_1 = 2$, $x_2 = 4$, $y_2 = 3$ $x_1 = 3$, $y_1 = 1$, $x_2 = 3$, $y_2 = 1$ $x_1 = 1$, $y_1 = 2$, $x_2 = 3$, $y_2 = 3$

채점 및 기타 정보

  • 예제는 채점하지 않는다.