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

public class Template {
	
	static Scanner sc = new Scanner(System.in);
	

	public static void main(String[] args) {
		int r = sc.nextInt();
		int x0 = sc.nextInt(), y0 = sc.nextInt(), x1 = sc.nextInt(), y1 = sc.nextInt();
		
		double dist = Math.sqrt((long)(y1-y0)*(y1-y0) + (long)(x1-x0)*(x1-x0));
		
		int moves = (int) Math.ceil(dist/2/r);
		System.out.println(moves);
	}
	
	public static int[] readArray(int n) {
		int[] a = new int[n];
		for(int i=0 ; i<n ; i++) {
			a[i] = sc.nextInt();
		} return a;
	}
	
	public static String giveBinary(long n) {
		StringBuffer sb = new StringBuffer();
		for(int i=20 ; i>=0 ; i--) {
			if(n>=Math.pow(2,i)) {
				n-= Math.pow(2, i);
				sb.append("1");
			}else sb.append("0");
		}
		return sb.toString();
	}
	
	public static int gcd(int a , int b) {
		if(a==0) return b;
		else return gcd(b%a,a);
	}
	
	public static boolean isPrime(long n) {
		for(int i=2 ; i*i<=n ; i++) {
			if(n%i==0) return false;
		}
		return true;
	}

}
