#include<iostream>
#include<cstdio>
int masu[11][11]={0};
int nx[4]={0,1,0,-1};
int ny[4]={-1,0,1,0};
int nxx[4]={0,2,0,-2};
int nyy[4]={-2,0,2,0};
int maxs=0,siro=100,dx,dy;
void sho(int x,int y);
void tyu(int x,int y);
void dai(int x,int y);
void hikakua(int x,int y,int i,int j);
void hikakub(int dx,int dy);
using namespace std;
int x,y,size;
main(){
  while(scanf("%d,%d,%d",&x,&y,&size)!=EOF){
    if(size==1){
      sho(x,y);
    }
    else if(size==2){
      tyu(x,y);
    }
    else if(size==3){
      dai(x,y);
    }
  }
  cout<<siro<<endl<<maxs<<endl;
  return 0;
}
void sho(int x,int y){
  masu[y][x]=masu[y][x]+1;
  hikakub(x,y);
  for(int i=0;i<4;i++){
    dx=x+nx[i];
    dy=y+ny[i];
    if(dx<10&&dx>=0&&dy<10&&dy>=0){
      masu[dy][dx]=masu[dy][dx]+1;
      hikakub(dx,dy);
    }
  }
  return;
}
void tyu(int x,int y){
  for(int i=-1;i<2;i++){
    for(int j=-1;j<2;j++){
      if(x<10||x>=0||y<10||y>=0){
	masu[y+i][x+j]=masu[y+i][x+j]+1;
	hikakua(x,y,i,j);
      }
    }
  }
  return;
}
void dai(int x,int y){
  for(int i=-1;i<2;i++){
    for(int j=-1;j<2;j++){
      if(x<10||x>=0||y<10||y>=0){
	masu[y+i][x+j]=masu[y+i][x+j]+1;
	hikakua(x,y,i,j);
      }
    }
  }
  for(int i=0;i<4;i++){
    dx=x+nxx[i];
    dy=y+nyy[i];
    if(dx<10||dx>=0||dy<10||dy>=0){
      masu[dy][dx]=masu[dy][dx]+1;
      hikakub(dx,dy);
    }
  }
  return;
}
void hikakua(int x,int y,int i,int j){
  if(masu[y+i][x+j]==1){
    siro=siro-1;
  }
  if(maxs<masu[y+i][x+j]){
    maxs=masu[y+i][x+j];
  }
  return;
}
void hikakub(int dx,int dy){
  if(masu[dy][dx]==1){
    siro=siro-1;
  }
  if(maxs<masu[dy][dx]){
    maxs=masu[dy][dx];
  }
  return;
}