#include <stdio.h>

int map[10][10];

int main(void) {
	int input,max;
	int casenum=1;
	int now;
	int x,y;
	int up;
	while(1) {
		scanf("%d",&input);
		if(input==0)break;
		x=y=0;
		now=0;
		up=1;
		max=input*input;
		while(now<max) {
			map[y][x]=++now;
			if(up) {
				if(x==input-1) {
					y++;up=0;
				} else if(y==0) {
					x++;up=0;
				} else {
					x++;y--;
				}
			} else {
				if(y==input-1) {
					x++;up=1;
				} else if(x==0) {
					y++;up=1;
				} else {
					x--;y++;
				}
			}
		}
		printf("Case %d:\n",casenum++);
		for(y=0;y<input;y++) {
			for(x=0;x<input;x++)printf("%3d",map[y][x]);
			putchar('\n');
		}
	}
	return 0;
}