#include <bits/stdc++.h>
using namespace std;
const double EPS = 1e-9;
const double PI = acos(-1.0);
const int MOD = 1000 * 1000 * 1000 + 7;
const int INF = 2000 * 1000 * 1000;
int main() {
  char a[7][7];
  long long n, i, j;
  for (i = 1; i <= (4); i++) {
    for (j = 1; j <= (4); j++) {
      cin >> a[i][j];
    }
  }
  for (i = 0; i < (6); i++) {
    a[i][0] = 'o';
    a[0][i] = 'o';
    a[5][i] = 'o';
    a[i][5] = 'o';
  }
  for (i = 1; i < 5; i++) {
    for (j = 1; j < 5; j++) {
      if (a[i][j] == 'x') {
        if ((a[i - 1][j - 1] != 'o' && a[i + 1][j + 1] != 'o') &&
            (a[i - 1][j - 1] == 'x' || a[i + 1][j + 1] == 'x')) {
          cout << "YES\n";
          return 0;
        }
        if ((a[i][j - 1] != 'o' && a[i][j + 1] != 'o') &&
            (a[i][j - 1] == 'x' || a[i][j + 1] == 'x')) {
          cout << "YES\n";
          return 0;
        }
        if ((a[i - 1][j] != 'o' && a[i + 1][j] != 'o') &&
            (a[i - 1][j] == 'x' || a[i + 1][j] == 'x')) {
          cout << "YES\n";
          return 0;
        }
        if ((a[i - 1][j + 1] != 'o' && a[i + 1][j - 1] != 'o') &&
            (a[i - 1][j + 1] == 'x' || a[i + 1][j - 1] == 'x')) {
          cout << "YES\n";
          return 0;
        }
      }
      if (a[i][j] == '.') {
        if (a[i - 1][j - 1] == 'x' && a[i + 1][j + 1] == 'x') {
          cout << "YES\n";
          return 0;
        }
        if (a[i][j - 1] == 'x' && a[i][j + 1] == 'x') {
          cout << "YES\n";
          return 0;
        }
        if (a[i - 1][j] == 'x' && a[i + 1][j] == 'x') {
          cout << "YES\n";
          return 0;
        }
        if (a[i - 1][j + 1] == 'x' && a[i + 1][j - 1] == 'x') {
          cout << "YES\n";
          return 0;
        }
      }
    }
  }
  cout << "NO\n";
  return 0;
}
