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

public class cakeminator {
	int r=0;
	int x1=0;
	int y1=0;
	public cakeminator(int r,int x, int y ) {
		this.r=r;
		this.x1=x;
		this.y1=y;
		
	}
	double rhelper(int x2, int y2) {
		double t1=Math.pow((x2-x1), 2);
		double t2=Math.pow((y2-y1), 2);
		double d=Math.sqrt(t1+t2);
//		System.out.println(d);
//		System.out.println(r);
//		System.out.println(d/r);
		return (d/(2*r));
	}
	
	

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		Reader.init(System.in);
		int r=Reader.nextInt();
		int x=Reader.nextInt();
		int y=Reader.nextInt();
		int x2=Reader.nextInt();
		int y2=Reader.nextInt();
		cakeminator obj=new cakeminator(r,x,y);
		double ans=obj.rhelper(x2, y2);
		System.out.println((int)Math.ceil(ans));
		
		
		}
		
		
		
	
	}


class Reader {
    static BufferedReader reader;
    static StringTokenizer tokenizer;

    /** call this method to initialize reader for InputStream */
    static void init(InputStream input) {
        reader = new BufferedReader(
                     new InputStreamReader(input) );
        tokenizer = new StringTokenizer("");
    }

    /** get next word */
    static String next() throws IOException {
        while ( ! tokenizer.hasMoreTokens() ) {
            //TODO add check for eof if necessary
            tokenizer = new StringTokenizer(
                   reader.readLine() );
        }
        return tokenizer.nextToken();
    }
    static int nextInt() throws IOException {
        return Integer.parseInt(next());
    }
	
    static double nextDouble() throws IOException {
        return Double.parseDouble(next());
    }
}

