#include <stdio.h>

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

	int i, c, pocet[26], spolu;
	double pravd[26], koinc, koinc2;
	
	for (i = 0; i < 26; i++) pocet[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) {
		
		c = toupper(c);
		
		if (c >= 'A' && c <= 'Z') {
			pocet[c - 'A']++; spolu++;
		}
	}
	
	koinc = 0.0; koinc2 = 0.0;
	for (i = 0; i < 26; i++) {
		koinc += (double) pocet[i] / (double) spolu * (double) (pocet[i] - 1) / (double) (spolu - 1);
		pravd[i] = (double) pocet[i] / (double) spolu;
		koinc2 += pravd[i] * pravd[i];
	}
	
	fprintf(output, "Index koincidencie: %.04f (%.04f)\n", koinc, koinc2);
	
	if (input != stdin) fclose(input);
	if (output != stdout) fclose(output);

	return 0;
}
