import java.io.BufferedReader;
import java.lang.*;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.StringTokenizer;
 
public class Practice{
	
	
	 static class FastReader {
	        BufferedReader br;
	        StringTokenizer st;
	 
	        public FastReader()
	        {
	            br = new BufferedReader(
	                new InputStreamReader(System.in));
	        }
	 
	        String next()
	        {
	            while (st == null || !st.hasMoreElements()) {
	                try {
	                    st = new StringTokenizer(br.readLine());
	                }
	                catch (IOException e) {
	                    e.printStackTrace();
	                }
	            }
	            return st.nextToken();
	        }
	 
	        int nextInt() { return Integer.parseInt(next()); }
	 
	        long nextLong() { return Long.parseLong(next()); }
	 
	        double nextDouble()
	        {
	            return Double.parseDouble(next());
	        }
	 
	        String nextLine()
	        {
	            String str = "";
	            try {
	                str = br.readLine();
	            }
	            catch (IOException e) {
	                e.printStackTrace();
	            }
	            return str;
	        }
	    }
	 

	 
	    public static void main(String[] args)
	    {
	        FastReader s = new FastReader();
	        int r=s.nextInt();
	        int x=s.nextInt();
	        int y=s.nextInt();
	        int x1=s.nextInt();
	        int y1=s.nextInt();
	        int xdis=Math.abs(x-x1);
	        int ydis=Math.abs(y-y1);
	     
	        int xk=xdis*xdis+ydis*ydis;
	        double xx=Math.sqrt(xk);
	        	int ans=(int)Math.ceil(xx/(2*r));
	        
	       
	        System.out.print(ans);
	        
	      
	        }
	        }


	      
	        	
		