#include <bits/stdc++.h>
char a[6][6];
int main() {
  int i, j, ok = 0;
  for (i = 1; i <= 4; i++) {
    for (j = 1; j <= 4; j++) a[i][j] = fgetc(stdin);
    fgetc(stdin);
  }
  ok = 0;
  for (i = 1; i <= 4; i++) {
    for (j = 1; j <= 4; j++) {
      if ((a[i][j] == 'x' && a[i - 1][j] == 'x' && a[i + 1][j] == '.') ||
          (a[i][j] == 'x' && a[i + 1][j] == 'x' && a[i - 1][j] == '.') ||
          (a[i + 1][j] == 'x' && a[i - 1][j] == 'x' && a[i][j] == '.'))
        ok = 1;
      if ((a[i][j] == 'x' && a[i][j - 1] == 'x' && a[i][j + 1] == '.') ||
          (a[i][j] == 'x' && a[i][j + 1] == 'x' && a[i][j - 1] == '.') ||
          (a[i][j - 1] == 'x' && a[i][j + 1] == 'x' && a[i][j] == '.'))
        ok = 1;
      if ((a[i][j] == 'x' && a[i - 1][j - 1] == 'x' &&
           a[i + 1][j + 1] == '.') ||
          (a[i][j] == 'x' && a[i + 1][j + 1] == 'x' &&
           a[i - 1][j - 1] == '.') ||
          (a[i - 1][j - 1] == 'x' && a[i + 1][j + 1] == 'x' && a[i][j] == '.'))
        ok = 1;
      if ((a[i][j] == 'x' && a[i + 1][j - 1] == 'x' &&
           a[i - 1][j + 1] == '.') ||
          (a[i][j] == 'x' && a[i - 1][j + 1] == 'x' &&
           a[i + 1][j - 1] == '.') ||
          (a[i + 1][j - 1] == 'x' && a[i - 1][j + 1] == 'x' && a[i][j] == '.'))
        ok = 1;
    }
  }
  if (ok == 1)
    printf("YES");
  else
    printf("NO");
  return 0;
}
