#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
bool canPaint(char a, char b, char c, char d, int i, int j, string *s) {
  return s[i][j] == a && s[i][j + 1] == b && s[i + 1][j] == c &&
         s[i + 1][j + 1] == d;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  string s[4];
  for (int i = 0; i < 4; i++) cin >> s[i];
  bool flag = 1;
  for (int i = 0; i < 3 && flag; i++) {
    for (int j = 0; j < 3 && flag; j++) {
      flag = !(canPaint('.', '#', '#', '#', i, j, s) ||
               canPaint('#', '.', '#', '#', i, j, s) ||
               canPaint('#', '#', '.', '#', i, j, s) ||
               canPaint('#', '#', '#', '.', i, j, s) ||
               canPaint('#', '.', '.', '.', i, j, s) ||
               canPaint('.', '#', '.', '.', i, j, s) ||
               canPaint('.', '.', '#', '.', i, j, s) ||
               canPaint('.', '.', '.', '#', i, j, s) ||
               canPaint('#', '#', '#', '#', i, j, s) ||
               canPaint('.', '.', '.', '.', i, j, s));
    }
  }
  cout << (flag ? "NO\n" : "YES\n");
  return 0;
}
