#include <bits/stdc++.h>
using namespace std;
using ll = int64_t;
const int MAX = 100010;
ll A[110];

int main() {
    ll R, X, Y;
    cin >> R >> X >> Y;

    ll ans = 0;

    double dis = sqrt(X * X + Y * Y);

    if(dis < R){
        ans = 2;
    }
    else{
        while(dis > 0){
            dis -= R;
            ans++;
        }
    }
    
    
    cout << ans << endl;

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

#define REP(i, n) for(int i = 0; i < (int)(n); ++i)
#define FOR(i, a, b) for(int i = (int)(a); i <= (int)(b); ++i)
#define FORR(i, a, b) for(int i = (int)(a); i >= (int)(b); --i)
#define ALL(c) (c).begin(), (c).end()

using ll = long long;
using VI = vector<int>;
using VL = vector<ll>;
using VD = vector<double>;
using VII = vector<VI>;
using VLL = vector<VL>;
using VDD = vector<VD>;
using P = pair<int, int>;
using PL = pair<ll, ll>;

template <typename T>
bool chmax(T& a, const T& b) {
  if(a < b) {
    a = b;
    return true;
  }
  return false;
}
template <typename T>
bool chmin(T& a, const T& b) {
  if(a > b) {
    a = b;
    return true;
  }
  return false;
}

void solve(long long R, long long X, long long Y) {
  ll N = 1;
  ll dis = X * X + Y * Y;
  if(dis < R * R) {
    cout << 2 << endl;
    return;
  }
  while(true) {
    ll tmp = R * R * N * N;
    if(dis <= tmp) {
      break;
    }
    N += 1;
  }
  cout << N << endl;
}

int main() {
  long long R;
  scanf("%lld", &R);
  long long X;
  scanf("%lld", &X);
  long long Y;
  scanf("%lld", &Y);
  solve(R, X, Y);
  return 0;
}
