#include<iostream>
#include<cstdio>
#include<string>
#include<map>
#include<algorithm>
#include<queue>
#include <functional>
using namespace std;

int main(){
  int w,n,t[1001][2];
  int memo[1111]={0};
  int ans=0;
  int omosa,kati;
  int nam=1;
  char a;
  
  while(1){
    ans=0;
    for(int i=0;i<1111;i++){
      memo[i]=0;
    }
    for(int i=0;i<1001;i++){
      for(int j=0;j<2;j++){
	t[i][j]=0;
      }
    }
    cin >> w;
    if(w == 0)break;
    cin >> n;
    for(int i=1;i<=n;i++){
      cin >> t[i][0] >> a >> t[i][1];
    }
    for(int i=0;i<=n;i++){
      omosa=t[i][1];
      kati=t[i][0];
      for(int j=i+1;j<=n;j++){
	if(omosa+t[j][1] < w){
	  omosa+=t[j][1];
	  kati+=t[j][0];
	  if(ans<kati){
	    ans=kati;
	  }
	  if(memo[omosa]<kati){
	    memo[omosa]=kati;
	  }
	}
      }
    }
    for(int i=0;i<=w;i++){
      if(memo[i]==ans){
	printf("Case %d:\n",nam);
	cout << ans << endl;
	cout << i << endl;
	nam++;
	break;
      }
    }
  }
}