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

int item_w[1001];
int item_p[1001];
int n;
int w;
int dp[1002][1001];
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;
      dp[0][0]=0;
      for(int i=0;i<=n;i++)
	{
	  for(int j=0;j<=w;j++)
	    {
	      if(dp[i][j]!=-1)
		{
		  dp[i+1][j]=max(dp[i+1][j],dp[i][j]);
		  if(j+item_w[i]<=w)
		    dp[i+1][j+item_w[i]]=max(dp[i+1][j+item_w[i]],dp[i][j]+item_p[i]);
		}
	    }
	}
	  for(int j=0;j<=w;j++)
	    {
	      if(ans<dp[n][j])
		{
		  ans=dp[n][j];
		  wa=j;
		}
	    }
	    cout<<"Case "<<casenum++<<":"<<endl<<ans<<endl<<wa<<endl;
    }
}