//インクを落とす
#include<cstdio>

using namespace std;

int main(void){
	int pa[10][10];
	int i,j;	//ループカウンタ
	int x,y,size,da=0,not=0;
	
	//二次元配列の初期化
	for(i=0;i<10;i++){
		for(j=0;j<10;j++)
			pa[i][j]=0;
	}

	while(scanf("%d,%d,%d",&x,&y,&size)!=EOF){
		switch(size){
			case 1:	//小
				pa[x][y]++;
				pa[x-1][y]++;
				pa[x+1][y]++;
				pa[x][y-1]++;
				pa[x][y+1]++;
				break;
			case 2:	//中
				for(i=-1;i<=1;i++){
					for(j=-1;j<=1;j++)
						pa[x+i][y+j]++;
				}
				break;
			case 3:	//大
				for(i=-1;i<=1;i++){
					for(j=-1;j<=1;j++)
						pa[x+i][y+j]++;
				}
				pa[x-2][y]++;
				pa[x+2][y]++;
				pa[x][y-2]++;
				pa[x][y+2]++;
				break;
		}
	}
	for(i=0;i<10;i++){
		for(j=0;j<10;j++){
			if(pa[i][j]==0)
				not++;
		}
	}
	for(i=0;i<10;i++){
		for(j=0;j<10;j++){
			if(pa[i][j]>da)
				da=pa[i][j];
		}
	}
	printf("%d\n%d\n",not,da);

	return 0;
}