#include "testlib.h"
#include <string>
using namespace std;

const int N = (int) 2e5 + 1;
const int K = (int) 100;

int l[K][2], r[K][2], x[N], n, k;

bool in_range(int x, int l, int r) {
	return ((l <= x) && (x <= r));
}

int check(InStream& in) {
	int num = in.readInt(0, k) - 1;
	if (num == -1)
		return -1;
	int res = in.readInt();
	string ans = in.readWord();
	if ((int) ans.size() != n)
		in.quitf(_pe, "Введенная строка имеет длину %d, отличную от %d", (int) ans.size(), n);
	int last[2] = {-1, -1}, sum = 0;
	for (int i = 0; i < n; ++i) {
		if ((ans[i] != '1') && (ans[i] != '2'))
			in.quitf(_pe, "Введенная строка содержит некорректный символ %c на позиции %d", ans[i], i);
		int bit = (int) (ans[i] - '1');
		if ((last[bit] != -1) && !in_range(x[i] - x[last[bit]], l[num][bit], r[num][bit]))
			in.quitf(_wa, "Ответ не удовлетворяет ограничению для династии номер %d: на позициях %d и %d обнаружена разность %d, лежащая вне пределов [%d,%d]", bit + 1, last[bit] + 1, i + 1, x[i] - x[last[bit]], l[num][bit], r[num][bit]);
		last[bit] = i;
		sum += ((i > 0) && (ans[i] == ans[i - 1]));
	}
	if (res != sum)
		in.quitf(_wa, "Выданное распределение не соответствует заявленному ответу: %d вместо %d", sum, res);
	return res;
}

int main(int argc, char ** argv) {
	registerTestlibCmd(argc, argv);
	n = inf.readInt();
	for (int i = 0; i < n; ++i)
		x[i] = inf.readInt();
	k = inf.readInt();
	for (int i = 0; i < k; ++i)
		for (int t = 0; t < 2; ++t) {
			l[i][t] = inf.readInt();
			r[i][t] = inf.readInt();
		}
	int jury = check(ans);
	int cont = check(ouf);
	if ((jury == -1) && (cont != -1))
		quitf(_fail, "Жюри не смогло найти решение, а участник нашел решение с ответом %d", cont);
	if ((jury != -1) && (cont == -1))
		quitf(_wa, "Участник не смог найти решение, а жюри нашло решение с ответом %d", jury);
	if (cont < jury)
		quitf(_fail, "Решение жюри не является оптимальным: %d вместо %d", jury, cont);
	if (jury < cont)
		quitf(_wa, "Решение участника не является оптимальным: %d вместо %d", cont, jury);
	quitf(_ok, "Ответ %d", jury);
}