#include <cstdio>
#include <cstring>
#define MAX(a,b)((a)>=(b)?(a):(b))
int dp[1001],v[1000],w[1000];
int main() {
	int W,N,Case=1;
	while(scanf("%d",&W),W) {
		scanf("%d",&N);
		for(int i=0;i<N;i++) {
			scanf("%d,%d",&v[i],&w[i]);
		}
		memset(dp,0,sizeof(dp));
		for(int i=0;i<N;i++) {
			for(int j=W;j>=w[i];j--) {
				dp[j]=MAX(dp[j],dp[j-w[i]]+v[i]);
			}
		}
		int ans_w=W;
		for(int i=W-1;i>=0;i--) {
			if(dp[W]!=dp[i]) {ans_w=i+1; break;} 
		}
		printf("Case %d:\n",Case++);
		printf("%d\n%d\n",dp[W],ans_w);
	}
}