/*
 *  This code is created by iBaskati (Momkin T3tini Chi 7al)
 *  AB&X is Love, AB&X is Life  * 
 */

/**
 *
 * @author 0110
 */


import java.awt.Point;
import java.io.*;
import java.math.BigInteger;
import java.text.ParseException;
import java.util.*;


public class Codeforces  {

    
    public static void main(String[] args) throws IOException, ParseException{
        //Kattio sc = new Kattio(System.in,System.out);
        //Kattio sc = new Kattio(new FileInputStream("src/INPUT"),System.out);
        Scanner sc = new Scanner(System.in);
        //Scanner sc = new Scanner(new FileInputStream("src/INPUT"));
        
        int r = sc.nextInt();
        int x = sc.nextInt();
        int y = sc.nextInt();
        int x2 = sc.nextInt();
        int y2 = sc.nextInt();
        
        Point p = new Point(x,y);
        Point p2 = new Point(x2,y2);
        
        
        double dis = p.distance(p2);
        
        System.out.println((long) Math.ceil(dis/(2*r)));
        
    }
    
    
    
    
    
    
    
    static class couple implements Comparable<couple>  {
        int ind;
        int val;
        couple (int ind, int val){
            this.ind = ind;
            this.val = val;
        }

        @Override
        public int compareTo(couple o) {
            return o.val - this.val;
        }
    }
    
    
    
    
    
    
    static class math {
    
        public math(){
        }
        
        private  int ppcm(int a, int b) {
            return (a*b)/gcd(a,b);
        }

        private int gcd(int a, int b) {
            if(b==0)    return a;
            return gcd(b,a%b);
        }

        boolean isPrime(int p){
            if(p==2)    return true;
            for(int i=2 ; i<= Math.sqrt(p) ; i++){
                if(p%i==0)  return false;
            }
            return true;
        }
        
    }
    
    
    
    
    static class Kattio extends PrintWriter {
        public Kattio(InputStream i) {
            super(new BufferedOutputStream(System.out));
            r = new BufferedReader(new InputStreamReader(i));
        }
        public Kattio(InputStream i, OutputStream o) {
            super(new BufferedOutputStream(o));
            r = new BufferedReader(new InputStreamReader(i));
        }
        
        public Kattio(FileInputStream i) {
            super(new BufferedOutputStream(System.out));
            r = new BufferedReader(new InputStreamReader(i));
        }
        
        public Kattio(FileInputStream i, OutputStream o) {
            super(new BufferedOutputStream(o));
            r = new BufferedReader(new InputStreamReader(i));
        }
        
        public boolean hasMoreTokens() {
            return peekToken() != null;
        }

        public int nextInt() {
            return Integer.parseInt(nextToken());
        }

        public double nextDouble() {
            return Double.parseDouble(nextToken());
        }

        public long nextLong() {
            return Long.parseLong(nextToken());
        }

        public String next() {
            return nextToken();
        }



        private BufferedReader r;
        private String line;
        private StringTokenizer st;
        private String token;

        private String peekToken() {
            if (token == null)
                try {
                    while (st == null || !st.hasMoreTokens()) {
                        line = r.readLine();
                        if (line == null) return null;
                        st = new StringTokenizer(line);
                    }
                    token = st.nextToken();
                } catch (IOException e) { }
            return token;
        }

        private String nextToken() {
            String ans = peekToken();
            token = null;
            return ans;
        }
    }
    
}