/*  Copyright by Juergen Dollinger 1995 */
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
#define SIZE 256

int getline(char line[]){
	int c,i=0;
	while((c=getchar())!=EOF && c!='\n') {line[i]=c; i++; }
	line[i]='\0';
	return c!=EOF;
}


typedef struct Zelle{
char color;
char which;
char wall;
char e;
char ne;
char nw;
char w;
char sw;
char se;
char ruhe;
char random;
} zelle;

zelle cell[SIZE][SIZE];

main(){
int time;
char line[80];
float dichte;
int number;
while(getline(line))
	if(line[0]>='0' && line[0]<='9')
		{ time=atoi(line); 
		if(time!=0){ 
			int x,y;
			number=0;
			for(x=0;x<SIZE;x++)
				for(y=0;y<SIZE;y++){
					number+=(cell[x][y].e!=0);
					number+=(cell[x][y].ne!=0);
					number+=(cell[x][y].nw!=0); 
					number+=(cell[x][y].w!=0);
					number+=(cell[x][y].sw!=0); 
					number+=(cell[x][y].se!=0);
					number+=(cell[x][y].ruhe!=0);
					}
			dichte= (number*1.0)/(SIZE*SIZE*7);
			printf("time %d, %f\n",time,dichte);
			}
		}
	else if(line[0]=='['){
		int x,y,i;
		/* 
		Format:
		0
		[0, 0] = 0, 1, 1, 0, 0, 0, 0, 0, 0, 0
		[0, 1] = 0, 0, 1, 0, 0, 0, 0, 0, 0, 0*/
		i=1; x=0;
		while(line[i]!=','){x=10*x+ (line[i] - '0');i++;}
		i+=2; y=0;
		while(line[i]!=']'){y=10*y+ (line[i] - '0');i++;}
		i+=4;
		if(line[i]!=',')
			cell[x][y].color=line[i]; 
		else
			cell[x][y].color='0';
		i+=3;
		cell[x][y].which=line[i] -'0';
		i+=3;
		cell[x][y].wall=line[i] -'0';
		i+=3;
		cell[x][y].e=line[i] -'0'; 
		i+=3;
		cell[x][y].ne=line[i] -'0'; 
		i+=3;
		cell[x][y].nw=line[i] -'0';
		i+=3;
		cell[x][y].w=line[i] -'0';
		i+=3;
		cell[x][y].sw=line[i] -'0'; 
		i+=3;
		cell[x][y].se=line[i] -'0';
		i+=3;
		cell[x][y].ruhe=line[i] -'0'; 
		i+=3;
		cell[x][y].random = 0;
		while(line[i]>='0'&&line[i]<='9'){cell[x][y].random=10*cell[x][y].random +(line[i] -'0');i++;}
		}
	else
		printf("ignoring comment");
	/* endif */
/* endwhile (Keine Eingabe mehr)*/
			{
			int x,y;
			number=0;
			for(x=0;x<SIZE;x++)
				for(y=0;y<SIZE;y++){
					number+=(cell[x][y].e!=0);
					number+=(cell[x][y].ne!=0);
					number+=(cell[x][y].nw!=0); 
					number+=(cell[x][y].w!=0);
					number+=(cell[x][y].sw!=0); 
					number+=(cell[x][y].se!=0);
					number+=(cell[x][y].ruhe!=0);
					}
			dichte= (number*1.0)/(SIZE*SIZE*7);
			printf("time %d, %f\n",time,dichte);
			}

} /* end main */
