Ivan is collecting coins. There are only $N$ different collectible coins, Ivan has $K$ of them. He will be celebrating his birthday soon, so all his $M$ freinds decided to gift him coins. They all agreed to three terms:  Everyone must gift as many coins as others. All coins given to Ivan must be different. Not less than $L$ coins from gifts altogether, must be new in Ivan's collection.

But his friends don't know which coins have Ivan already got in his collection. They don't want to spend money so they want to buy minimum quantity of coins, that satisfy all terms, irrespective of the Ivan's collection. Help them to find this minimum number of coins or define it's not possible to meet all the terms.


-----Input-----

The only line of input contains 4 integers $N$, $M$, $K$, $L$ ($1 \le K \le N \le 10^{18}$; $1 \le M, \,\, L \le 10^{18}$) — quantity of different coins, number of Ivan's friends, size of Ivan's collection and quantity of coins, that must be new in Ivan's collection.


-----Output-----

Print one number — minimal number of coins one friend can gift to satisfy all the conditions. If it is impossible to satisfy all three conditions print "-1" (without quotes).


-----Examples-----
Input
20 15 2 3

Output
1
Input
10 11 2 4

Output
-1


-----Note-----

In the first test, one coin from each friend is enough, as he will be presented with 15 different coins and 13 of them will definitely be new.

In the second test, Ivan has 11 friends, but there are only 10 different coins. So all friends can't present him different coins.

Difficulty: interview

Starter code:

Solutions:
n, m, k, l = map(int, input().split())
cnt = (k + l + m - 1) // m
if cnt * m > n:
    print(-1)
else:
    print(cnt)

n, m, k, l = map(int, input().split())
need = k + l
if need % m == 0 and need <= n:
    print(need // m)
else:
    x = need // m + 1
    if x * m > n:
        print(-1)
    else:
        print(x)

n, m, k, l = list(map(int, input().split()))
if (k+l+m-1)//m*m > n:
    print(-1)
else:
    print((k+l+m-1)//m)


n, m, k, l = list(map(int, input().split()))
if k + l > n:
    print(-1)
else:
    x = (k + l) // m + (1 if (k + l) % m != 0 else 0)
    if x * m > n:
        print(-1)
    else:
        print(x)


n,m,k,l=map(int,input().split())
c=(k+l)//m
if (k+l)%m!=0:
    c+=1
if n>=m*c:
    print(c)
else :
    print(-1)

from sys import stdin, stdout
from math import sin, tan, cos

n, m, k, l = map(int, stdin.readline().split())

lb, rb = 0, n // m + 1
while rb - lb > 1:
    mid = (lb + rb) >> 1
    
    if mid * m - k >= l:
        rb = mid
    else:
        lb = mid

if lb != n // m:
    stdout.write(str(rb))
else:
    stdout.write('-1')

n, m, k, l = map(int, input().split())
k += l
x = (k + m - 1) // (m);
if m * x > n:
    print(-1)
else:
    print(x)

n, m, k, l = list(map(int, input().split()))
if (l > n - k):
    print(-1)
else:
    am = ((l + k) // m + bool((l + k) % m))
    if am * m > n:
        print(-1)
    else:
        print(am)

N, M, K, L = map(int, input().split())
if N < M or K + L > N:
    print(-1)
else:
    print((L + K - 1) // M + 1 if ((L + K - 1) // M + 1) * M <= N else -1)

n, m, k, l = list(map(int, input().split()))
required = k + l
per_friend = (required + m - 1) // m
if (m * per_friend > n):
    print(-1)
else:
    print(per_friend)   


import math

def __starting_point():
    n, m, k, l = list(map(int, input().split()))
    one_friend = (k + l) // m + int((k + l) % m != 0)
    if one_friend * m > n:
        print(-1)
    else:
        print(one_friend)

__starting_point()

import math

def main():
    n,m,k,l = map(int, input().strip().split())

    t = int(k + l + m - 1) // m

    if k + l > n:
        print(-1)
        return
    
    if m * t > n:
        print(-1)
        return
    
    print(t)

def __starting_point():
    main()
__starting_point()

n, m, k, l = [int(x) for x in input().split()]
if (l + k) % m == 0:
    c = (l + k)//m
else:
    c = (l + k)//m + 1
if m * c > n:
    print(-1)
else:
    print(c)

n, m, k, l = list(map(int, input().split()))
if m > n:
    print(-1)
elif l + k > n:
    print(-1)
else:
    s = (l + k) // m + bool((l + k) % m)
    if s * m > n:
        print(-1)
    else:
        print(s)


n, m, k, l = map(int, input().split())
if m > n or (l + k + m - 1) // m * m > n:
    print(-1)
else:
    x = (l + k + m - 1) // m
    print(x)

import math, sys

def mp():
    return list(map(int, input().split()))

def main():
    n, m, k, l = mp()
    ost = n - k
    need = (l + k)
    if ost < l or need > n:
        print(-1)
        return
    ans = (l + k - 1) // m + 1
    if ans * m - k >= l and ans * m <= n:
        print(ans)
    else:
        print(-1)
    
    
    

deb = 0
if deb:
    file = open("input.txt", "r")
    input = file.readline
else:
    input = sys.stdin.readline

main()

if deb:
    file.close()


import math

n, m, k, l = map(int, input().split())

x = (l + k) // m
if x * m < l + k:
    x += 1
assert x * m >= l + k

if m * x > n:
    print(-1)
else:
    print(x)

#!/usr/bin/env python3
n,m,k,l=list(map(int,input().split()))
q=(l+k-1)//m+1
if q*m>n:print(-1)
else:print(q)


def main():
    n, m, k, l = map(int, input().split())
    d = (l + k) // m
    if (l + k) % m:
        d += 1
    if m * d > n or n - k < l:
        print(-1)
    else:
        print(d)


main()

N, M, K, L = list(map(int, input().split()))

each = (K + L) // M

if (K + L) % M != 0:
    each += 1

if each * M > N:
    print(-1)
else:
    print(each)


n, m, k, l = map(int, input().split())
mm = (k + l)
if mm % m == 0:
    mm //= m
else:
    mm = mm // m + 1
if n < mm * m:
    print(-1)
else:
    print(mm)

import sys
n, m, k, l  = [int(s) for s in input().split()]
if (k + l) % m != 0:
    i = (k + l) // m + 1
else:
    i = (k + l) // m
if  i * m > n:
    print(-1)
else:
    print(i)
    


n, m, k, l = list(map(int, input().split()))

target = l + k
perfriend = target // m + (1 if target % m else 0)

if  perfriend * m > n or m > n or target > n:
    print(-1)
else:
    print(perfriend)



n,m,k,l=list(map(int,input().split()))
if k+l>n:
    print('-1')
else:
    x=(k+l)//m
    if (k+l)%m>0:
        x+=1
    if x*m>n:
        print('-1')
    else:
        print(x)


n,m,k,l = list(map(int, input().split()))
x = -(-(k+l)//m)
if x <= n/m:
    print(x)
else:
    print(-1)