
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.PrintStream;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

/*
public class _507B {

}

 */

public class _507B {
	public void solve() throws FileNotFoundException {
		InputStream inputStream = System.in;

		InputHelper inputHelper = new InputHelper(inputStream);

		PrintStream out = System.out;

		//actual solution

		int r = inputHelper.readInteger();
		int x = inputHelper.readInteger();
		int y = inputHelper.readInteger();
		int xn = inputHelper.readInteger();
		int yn = inputHelper.readInteger();
		
		double dis2 = Math.pow((double)xn - x, 2) + Math.pow((double)yn - y, 2);
		
		double dis = Math.sqrt(dis2);
		
		int s = (int)Math.ceil(dis / (2.0 * r));
		
		System.out.println(s);
		//end here
	}

	public static void main(String[] args) throws FileNotFoundException {
		(new _507B()).solve();
	}

	class InputHelper {
		StringTokenizer tokenizer = null;
		private BufferedReader bufferedReader;

		public InputHelper(InputStream inputStream) {
			InputStreamReader inputStreamReader = new InputStreamReader(
					inputStream);
			bufferedReader = new BufferedReader(inputStreamReader, 16384);
		}

		public String read() {
			while (tokenizer == null || !tokenizer.hasMoreTokens()) {
				try {
					String line = bufferedReader.readLine();
					if (line == null) {
						return null;
					}
					tokenizer = new StringTokenizer(line);
				} catch (IOException e) {
					e.printStackTrace();
				}
			}

			return tokenizer.nextToken();
		}

		public Integer readInteger() {
			return Integer.parseInt(read());
		}

		public Long readLong() {
			return Long.parseLong(read());
		}
	}
}