#include <bits/stdc++.h>
using namespace std;
const long long N = 2e5 + 1;
long long n, m, k, l, r, x, y, z, cnt, ans, sum, T, mx = -1e18, mn = 1e18;
char a[5][5];
string s, t;
int main() {
  ios_base::sync_with_stdio(0);
  for (int i = 1; i <= 4; i++) {
    for (int j = 1; j <= 4; j++) cin >> a[i][j];
  }
  for (int i = 1; i <= 4; i++) {
    for (int j = 1; j <= 4; j++) {
      if (a[i][j] == '.') {
        if ((a[i][j + 1] == 'x' && a[i][j - 1] == 'x') ||
            (a[i - 1][j] == 'x' && a[i + 1][j] == 'x') ||
            (a[i - 1][j + 1] == 'x' && a[i + 1][j - 1] == 'x') ||
            (a[i - 1][j - 1] == 'x' && a[i + 1][j + 1] == 'x')) {
          cout << "YES";
          return 0;
        }
      }
      if (a[i][j] == 'x') {
        if ((a[i][j + 1] == '.' && a[i][j - 1] == 'x') ||
            (a[i - 1][j] == '.' && a[i + 1][j] == 'x') ||
            (a[i - 1][j + 1] == '.' && a[i + 1][j - 1] == 'x') ||
            (a[i - 1][j - 1] == '.' && a[i + 1][j + 1] == 'x')) {
          cout << "YES";
          return 0;
        }
        if ((a[i][j + 1] == 'x' && a[i][j - 1] == '.') ||
            (a[i - 1][j] == 'x' && a[i + 1][j] == '.') ||
            (a[i - 1][j + 1] == 'x' && a[i + 1][j - 1] == '.') ||
            (a[i - 1][j - 1] == 'x' && a[i + 1][j + 1] == '.')) {
          cout << "YES";
          return 0;
        }
      }
    }
  }
  cout << "NO";
}
