//这一题根本上就不用考虑有多少个人来玩,只是考虑有两手牌就可以了,一组是给出的牌,一组是除了给出的牌之外,剩下的牌就可以
//将两手牌分别储存在两个数组中,然后从小排序,最后运用贪心就可以了!
#include <iostream>
#include <memory.h>
#include <algorithm>
using namespace std;
int card1[1010], card2[1010], card3[1010];
int main()
{
int m, n, i, j, k, q, c, tc = 0, ans, tmp;
bool flag;
while (cin >> m >> n && m && n)
{
memset(card1, 0, sizeof(card1));
memset(card2, 0, sizeof(card2));
memset(card3, 0, sizeof(card3));
c = 0;
tc++;
flag = false;
for (i = 1; i <= n; i++)
{
cin >> tmp;
card2[tmp] = 1;
}
j = k = 1;
for (i = 1; i <= n*m; i++)
{
if (card2[i] == 0)
{
card1[j] = i;
j++;
}
if (card2[i] == 1)
{
card3[k] = i;
k++;
}
}
sort(card1, card1+j);
sort(card3, card3+k);
for (i = 1, q = 1; i < k; i++, q++)//这里进行贪心算法,从第二个数组中找出一个比第一个数组中大的一个数,
//如果在第二个数组中可以找出一个比它大的数,就证明它输,否则赢(因为之前已经进行排序了,所以保证了数从小到大的排序,找到一个即可)
{
if (flag) break;
while (1)
{
if (card1[q] > card3[i])
{
c++;
break;
}
else
q++;
if (q >= j)
{
flag = true;
break;
}
}
}
ans = n - c;
cout << "Case " << tc << ": " << ans << endl;
}
system("pause");
}