#include <bits/stdc++.h>
int main() {
  int n, k;
  std::cin >> n >> k;
  if (k == 0) {
    std::cout << "YES" << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << std::string(n, '.') << '\n';
    return 0;
  }
  if (k == n - 2) {
    std::cout << "YES" << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << '.' << std::string(n - 2, '#') << '.' << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << std::string(n, '.') << '\n';
    return 0;
  }
  if (k % 2 == 0) {
    std::cout << "YES" << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << '.' << std::string(k / 2, '#')
              << std::string(n - 1 - k / 2, '.') << '\n';
    std::cout << '.' << std::string(k / 2, '#')
              << std::string(n - 1 - k / 2, '.') << '\n';
    std::cout << std::string(n, '.') << '\n';
    return 0;
  } else if (k < n - 2) {
    std::cout << "YES" << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << std::string((n - k) / 2, '.') << std::string(k, '#')
              << std::string((n - k) / 2, '.') << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << std::string(n, '.') << '\n';
    return 0;
  } else {
    std::cout << "YES" << '\n';
    std::cout << std::string(n, '.') << '\n';
    std::cout << '.' << std::string(n - 2, '#') << '.' << '\n';
    k -= n - 1;
    std::cout << '.' << std::string(k, '#') << std::string(n - 3 - k, '.')
              << '#' << '.' << '\n';
    std::cout << std::string(n, '.') << '\n';
    return 0;
  }
  return 0;
}
