#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
long long lcm(long long a, long long b) { return a * b / gcd(a, b); }
bool ispossible(long long a, long long b, long long c, long long d) {
  long long c1 = 0, c2 = 0;
  if (a == '#')
    c1++;
  else
    c2++;
  if (b == '#')
    c1++;
  else
    c2++;
  if (c == '#')
    c1++;
  else
    c2++;
  if (d == '#')
    c1++;
  else
    c2++;
  if (c1 == 4 || c1 == 3 || c2 == 4 || c2 == 3) return true;
  return false;
}
int32_t main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  vector<string> v(4);
  for (long long i = 0; i < 4; i++) {
    for (long long j = 0; j < 4; j++) {
      char x;
      cin >> x;
      v[i].push_back(x);
    }
  }
  for (long long i = 0; i < 3; i++) {
    for (long long j = 0; j < 3; j++) {
      if (ispossible(v[i][j], v[i + 1][j], v[i][j + 1], v[i + 1][j + 1])) {
        cout << "YES";
        return 0;
      }
    }
  }
  cout << "NO";
  return 0;
}
