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

#define INF 1e6

using namespace std;

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

int main(void){
	int tem=1;
	int vmax=0,wmax;
	while(true){
		cin >> W >> N;
		if(!W)
			break;
		memset(dp,-1,sizeof(dp));
		dp[0]=0;
		for(int i=0;i<N;i++){
			scanf("%d,%d",&v,&w);
			for(int i=0;i+w<=W;i++)
				if(dp[i]>=0){
					dp[i+w]=max(dp[i+w],dp[i]+v);
					i+=w;
				}
		}
		for(int i=0; i<=W; i++){
			if(dp[i]>vmax){
			vmax=dp[i];
			wmax=i;
			}
		}
		cout << "Case "<<tem<<':'<<endl;
		cout <<  vmax << endl << wmax <<endl;
		tem++;
	}
	return 0;
}