Imp likes his plush toy a lot.

 [Image] 

Recently, he found a machine that can clone plush toys. Imp knows that if he applies the machine to an original toy, he additionally gets one more original toy and one copy, and if he applies the machine to a copied toy, he gets two additional copies.

Initially, Imp has only one original toy. He wants to know if it is possible to use machine to get exactly x copied toys and y original toys? He can't throw toys away, and he can't apply the machine to a copy if he doesn't currently have any copies.


-----Input-----

The only line contains two integers x and y (0 ≤ x, y ≤ 10^9) — the number of copies and the number of original toys Imp wants to get (including the initial one).


-----Output-----

Print "Yes", if the desired configuration is possible, and "No" otherwise.

You can print each letter in arbitrary case (upper or lower).


-----Examples-----
Input
6 3

Output
Yes

Input
4 2

Output
No

Input
1000 1001

Output
Yes



-----Note-----

In the first example, Imp has to apply the machine twice to original toys and then twice to copies.

Difficulty: interview

Starter code:

Solutions:
x, y = map(int, input().split())

if y == 0:
	print('No')
	return
else:
	y -= 1

if y == 0 and x:
	print('No')
	return

if y > x or (x - y) & 1:
	print('No')
else:
	print('Yes')

def solve(x, y):
    if y == 0:
        return False
    if y == 1 and x > 0:
        return False
    if x < y - 1:
        return False
    if (x - (y - 1)) % 2 != 0:
        return False
    return True

x, y = [int(v) for v in input().split()]
print(["No", "Yes"][solve(x, y)])


def main():
    y, x = map(int, input().split())
    if (x == 1 and y == 0):
        print("Yes")
        return
    if (x < 1):
        print("No")
        return
    if (x - y > 1):
        print("No")
        return
    if ((x + y) % 2 == 0):
        print("No")
        return
    if (x == 1 and y == 1):
        print("No")
    if (x == 1 and y > 0):
        print("No")
        return
    print("Yes")
main()

x, y = list(map(int, input().split()))
if y == 0:
    print('No')
elif y == 1:
    if x == 0:
        print('Yes')
    else:
        print('No')
else:
    x -= y - 1
    if x % 2 == 0 and x >= 0:
        print('Yes')
    else:   
        print('No')


x, y = map(int, input().split())

if y == 0 or (y == 1 and x > 0) or (x < y - 1) or ((x - y) % 2 == 0):
    print('No')
    return

print('Yes')

x, y = [int(i) for i in input().split()]


a = y
b = a - 1

if y == 1:
    if x > 0:
        print("No")
    else:
        print("Yes")
elif x < b or y < 1 or (x-b)%2 == 1:
    print("No")
else:
    print("Yes")



x, y = list(map(int, input().split()))

if x == 0 and y == 1:
    print('Yes')
elif y < 2 or x < 1 or x < (y - 1):
    print('No')
else:
    print('Yes' if (x - (y - 1)) % 2 == 0 else 'No')


import collections
# input 
R = lambda: map(int,input().split())
x,y = R()

tx = y - 1
if y == 1:
    if x != 0:
         print('No');return
    else:
        print('Yes');return
if y == 0:
    print('No');return
if x >= tx and (x - tx) % 2  == 0:
    print('Yes');return
print('No')


rd = lambda:map(int,input().split())
n,m= rd()
if m == 1:
    if n ==0:
        print('Yes')
    else:
        print('No')
else:
    m = m-1
    n = n - m
    print('Yes' if n % 2 ==0 and n>=0 and m>=0 else 'No')

import sys

#f = open('input', 'r')
f = sys.stdin

x,y = list(map(int, f.readline().split()))

if y>0 and x>=y-1 and (x-y+1)%2==0:
  if x>0 and y==1:
    print('No')
  else:
    print('Yes')
else:
  print('No')


x, y = list(map(int, input().split()))

if (x > 0 and y == 1) or (y == 0):
    print('No')

else:
    a, b = y - 1, y

    if a > x:
        print('No')

    else:
        print(('No', 'Yes')[(x - a) % 2 == 0])


s = input().split()
x = int(s[0])
y = int(s[1])
if y<1:
  print('No')
elif x==0 and y>1:
  print('No')
elif x!=0 and y<=1:
  print('No')
else:
  if y>=1:
    if y-1>x:
      print('No')
    else:
      if (x-y+1)%2==0:
        print('Yes')
      else:
        print('No')
  else:
    print('No')

i1=input().split();
x=int(i1[0])
y=int(i1[1])
if (y%2==1 and x%2==1 ) or (y%2==0 and x%2==0) or (y<=1 and x>0) or (y>x+1):
	print ("No")
else:
	print ("Yes")


x, y = list(map(int, input().split()))
if y == 0:
    print("No")
elif y == 1 and x > 0:
    print("No")
elif y > x + 1:
    print("No")
elif (x - y) % 2 == 0:
    print('No')
else:
    print('Yes')


import sys
y,x=list(map(int,input().split()))
if ((x==1 and y>0 )or (x==0 )or (x>1 and y==0) or(y<x-1)):
    print('No')
    return
if (x%2==1 and y%2==0)or(x%2==0 and y%2==1):
    print('Yes')
else:
    print('No')


x,y= input().split()
x=int(x)
y=int(y)
y-=1
if y==0 and x!=0:
    print("No")
elif y==-1:
    print("No")
else:
  x-=y
  if x%2==0 and x>=0:
      print("Yes")
  else:
      print("No")

[copies, originals] = input().split()
copies = int(copies)
originals = int(originals)

if originals < 1 :
  print("No")
elif originals == 1 and copies > 0 :
  print("No")
elif originals > copies + 1:
  print("No")
elif (copies - originals) % 2 == 0 :
  print("No")
else :
  print("Yes")

x, y = map(int, input().split())
if y == 0:
    print("No")
elif y == 1:
    if x > 0:
        print("No")
    else:
        print("Yes")
elif x == 0:
    if y == 1:
        print("Yes")
    else:
        print("No")
elif y == x + 1:
    print("Yes")
else:
    if x >= (y - 1) and (x - (y - 1)) % 2 == 0:
        print("Yes")
    else:
        print("No")

x, y = map(int, input().split())
y -= 1
if x == 0 and y == 0:
    print("Yes")
elif x >= 1 and y >= 1:
    x -= 1
    y -= 1
    if x < y or (x - y) % 2 == 1:
        print("No")
    else:
        print("Yes")
else:
    print("No")

def __starting_point():
    y, x = [int(i) for i in input().strip().split()]
    if y == x - 1:
        print("Yes")
    elif y < x - 1:
        print("No")
    else:
        valid = abs(y - (x - 1)) % 2 == 0 and (x - 1) > 0
        print("Yes" if valid else "No")

__starting_point()