#include<stdio.h>
int dp[1001];
int max(int a,int b){return a>b?a:b;}
int main(){
	int n,W;
	int i,j;
	int c=1;
	while(1){
	scanf("%d",&W);
	if(W==0)return 0;
	scanf("%d",&n);
	for(i=0;i<=W;i++)dp[i]=-1;
	dp[0]=0;
	for(i=0;i<n;i++){
		int w,v;
		scanf("%d,%d",&v,&w);
		for(j=W-w;j>=0;j--){
			dp[j+w]=max(dp[j+w],dp[j]+v);
		}
	}
	int m=0;
	for(i=1;i<=W;i++){
		if(dp[i]>dp[m])m=i;
	}
	printf("Case %d:\n",c);
	printf("%d\n%d\n",dp[m],m);
	c++;
	}
}