#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  while (true) {
    a %= b;
    if (a == 0) return b;
    b %= a;
    if (b == 0) return a;
  }
}
bool isB(long long n) {
  n = abs(n);
  while (n > 0) {
    if (n % 10 == 8) return true;
    n /= 10;
  }
  return false;
}
bool isPrime(int n) {
  if (n == 1) return false;
  for (int i = 2; i * i <= n; i++)
    if (n % i == 0) return false;
  return true;
}
long long cntt, cnt = 1, cnt1, cnti, cnt11 = 1, cnt22, t, mi1 = 10000000,
                ma1 = -9999;
long long ans, ans2, state, d, mi = 100000000, ma = -9999, sum, sum1, i, j, jj,
                               jjj, ii;
map<int, int> mapp;
pair<long long, long long> pa;
long long a[200];
long long b[201];
int c[200];
double x, y, x2, y2, x3, y3, r, ras;
int main() {
  cin >> r >> x >> y >> x2 >> y2;
  ras = (sqrt((x2 - x) * (x2 - x) + (y2 - y) * (y2 - y)));
  if (ras == 0) {
    cout << 0;
  } else {
    ans = ceil(ras / (2 * r));
    cout << ans;
  }
}
