#include <bits/stdc++.h>
int multiply(int x, int y) {
  if (y)
    return (x + multiply(x, y - 1));
  else
    return 0;
}
int pow(int a, int b) {
  if (b)
    return multiply(a, pow(a, b - 1));
  else
    return 1;
}
int gcd(int a, int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
using namespace std;
int main() {
  long long int t;
  cin >> t;
  while (t--) {
    long long int n, k, l1, r1, l2, r2;
    cin >> n >> k >> l1 >> r1 >> l2 >> r2;
    long long int leftt = max(l1, l2), rightt = min(r1, r2);
    long long int totalt = max(0LL, rightt - leftt);
    k -= totalt * n;
    if (k <= 0) {
      cout << 0;
    } else {
      long long int x_0 = max(0LL, leftt - rightt);
      long long int x_1 = max(r1, r2) - min(l1, l2) - totalt;
      if (x_1 > x_0) {
        long long int d = min(n, k / x_1);
        long long int ans = d * (x_0 + x_1);
        k -= d * x_1;
        if (d == 0 || (d < n && k + x_0 < 2 * k)) {
          ans += k + x_0;
          k = 0;
        }
        ans += 2 * k;
        cout << ans;
      } else {
        long long int ans = x_0;
        if (k < x_1) {
          ans += k;
          k = 0;
        } else {
          ans += x_1;
          k -= x_1;
        }
        ans += 2 * k;
        cout << ans;
      }
    }
    cout << '\n';
  }
  return 0;
}
