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

public class ProblemA {

    public static void solve(InputReader in, PrintWriter out) throws IOException{
        int d = in.nextInt()*2;
        int x1 = in.nextInt();
        int y1 = in.nextInt();
        int x2 = in.nextInt();
        int y2 = in.nextInt();

        double len = getLen(x1, y1, x2, y2);
        if (len % d == 0){
            out.println((int) len/d);
        } else {
            out.println((int) Math.floor(len/d)+1);
        }
        /*
        int n = in.nextInt();
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i=0; i<n; i++){
            x[i] = in.nextInt();
            y[i] = in.nextInt();
        }

        Struct[] structs = new Struct[n-1];
        for (int i=0; i<n-1; i++){
            structs[i] = new Struct();
            structs[i].index = i;
            structs[i].degree = getAngle(x[n-1], y[n-1], x[i], y[i]);
            structs[i].len = getLen(x[n-1], y[n-1], x[i], y[i]);
        }

        Arrays.sort(structs);

        int i = 0;
        while (!isTriangle(structs, i, x , y)) i++;

        //System.out.println(structs[i].degree + " " + structs[i+1].degree);
        out.println(n + " " + (structs[i].index+1) + " " + (structs[i+1].index+1));
        */
    }

    public static boolean isTriangle(Struct[] structs, int i, int[] x, int[] y){
        Struct s1 = structs[i];
        Struct s2 = structs[i+1];
/*
        if (i != 0){
            if (structs[i].degree == structs[i-1].degree) return false;
        }
        if (i < structs.length-2){
            if (structs[i+1].degree == structs[i+2].degree) return false;
        }
*/
        if (s1.degree == s2.degree) return false;
        if (Math.abs(s1.degree - s2.degree) == 180) return false;

        double k = (y[s1.index]-y[s2.index])/(x[s1.index]-x[s2.index]);
        double b = y[s2.index]-k*x[s2.index];
        if (y[y.length-1] == k*x[x.length-1]+b) return false;

        return true;
    }

    public static class Struct implements Comparable<Struct>{
        public int index;
        public double degree;
        public double len;

        @Override
        public int compareTo(Struct s){
            int degreeComp = Double.compare(degree, s.degree);
            if (degreeComp != 0) return degreeComp;
            else return Double.compare(len, s.len);
        }
    }

    public static double getAngle(int x1, int y1, int x2, int y2){
        double A = Math.atan2(y1 - y2, x1 - x2) / Math.PI * 180;
        A = (A < 0) ? A + 360 : A;
        return A;
    }

    public static double getLen(int x1, int y1, int x2, int y2){
        double sqrX = (x1-x2)*(x1-x2);
        double sqrY = (y1-y2)*(y1-y2);
        return Math.sqrt(sqrX+sqrY);
    }

    public static void main(String[] args) throws IOException{
        InputReader in;
        PrintWriter out;

        if (args.length > 0 && args[0].equals("file")) {
            in = new InputReader(new BufferedReader(new FileReader("input.txt")));
            out = new PrintWriter(new FileWriter("output.txt"));

            int sampleNumber = 1;
            do {
                out.println("Sample #" + sampleNumber++ + ": ");
                solve(in, out);
                out.println("");
            } while (in.reader.readLine() != null);
        } else {
            in = new InputReader(new BufferedReader(new InputStreamReader(System.in)));
            out = new PrintWriter(new OutputStreamWriter(System.out));
            solve(in, out);
        }

        in.reader.close();
        out.close();
    }

    public static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(BufferedReader reader) {
            this.reader = reader;
            tokenizer = null;
        }

        public String next() throws IOException{
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                tokenizer = new StringTokenizer(reader.readLine());
            }

            return tokenizer.nextToken();
        }

        public int nextInt() throws IOException{
            return Integer.parseInt(next());
        }

        public int[] nextIntArray(int n) throws IOException{
            int[] array = new int[n];
            for (int i=0; i<n; i++){
                array[i] = nextInt();
            }

            return array;
        }
    }

}
