#define _CRT_SECURE_NO_WARNINGS
//#pragma comment(linker, "/STACK:100000000")
#include <iostream>
#include <cstdio>
#include <vector>
#include <deque>
#include <set>
#include <map>
#include <list>
#include <stack>
#include <iterator>
#include <algorithm>
#include <functional>
#include <cstring>
#include <string>
#include <cmath>
#include <ctime>
#include <queue>
#include <fstream>
#include <iomanip>
#include <windows.h>

using namespace std;

#define mp make_pair
#define MOD 1000000007

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;

inline int max3(int a, int b, int c) { return max(a, max(b, c)); }
inline int max4(int a, int b, int c, int d) { return max(max(a, b), max(c, d)); }
inline int min3(int a, int b, int c) { return min(a, min(b, c)); }
inline int min4(int a, int b, int c, int d) { return min(min(a, b), min(c, d)); }

const int INF = 1e9;
const ll LINF = 1e18;
const double EPS = 1e-12;
const double PI = acos(-1.0);
const pii piiINF = mp(INF, INF);

const int maxn = 301;

int r, px, py, qx, qy;

int main() {
	cin >> r >> px >> px >> qx >> qy;
	double d = sqrt(double((px - qx)*(px - qx)) + double((py - qy)*(py - qy)));
	cout << ceil(d/(2.0*r));

	return 0;
}