#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

#define rep(i,n) for(int i=0; i<n; i++)

int main(){
	int W, cnt=1;
	while( scanf("%d",&W), W ){
		int n, v[1000], w[1000], dp[1001];
		scanf("%d", &n);
		rep(i,n){
			scanf("%d,%d", &v[i], &w[i]);
		}
		rep(i,W)	dp[i+1] = -1;
		dp[0] = 0;
		rep(i,n){
			for(int j=W-2; j>=0; j--){
				if( dp[j] != -1 && j+w[i]<=W ){
					dp[j+w[i]] = max( dp[j+w[i]], dp[j]+v[i] );
				}
			}
		}
		int mw = 0;
		rep(i,W){
			if( dp[i]>dp[mw] )	mw = i;
		}
		printf("Case %d:\n",cnt++);
		printf("%d\n", dp[mw]);
		printf("%d\n", mw);
	}
}