空当接龙(FreeCell Solitaire)和计算机科学一样,主要涉及排序。其目标是使用一种相当复杂的算法来整理一副纸牌。
规则如下:一副洗好的牌被分成八叠。只有每一叠最上面的牌可以移动。一张牌 $v$ 只能移动到另一叠的顶部,前提是该列为空,或者目标叠最上面的牌颜色相反且牌面数值为 $v + 1$。例如,红桃三可以移动到梅花四的上面。你可以使用四个空当(可以把它们想象成可用的内存!),它们初始时是空的。每个空当最多可以容纳一张牌,这些牌可以按照与叠牌相同的规则进行移动。下图 H.1 展示了一些合法的移动。
图 H.1:红桃三和梅花六的合法移动
大多数空当接龙电脑游戏允许你移动一叠牌,前提是有足够的空当和空叠,通过逐张移动牌来完成此操作。例如在上图中,整个包含 5、4 和 3 的牌叠可以通过使用一些空当和一个空叠来暂时存放 3 和 4,从而移动到黑桃 6 的上方。
任务
你想要将一叠已排序的 $K$ 张牌从一叠移动到另一叠的顶部,目标叠非空,且颜色和数值匹配。你将忽略所有其他非空叠,因为否则你将不得不考虑那些叠最上面一张牌的颜色和数值,那会变得过于复杂。
即使你忽略了其他非空叠,你仍然可以使用 $N$ 个空当和 $M$ 个空叠。请问是否可以执行此移动?
输入格式
输入包含多个测试用例。每个测试用例由一行表示,包含三个数字 $N$、$M$ 和 $K$。$N$ 是空当的数量,$M$ 是空叠的数量,$K$ 是你正在移动的牌叠的大小。我们考虑的是一种广义的空当接龙,其中 $0 \le N, M \le 5$ 且 $0 \le K \le 100$。
输出格式
如果可以使用 $N$ 个空当和 $M$ 个空叠移动 $K$ 张牌的牌叠,程序应输出 “yes”,否则输出 “no”。
样例
样例输入 1
3 1 8
样例输出 1
yes
样例输入 2
3 1 9
样例输出 2
no