Nastya just made a huge mistake and dropped a whole package of rice on the floor. Mom will come soon. If she sees this, then Nastya will be punished.

In total, Nastya dropped $n$ grains. Nastya read that each grain weighs some integer number of grams from $a - b$ to $a + b$, inclusive (numbers $a$ and $b$ are known), and the whole package of $n$ grains weighs from $c - d$ to $c + d$ grams, inclusive (numbers $c$ and $d$ are known). The weight of the package is the sum of the weights of all $n$ grains in it.

Help Nastya understand if this information can be correct. In other words, check whether each grain can have such a mass that the $i$-th grain weighs some integer number $x_i$ $(a - b \leq x_i \leq a + b)$, and in total they weigh from $c - d$ to $c + d$, inclusive ($c - d \leq \sum\limits_{i=1}^{n}{x_i} \leq c + d$).


-----Input-----

The input consists of multiple test cases. The first line contains a single integer $t$ $(1 \leq t \leq 1000)$  — the number of test cases. 

The next $t$ lines contain descriptions of the test cases, each line contains $5$ integers: $n$ $(1 \leq n \leq 1000)$  — the number of grains that Nastya counted and $a, b, c, d$ $(0 \leq b < a \leq 1000, 0 \leq d < c \leq 1000)$  — numbers that determine the possible weight of one grain of rice (from $a - b$ to $a + b$) and the possible total weight of the package (from $c - d$ to $c + d$).


-----Output-----

For each test case given in the input print "Yes", if the information about the weights is not inconsistent, and print "No" if $n$ grains with masses from $a - b$ to $a + b$ cannot make a package with a total mass from $c - d$ to $c + d$.


-----Example-----
Input
5
7 20 3 101 18
11 11 10 234 2
8 9 7 250 122
19 41 21 321 10
3 10 8 6 1

Output
Yes
No
Yes
No
Yes



-----Note-----

In the first test case of the example, we can assume that each grain weighs $17$ grams, and a pack $119$ grams, then really Nastya could collect the whole pack.

In the third test case of the example, we can assume that each grain weighs $16$ grams, and a pack $128$ grams, then really Nastya could collect the whole pack.

In the fifth test case of the example, we can be assumed that $3$ grains of rice weigh $2$, $2$, and $3$ grams, and a pack is $7$ grams, then really Nastya could collect the whole pack.

In the second and fourth test cases of the example, we can prove that it is impossible to determine the correct weight of all grains of rice and the weight of the pack so that the weight of the pack is equal to the total weight of all collected grains.

Difficulty: interview

Starter code:

Solutions:
for _ in range(int(input())):
    n, a, b, c, d = tuple(map(int, input().split()))

    if (a - b) * n > c + d or (a + b) * n < c - d:
        print('No')
    else:
        print('Yes')


t = int(input())
for q in range(t):
    n,a,b,c,d=map(int,input().split())
    if c - d <= n*(a+b) and c + d >= n*(a-b):
        print("Yes")
    else:
        print("No")

t=int(input())
for tests in range(t):
    n, a, b, c, d = map(int, input().split())
    if n * (a+b) < c - d or n * (a - b) > c + d:
        print("No")
    else:
        print("Yes")

# @author 

import sys

class ANastyaAndRice:
    def solve(self, tc=0):
        for _ in range(int(input())):
            n, a, b, c, d = [int(_) for _ in input().split()]
            if n * (a - b) > c + d or n * (a + b) < c - d:
                print("No")
            else:
                print("Yes")


solver = ANastyaAndRice()
input = sys.stdin.readline

solver.solve()


t = int(input())
for qq in range(t):
    n,a,b,c,d = map(int,input().split())
    if (a + b) * n < (c - d) or (a - b) * n > (c + d):
        print('No')
    else:
        print('Yes')

#  =========     /\       /|    |====/|
#      |        /  \       |    |   / |
#      |       /____\      |    |  /  |
#      |      /      \     |    | /   |
#  ========= /        \  =====  |/====|  
#  code

def main():
    t = 1
    t = int(input())
    for _ in range(t):
        n,a,b,c,d = map(int , input().split())
        if n * (a + b) >= c - d and n * (a - b) <= c + d:
            print('Yes')
        else:
            print('No')
    return

def __starting_point():
    main()
__starting_point()

t = int(input())
for _ in range(t):
    n, a, b, c, d = map(int, input().split())
    if n * (a-b) > c + d or n * (a+b) < c - d:
        print('No')
    else:
        print('Yes')

t = int(input())
for i in range(t):
    n, a, b, c, d = list(map(int, input().split()))
    minall = c - d
    maxall = c + d
    minone = a - b
    maxone = a + b
    if minone * n > maxall or maxone * n < minall:
        print('No')
    else:
        print('Yes')


t=int(input())
for _ in range(t):
    n,a,b,c,d=list(map(int,input().split()))
    mn=(a-b)*n
    mx=(a+b)*n
    mic=c-d
    max=c+d
    if(mic>mx or max<mn):
        print("No")
    else:
        print("Yes")


