import static java.lang.System.in;

import java.io.IOException;


public class B287 {
    
    static byte[] buffer = new byte[8192];
    static int offset = 0;
    static int bufferSize = 0;
    public static void main(String args[])throws IOException
    {
        int r = readInt();
        int x =readInt();
        int y =readInt();
        int a =readInt();
        int b = readInt();
        double dist = Math.sqrt((x-a)*(x-a) + (y-b)*(y-b));
        double di = (int)(dist);
        int r1 = (int)di;
        int ans  = r1/(2*r);
        if (Double.compare(dist, di)==0)
        {
            System.out.println(0);
            return;
        }
        if (r1%(2*r)==0 && Double.compare(dist, di)!=0)
            ans++;
        else if (r1%(2*r)!=0 && Double.compare(dist, di)!=0)
            ans++;
        else if (r1%(2*r)!=0 && Double.compare(dist, di)==0)
            ans++;
        System.out.println(ans);
            
            
             
        
    }
    
    
    static int readInt() throws IOException{
        int number = 0;
        int s =1;
        if(offset==bufferSize){
            offset = 0;
            bufferSize = in.read(buffer);
        }
        for(;buffer[offset]<0x30 || buffer[offset]=='-'; ++offset)
        {
            if (buffer[offset]=='-')
                s=-1;
            if(offset==bufferSize-1 ){
                offset=-1;
                bufferSize = in.read(buffer);
            }
        }
        for(;offset<bufferSize && buffer[offset]>0x2f;++offset){
            number = number*0x0a+buffer[offset]-0x30;
            if(offset==bufferSize-1){
                offset = -1;
                bufferSize = in.read(buffer);
            }
        }
        ++offset;
        return number*s;
    }

}
