#include <stdio.h>

int takara[1024][1024];

int main(void)
{
	int i, j;
	int n;
	int w;
	int t[1024];
	int we[1024];
	int max;
	int c;
	
	c = 0;
	while (scanf("%d", &w), w != 0){
		scanf("%d", &n);
		for (i = 0; i <= n; i++){
			for (j = 0; j <= w; j++){
				takara[i][j] = 0;
			}
		}
		for (i = 0; i < n; i++){
			scanf("%d,%d", &t[i], &we[i]);
		}
		for (i = 0; i < n; i++){
			for (j = 0; j <= w; j++){
				if (takara[i + 1][j] < takara[i][j]){
					takara[i + 1][j] = takara[i][j];
				}
				if (takara[i + 1][j + we[i]] < takara[i][j] + t[i]){
					takara[i + 1][j + we[i]] = takara[i][j] + t[i];
				}
			}
		}
		
//		for (i = 0; i <= n; i++){
//			for (j = 0; j <= w; j++){
//				printf("%4d", takara[i][j]);
//			}
//			printf("\n");
//		}
		max = 0;
		for (i = 0; i <= w; i++){
			if (takara[n][i] > takara[n][max]){
				max = i;
			}
		}
		printf("Case %d:\n%d\n%d\n", c + 1, takara[n][i], max);
		c++;
	}
	return (0);
}