프리셀

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

프리셀은 컴퓨터과학과 마찬가지로 대부분 정렬 문제다. 목표는 꽤 번거로운 규칙에 따라 카드 한 벌을 정렬하는 것이다.

규칙은 이렇다. 섞은 카드를 여덟 개의 무더기로 늘어놓는다. 무더기에서는 맨 위 카드만 옮길 수 있다. 값이 vv인 카드는 목적지 무더기가 비어 있거나 목적지 무더기의 맨 위 카드가 반대 색이면서 값이 v+1v + 1일 때만 그 위로 옮길 수 있다. 예를 들어 하트 3은 클럽 4 위로 옮길 수 있다. 여기에 더해 처음에는 비어 있는 프리셀 네 칸을 쓸 수 있다. 프리셀 한 칸에는 카드를 최대 한 장 놓으며, 그 카드는 무더기 카드와 같은 규칙으로 옮긴다.

그림 H.1은 규칙에 맞는 이동 몇 가지를 보여 준다.

그림 H.1: 하트 3과 클럽 6이 갈 수 있는 자리

대부분의 프리셀 게임은 빈 칸과 빈 무더기가 충분해서 카드를 한 장씩 옮겨 같은 결과를 낼 수 있으면 카드 무더기를 한 번에 옮기게 해 준다. 위 그림에서도 5, 4, 3으로 이루어진 무더기 전체를 스페이드 6 위로 옮길 수 있다. 3과 4를 프리셀 몇 칸과 빈 무더기에 잠시 올려 두면 된다.

정렬된 카드 KK장을 한 무더기에서 다른 무더기의 맨 위로 옮기려고 한다. 목적지 무더기는 비어 있지 않지만 맨 위 카드의 색과 값은 알맞다. 비어 있지 않은 나머지 무더기는 모두 무시한다. 무시하지 않으면 그 무더기마다 맨 위 카드의 색과 값을 따져야 해서 너무 복잡해진다.

나머지 무더기를 무시해도 프리셀 NN칸과 빈 무더기 MM개는 그대로 쓸 수 있다. 이 이동이 가능한가?

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 세 정수 NN, MM, KK가 공백으로 구분되어 한 줄에 주어진다. NN은 프리셀 칸의 수, MM은 빈 무더기의 수, KK는 옮기려는 무더기의 카드 수다. 프리셀을 일반화한 형태를 다루므로 0N,M50 \le N, M \le 5이고 0K1000 \le K \le 100이다. 입력은 파일 끝까지 이어진다.

출력

각 테스트 케이스마다 한 줄씩, 프리셀 NN칸과 빈 무더기 MM개로 카드 KK장짜리 무더기를 옮길 수 있으면 yes를, 옮길 수 없으면 no를 출력한다.