#include <stdio.h>
#include <string.h>
#define max(a,b) ((a)>(b)?(a):(b))

int W,n;
int s[1000],g[1000],dp[1001];
int i,j,k,c;
int p,q;
main(){
    for(;scanf("%d%d",&W,&n),W;){
        for(i=0;i<n;i++) scanf("%d,%d",s+i,g+i);
        memset(dp,-1,sizeof(dp));
        dp[0]=0;

        for(j=0;j<n;j++){
            for(i=W-g[j];i>=0;i--){
                if(dp[i]>=0) dp[i+g[j]] = max(dp[i+g[j]],dp[i]+s[j]);
            }
        }

        p=q=0;
        for(i=0;i<=W;i++){
            if(dp[i]>p){
                p=dp[i];
                q=i;
            }
        }

        printf("Case %d:\n%d\n%d\n",++c,p,q);
    }
    return 0;
}