Polycarp is sad — New Year is coming in few days but there is still no snow in his city. To bring himself New Year mood, he decided to decorate his house with some garlands.

The local store introduced a new service this year, called "Build your own garland". So you can buy some red, green and blue lamps, provide them and the store workers will solder a single garland of them. The resulting garland will have all the lamps you provided put in a line. Moreover, no pair of lamps of the same color will be adjacent to each other in this garland!

For example, if you provide $3$ red, $3$ green and $3$ blue lamps, the resulting garland can look like this: "RGBRBGBGR" ("RGB" being the red, green and blue color, respectively). Note that it's ok to have lamps of the same color on the ends of the garland.

However, if you provide, say, $1$ red, $10$ green and $2$ blue lamps then the store workers won't be able to build any garland of them. Any garland consisting of these lamps will have at least one pair of lamps of the same color adjacent to each other. Note that the store workers should use all the lamps you provided.

So Polycarp has bought some sets of lamps and now he wants to know if the store workers can build a garland from each of them.


-----Input-----

The first line contains a single integer $t$ ($1 \le t \le 100$) — the number of sets of lamps Polycarp has bought.

Each of the next $t$ lines contains three integers $r$, $g$ and $b$ ($1 \le r, g, b \le 10^9$) — the number of red, green and blue lamps in the set, respectively.


-----Output-----

Print $t$ lines — for each set of lamps print "Yes" if the store workers can build a garland from them and "No" otherwise.


-----Example-----
Input
3
3 3 3
1 10 2
2 1 1

Output
Yes
No
Yes



-----Note-----

The first two sets are desribed in the statement.

The third set produces garland "RBRG", for example.

Difficulty: interview

Starter code:

Solutions:
t=int(input())
for _ in range(t):
    a,b,c=list(map(int,input().split()))
    a,b,c=sorted([a,b,c])
    if a+b>=c-1:
        print("Yes")
    else:
        print("No")


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

q = int(input())
for rwe in range(q):
	l = list(map(int,input().split()))
	l.sort()
	if l[2] <= l[0] + l[1] + 1:
		print("Yes")
	else:
		print("No")

from math import ceil

for _ in range(int(input())):
    r, g, b = list(map(int, input().split()))
    n = r+g+b

    ok = True
    for e in [r, g, b]:
        if e > ceil(n / 2):
            ok = False

    print('No' if not ok else 'Yes')


t=int(input())
for _ in range(t):
    s=list(map(int,input().split()))
    s=sorted(s)
    if(s[0]+s[1]+1>=s[2]):
        print("Yes")
    else:
        print("No")


for tc in range(int(input())):
    a,b,c = list(map(int, input().split()))
    n = a+b+c
    if max(a,b,c) > (n+1)//2:
        print('No')
    else:
        print('Yes')


for q in range(int(input())):
    n, m, k = sorted(list(map(int, input().split())))
    if k > n+m+1:
        print('No')
    else:
        print('Yes')


t = int(input())
for i in range(t):
    a, b, c= sorted([int(x) for x in input().split()])
    if a + b < c - 1:
        print("No")
    else:
        print("Yes")


t = int(input())
for i in range(t):
	r, g, b = list(map(int, input().split()))
	mx = max(r, g, b)
	s = r + g + b - mx + 1
	if s < mx:
		print("No")
	else:
		print("Yes")


import sys
input = sys.stdin.readline

def getInt(): return int(input())
def getVars(): return list(map(int, input().split()))
def getList(): return list(map(int, input().split()))
def getStr(): return input().strip()

## -------------------------------

t = getInt()

for _ in range(t):
    r, g, b = getVars()
    a =max(r, g, b)
    c = min(r, g, b)
    b = r+g+b - a-c
    if a <= b+c+1:
        print('Yes')
    else:
        print('No')



for _ in range(int(input())):
    r, g, b = sorted(map(int, input().split()))
    if r + g + 1 < b:
        print('No')
    else:
        print('Yes')


