c[2001],w[2001];
dp[1002][2001];
#define max(a,b) a>b?a:b
N,W,r,x;main(o,i,j){
	for(;scanf("%d%d",&W,&N),W;printf("Case %d:\n%d\n%d\n",o++,r,x),memset(dp,0,sizeof dp)){
		for(r=N;r--;)scanf("%d,%d",c+r,w+r);
		for(i=0;i<=N;i++)for(j=0;j<=W;j++){
			//if(i)dp[i][j]=max(dp[i][j],dp[i-1][j]);
			dp[i+1][j+w[i]]=max(dp[i+1][j+w[i]],dp[i][j]+c[i]);
			if(r<dp[i][j])r=dp[i][j],x=j;
		}
	}
}