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 k == 4: print("##"+"."*(w-2)) print("#"+"."*(w-1)) for _ in range(h-2): print("."*w) return if not h % 2 or not w % 2: f = 0 if w % 2: h, w = w, h f = 1 Ans = [["." for _ in range(w)] for _ in range(h)] A = [[0 for _ in range(w)] + [1] for _ in range(h)] + [[1] * (w+1)] E = [] for y in range(h): A[y][0] = 1 Ans[y][0] = "#" E.append((y, 0)) for x in range(w-1): A[h-1][x] = 1 Ans[h-1][x] = "#" E.append((h-1, x)) y, x = h-1, w-2 dy = [1, 0, -1, 0] dx = [0, 1, 0, -1] di = 2 while 1: if not A[y][x]: E.append((y, x)) A[y][x] = 1 Ans[y][x] = "#" if A[y+dy[di]][x+dx[di]]: 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 ans = 2*a+1-h-w+1 if (ans-k)%2: Ans[0][0] = "." Ans[1][0] = "." ans -= 1 while ans > k: y, x = E.pop() A[y][x] = 0 Ans[y][x] = "." ans += 1 for di in range(4): ny, nx = y+dy[di], x+dx[di] if A[ny][nx] == 0: ans -= 1 if f: Ans = [[Ans[y][x] for y in range(h)] for x in range(w)] for ans in Ans: print("".join(ans)) return 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()