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)



京公网安备 11010502036488号