import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class CandidateCode 
{
	static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
	static FastScanner sc=new FastScanner(br);
	static PrintWriter pw= new PrintWriter(System.out);
	
	public static void main(String args[])throws Exception
	{
		long r = sc.nextLong(), x = sc.nextLong(), y = sc.nextLong(), x1 = sc.nextLong(), y1 = sc.nextLong();
		//pw.println(r+" "+x+" "+y+" "+x1+" "+y1);
		pw.println((long)(Math.ceil(Math.sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))/(2*r))));
       pw.close();     
	}
	
}
	
	





//Input and Output
	
class FastScanner
{
    BufferedReader in;
    StringTokenizer st;

    public FastScanner(BufferedReader in)
    {
        this.in = in;
    }
    public String nextToken() throws Exception
    {
        while (st == null || !st.hasMoreTokens())
        {
            st = new StringTokenizer(in.readLine());
        }
        return st.nextToken();
    }
   	public String next() throws Exception
	{
		return nextToken().toString();
	}
    public int nextInt() throws Exception
    {
        return Integer.parseInt(nextToken());
    }
    public long nextLong() throws Exception 
    {
        return Long.parseLong(nextToken());
    }
    public double nextDouble() throws Exception 
    {
        return Double.parseDouble(nextToken());
    }
}