import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### """ n が十分大きいとき - k = 1 No - k = 2 No - k >= 3 ##### # - 3 <= k <= n Yes n = 5 ####o #ooo. ##o #o o 左下から2kマスで作る """ def solve(n, k): if k * 2 > n * n: return if k == 1: return if k == 2: if n == 2: return [[1, 1], [0, 0]] else: return if k <= n: res = [[0] * n for i in range(n)] for i in range(k-1): res[0][i] = 1 res[1][0] = 1 return res elif k == n * 2: res = [[0] * n for i in range(n)] for i in range(n): res[1][i] = 1 res[2][i] = 1 return res elif k == n * 2 + 1: res = [[0] * n for i in range(n)] for i in range(n): res[1][i] = 1 res[2][i] = 1 res[2][0] = 0 res[3][0] = 1 res[3][1] = 1 return res else: res = [[0] * n for i in range(n)] cnt = k p, q = divmod(k * 2, n) if q == 0: p -= 1 q = n # print(n, k, p, q) for i in range(p): res[i][q-1] = 1 cnt -= 1 i = p - 1 while i >= -1: if i == -1: i = 0 for j in range(q-1): res[i][j] = 1 cnt -= 1 i -= 3 i = p - 2 while i >= -1: if i == -1: i = 0 for j in range(q, n): res[i][j] = 1 cnt -= 1 i -= 3 for i in range(n): for j in range(q-1, -1, -1): if res[i][j] == 0 and cnt > 0: res[i][j] = 1 cnt -= 1 for j in range(q, n): if res[i][j] == 0 and cnt > 0: res[i][j] = 1 cnt -= 1 return res def check(n, k, res): A = 0 B = 0 for i in range(n): for j in range(n): A += res[i][j] if res[i][j] == 0: ok = 0 for dx, dy in [[1, 0], [0, 1], [-1, 0], [0, -1]]: x = i + dx y = j + dy if 0 <= x < n and 0 <= y < n and res[x][y]: ok = 1 B += ok # print(A, B) return A == B == k # for n in range(1, 100): # for k in range(1, n * n): # res = solve(n, k) # if res is None: # continue # if not check(n, k, res): # print(n, k) # # for i in range(n): # # print("".join([".#"[j] for j in res[i]])) for _ in range(ni()): n, k = na() res = solve(n, k) if res is None: No() else: Yes() for i in range(n): print("".join([".#"[j] for j in res[i]])) assert check(n, k, res)