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 if not h % 2 and not w % 2 and 0: assert 0 A = [[0 for _ in range(w)] + [1] for _ in range(h)] + [[1] * (w+1)] for y in range(h): A[y][0] = 1 for x in range(w-1): A[y-1][x] = 1 y, x = h-1, w-2 dy = [1, 0, -1, 0] dx = [0, 1, 0, -1] di = 2 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 2*a+1-h-w+1 < k: print(-1) return assert 0 else: 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*a+1 : 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)) return h, w = w, h 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*a+1: 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] = "#" Ans = [[Ans[y][x] for y in range(h)] for x in range(w)] for ans in Ans: print("".join(ans)) return print(-1) return main()