N = 40 A = [[1 for j in range(N)] for i in range(N)] for k in range(12): for i in range(2*k,2*k+3): for j in range(2*k,2*k+3): A[i][j] = 0 if k % 2 == 0: for i in range(2*k,38): A[i][2*k] = 0 else: for j in range(2*k,38): A[2*k][j] = 0 for i in range(40): A[i][-1] = 0 A[-1][i] = 0 A[-1][-2],A[-2][-1] = 2,2 T = int(input()) for _ in range(T): M = int(input()) G = A.copy() X = M for k in range(12): p = X % 6 if k % 2 == 0: if p != 0: A[-2][2*k] = 0 for i in range(-1,-1-p,-1): A[i][2*k+1] = 0 else: if p != 0: A[2*k][-2] = 0 for i in range(-1,-1-p,-1): A[2*k+1][i] = 0 X //= 6 print(N) for i in range(N): for j in range(N): s = "#" if G[i][j] == 1 else ("." if G[i][j] == 0 else "P") print(s,end = "") print()