Ковры
Профессор компьютерных наук Товинг Лайлс так любит плитку на полу в своем офисе, что хочет защитить ее от повреждений нерадивыми учениками. Поэтому он хотел бы купить в супермаркете дешевые небольшие прямоугольные коврики и покрыть пол таким образом, чтобы:
Весь пол был покрыт.
Коврики не должны пересекаться.
Коврики можно вращать произвольным образом.
Коврики нельзя рвать на куски.
Но, проверяя запасы супермаркета, он начинает задаваться вопросом, сможет ли он вообще осуществить свой план. Вы можете ему помочь?
Входные данные
Первая строка содержит два целых числа w и h (1 ≤ w, h ≤ 100) - размеры комнаты. Вторая строка содержит целое число c (1 ≤ c ≤ 7) - количество ковров разных цветов, имеющихся в наличии в супермаркете.
Каждая из следующих c строк содержит три целых числа a[i]
, w[i]
и h[i]
, означающих что супермаркет содержит a[i]
ковриков размера w[i]
, h[i]
и цвета i (1 ≤ a[i]
≤ 7, 1 ≤ w[i]
≤ 100, 1 ≤ h[i]
≤ 100).
Супермаркет содержит не более 7 ковров, то есть сумма всех a[i]
≤ 7.
Выходные данные
Для заданных размеров помещения и наличия ковров в супермаркете выведите "yes", если можно застелить комнату коврами как указано выше и "no" иначе.