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

int main(){
	long r, x, y;
	cin >> r >> x >> y;
	double f=sqrt(x*x+y*y);
	if(f<r){
		cout << ceil(f/(double)r)+1 << endl;
	}else{
		cout << ceil(f/(double)r) << endl;
	}
	return 0;
}
#include <bits/stdc++.h>
#define endl "\n"
#define rep(i, n) for(int i = 0; i < int(n); i++)
#define rep2(i, s, n) for(int i = (s); i < int(n); i++)
#define e_b emplace_back
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> ipair;
typedef pair<ll, ll> lpair;
template <class T> ostream &operator << (ostream &o, const vector<T> &v) //vectorの中身を見る
{o << "{"; for(int i = 0; i < (int)v.size(); i++) o << (i > 0 ? ", ":"") << v[i]; o << "}"; return o;}
void map_p(map<int, int> &d){cout << "map: "; for(auto a : d){cout << "{" << a.first << ":" << a.second << "}, ";} cout << endl;} //mapの中身を見る
void set_p(set<int> &d){cout << "set: "; for(int a : d){cout << a << ", ";} cout << endl;} //setの中身を見る


int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    cout << fixed << setprecision(12);

    ll r, x, y;
    cin >> r >> x >> y;
    ll dis_2 = x * x + y * y;
    ll now = 0;
    while(dis_2 >= now * now){
        now++;
    } 
    now--;
    // コーナーケース
    if(now < r){
        cout << 2 << endl;
        return 0;
    }
    ll ans = 0;
    if(now * now == dis_2){
        ans = (now - 1) / r + 1;
    }else{
        if(now % r == 0) ans =  (now - 1) / r + 1 + 1;
        else ans = (now - 1) / r + 1;
    }
    cout << ans << endl;
    return 0;
}