#include <bits/stdc++.h>
const int N = 1e2 + 9;
using namespace std;
int n, m;
int mp[N][N];
int main() {
  scanf("%d%d", &n, &m);
  puts("YES");
  memset(mp, 0, sizeof mp);
  if (m <= n - 2) {
    int mid = (n + 1) / 2;
    if (m & 1) {
      mp[2][mid] = 1;
    }
    for (int i = 1; i <= m / 2; i++) {
      mp[2][mid - i] = mp[2][mid + i] = 1;
    }
  } else {
    for (int i = 2; i < n; i++) {
      mp[2][i] = 1;
    }
    m -= n - 2;
    int mid = (n + 1) / 2;
    if (m & 1) {
      mp[3][mid] = 1;
    }
    for (int i = 1; i <= m / 2; i++) {
      mp[3][mid - i] = mp[3][mid + i] = 1;
    }
  }
  for (int i = 1; i <= 4; i++) {
    for (int j = 1; j <= n; j++) {
      if (mp[i][j] == 1)
        printf("#");
      else
        printf(".");
    }
    puts("");
  }
}
