#!/usr/bin/env python3

def next_pos(x, y, pos_last, x_end, y_end):
    if x == x_end and y == y_end: return True
    #print(pos_last)
    for delta in [(1, 0), (-1, 0), (0, 1), (0, -1)]:
        xn = x + delta[0]
        yn = y + delta[1]
        if (xn, yn) in pos_last: continue
        if (xn, yn) in field:
            return next_pos(xn, yn, pos_last + [(x, y)], x_end, y_end)
    return False

field = []
a = int(input())
for x in range(a):
    kind, x_start, y_start, x_end, y_end = [int(i) for i in input().split()]
    if kind == 0:
        xsorted = sorted([x_start, x_end])
        ysorted = sorted([y_start, y_end])
        for xpos in range(xsorted[0], xsorted[1] + 1):
            for ypos in range(ysorted[0], ysorted[1] + 1):
                field.append((xpos, ypos))
    else:
        if next_pos(x_start, y_start, [], x_end, y_end):
            print(1)
        else:
            print(0)

import sys; sys.exit(0)

for y in range(8):
    for x in range(8):
        if (x, y) in field: print("X", end="")
        else: print(".", end="")
    print()
