#include <bits/stdc++.h>
typedef long long int ll;
typedef unsigned long long int ull;
using namespace std;
const ll INF=1e9;
void input(ll *a,ll n){
    for(ll i=0;i<n;i++)
        cin>>a[i];
}
ll lcm(ll a,ll b)
{
    return (a*b)/__gcd(a,b);
}
bool isprime(ll n){
    if(n==1){
        return false;
    }
    if(n==2 || n==3){
        return true;
    }
    for(ll i=2;i<=sqrt(n);i++){
        if(n%i==0)
            return false;
    }
    return true;
}

ll x[100001]={0};
ll h[100001]={0};
//ll b[150001]={0};
//ll a[200001]={0};
//bool c[540001]={0};
//bool prime[100001]={0};
//ll prec[100011]={0};

void sieve(ll n,bool *a)
{
    for (ll p=2; p*p<=n; p++){
        if (!a[p]){
            for (ll i=p*p;i<=n;i+=p)
                a[i]=true;
        }
    }
}

ll fact(ll n){
    ll res=1;
    for(ll i=1;i<=n;i++)
        res*=i;
    return res;
}

ll distance(ll x1,ll y1,ll x2,ll y2){
    return (ll)ceil(sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));
}

void solve(){
    ll r,x,y,x1,y1;
    cin>>r>>x>>y>>x1>>y1;

    if(distance(x,y,x1,y1)==0){
        cout<<0;
    }
    else if(distance(x,y,x1,y1)<=r){
        cout<<2;
    }
    else if(distance(x,y,x1,y1)>r){
        if(distance(x,y,x1,y1)%(2*r)==0)
        cout<<distance(x,y,x1,y1)/(2*r);
        else{
          cout<<distance(x,y,x1,y1)/(2*r)+1;
        }
    }
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    //sieve(540000,c);
    ll t=1;
    //cin>>t;
    for(ll i=0;i<t;i++){
        solve();
    }
}
