import java.util.*;
import java.lang.Math;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.BitSet;

public class cp {
    public static void main (String[] args)
    {
        FastReader in = new FastReader();

        int r = in.nextInt(), x = in.nextInt(), y = in.nextInt(), x1 = in.nextInt(), y1 = in.nextInt();
        double dist = Math.sqrt((x1-x)*(x1-x) + (y1-y)*(y1-y));
        double temp = dist / (2*r);
        System.out.println((int)Math.ceil(temp));

    }


    public 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;
        }
    }

}

