#include <stdio.h>
#include <ctype.h>

int main(int argc, char * argv[])
{
	FILE * input = stdin;
	FILE * output = stdout;

	int i, c, prev_c, pocetnost[27], spolu;
	
	for (i = 0; i < 27; i++) pocetnost[i] = 0;
	spolu = 0;
	
	if (argc >= 2) {
		input = fopen(argv[1], "rt");
		if (input == NULL) return 1;
	}
	
	if (argc >= 3) {
		output = fopen(argv[2], "wt");
		if (output == NULL) return 2;
	}

	while ((c = fgetc(input)) != EOF) {
		if (c >= 'a' && c <= 'z') {
			spolu++;  pocetnost[c - 'a']++; prev_c = toupper(c);
		} else if (c >= 'A' && c <= 'Z') {
			spolu++, pocetnost[c - 'A']++; prev_c = c;
		} else { // vsetko ostatne povazuj za medzeru
			c = ' '; 
			if (prev_c != ' ') {
				spolu++, pocetnost[26]++; prev_c = c;
			}
		}
	}
	
	for (i = 0; i < 27; i++) {
		if (i < 26) 
			fprintf(output, "%c: %4d vyskyt(-y, -ov), p = %.4f\n", 
				i + 'A',
				pocetnost[i], 
				(float) pocetnost[i] / (float) spolu);
		else  
			fprintf(output, "\nmedzera: %d vyskyt(-y, -ov), p = %.4f\n", 
				pocetnost[i], 
				(float) pocetnost[i] / (float) spolu);
	}
	fprintf(output, "\nSpolu: %d znak(-y, -ov)\n", spolu);
	
	if (input != stdin) fclose(input);
	if (output != stdout) fclose(output);

	return 0;
}
