#include<iostream>


#define NMAX 1000
#define WMAX 1000
using namespace std;

int main(void){

	int W,N;
	char gav;
	int k[NMAX+1],o[NMAX+1];
	int dp[2][WMAX+1];
	int max;

	for(int i=1;;i++){
		cin>>W;
		if(W==0) break;
		cin>>N;
		for(int j=0;j<N;j++){
			cin>>k[j]>>gav>>o[j];
		}
		for(int j=0;j<2;j++){
			for(int l=0;l<=W;l++){
				dp[j][l]=-1;
			}
		}
		dp[0][0]=0;
		for(int j=0;j<N;j++){
			for(int l=0;l<=W;l++){
				if(dp[0][l]>=0){
					if(l+o[j]<=W){
						if(dp[0][l]+k[j]>dp[0][l+o[j]]){
							dp[1][l+o[j]]=dp[0][l]+k[j];
						}
					}
				}
			}
			for(int l=0;l<=W;l++){
				if(dp[1][l]!=-1) dp[0][l]=dp[1][l];
			}
		}
		max=0;
		for(int j=0;j<=W;j++){
			if(dp[0][j]>dp[0][max]) max=j;
		}
		cout<<"Case "<<i<<":"<<endl;
		cout<<dp[0][max]<<endl;
		cout<<max<<endl;
	}

	return 0;
}