#include<bits/stdc++.h>
#define ll long long int
#define mk make_pair
#define pb push_back
#define INF (ll)6e18
#define pii pair<ll,ll>
#define mod 998244353
#define f(i,a,b) for(ll i=a;i<b;i++)
#define fb(i,a,b) for(ll i=a;i>b;i--)
#define ff first
#define ss second
#define srt(v)  if(!v.empty())sort(v.begin(),v.end())
#define rev(v)  if(!v.empty())reverse(v.begin(),v.end())
#define PI 3.141592653589793238
#define pqr priority_queue<ll,vector<ll>,greater<ll>()>
using namespace std;
ll pow_mod(ll a,ll b)
{
	ll res=1;
	while(b!=0)
	{
		if(b&1)
		{
			res=(res*a)%mod;
		}
		a=(a*a)%mod;
		b/=2;
	}
	return res;
}

ll inv_mod(ll x){
    return pow_mod(x,mod-2);
}

const ll N=(ll)3e5;
ll inv[N];
ll fac[N];

void init(){
  fac[0]=1;
  
  for(ll i=1;i<N;i++)
  fac[i]=(i*fac[i-1])%mod;
  
  for(ll i=0;i<N;i++)
  inv[i]=inv_mod(fac[i]);
}

ll ncr(ll n,ll r){
    if(n<r)
    return 0;
    
    if(n==r||r==0)
    return 1LL;
    
    ll x=fac[n];
    ll y=inv[n-r];
    ll z=inv[r];
    
    return ((x*y)%mod*z)%mod;
}
bool test_cases=0;
bool is(string &s){
    for(ll i=0,j=(ll)s.size()-1;i<j;i++,j--){
        if(s[i]!=s[j])
        return false;
    }
    return true;
}
void solve()
{
  ll rad,x,y;
  cin>>rad>>x>>y;
  
  ll ans=0;
  
  ll dis_sqr=x*x+y*y;
  
  // k*r<=sqrt()
  //(k*r)^2<=  
  
  ll k=-1;
  
  ll l=0;
  ll r=(ll)6e5;
  
  while(l<=r){
      ll mid=(l+r)/2;
      
      
      if(mid*rad>1000000000)
      {
          r=mid-1;
          continue;
      }
      
      if((mid*rad)*(mid*rad)<=dis_sqr){
          k=mid;
          l=mid+1;
      }
      else
      r=mid-1;
  }
  
  if(k*rad*k*rad==dis_sqr)
  ans=k;
  else
  {
      ans=k+2;
      if(k>0)
      ans--;
      
  }
  
  cout<<ans<<endl;
  
}
int main()
{    ios_base::sync_with_stdio(false);
     cin.tie(NULL);
     cout.tie(NULL);
   
   // init();   //factorial calculations
   
   //Start from Here.

  ll t;
  t=1;
  
  if(test_cases)
  cin>>t;
  
  while(t--)
  solve();
//Good Bye!
    return 0;
}
#include<bits/stdc++.h>
using namespace std;
inline int read(){
    int res=0;
    char c;
    bool zf=0;
    while(((c=getchar())<'0'||c>'9')&&c!= '-');
    if(c=='-')zf=1;
    else res=c-'0';
    while((c=getchar())>='0'&&c<='9')res=(res<<3)+(res<<1)+c-'0';
    if(zf)return -res;
    return res;
}
signed main(){
	double a=read(),b=read(),c=read(),d=read();
	printf("%.10lf\n",(c+a*d/b)/(1+d/b));
	return 0;
} 