You got a job as a marketer in a pet shop, and your current task is to boost sales of cat food. One of the strategies is to sell cans of food in packs with discounts. 

Suppose you decided to sell packs with $a$ cans in a pack with a discount and some customer wants to buy $x$ cans of cat food. Then he follows a greedy strategy:   he buys $\left\lfloor \frac{x}{a} \right\rfloor$ packs with a discount;  then he wants to buy the remaining $(x \bmod a)$ cans one by one. 

$\left\lfloor \frac{x}{a} \right\rfloor$ is $x$ divided by $a$ rounded down, $x \bmod a$ is the remainer of $x$ divided by $a$.

But customers are greedy in general, so if the customer wants to buy $(x \bmod a)$ cans one by one and it happens that $(x \bmod a) \ge \frac{a}{2}$ he decides to buy the whole pack of $a$ cans (instead of buying $(x \bmod a)$ cans). It makes you, as a marketer, happy since the customer bought more than he wanted initially.

You know that each of the customers that come to your shop can buy any number of cans from $l$ to $r$ inclusive. Can you choose such size of pack $a$ that each customer buys more cans than they wanted initially?


-----Input-----

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

The first and only line of each test case contains two integers $l$ and $r$ ($1 \le l \le r \le 10^9$) — the range of the number of cans customers can buy.


-----Output-----

For each test case, print YES if you can choose such size of pack $a$ that each customer buys more cans than they wanted initially. Otherwise, print NO.

You can print each character in any case.


-----Example-----
Input
3
3 4
1 2
120 150

Output
YES
NO
YES



-----Note-----

In the first test case, you can take, for example, $a = 5$ as the size of the pack. Then if a customer wants to buy $3$ cans, he'll buy $5$ instead ($3 \bmod 5 = 3$, $\frac{5}{2} = 2.5$). The one who wants $4$ cans will also buy $5$ cans.

In the second test case, there is no way to choose $a$.

In the third test case, you can take, for example, $a = 80$.

Difficulty: interview

Starter code:

Solutions:
import sys

def main():
    #n = int(sys.stdin.readline().strip())
    n, m = map(int, sys.stdin.readline().split())
    #q = list(map(int, sys.stdin.readline().split()))
    if n * 2 > m:
        print("YES")
    else:
        print("NO")
    
   
        
        
            
        
                
            
            
        
            
    
    
    
    
    
    
            
                
        
    
            
        

            
        
    
                
    
    
    
            
    
        
    

for i in range(int(sys.stdin.readline().strip())):
    main()

for _ in range(int(input())):
    a,b = map(int,input().split())
    if(b<2*a):
        print("YES")
    else:
        print("NO")

for __ in range(int(input())):
    a, b = list(map(int, input().split()))
    x = b + 1
    if a % x >= x / 2:
        print('YES')
    else:
        print('NO')

for _ in range (int(input())):
    l,r=map(int,input().split())
    if l<=r//2:
        print("NO")
    else:
        print("YES")

for _ in range(int(input())):
    l,r = map(int,input().split())
    print(["NO","YES"][r<2*l])

import sys
import math
import itertools
import functools
import collections
import operator
import fileinput
import copy
import string


ORDA = 97  # a
def ii(): return int(input())
def mi(): return map(int, input().split())
def li(): return [int(i) for i in input().split()]
def lcm(a, b): return abs(a * b) // math.gcd(a, b)
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=2):
    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):
    new_number = 0
    while number > 0:
        new_number += number % base
        number //= base
    return new_number
def cdiv(n, k): return n // k + (n % k != 0)
def ispal(s):
    for i in range(len(s) // 2 + 1):
        if s[i] != s[-i - 1]:
            return False
    return True


for _ in range(ii()):
    l, r = mi()
    if 2* l > r:
        print("YES")
    else:
        print("NO")

import math
t=int(input())

for _ in range(t):
    l,r=map(int,input().split())
    if l*2>r:
        print("YES")
    else:
        print("NO")

for t in range(int(input())):
    a, b = list(map(int, input().split()))
    print(["NO","YES"][a*2-1>=b])



for _ in range(int(input())):
    l, r = map(int, input().split())
    if l * 2 > r:
        print("YES")
    else:
        print("NO")

t=int(input())
for you in range(t):
    l=input().split()
    r=int(l[1])
    l=int(l[0])
    if(r<2*l):
        print("YES")
    else:
        print("NO")


t = int(input())
for i in range(t):
    l, r = list(map(int, input().split()))
    if 2 * l >= (r + 1):
        print("YES")
    else:
        print("NO")


from math import *
from collections import Counter,defaultdict
I =lambda:int(input())
M =lambda:list(map(int,input().split()))
LI=lambda:list(map(int,input().split()))
for _ in range(I()):
    a,b=M()
    if 2*a>b:
        print("YES")
    else:
        print("NO")
    
    

    


        

    



        

            
            
                
        
        
            
    


            



        
            




    


      
      
    

  





# Problem: A. Marketing Scheme
# Contest: Codeforces - Educational Codeforces Round 97 (Rated for Div. 2)
# URL: https://codeforces.com/contest/1437/problem/0
# Memory Limit: 256 MB
# Time Limit: 1000 ms
# 
# KAPOOR'S

from sys import stdin, stdout 

def INI():
	return int(stdin.readline())
	
def INL():
	return [int(_) for _ in stdin.readline().split()]
	
def INS():
	return stdin.readline()

def MOD():
        return pow(10,9)+7
	
def OPS(ans):
	stdout.write(str(ans)+"\n")
	
def OPL(ans):
	[stdout.write(str(_)+" ") for _ in ans]
	stdout.write("\n")

	
def __starting_point():
	for _ in range(INI()):
		L,R=INL()
		if R//2<L:
			OPS("YES")
		else:
			OPS("NO") 

__starting_point()

ans = []
for _ in range(int(input())):
    a, b = list(map(int, input().split()))
    if a * 2 <= b:
        ans.append('NO')
    else:
        ans.append('YES')
print('\n'.join(ans))


t = int(input())
while t:
    t-=1
    l, r = map(int, input().split())
    if (r+1)/2<=l:
        print('YES')
    else:
        print('NO')

for _ in range(int(input())):
    l,r = map(int,input().split())
    if r>=2*l:print("NO")
    else:print("YES")

from collections import defaultdict as dd
import sys
input=sys.stdin.readline
t=int(input())
while t:
    #n=int(input())
    n,m=map(int,input().split())
    #l=list(map(int,input().split()))
    if((m+1)/2<=n):
        print("YES")
    else:
        print("NO")
    t-=1