막대과자 포장

직선형 3칸 막대와 L자 트로미노를 회전해 사용하여 n 곱하기 m 격자를 빈틈없이 채울 수 있는지 판정한다.

보통4수학그리디구현조합론아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

동혁이는 막대과자를 포장하는 아르바이트를 한다. 과자는 두 종류다. 하나는 3×13 \times 1 직사각형 모양이고, 다른 하나는 2×22 \times 2 정사각형에서 한 칸을 뺀 ㄴ자 모양이다. 두 종류 모두 칸 세 개를 차지한다.

막대 모양 과자와 ㄴ자 모양 과자

포장 박스는 n×mn \times m 크기의 격자다. 과자는 부서지기 쉬워서 상자에 빈틈이 남으면 흔들리다가 깨진다. 그래서 상자를 빈틈없이 꽉 채워야 한다. 과자는 돌려서 넣어도 되고 종류별로 얼마든지 쓸 수 있지만, 서로 겹치거나 상자 밖으로 나가면 안 된다. 아래 그림은 5×35 \times 3 상자를 빈틈없이 채운 예다.

5 x 3 상자를 과자로 빈틈없이 채운 모습

nnmm이 주어질 때 상자를 빈틈없이 채울 수 있는지 판정하자.

입력

첫째 줄에 상자의 두 변의 길이 nnmm이 공백으로 구분되어 주어진다. (1n,m5001 \le n, m \le 500)

출력

과자로 상자를 빈틈없이 채울 수 있으면 YES를, 채울 수 없으면 NO를 출력한다.