#include <stdio.h>
#include <string.h>

int main() {
	char msg[300];
	int i, j, k;

	printf("Please enter the message:\n");
	scanf("%s",msg);

	int length = (int) strlen(msg);

	//looking at each possible key length
	printf("k\tIC\n");
	for (k = 1; k <= 15; k++) {
		int freq[k][26];
		int size[k];
	
		//initializing the frequency array
		for (i = 0; i < k; i++) {
			for (j = 0; j < 26; j++)
				freq[i][j] = 0;
		}

		//determining the size of each "bin"
		int val = length/k, r = length%k;
		for (i = 0; i < k; i++) size[i] = val;

		if (r != 0)
			for (i = 0; i < r; i++)
				size[i]++;
		
		//populating the frequency array
		for (i = 0; i < length; i++) {
			freq[i%k][msg[i]-'a']++;
		}

		double IC = 0;
		
		//calculating the IC
		for (i = 0; i < k; i++) {
			int top = 0, bottom = size[i] * (size[i]-1);
			for (j = 0; j < 26; j++)
				top += freq[i][j] * (freq[i][j]-1);
			IC += ((double)top)/bottom;
		}

		IC /= k;

		//printing the information
		printf("%d\t%lf\n", k, IC);
				
	}

	return 0;
}
