Фрактальный торт
Сегодня Федя празднует свой день рождения, и, пока гости не пришли, он украшает праздничный торт шоколадным кремом, но по-особенному. Вначале у Феди есть квадратный торт, разделённый на 4 равных квадрата из коржей белого цвета. Федя называет "фрактализацией" следующие действия - группируем все маленькие квадраты торта в группы 2x2 так, чтобы не осталось несгруппированных фрагментов, после чего каждый маленький квадрат делим на 4 равных квадрата и заполняем шоколадом 4 квадратика всередине каждой группы. Такое действие повторяется последовательно N раз. Иллюстрация снизу показывает первую "фрактализацию" и торт после пятой:
Теперь Федя хочет нарезать гостям куски торта с красивыми узорами, но ему трудно, смотря на торт в целом, оценить узор его части. Напишите программу, которая покажет узор заданной прямоугольной части.
Входные данные
В единственной строке записаны пять целых неотрицательных чисел N, R_1, R_2, C_1, C_2. N – количество итераций вышеописанных изменений, проведённых над тортом (N < 20), R_1 и R_2 – это сответственно начальная и конечная строки, C_1 и C_2 – начальный и конечный столбцы вырезанного куска. Действуют ограничения: R_1 ≤ R_2, C_1 ≤ C_2; 0 ≤ R_2 - R_1, C_2 - C_1 < 100; 0 ≤ R_1, R_2, C_1, C_2 < 2N + 1.
Выходные данные
Ожидается R_2 - R_1 + 1 строк по C_2 - C_1 + 1 символов в каждой. Если соответствующий квадратик залит шоколадом, следует вывести 1, в противном случае выведите 0.