喵呜
题号:NC15477
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在马路边有一排整齐的n棵樱花树,每棵树的高度都恰好为h。某天,一只可爱的小猫偶然跑到树上来玩,但是这只小猫有些对樱花过敏,所以她现在想赶快离开这些樱花树。
具体来说,现在小猫位于第x棵樱花树上高度为y的位置,她可以通过两种跳跃来离开樱花树:
轻轻跳:向左或向右移动a棵樱花树的同时,所在高度下降b,即一次轻轻跳可以从起点移动到第x+a或x-a棵树上高度为y-b的位置,注意当小猫所在高度不大于b时不可以使用轻轻跳。
使劲跳:向左或向右移动a棵樱花树的同时,所在高度上升b,即一次使劲跳可以从起点移动到第x+a或x-a棵树上高度为y+b的位置,注意当小猫所在高度大于h-b时不可以使用使劲跳。
为了离开这片樱花树,小猫需要移动到第1或第n棵树上,高度为h或1的位置(这样她可以呼吸新鲜空气或者直接走开樱花树)。现在小猫想知道,自己最少需要多少次跳跃才能达成目标。由于她是一只可爱的小猫,所以希望由你来告诉她。

输入描述:

输入数据第一行包含一个正整数T,表示测试数据的组数,各组数据之间没有空行。
接下来T行,依次描述每组数据:
每组数据包含一行,包含六个正整数n、h、x、y、a、b,其含义见题目描述。

输出描述:

输出由 T 组数据组成,各组数据之间没有空行。对于每一组数据:
若小猫可以成功离开樱花树,请输出她需要的最少跳跃次数。
若小猫无法通过给定的跳跃方法离开樱花树,请输出-1。
示例1

输入

复制
3
5 5 3 3 2 2
5 7 3 5 2 2
5 7 4 6 1 1

输出

复制
1
1
1
示例2

输入

复制
3
5 5 3 3 3 2
5 7 1 4 2 2
5 7 1 2 1 2

输出

复制
-1
-1
-1
示例3

输入

复制
4
999999999999 999999999999 454545454545 454545454545 1 1
777777777777 777777777777 343434343434 343434343434 1 1
777777777777 999999999999 343434343434 454545454545 1 1
999999999999 777777777777 454545454545 343434343434 1 1

输出

复制
454545454544
343434343433
-1
-1

备注:

对于所有的数据,保证1≤T≤100,1≤x,a≤n,1≤y,b≤h,其它数据规模与约定请见下表。