#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ALL(v) v.begin(), v.end()
typedef long long ll;

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

#include <bits/stdc++.h>
using namespace std;


int main(){
  double a,b,c,d;
  cin>>a>>b>>c>>d;
  
  double D=(a-c)*(a-c)-8*(b-d);
  
  if(D<0) cout<<"No"<<endl;
  else if(D==0) cout<<"Yes"<<endl;
  else{
    cout<< fixed << setprecision(15) <<(a+c)/2<<" "<<(b+d)/2<<endl;
  }

  return 0;
}