from collections import deque

# Input
n, k, a, b, x, y = map(int, input().split())

# BFS
q = deque()
q.append((a, 0, k))
visited = [False] * n
minTime = 1e9
while q:
    o, t, jump = q.popleft()
    if visited[o]:
        continue
    visited[o] = True
    if o == b:
        minTime = min(minTime, t)
        continue
    q.append(((o+x)%n, t+1, jump))
    q.append(((o-y)%n, t+1, jump))
    if jump > 0:
        q.append(((o+n//2)%n, t+1, jump-1))

# Output
print(-1 if minTime == 1e9 else minTime)