一只吗喽在茂密的丛林中偶遇了一排香蕉树,每棵都高达m,总共有n棵。饱餐一顿后,它打算离开此地。当前,吗喽正栖身于第x棵香蕉树上,其所在的高度为y。为了从这排树中脱身,吗喽有两种不同的移动策略可供选择。
1、小跳:小跳的动作包括向左或向右跃过a棵香蕉树,并在这一过程中垂直下降b个高度单位。也就是说,从起始点出发,小跳能让吗喽到达x-a或x+a位置的香蕉树上,并且其高度会降低到y-b,不过需注意的是,若吗喽当前所处高度不超过b,则无法执行小跳动作。
2、大跳:大跳的动作包括向左或向右跃过a棵香蕉树,并在这一过程中垂直上升b个高度单位。也就是说,从起始点出发,小跳能让吗喽到达x-a或x+a位置的香蕉树上,并且其高度会上升到y+b,不过需注意的是,若吗喽当前所处高度超过m-b,则无法执行大跳动作。
为了成功离开这片香蕉树,吗喽的最终目标是要到达第1棵或第n棵树,并且此时它的高度得处于1或m的位置。现在的核心问题是,吗喽究竟需要进行多少次移动,才能以最少的步数达到这一目的地。
输入数据第一行包含一个正整数T,表示测试数据的组数,各组数据之间没有空行。
接下来T 行,依次描述每组数据:每组数据包含一行,包含六个正整数n,m,x,y,a,b。
输出由T 组数据组成,各组数据之间没有空行。对于每一组数据:
若吗喽成功离开,请输出它需要的最少移动次数。
若吗喽无法通过给定的移动方法离开,请输出-1。
3
5 5 3 3 2 2
5 7 1 4 2 2
5 7 4 6 1 1
1
-1
1
对于所有数据,保证 1≤T≤10000,2≤n,m≤1e15,a<n,b≤m。