#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
	FILE *file;
	char c;
	unsigned long fp=0, rp=0, fbrc=0, rbrc=0, fbrkt=0, rbrkt=0;
	if(argc<2) {
		printf("usage: %s <file.c>\n",argv[0]);
		return 0;
	}
	if(!(file = fopen(argv[1],"r"))) {
		perror("error opening file");
		return 1;
	}
	while(!feof(file)) {
		c = fgetc(file);
		switch(c) {
		case '(':
			fp++;
			break;
		case ')':
			rp++;
			break;
		case '{':
			fbrc++;
			break;
		case '}':
			rbrc++;
			break;
		case '[':
			fbrkt++;
			break;
		case ']':
			rbrkt++;
			break;
		default:
			break;
		}
	}
	printf("%c:%-5lu %5lu:%c\n%c:%-5lu %5lu:%c\n%c:%-5lu %5lu:%c\n",
		'(',fp,
		rp,')',
		'{',fbrc,
		rbrc,'}',
		'[',fbrkt,
		rbrkt,']');
	if((fp != rp) || (fbrc != rbrc) || (fbrkt != rbrkt)) {
		puts("There was a mismatch.\n");
	}
	fclose(file);
	return 0;
}
