#include<iostream>
#include<cstring>
using namespace std;

int item_w[1001];
int item_p[1001];
int n;
int w;
int dp[1001];

pair<int,int> check(int i,int ww,int pp)
{
  pair<int,int> tmp;
  pair<int,int> tmp2;
  if(ww>w)
    return make_pair(0,0);
  if(i>n)
    return make_pair(ww,pp);
  if(dp[ww]>pp)
    return make_pair(ww,dp[ww]);
  dp[ww]=pp;
  tmp=check(i+1,ww,pp);
  tmp2=check(i+1,ww+item_w[i],pp+item_p[i]);
  if(tmp.first>tmp2.first ||(tmp.first==tmp2.first &&tmp.second<tmp2.second))
    {
      return tmp;
    }
  else
    {
      return tmp2;
    }
}

int main()
{
  int casenum = 1;
  for(;cin>>w,w;)
    {
      cin>>n;
      memset(dp,-1,sizeof(dp));
      for(int i=0;i<n;i++)
	{
	  char tmp;
	  cin>>item_p[i]>>tmp>>item_w[i];
	}
      int wa=0;
      int ans=0;
      pair<int,int> ans2=check(0,0,0);
      for(int i=0;i<=w;i++)
	{
	  //	  cout<<"test: i,dp[i]="<<i<<","<<dp[i]<<endl;
	  if(ans<dp[i])
	    {
	      ans=dp[i];
	      wa=i;
	    }
	}
      //      cout<<"Case "<<casenum++<<":"<<endl<<ans.second<<endl<<ans.first<<endl;
      cout<<"Case "<<casenum++<<":"<<endl<<ans<<endl<<wa<<endl;
    }
}