#include <stdio.h>
#include <time.h>

#define o(j,k,m,n,l) { \
	fprintf(j,a[k],m,n,a[l]); \
	fflush(j); \
	}

char *a[]={"%c+------------+\n","%c+%3d %-8s+\n","seconds","minutes",
"hours","%s\n","\0337\033[%d;65;H%s\0338"};
int b[]={0,0,17,14,11,0};

main(v,c)
int v;
char ** c;
{
	char d[40], *e, f = 6;
	time_t g;
	FILE *h,*i;
	while (--f && !pipe(d) && !fork());
	h = fdopen(6-f<<1,"a");
	i=fdopen((6-f<<1)+1,"r");
	for(;;) {
		if (f) {
			fgets(d,40,i);
			d[strlen(d)-1]='\0';
			if (*d=='0'+f) {
				sprintf(*c,"%s\n",d+1);
				o(stdout,6,6-f,d+1,0)
			}
			if (*d > '0' + f)
				o(h,5,d,0,0)
		}
		else {
			time(&g);
			e = asctime(localtime(&g));
			for (v=1; v<6; v++)
				o(h,v!=1&&v!=6-1,v+'0',atoi(e+b[v]),v)
			sleep(1);
		}
	}
}


