#include<bits/stdc++.h>
using namespace std;
int dp[1001][1001],wait[1001],value[1001];
int power(int n)
{
    int num=1;
    for(int i=1;i<=n;i++)num*=10;
    return num;
}
int main()
{
    int n,w,point,num=1,wa=0;
    string str;
    while(cin>>w&&w!=0){
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>str;
            value[i]=0;wait[i]=0;
            for(int j=0;;j++){
                if(str[j]==','){
                    for(int k=0;k<j;k++)value[i]+=power(j-k-1)*(str[k]-'0');
                    point=j;
                }
                if(str[j]=='\0'){
                    for(int k=point+1;k<j;k++)wait[i]+=power(j-k-1)*(str[k]-'0');
                    break;
                }
            }
        }point=0;
        memset(dp,0,sizeof(dp));
        for(int i=n-1;i>=0;i--){
            for(int j=0;j<=w;j++){
                if(j<wait[i])dp[i][j]=dp[i+1][j];
                else dp[i][j]=max(dp[i+1][j],dp[i+1][j-wait[i]]+value[i]);
            }
        }
        for(int i=n-1;i>=0;i--){
            if(point<dp[i][w])wa+=wait[i];
            point=dp[i][w];
        }
        cout<<"Case "<<num<<":\n"<<dp[0][w]<<endl<<wa<<endl;
        num++;
    }
}