#include <bits/stdc++.h>
using namespace std;
void __print(int x) { cerr << x; }
void __print(long x) { cerr << x; }
void __print(long long x) { cerr << x; }
void __print(unsigned x) { cerr << x; }
void __print(unsigned long x) { cerr << x; }
void __print(unsigned long long x) { cerr << x; }
void __print(float x) { cerr << x; }
void __print(double x) { cerr << x; }
void __print(long double x) { cerr << x; }
void __print(char x) { cerr << '\'' << x << '\''; }
void __print(const char *x) { cerr << '\"' << x << '\"'; }
void __print(const string &x) { cerr << '\"' << x << '\"'; }
void __print(bool x) { cerr << (x ? "true" : "false"); }
template <typename T, typename V>
void __print(const pair<T, V> &x) {
  cerr << '{';
  __print(x.first);
  cerr << ',';
  __print(x.second);
  cerr << '}';
}
template <typename T>
void __print(const T &x) {
  int f = 0;
  cerr << '{';
  for (auto &i : x) cerr << (f++ ? "," : ""), __print(i);
  cerr << "}";
}
void _print() { cerr << "]\n"; }
template <typename T, typename... V>
void _print(T t, V... v) {
  __print(t);
  if (sizeof...(v)) cerr << ", ";
  _print(v...);
}
const long long MOD = 998244353;
const long long INF = 1e9;
const long long IN = 1e6;
const int maxn = 55;
bool isprime(long long int n) {
  if (n == 1 || n == 0) return false;
  for (int i = 2; i <= sqrt(n); i++) {
    if (n % i == 0) return false;
  }
  return true;
}
bool compare(const pair<int, int> &a, const pair<int, int> &b) {
  return (a.second > b.second);
}
int ceils(int a, int b) { return (a + b - 1) / b; }
bool isSquare(int n) {
  double x = sqrt(n);
  if (ceil(x) == floor(x)) return true;
  return false;
}
long long int fact(int n) {
  if (n == 0 || n == 1) return 1;
  return n * fact(n - 1);
}
inline unsigned long long gcd(unsigned long long a, unsigned long long b) {
  return (b == 0) ? a : gcd(b, a % b);
}
inline unsigned long long lcm(unsigned long long a, unsigned long long b) {
  return (a * b) / gcd(a, b);
}
unsigned long long int binpow(unsigned long long int a,
                              unsigned long long int b) {
  if (b == 0) return 1;
  long long res = binpow(a, b / 2);
  if (b % 2)
    return res * res * a;
  else
    return res * res;
}
long long binpow(long long a, long long b, long long m) {
  a %= m;
  long long res = 1;
  while (b > 0) {
    if (b & 1) res = res * a % m;
    a = a * a % m;
    b >>= 1;
  }
  return res;
}
bool isInteger(float a) {
  if (ceil(a) == floor(a)) return true;
  return false;
}
string toBinary(int n) {
  string ans = "";
  while (n > 0) {
    int d = n % 2;
    if (d == 1)
      ans += '1';
    else
      ans += '0';
    n /= 2;
  }
  reverse(ans.begin(), ans.end());
  return ans;
}
long long int binarySearch(long long int arr[], long long int l,
                           long long int r, long long int x) {
  while (l <= r) {
    long long int m = l + (r - l) / 2;
    if (arr[m] == x) return m;
    if (arr[m] < x)
      l = m + 1;
    else
      r = m - 1;
  }
  return -1;
}
long long int comb(long long int n, long long int r) {
  return fact(n) / (fact(n - r) * fact(r));
}
bool checkperi(int i, int j, int r, int c) {
  return (i >= 0 && j >= 0 && i < r && j < c);
}
bool isSubseq(string s1, string s2, int m, int n) {
  if (m == 0) return true;
  if (n == 0) return false;
  if (s1[m - 1] == s2[n - 1]) return isSubseq(s1, s2, m - 1, n - 1);
  return isSubseq(s1, s2, m, n - 1);
}
const int N = 1e3 + 2;
bool iscycle(int src, vector<int> adj[], vector<bool> &vis,
             vector<int> &stack) {
  stack[src] = true;
  if (!vis[src]) {
    vis[src] = true;
    for (int x : adj[src]) {
      if (!vis[x] && iscycle(x, adj, vis, stack)) return true;
      if (stack[x]) return true;
    }
  }
  stack[src] = false;
  return false;
}
int dist(pair<int, int> p1, pair<int, int> p2) {
  return abs(p1.first - p2.first) + abs(p1.second - p2.second);
}
void advmod(long long int &a, long long int b) { a = (a % b + b) % b; }
int div(int n) {
  for (int i = 2; i < n + 1; i++) {
    if (n % i == 0) return i;
  }
  return 1;
}
void solve() {
  int n, a, b, c, d;
  cin >> n >> a >> b >> c >> d;
  if (n * (a - b) > (c + d)) {
    cout << "No"
         << "\n";
    return;
  }
  if (n * (a - b) >= (c - d) && n * (a - b) <= (c + d)) {
    cout << "Yes"
         << "\n";
    return;
  }
  if (n * (a + b) >= (c - d)) {
    cout << "Yes"
         << "\n";
    return;
  }
  cout << "No"
       << "\n";
  return;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long int tc = 1;
  cin >> tc;
  for (long long int t = 1; t <= tc; t++) {
    solve();
  }
}
