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


public class B {

    
    public static void main(String[] args)throws Exception {
        int r=in();
        int x=in();
        int y=in();
        int x1=in();
        int y1=in();
        double d=Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
        if (d==0 || d-0<0.00000001){
            System.out.println(0);
            return;
        }
        //System.out.println(d);
        int k=0;
        while (d>=4*r){
        //  System.out.println(d);
            k++;
            d-=2*r;
        }
k+=d==2*r||d-2*r<0.00000001 && d-2*r>-0.00000001?1:2;
System.out.println(k);
    }
    static BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
    static StringTokenizer st;
    static int in() throws IOException{
        if (st==null || !st.hasMoreTokens()){
            st=new StringTokenizer(buf.readLine());
        }
        return Integer.parseInt(st.nextToken());
    }
    static long ll() throws IOException{
        if (st==null || !st.hasMoreTokens()){
            st=new StringTokenizer(buf.readLine());
        }
        return Long.parseLong(st.nextToken());
    }
    static String str() throws IOException{
        if (st==null || !st.hasMoreTokens()){
            st=new StringTokenizer(buf.readLine());
        }
        return (st.nextToken());
    }
        static double dub() throws IOException{
            if (st==null || !st.hasMoreTokens()){
                st=new StringTokenizer(buf.readLine());
            }
            return Double.parseDouble(st.nextToken());
    }
}
