Ada's classroom contains $N \cdot M$ tables distributed in a grid with $N$ rows and $M$ columns. Each table is occupied by exactly one student.
Before starting the class, the teacher decided to shuffle the students a bit. After the shuffling, each table should be occupied by exactly one student again. In addition, each student should occupy a table that is adjacent to that student's original table, i.e. immediately to the left, right, top or bottom of that table.
Is it possible for the students to shuffle while satisfying all conditions of the teacher?

-----Input-----
- The first line of the input contains a single integer $T$ denoting the number of test cases. The description of $T$ test cases follows.
- The first and only line of each test case contains two space-separated integers $N$ and $M$.

-----Output-----
For each test case, print a single line containing the string "YES" if it is possible to satisfy the conditions of the teacher or "NO" otherwise (without quotes).

-----Constraints-----
- $1 \le T \le 5,000$
- $2 \le N, M \le 50$

-----Example Input-----
2
3 3
4 4

-----Example Output-----
NO
YES

-----Explanation-----
Example case 2: The arrows in the following image depict how the students moved.

Difficulty: interview

Starter code:

Solutions:
# cook your dish here
t=int(input())
for _ in range(t):
 N, M=map(int,input().split())
 if(N%2==0 or M%2==0):
  print("YES")
 else:
  print("NO")

# cook your dish here
t=int(input())
for _ in range(t):
 N, M=map(int,input().split())
 if(N%2==0 or M%2==0):
  print("YES")
 else:
  print("NO")

# cook your dish here
t=int(input())
for i in range(t):
 a,b=map(int,input().split())
 if(a%2==0 or b%2==0):
  print("YES")
 else:
  print("NO")

t=int(input())
for i in range(0,t):
 (a,b)=list(map(int,input().split()))
 if(a%2==0 or b%2==0):
  print("YES")
 else:
  print("NO")


# cook your dish here
for _ in range(int(input())):
 n,m=map(int,input().split())
 if (n*m)%2==0:
  print("YES")
 else:
  print("NO")

# cook your dish here
n=int(input())
for i in range(0,n):
 (a,b)=list(map(int,input().split()))
 if(a%2==0 or b%2==0):
  print("YES")
 else:
  print("NO")

for _ in range(int(input())):
 n, m = map(int, input().split())
 print("YES") if n % 2 == 0 or m % 2 == 0 else print("NO")

for _ in range(int(input())):
 x,y=map(int,input().split())
 if(x%2==0 or y%2==0):
  print("YES")
 else:
  print("NO")

# cook your dish here
for _ in range(int(input())):
 n,m=map(int,input().split())
 if(n%2==0 or m%2==0):
  print("YES")
 else:
  print("NO")

# cook your dish here
t=int(input())
for i in range(t):
 a,b=map(int,input().split())
 if((a*b)%2==0):
  print('YES')
 else:
  print('NO')

# cook your dish here
t=int(input())
for _ in range(t):
 x,y=map(int,input().split())
 if((x*y)%2==0):
  print('YES')
 else:
  print('NO')

# cook your dish here
x=int(input())
for i in range(x):
 a, b=map(int,input().split())
 if((a*b)%2==0):
  print('YES')
 else:
  print('NO')

# cook your dish herefor _ in range(int(input())):
for _ in range(int(input())):
 x,y=list(map(int,input().split()))
 print("NO" if x*y%2 else "YES")


t=int(input())
for _ in range(t):
 x,y=list(map(int,input().split()))
 if((x*y)%2==0):
  print('YES')
 else:
  print('NO')



# cook your dish here
t=int(input())
for _ in range(t):
 a,b=list(map(int,input().split()))
 if((a*b)%2==0):
  print('YES')
 else:
  print('NO')


# cook your dish here
t=int(input())
for _ in range(t):
 a,b=list(map(int,input().split()))
 if((a*b)%2==0):
  print('YES')
 else:
  print('NO')


# cook your dish here
t=int(input())
for _ in range(t):
 a,b=map(int,input().split())
 if((a*b)%2==0):
  print('YES')
 else:
  print('NO')

for i in range(int(input())):
 n , k = map(int,input().split())
 isproductsatisfied = (n * k % 2==0)
 print("YES" if isproductsatisfied else "NO")

for _ in range(int(input())):
 m,n=map(int,input().split())
 print("NO" if m*n%2 else "YES")

for _ in range(int(input())):
 m,n=map(int,input().split())
 print("NO" if m*n%2 else "YES")

import sys

def input():    return sys.stdin.readline().strip()
def iinput():   return int(input())
def rinput():   return map(int, sys.stdin.readline().strip().split()) 
#def get_list(): return list(map(int, sys.stdin.readline().strip().split())) 

for _ in range(int(input())):
 
 a,b=rinput()
 if(a&1 and b&1):
  print('NO')
 else:
  print('YES')

# cook your dish here

def isOdd(n):
 return True if n % 2 != 0 else False
 
def isPossible(a, b):
 return "NO" if isOdd(a) and isOdd(b) else "YES"

def __starting_point():
 t = int(input())
 for i in range(t):
  a, b = map(int, input().split())
  print(isPossible(a, b))
__starting_point()

t=int(input())
for i in range(t):
 n,m=map(int,input().split())
 if(n%2!=0 and m%2!=0):
  print("NO")
 else:
  print("YES")

# cook your dish here
for _ in range(int(input())):
  n,m=map(int,input().split())
  if(n%2!=0 and m%2!=0):
   print("NO")
  else:
   print("YES")