#include <bits/stdc++.h>
using namespace std;
int main() {
  char a[10][10];
  int i, l, k, sig = 0;
  for (i = 0; i < 4; i++) scanf("%s", a[i]);
  for (i = 0; i < 4; i++)
    for (k = 0; k < 4; k++) {
      if (a[i][k] == '.' && a[i][k + 1] == '.' && a[i + 1][k] == '.') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
      } else if (a[i][k] == '#' && a[i][k + 1] == '#' && a[i + 1][k] == '#') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
      } else if (a[i][k] == '.' && a[i][k + 1] == '.' &&
                 a[i + 1][k + 1] == '.') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
      } else if (a[i][k] == '#' && a[i][k + 1] == '#' &&
                 a[i + 1][k + 1] == '#') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
      } else if (a[i][k + 1] == '.' && a[i + 1][k + 1] == '.' &&
                 a[i + 1][k] == '.') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
      } else if (a[i][k + 1] == '#' && a[i + 1][k + 1] == '#' &&
                 a[i + 1][k] == '#') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
        sig = 1;
      } else if (a[i][k] == '.' && a[i + 1][k + 1] == '.' &&
                 a[i + 1][k] == '.') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
        sig = 1;
      } else if (a[i][k] == '#' && a[i + 1][k + 1] == '#' &&
                 a[i + 1][k] == '#') {
        printf("YES\n");
        i = 5;
        k = 5;
        sig = 1;
      }
    }
  if (sig == 0) printf("NO\n");
  return 0;
}
