#include <bits/stdc++.h>
#define f first
#define s second
#define fore(i,a,b) for(int i = (a), ThxMK = (b); i < ThxMK; ++i)
#define pb push_back
#define all(s) begin(s), end(s)
#define _ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define sz(s) int(s.size())
#define ENDL '\n'
#define vv(type, name, h, ...) vector<vector<type>> name(h, vector<type>(__VA_ARGS__))
#define vvv(type, name, h, w, ...) vector<vector<vector<type>>> name(h, vector<vector<type>>(w, vector<type>(__VA_ARGS__)))
using namespace std;
template<class t> using vc=vector<t>;
template<class t> using vvc=vc<vc<t>>;
using lli = long long;
using vi = vc<int>;
using ii = pair<int,int>;

lli gcd(lli a, lli b){return (b?gcd(b,a%b):a);}
lli lcm(lli a, lli b){ if(!a || !b) return 0; return a * b / gcd(a, b); }
int popcount(lli x) { return __builtin_popcountll(x); }
lli poww(lli a, lli b){
	lli res = 1;
	while(b){ if(b&1) res = res*a; a=a*a; b>>=1;}
	return res;
}

// mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
// int rnd(int n){return uniform_int_distribution<int>(0, n-1)(rng);}

template<class t,class u>bool mmax(t&a,u b){if(a<b)a=b;return a<b;}
template<class t,class u>bool mmin(t&a,u b){if(b<a)a=b;return b<a;}
template <typename T> static constexpr T inf = numeric_limits<T>::max() / 2;
// ---- しゃけ ツナマヨ ('-')7

int main(){_

	auto solve=[&](){
		lli a,b,c; cin>>a>>b>>c;
		lli d = a*a;
		lli u = b*b+c*c;
		if(u<d){
			cout<<2<<ENDL;
			return;
		}
		lli l = 0, r = u/d+5;
		auto f=[&](lli mid){
			return mid*mid*d>=u;
		};
		while(l+1<r){
			lli mid = (l+r)/2;
			if(f(mid))r = mid;
			else l = mid;
		}
		cout<<r<<ENDL;
	};
	//int t; cin>>t; while(t--)
	solve();
}

#include<bits/stdc++.h>
using namespace std;
int main(){
	long double x,y,r;
	scanf("%Lf%Lf%Lf",&r,&x,&y);
	long double dis=sqrt(x*x+y*y);
	if (dis<r){
		puts("2");
		return 0;
	}
	printf("%d\n",(int)ceil(dis/r));
}