n,k = map(int, input().split()) si,sj = map(int, input().split()) si -= 1 sj -= 1 gi,gj = map(int, input().split()) gi -= 1 gj -= 1 if sj > gj: si,sj,gi,gj = gi,gj,si,sj if si <= gi: tf = True else: tf = False ans = [['.']*n for _ in range(n)] k -= abs(si-gi) + abs(sj-gj) cur = 0 an = [False]*(2*n) for i in range(sj+1,gj+1): if cur%2 == 0 and k > 0: k -= 2 if tf: an[si+i] = True else: an[si-i] = True cur += 1 if tf: for i in range(si+1,gi): if cur%2 == 0 and k > 0: k -= 2 an[i+gj] = True cur += 1 else: for i in range(si-1,gi,-1): if cur%2 == 0 and k > 0: k -= 2 an[i-gj] = True cur += 1 for i in range(n): for j in range(n): if tf: now = i+j else: now = i-j if an[now]: ans[i][j] = '#' if k: print(-1) else: for i in ans: print("".join(i))