#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
#define rep(i,n) for(int i=0;i<(n);i++)

string to_s(int n){
	string res;
	while(n){
		res += n%10+'0';
		n /= 10;
	}
	reverse(res.begin(),res.end());
	return res;
}
int main(){
	int N,W,c=1;
	int dp[2000];
	while(cin>>W&&W){
		fill(dp,dp+1001,0);
		cin>>N;
		while(N--){
			int v,w;
			cin>>v;
			cin.ignore();
			cin>>w;
			for(int i=W;0<=i;i--){
				dp[i+w] = max(dp[i+w],dp[i]+v);
			}
		}
		int *p = max_element(dp,dp+W+1);
		cout<<"Case "<<to_s(c++)<<':'<<endl;
		cout<<*p<<endl;
		cout<<p-dp<<endl;
	}
	return 0;
}