import java.io.*;
import java.util.*;

public class AmrAndPins{
	public static void main(String args[]){
		Inp inp = new Inp();
		int r= inp.nextInt();
		int x1= inp.nextInt();
		int y1 = inp.nextInt();
		int x2 = inp.nextInt();
		int y2 = inp.nextInt();
		double d  = (Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)));
		//System.out.println(d);
		int turns = (int)(Math.ceil((d/r)/2));
		System.out.println(turns);
	}
}




class Inp {
	static BufferedReader br;
	static StringTokenizer st;
	public Inp() {
		br = new BufferedReader(new InputStreamReader(System.in)); 
	}
	public static int[] readArr(int n) {
		int[] input = new int[n];
		for (int i = 0; i < n; i++) {
			input[i] = nextInt();
		}
		return input;
	}
		
	static String next() {
		while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	}
	static int nextInt() {
		return Integer.parseInt(next());
	}
	static long nextLong() {
		return Long.parseLong(next());
	}
	static double nextDouble() {
		return Double.parseDouble(next());
	}
	static String nextLine() {
		String str = "";
		try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	}
}