from __future__ import annotations import sys sys.setrecursionlimit(2*10**7) #↓codon=============================== import string Alp_low=list(string.ascii_lowercase) Alp_up=list(string.ascii_uppercase) Digit="0123456789" dij=[[0,1],[1,0],[0,-1],[-1,0]] def nin(): return list(map(int,input().split())) def deq(x): return [i-1 for i in x] mod=998244353 _factorial=[1] def factorial(n): while len(_factorial)<=n: _factorial.append((_factorial[-1]*len(_factorial))%mod) return _factorial[n] _inv_factorial=[1] def inv_factorial(n): while len(_inv_factorial)<=n: _inv_factorial.append((_inv_factorial[-1]*pow(len(_inv_factorial),mod-2,mod))%mod) return _inv_factorial[n] def binom(n,r): if r>=mod: raise ValueError("r is too big") if n<0: return 0 if r>n: return 0 if r<0: return 0 ans=((factorial(n)*inv_factorial(r))%mod*inv_factorial(n-r))%mod return ans def main(): n,=nin() if n==3: print(".#.") print("###") print(".#.") return k=(-n+2)%4 ans=[["."]*n for _ in range(n)] for i in range(n): for j in range(n): if (i,j) in [(0,n-1),(n-1,0),(0,n-2),(n-2,0)]: ans[i][j]="#" continue if i==n-1 or j==n-1 or i==0 or j==0: ans[i][j]="." continue if (i+j+k)%4 in [0,1]: ans[i][j]="#" continue continue if i==n-1 and j==0: ans[i][j]="#" continue if i in [0,n-1] or j in [0,n-1]: continue for i in ans: print("".join(i)) if __name__=="__main__": main()