Вирізана дошка
Вирізана дошка
Прямокутна дошка розміром n * m розбита на клітинки 1 * 1. З неї вирізані x послідовних чарунок з першого рядка, починаючи з верхнього лівого кута, і y послідовних чарунок з останнього рядка починаючи з нижнього правого кута. Чи можете Ви заповнити всі осередки дошки кістками 2 * 1 доміно, щоб вони при цьому не перекривалися і не виходили за край?
Напишіть програму, яка за чотирма цілим числам n, m, x і y виводить, чи може залишилася дошка бути заповнена доміно, і якщо так, то виводить один із способів розміщення доміно.
Вхідні дані
Один рядок містить чотири цілих числа n, m, x и y (3 ≤ n, m ≤ 100, 1 ≤ x, y < m).
Вихідні дані
Виведіть NO якщо неможливо заповнити всі осередки дошки кістками доміно.
Інакше виведіть YES в першому рядку, а у другому рядку - кількість використаних кісток доміно.
У наступних рядках виведіть чотири цілих числа, що позначають розташування доміно. Координата x відповідає номеру рядка, а координата y - номеру стовпчика.
Координати доміно x1
, y1
, x2
, y2
означають що доміно покриває чарунки (x1
, y1
) и (x2
, y2
).
Ви можете заповнювати дошку, розміщуючи кожне доміно по вертикалі або по горизонталі.
Якщо існує декілька рішень, виведіть будь-яке з них.
3 4 1 3
YES 4 2 1 3 1 2 2 2 3 1 2 1 3 1 4 2 4
3 3 2 2
NO