#include<bits/stdc++.h>
using namespace std;
int main()
{
	long long R,x,y;
	cin>>R>>x>>y;
	float D = sqrt(x*x+y*y);
	if(D==R)
	{
		cout<<1<<endl;
	}
	else if(D<=R+R)
	{
		cout<<2<<endl;
	}
	else cout<<ceil(D/R)<<endl;
	return 0;
}
#include <bits/stdc++.h>
typedef long long ll;
#define ALL(l)  (l).begin(),(l).end()
#define rep(i,n) for(ll (i)=0;(i)<(n);(i)++)
#define rep2(i, s, n) for (ll i = (s); i < (ll)(n); i++)
using namespace std;

 
//const ll mod =  998244353;
//const ll maxn = 1000000000;
//const ll mod = 1000000007;
 
//---------------------------------------------------------------------------------------------------
using vi = vector<int>; // intの1次元の型に vi という別名をつける
using vll = vector<ll>; // intの1次元の型に vi という別名をつける
using vvll = vector<vll>; // intの2次元の型に vvi という別名をつける
using vs = vector<string>; // stringの1次元の型に vs という別名をつける
using pll = pair<ll, ll>; // これ以降 pii という型名はpair<ll, ll> と同じ意味で使える
//---------------------------------------------------------------------------------------------------
template <typename T>
void chmax(T &a, const T& b) {
  if (a < b) {
    a = b;  // aをbで更新
  }
}
template <typename T>
void chmin(T &a, const T& b) {
  if (a > b) {
    a = b;  // aをbで更新
  }
}

int main() {
   //cout << fixed << setprecision(10);
   ll r;
   cin>>r;
   double x,y;
   cin>>x>>y;
   
   double rxy=sqrt(x*x+y*y);
   //cout<<rxy<<endl;
  if(r==rxy)cout<<1<<endl;
  else if(r>rxy)cout<<2<<endl;
  else{
   ll dis=0;
   rep(i,100000000){

       if(dis>=rxy){
           cout<<i<<endl;
           return 0;
       }
       dis+=r;
   
   }
  }
   
}