from math import *
from random import *
for t in range(int(input())):
    n, a, b, c, d = map(int, input().split())
    if n * (a + b) < c - d or n * (a - b) > c + d:
        print("No")
    else:
        print("Yes")

''' Nastya and Rice
'''



''' routine '''

T = int(input())

for test in range(T):
    N, A, B, C, D = list(map(int, input().split()))

    lowerbound, upperbound = N*(A-B), N*(A+B)
    if lowerbound > (C + D) or upperbound < (C - D):
        print('No')
    else:
        print('Yes')

t=int(input())
for _ in range(t):
    n,a,b,c,d=map(int,input().split())
    if n*(a-b)>c+d or n*(a+b)<c-d:
        print('No')
    else:
        print('Yes')

t = int(input())

for _ in range(t):
    n, a, b, c, d = list(map(int, input().split()))

    mg = n * (a - b)
    Mg = n * (a + b)
    mp = c - d
    Mp = c + d

    if mg <= Mp and Mg >= mp:
        print("Yes")
    else:
        print("No")


t = int(input())

for _ in range(t):
    n, a, b, c, d = [int(i) for i in input().split()]
    if (a + b) * n >= c-d and (a - b) * n <= c + d:
        print("Yes")
    else:
        print("No")


import sys


def noop(*object): return
# print = noop

def main():
    T = read_int()
    for case_idx in range(T):
        ans = solve_case()
        sys.stdout.write("{}\n".format(ans))

def solve_case():
    n, a, b, c, d = read_int_list()

    if (a - b) * n > c + d or (a + b) * n < c - d:
        return 'No'
    return 'Yes'

#################################

def read_str(): return input()
def read_int(): return int(input())
def read_str_list(): return input().split(' ')
def read_int_list(): return list(map(int, input().split(' ')))
def read_lines(n, read_func): return [read_func() for _ in range(n)]
def list_to_str(l, sep=' '): return sep.join(map(str, l))
l2s = list_to_str
# shape: tuple of ints | list of ints
def make_list(shape, value=None):
    if len(shape) == 1:
        return [value] * shape[0]
    return [make_list(shape[1:], value) for _ in range(shape[0])]

def __starting_point():
    sys.setrecursionlimit(1000000)
    main()

__starting_point()

n_cases = int(input())
for case_num in range(n_cases):
  n, a, b, c, d = [int(x) for x in input().split()]
  lo = n*(a-b)
  hi = n*(a+b)
  if lo > c + d or hi < c - d:
    print("No")
  else:
    print("Yes")

for j in range(int(input())):
    n, a, b, c, d = map(int, input().split())
    if n * (a - b) <= c + d and n * (a + b) >= c - d:
        print('Yes')
    else:
        print("No")

t=int(input())
for i in range(t):
    n,a,b,c,d=map(int,input().split())
    flag=0
    if n*(a-b)>c+d or n*(a+b)<c-d:
        flag=1
    if flag==0:
        print('Yes')
    else:
        print('No')

t=int(input())
for tt in range(t):
	n,a,b,c,d=map(int,input().split())
	r1=a-b
	r2=a+b
	t1=c-d
	t2=c+d
	if(r1*n>t2 or r2*n<t1):
		print("No")
	else:
		print("Yes")

import math

t = int(input())
for _ in range(t):
    n, a, b, c, d = list(map(int, input().split()))
    c0 = n * a
    d0 = n * b
    if c0 + d0 < c - d or c0 - d0 > c + d:
        print("No")
    else:
        print("Yes")


for _ in range(int(input())):
    n,a,b,c,d = map(int, input().split())
    if(n*(a+b)>=(c-d) and n*(a-b)<=(c+d)):
        print("Yes")
    else: print("No")

for _ in range(int(input())):
    n, a, b, c, d = map(int, input().split())
    al, ar = n * (a - b), n * (a + b)
    bl, br = c - d, c + d
    if al <= bl <= ar or al <= br <= ar or bl <= al <= br or bl <= ar <= br:
        print('Yes')
    else:
        print('No')

t = int(input())
for i in range(t):
    n, a, b, c, d = list(map(int, input().split()))
    min_now = (a - b) * n
    max_now = (a + b) * n
    min_ob = c - d
    max_ob = c + d
    if min_now > max_ob or max_now < min_ob:
        print("No")
    else:
        print("Yes")


import math
import sys

#sys.stdin = open("in.txt")

t = int(input())
for i in range(t):
    n, a, b, c, d = map(int, input().split())
    a *= n
    b *= n
    a, b = a-b, a+b
    c, d = c - d, c + d
    if (d < a or b < c):
        print("No")
    else:
        print("Yes")

for _ in range(int(input())):
    n, a, b, c, d = list(map(int, input().split()))
    if (a - b) * n <= c + d and (a + b) * n >= c - d:
        print('Yes')
    else:
        print('No')

t=int(input())
for i in range(t):
    n,a,b,c,d=map(int,input().split())
    if n*(a+b)>=c-d and n*(a-b)<=c+d:print("Yes")
    else:print("No")

t = int(input())
for i in range(t):
    n,a,b,c,d = list(map(int,input().split()))
    if (a - b) * n > c + d or (a + b) * n < c - d:
        print("No")
    else:
        print("Yes")