(~ ̄▽ ̄)~*
//既然是求最少能胜几次
//说明对方是要尽可能让我输
//但为了避免浪费,对方会用比我的牌大的牌中的最小pip的牌来击败我
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int Cas=0;
int m,n,pip[1010],vis[1010];
while(scanf("%d%d",&m,&n)&&m+n)
{
Cas++;
memset(pip,0,sizeof(pip));
memset(vis,0,sizeof(vis));
int maxpip=n*m;
for(int i=0;i<n;i++)
{
scanf("%d",&pip[i]);
vis[pip[i]]=1;
}
sort(pip,pip+n);
int res=0;
int j=1;
for(int i=0;i<n;i++)
{
bool flag=0;
for( ;j<=maxpip;j++)
{
if(!vis[j]&&j>pip[i])
{
flag=1;
j++;
break;
}
}
if(flag)//输一次加一次
res++;
}
printf("Case %d: %d
",Cas,n-res);
}
return 0;
}