You are given a set of all integers from $l$ to $r$ inclusive, $l < r$, $(r - l + 1) \le 3 \cdot 10^5$ and $(r - l)$ is always odd.

You want to split these numbers into exactly $\frac{r - l + 1}{2}$ pairs in such a way that for each pair $(i, j)$ the greatest common divisor of $i$ and $j$ is equal to $1$. Each number should appear in exactly one of the pairs.

Print the resulting pairs or output that no solution exists. If there are multiple solutions, print any of them.


-----Input-----

The only line contains two integers $l$ and $r$ ($1 \le l < r \le 10^{18}$, $r - l + 1 \le 3 \cdot 10^5$, $(r - l)$ is odd).


-----Output-----

If any solution exists, print "YES" in the first line. Each of the next $\frac{r - l + 1}{2}$ lines should contain some pair of integers. GCD of numbers in each pair should be equal to $1$. All $(r - l + 1)$ numbers should be pairwise distinct and should have values from $l$ to $r$ inclusive.

If there are multiple solutions, print any of them.

If there exists no solution, print "NO".


-----Example-----
Input
1 8

Output
YES
2 7
4 1
3 8
6 5

Difficulty: interview

Starter code:

Solutions:
l, r = list(map(int, input().split()))
print("YES")
for i in range(l, r + 1, 2):
  print(i, i + 1)


l, r = list(map(int, input().split()))
c = l
print("YES")
while c < r:
    print(c, c + 1)
    c += 2

import sys
import math

l,r=map(int,input().strip().split())
print("YES")
comma=[int(x) for x in range(l,r+1)]
for a in range(0,len(comma)-1,2):
    print(comma[a],comma[a+1])

l,r = map(int, input().split(" "))

print("YES")
for i in range(l,r+1,2):
	print(i,i+1,sep = " ")


l, r = list(map(int, input().split()))
print("YES")
for i in range(l, r, 2):
    print(i, i + 1)


l, r = map(int, input().split())
print('YES')
while l < r:
	print(l, l + 1)
	l += 2

a = list(input().split())
l = int(a[0])
r = int(a[1])

print("YES")

for i in range(l, r + 1, 2):
    print(i, i + 1)

l, r = list(map(int, input().split()))
print("YES")
for i in range(l, r + 1, 2):
    print(i, i + 1)


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

a, b = list(map(int, input().split()))

print('YES')
for i in range(a, b, 2):
    print(i, i + 1)


l, r = map(int, input().split())
print('YES')
for i in range(l, r+1, 2):
    print(i, i+1)

import math
def mi():
    return list(map(int, input().split(' ')))

l,r = mi()
print("YES")
for i in range(l,r,2):
    print(i,i+1)


import math as ma
import sys
from decimal import Decimal as dec
from itertools import permutations


def li():
	return list(map(int , input().split()))


# https://www.geeksforgeeks.org/multiplicative-inverse-under-modulo-m/
def modInverse(a , m):
	m0 = m
	y = 0
	x = 1
	if (m == 1):
		return 0
	while (a > 1):
		q = a // m
		t = m
		m = a % m
		a = t
		t = y
		y = x - q * y
		x = t
	if (x < 0):
		x = x + m0
	return x


def num():
	return list(map(int , input().split()))


def nu():
	return int(input())


def find_gcd(x , y):
	while (y):
		x , y = y , x % y
	return x

l,r=num()
print("YES")
for i in range(l,r+1,2):
	print(i,i+1)


"""input
2
abcDCE
htQw27
"""
def list_input():
    return list(map(int,input().split()))
def map_input():
    return map(int,input().split())
def map_string():
    return input().split()

l,r = map_input()
print("YES")
for i in range(l,r,2): print(i,i+1)

def __starting_point():
    l, r = [int(__) for __ in input().strip().split()]
    print("YES")
    while l <= r:
        print(l, l + 1)
        l += 2

__starting_point()

a, b = map(int,input().split())
print('YES')
for i in range(a, b+1, 2):
    print(i, ' ', i+1)

l, r = map(int, input().split())
print("YES")
i = l
while i < r:
	print(i, i+1)
	i+=2

l,r=map(int,input().split())
print("YES")
for i in range(l,r,2):
	print(str(i)+" "+str(i+1))

l,r=map(int,input().split())
print("YES")
for i in range(l,l-1+int((r-l+1)),2):
    print(i,end=' ')
    print(i+1)
    i=i+2

a=list(map(int,input().split()))
print("YES")
for i in range(a[0],a[1],2):
    print(i,i+1)

l, r = list(map(int, input().split(' ')))
print('YES')
r += 1
pairs = (r - l) // 2

for i in range(pairs):
    print(l + 2*i, l + 2*i + 1)


l,r=map(int,input().split())
print("YES")
for i in range(int((r-l+1)/2)):

    print(l,l+1)
    l+=2