#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

int W,N,w[1000],v[1000],dp[1001][1001];

int main() {
	int Case=1;
	while(scanf("%d",&W),W) {
		scanf("%d",&N);
		for(int i=0;i<N;i++) {
			scanf("%d,%d",&v[i],&w[i]);
		}
		for(int i=0;i<=N;i++) {
			for(int j=0;j<=W;j++) dp[i][j]=0;
		}
		for(int i=1;i<=N;i++) {
			for(int j=0;j<=W;j++) {
				if(j>=w[i-1]) {
					dp[i][j]=max(dp[i-1][j-w[i-1]]+v[i-1],dp[i-1][j]);
				}else {
					dp[i][j]=dp[i-1][j];
				}
			}
		}
		int max_t=0,ans;
		for(int i=0;i<=W;i++) {
			if(max_t<dp[N][i]) max_t=dp[N][i],ans=i;
		}
		printf("Case %d:\n",Case++);
		printf("%d\n%d\n",max_t,ans);
	}
}