t = int(input())
for ii in range(t):
    a = list(map(int, input().split()))
    a = sorted(a)

    if a[2] <= a[1] + a[0] + 1:
        print("Yes")
    else:
        print("No")


T=int(input())
for t in range(T):
    a,b,c=map(int,input().split())
    if max(a,b,c)>a+b+c-max(a,b,c)+1:
        print('No')
    else:
        print('Yes')

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

import sys 
input=sys.stdin.readline 
for _ in range(int(input())):
    r,g,b=list(map(int,input().split()))
    l=[r,g,b]
    l.sort() 
    if l[2]>l[0]+l[1]+1:
        print('No')
    else:
        print('Yes')


t=int(input())
for i in range(t):
    rgb=list(map(int,input().split()))
    rgb.sort()
    if rgb[2]-1>rgb[0]+rgb[1]:
        print('No')
    else:
        print('Yes')


t = int(input())
for _ in range(t):
    lamps = sorted(list(map(int, input().split())))
    if lamps[0] + lamps[1] >= lamps[2] - 1:
        print('Yes')
    else:
        print('No')


t = int(input())
for _ in range(t):
    a = sorted(map(int, input().split()))
    print('Yes' if a[0]+a[1]+1 >= a[2] else 'No')


import sys
from collections import Counter
from math import *

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

for _ in range(int(input())):
    a, b, c = map(int, input().split())
    if a > b + c + 1 or b > a + c + 1 or c > a + b + 1:
        print("No")
    else:
        print("Yes")

q = int(input())
for z in range(q):
    a, b, c = map(int, input().split())
    if a > b + c + 1 or b > a + c + 1 or c > a + b + 1:
        print('No')
    else:
        print('Yes')

import sys
import math
import itertools
import functools
import collections


def ii(): return int(input())
def mi(): return list(map(int, input().split()))
def li(): return list(map(int, input().split()))
def lcm(a, b): return abs(a * b) // math.gcd(a, b)
def wr(arr): return ' '.join(map(str, arr))
def revn(n): return str(n)[::-1]
def dd(): return collections.defaultdict(int)
def ddl(): return collections.defaultdict(list)
def sieve(n):
    if n < 2: return list()
    prime = [True for _ in range(n + 1)]
    p = 3
    while p * p <= n:
        if prime[p]:
            for i in range(p * 2, n + 1, p):
                prime[i] = False
        p += 2
    r = [2]
    for p in range(3, n + 1, 2):
        if prime[p]:
            r.append(p)
    return r
def divs(n, start=1):
    r = []
    for i in range(start, int(math.sqrt(n) + 1)):
        if (n % i == 0):
            if (n / i == i):
                r.append(i)
            else:
                r.extend([i, n // i])
    return r
def divn(n, primes):
    divs_number = 1
    for i in primes:
        if n == 1:
            return divs_number
        t = 1
        while n % i == 0:
            t += 1
            n //= i
        divs_number *= t
def prime(n):
    if n == 2: return True
    if n % 2 == 0 or n <= 1: return False
    sqr = int(math.sqrt(n)) + 1
    for d in range(3, sqr, 2):
        if n % d == 0: return False
    return True
def convn(number, base):
    newnumber = 0
    while number > 0:
        newnumber += number % base
        number //= base
    return newnumber
def cdiv(n, k): return n // k + (n % k != 0)


t = ii()
for _ in range(t):
    r, g, b = sorted(mi())
    if b > r + g + 1:
        print('No')
    else:
        print('Yes')



t=int(input())
while t:
    r,g,b=map(int,input().split())
    x=max(r,g,b)
    y=r+g+b-max(r,g,b)
    if(x-y<=1):
        print("Yes")
    else:
        print("No")
    t-=1    

n = int(input())
for i in range(n):
    l=sorted(list(map(int, input().split(' '))))
    if l[2] > l[0] + l[1] + 1:
        print("No")
    else:
        print("Yes")