Find the number of k-divisible numbers on the segment [a, b]. In other words you need to find the number of such integer values x that a ≤ x ≤ b and x is divisible by k.


-----Input-----

The only line contains three space-separated integers k, a and b (1 ≤ k ≤ 10^18; - 10^18 ≤ a ≤ b ≤ 10^18).


-----Output-----

Print the required number.


-----Examples-----
Input
1 1 10

Output
10

Input
2 -4 4

Output
5

Difficulty: interview

Starter code:

Solutions:
s=input()
ast=[int(i) for i in s.split(' ')]
k,a,b=ast[0],ast[1],ast[2]
s1=(a-1)//k
s2=b//k
print(s2-s1)


k, a, b = list(map(int, input().split()))
f = (a + k - 1) // k
l = b // k
print(l - f + 1)


k, a, b = [int(i) for i in input().split()]
if a % k != 0:
    a += k - a % k
if (b - a + 1) % k == 0:
    print((b-a+1)//k)
else:
    print((b-a+1)//k+1)



3

k, a, b = list(map(int, input().split()))
print((b // k) - (a - 1) // k)


k, a, b = map(int, input().split())
if a % k:
    a += k - a % k
b -= b % k
print(b // k - a // k + 1)

def f(a, b, k):
    if a == 0:
        res = b // k + 1
    else:
        res = b // k - (a - 1) // k
    return res

k, a, b = [int(i) for i in input().split()]
if b <= 0:
    res = f(-b, -a, k)
elif a < 0:
    res = f(1, -a, k) + f(0, b, k)
else:
    res = f(a, b, k)
print(res)
    


k, a, b = list(map(int, input().split()))
ans = 0
if b < 0:
    a *= -1
    b *= -1
    (b, a) = (a, b)
if a > 0 and b >= 0:
    ans += b // k - (a - 1) // k
else:
    ans += b // k
    ans += 1
    ans += (-a)//k

print(ans)
    
        
    


k, a, b = map(int, input().split())
print(b // k - (a - 1) // k)

k, a, b = list(map(int, input().split()))

if a < 0 and b > 0:
    print(-a // k + b // k + 1)
elif a > 0 and b > 0:
    print(b // k - (a - 1) // k)
elif a < 0 and b < 0:
    print(-a // k - (-b - 1) // k)
elif a < 0 and b == 0:
    print(-a // k + 1)
elif b > 0 and a == 0:
    print(b // k + 1)
else:
    print(1)


k, l, r = map(int, input().split())
p = l // k
if(l % k > 0):
    p += 1
l = p * k
o = (r - l) // k + 1
if(l > r):
    o = 0
print(o)

k,a,b=map(int,input().split())
print(b//k-(a-1)//k)

k, a, b = map(int, input().split())
a += k * 10**18 + k
b += k * 10**18 + k
print(b // k - (a - 1) // k)

k, a, b = map(int, input().split())

qa, ra = divmod(a, k)
qb, rb = divmod(b, k)

ka = a + (0 if ra == 0 else (k - ra))
kb = b - rb

if ka <= kb:
	print((kb - ka) // k + 1)
else:
	print(0)

k, a, b = map(int, input().split())
a = ((a - 1) // k + 1) * k
b -= b % k
print(max(0, (b - a + 1) // k + (k != 1)))

"""
Codeforces Testing Round #12

Problem 597A Divisibility

@author yamaton
@date 2015-11-11
"""

import math
import random
import sys

import functools


def solve(k, a, b):
    return b // k - (a - 1) // k


def p(*args, **kwargs):
    return print(file=sys.stderr, *args, **kwargs)


def main():
    [k, a, b] = [int(i) for i in input().strip().split()]
    result = solve(k, a, b)
    print(result)


def __starting_point():
    main()

__starting_point()

inp = input().split()
k = int(inp[0])
a = int(inp[1])
b = int(inp[2])
ans = 0
if (a > b) :
  c = a
  a = b
  b = c
if a > 0 and b > 0 :
  ans = b // k - ((a - 1) // k)
elif a < 0 and b < 0 :
  ans = 0 - (((a - 1) // k) - b // k)
elif a < 0 :
  ans = (0 - a) // k + b // k + 1
else :
  ans = b // k + 1
print (ans)

k, a, b = list(map(int, input().split()))
below_a = a//k
below_b = b//k
ans = below_b - below_a
if a%k==0:
    ans += 1
print(ans)


k, a, b = [int(i) for i in input().split()]
if a % k != 0:
    a += k - a % k
if (b - a + 1) % k == 0:
    print((b-a+1)//k)
else:
    print((b-a+1)//k+1)

k, a, b = input().split(' ')
k = int(k)
a = int(a)
b = int(b)
if (a == b) and (a % k == 0):
    print('1')
else:
    if (a * b > 0):
        a = abs(a)
        b = abs(b)
        if (a > b):
            tmp = a
            a = b
            b = tmp
        print((b // k) - ((a - 1) // k))
    elif (a * b < 0):
        if (a > 0):
            tmp = a
            a = b
            b = tmp
        print((b // k) + (abs(a) // k) + 1)
    else:
        a = abs(a)
        b = abs(b)
        if (a != 0):
            tmp = a
            a = b
            b = tmp
        print((b // k) + 1)


k,a,b=map(int,input().split())
print(b//k-(a-1)//k)

k, a, b = map(int, input().split())
ans = 0
if a < 0 and b <= 0:
    a, b = abs(b), abs(a)
if a > 0 and a % k:
    a = a + k - a % k
    if a <= b:
        ans += ((b - a) // k + 1)
elif a >= 0:
    ans += ((b - a) // k + 1)
elif a < 0 and abs(a) % k:
    a = abs(a) - abs(a) % k
    ans += (a // k + 1)
    ans += (b // k)
elif a < 0:
    ans += (abs(a) // k + 1)
    ans += (b // k)
print(ans)

# your code goes here
k, a, b = map(int, input().split())
#//=floor division
floor_a = a//k
floor_b = b//k
ans = floor_b - floor_a
if a%k==0:
    ans += 1
print(ans)

ints = lambda:list(map(int,input().split()))
rd = lambda:input()
import math
k,a,b=ints()
l = a//k if a%k==0 else a//k+1
r = b//k
print(int(r-l+1))


k, a, b = list(map(int, input().split()))

print(( (b // k) - ((a - 1) // k)
	))


k,a,b=map(int,input().split())
print(b//k-(a-1)//k)