#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, cnt1 = 0, cnt2 = 0, cnt3 = 0, cnt4 = 0, j = 0, f = 0, k, cnt5 = 0,
         cnt6 = 0, cnt7 = 0, cnt8 = 0, cnt9 = 0;
  char a[20];
  for (i = 1; i < 5; i++) {
    for (k = 0; k < 4; k++) {
      scanf("%c", &a[j]);
      j++;
    }
    getchar();
  }
  if (a[0] == '.') cnt1++;
  if (a[1] == '.') cnt1++;
  if (a[2] == '.') cnt2++;
  if (a[3] == '.') cnt2++;
  if (a[4] == '.') cnt1++;
  if (a[5] == '.') cnt1++;
  if (a[6] == '.') cnt2++;
  if (a[7] == '.') cnt2++;
  if (a[8] == '.') cnt3++;
  if (a[9] == '.') cnt3++;
  if (a[10] == '.') cnt4++;
  if (a[11] == '.') cnt4++;
  if (a[12] == '.') cnt3++;
  if (a[13] == '.') cnt3++;
  if (a[14] == '.') cnt4++;
  if (a[15] == '.') cnt4++;
  if (a[4] == '.') cnt5++;
  if (a[5] == '.') cnt5++;
  if (a[8] == '.') cnt5++;
  if (a[9] == '.') cnt5++;
  if (a[6] == '.') cnt6++;
  if (a[7] == '.') cnt6++;
  if (a[10] == '.') cnt6++;
  if (a[11] == '.') cnt6++;
  if (a[1] == '.') cnt7++;
  if (a[2] == '.') cnt7++;
  if (a[5] == '.') cnt7++;
  if (a[6] == '.') cnt7++;
  if (a[9] == '.') cnt8++;
  if (a[10] == '.') cnt8++;
  if (a[13] == '.') cnt8++;
  if (a[14] == '.') cnt8++;
  if (a[5] == '.') cnt9++;
  if (a[6] == '.') cnt9++;
  if (a[9] == '.') cnt9++;
  if (a[10] == '.') cnt9++;
  if (cnt1 != 2) f = 1;
  if (cnt2 != 2 && f == 0) f = 1;
  if (cnt3 != 2 && f == 0) f = 1;
  if (cnt4 != 2 && f == 0) f = 1;
  if (cnt5 != 2 && f == 0) f = 1;
  if (cnt6 != 2 && f == 0) f = 1;
  if (cnt7 != 2 && f == 0) f = 1;
  if (cnt8 != 2 && f == 0) f = 1;
  if (cnt9 != 2 && f == 0) f = 1;
  if (f == 1)
    printf("YES\n");
  else if (f == 0)
    printf("NO\n");
  return 0;
}
