#include<bits/stdc++.h>usingnamespace std;doubleget_dist(int x1,int y1,int x2,int y2){int a = x1 - x2, b = y1 - y2;returnsqrt(a * a + b * b);}signedmain(){int T;
cin >> T;while(T --){int n, m, sx, sy, d;
cin >> n >> m >> sx >> sy >> d;bool flag1 =true, flag2 =true;for(int i =1; i <= n; i ++){int x = i, y =1;double dis =get_dist(sx, sy, x, y);if(dis <= d){
flag1 =false;break;}}for(int i =1; i <= m; i ++){int x = n, y = i;double dis =get_dist(sx, sy, x, y);if(dis <= d){
flag1 =false;break;}}for(int i =1; i <= m; i ++){int x =1, y = i;double dis =get_dist(sx, sy, x, y);if(dis <= d){
flag2 =false;break;}}for(int i =1; i <= n; i ++){int x = i, y = m;double dis =get_dist(sx, sy, x, y);if(dis <= d){
flag2 =false;break;}}
flag1 |= flag2;if(flag1)
cout << n + m -2<<'\n';else
cout <<"-1\n";}return0;}