#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Dec 30 15:22:04 2020

@author: yash
"""

#      _       _       _                     _         _     _                 
#     | | __ _(_)  ___| |__  _ __ ___  ___  | | ___ __(_)___| |__  _ __   __ _ 
#  _  | |/ _` | | / __| '_ \| '__/ _ \/ _ \ | |/ / '__| / __| '_ \| '_ \ / _` |
# | |_| | (_| | | \__ \ | | | | |  __/  __/ |   <| |  | \__ \ | | | | | | (_| |
#  \___/ \__,_|_| |___/_| |_|_|  \___|\___| |_|\_\_|  |_|___/_| |_|_| |_|\__,_|

"""
# Codeforces Round #163 (Div. 2), problem: (B) Queue at the School,                                                                            
        n, t = map(int, input().split())
        p = input()
        s = list(p)
        for i in range(t):
            j = 0
            while j < len(s)-1:
                if s[j] == 'G':
                    j += 1
                elif s[j] != s[j+1]:
                    s[j], s[j+1] = s[j+1], s[j]
                    j += 2
                else:
                    j += 1
        print(''.join(s))
        
# B G G B G
# G B G G B

# B G G B G --> G B G G B --> G G B G B
"""

"""
# contest: Codeforces Round #197 (Div. 2), problem: (B) Xenia and Ringroad 
    Case - 1:
       4 3
       3 2 3
     
       1->3 : 1->2->3
       3->2 : 3->4->1->2
       2->3 : 2->3
       
   
   
    n, m = map(int, input().split())
    initial_pos = 1
    ans = 0
    x = list(map(int, input().split()))
    for i in x:
        ans += ((i-initial_pos+n)%n)
        initial_pos = i
    print(ans)
"""

"""
# Codeforces Round #267 (Div. 2), problem: (B) Fedor and New Game
    n,m,k = map(int,input().split())
    a = []
    cnt = 0
     
    for i in range(0,m):
        x = int(input())
        a.append(x)
    f = int(input())
     
    for i in range(0,m):
        if bin(a[i]^f).count('1') <= k:
            cnt += 1
     
    print(cnt)
"""

"""
# Codeforces Round #273 (Div. 2), problem: (B) Random Teams
    n,m=map(int,input().split())
    a=n//m
    max_pairs = (n-m+1)*(n-m)//2
    min_pairs = m*a*(a-1)//2 + a*(n%m)
    print(min_pairs ,max_pairs)
"""

"""
 # Codeforces Round #258 (Div. 2), problem: (B) Sort the Array
        n = int(input())
        l = list(map(int, input().split()))
        startIdx = 0
        endIdx = 0
        i = 0
        while i < len(l)-1:
            if l[i] > l[i+1]:
                startIdx = i+1
                j = i
                while j < len(l) - 1 and l[j] > l[j+1]:
                    j+=1
                endIdx = j+1
                i += j
            i+=1
        
        temp = list(l)
        x = startIdx
        y = endIdx
        while startIdx < endIdx:
            temp[startIdx-1], temp[endIdx-1] = temp[endIdx-1], temp[startIdx-1]
            startIdx += 1
            endIdx -= 1
        if x != y:   
            l.sort()
            if temp == l:
                print("yes")
                print(x, y)
            else:
                print("no")
        else:
            print("yes")
            print(1, 1)
"""
"""
# Codeforces Round #284 (Div. 2), problem: (B) Lecture
        n, m = map(int, input().split())
        dic = {}
        for i in range(m):
            x, y = map(str, input().split())
            if len(x) < len(y):
                dic[y]=x
            elif len(x) > len(y):
                dic[x]=y
            else:
                dic[y]=x
        content = input()
        l = list(content.split(" "))
        ans = ''
        for i in l:
            try:
                if len(i) > len(dic[i]):
                    ans += dic[i]
                    ans += ' '
                else:
                    ans += i
                    ans += ' '
            except:
                ans += i
                ans += ' '         
        print(ans)
        
            OR
        
        

        n, m = map(int, input().split())
        d = {}
         
        for i in range(m):
          a, b = input().split()
          d[a] = b if len(b) < len(a) else a
         
        for i in input().split():
          print(d[i], end = " ")
          
          
              OR(My solution optimal version)
              
        
        n, m = map(int, input().split())
        dic = {}
        ans = ''
        for i in range(m):
            x, y = map(str, input().split())
            if len(x) > len(y):
                dic[x]=y
            else:
                dic[x]=x
        for i in input().split():
            ans += dic[i]
            ans += ' '
        
        print(ans)
        
 """   
# def SieveOfEratosthenes(n, k):
#     prime = [True for i in range(n+1)]
#     p = 2
#     while(p*p <= n):
#         if prime[p] == True:
#             for i in range(p*p, n+1, p):
#                 prime[i] = False
#         p += 1
    
#     for p in range(2, n+1):
#         if prime[p] and p*p <= k and p*p == k:
#             return "YES"
#     return "NO"
        
    
    
# n = int(input())
# l = list(map(int, input().split()))
# for i in l:
#     print(SieveOfEratosthenes(n, i))




"""
 # Codeforces Round #288 (Div. 2), problem: (B) Anton and currency you all know
    n = input()
    l = list(n)                  # 4 3 8 2 5
    index = float("-inf")
    for i in range(len(l)):
        if int(l[i])%2 == 0:
            if l[-1] < l[i]:
                index = max(index, i)
            else:
                index = i 
                break
                
    if index != float("-inf"):
        l[index],l[-1]=l[-1],l[index]
        print(''.join(l))
    else:
        print(-1)

"""



"""
 # Codeforces Round #FF (Div. 2), problem: (B) DZY Loves Strings
        s = input()
        k = int(input()) 
        l = list(map(int, input().split()))
        dic = {}
        max_val = max(l)
        count = 0
        for i in 'abcdefghijklmnopqrstuvwxyz':
            dic[i] = l[count]
            count += 1
        ans = 0
        for i in range(len(s)):
            j = i+1
            ans = ans + j*dic[s[i]]
        
        i = len(s)+1
        while i < len(s)+1+k:
            ans = ans + i*max_val
            i += 1
        print(ans)
        
          OR 
          
        s = input()
        k = int(input()) 
        l = list(map(int, input().split()))
        max_val = max(l)
        count = 0
        ans = 0
        for i in range(len(s)):
            j = i+1
            ans = ans + j*l[ord(s[i])-ord('a')]     
        i = len(s)+1
        while i < len(s)+1+k:
            ans = ans + i*max_val
            i += 1
        print(ans)
"""

import math
r, x1, y1, x2, y2 = map(int, input().split())
Distance = math.sqrt((x2-x1)**2 + (y2-y1)**2)
ans = math.ceil(Distance/(2*r))
print(ans)







































        
        
