#include <bits/stdc++.h>
using namespace std;
int n, m;
int a, b, c;
char ans[106][106];
char out[206][206];
void EXEC() {
  cin >> n >> m >> a >> b >> c;
  string q =
      string(a, '1') + string(m, ' ') + string(b, '0') + string(c - m, ' ');
  reverse(q.begin(), q.end());
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j) {
      ans[i][j] = q.back();
      q.pop_back();
    }
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j) {
      auto set = [&](string s) {
        for (int k = 0; k < 4; ++k)
          out[i * 2 + (k >> 1)][j * 2 + (k & 1)] = s[k];
      };
      if (isdigit(ans[i][j])) {
        if (ans[i][j] == '1')
          set("####");
        else
          set("....");
      } else {
        int left = j & 1;
        int top = i & 1;
        for (int y = j - 1; y >= 0; --y)
          if (isdigit(ans[i][y])) {
            left = (ans[i][y] - '0') ^ 1 ^ ((j - y) & 1);
            break;
          }
        for (int y = j + 1; y < m; ++y)
          if (isdigit(ans[i][y])) {
            left = (ans[i][y] - '0') ^ ((y - j) & 1);
            break;
          }
        for (int x = i - 1; x >= 0; --x)
          if (isdigit(ans[x][j])) {
            top = (ans[x][j] - '0') ^ 1 ^ ((i - x) & 1);
            break;
          }
        for (int x = i + 1; x < n; ++x)
          if (isdigit(ans[x][j])) {
            top = (ans[x][j] - '0') ^ ((x - i) & 1);
            break;
          }
        if (top && left)
          set(R"(#//.)");
        else if (top && !left)
          set(R"(\#.\)");
        else if (!top && left)
          set(R"(\.#\)");
        else if (!top && !left)
          set(R"(.//#)");
      }
    }
  for (int i = 0; i < n * 2; ++i) {
    for (int j = 0; j < m * 2; ++j) printf("%c", out[i][j]);
    printf("\n");
  }
}
int main() {
  EXEC();
  return 0;
}
