def main(): h, w, k = list(map(int, input().split())) if k == 0: for y in range(h): print("."*w) return if h == 1: if k == 1: print("#"+"."*(w-1)) else: print(-1) return if w == 1: if k == 1: print("#") for y in range(h-1): print(".") else: print(-1) return if k == 1: print(-1) return if h == 2: if 2 <= k <= w: print("#"*(k-1)+"."*(w-k+1)) print("."*w) else: print(-1) return if w == 2: if 2 <= k <= h: for _ in range(k-1): print("#.") for _ in range(h-k+1): print("..") else: print(-1) return if k == 2: print("#"+"."*(w-1)) for _ in range(h-1): print("."*w) return if k == 3: print("##"+"."*(w-2)) for _ in range(h-1): print("."*w) return A = [[0 for _ in range(w)] + [1] for _ in range(h)] + [[1] * (w+1)] y, x = 0, 1 dy = [1, 0, -1, 0] dx = [0, 1, 0, -1] di = 0 E = [] while 1: if not A[y][x]: E.append((y, x)) A[y][x] = 1 if A[y+dy[di]][x+dx[di]]: break if A[y+dy[di]+dy[(di+1)%4]][x+dx[di]+dx[(di+1)%4]]: break if not A[y+dy[di]*2][x+dx[di]*2]: y, x = y+dy[di], x+dx[di] else: di = (di+1)%4 a = 0 for aa in A[:-1]: a += sum(aa[:-1]) if k % 2: assert 0 if 2*a+1 < k: print(-1) return Ans = [["." for _ in range(w)] for _ in range(h)] if not k % 2: Ans[0][0] = "#" Ans[1][0] = "#" for i in range(k//2): y, x = E[i] Ans[y][x] = "#" for ans in Ans: print("".join(ans)) main()