
#include<iostream>
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <iterator>
using namespace __gnu_pbds;


#define point complex<double>

using namespace std;
typedef tree<int, null_type,
        less_equal<int>, rb_tree_tag,
        tree_order_statistics_node_update>
        ordered_set;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
const ll N = 2e5 + 10, mod = 998244353,inf=INT_MAX/2;
ll a[N];

int main ()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
  long double r,x,y,x1,y1;
   cin>>r>>x>>y>>x1>>y1;
   long double dist=sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y));
   r*=2;
   ll z=(dist)/r;
   if(((dist)/r)-z>1e-10)z++;
   cout<<z;





    return 0;

}
