from collections import Counter

alphabet = "abcdefghijklmnopqrstuvwxyz"

reference = Counter((c for c in open("sample.tx").read().lower() if c in alphabet))

def get_statistics(text):
	return Counter([c for c in text.lower() if c in alphabet])

def relative_most_common(statistics):
	c, abs_probability = statistics.most_common(1)[0]

	total_chrs = sum([v for k,v in statistics.most_common()])
	return abs_probability / total_chrs
	

def get_statistical_key(text):
	statistics = get_statistics(text)

	quality = relative_most_common(statistics) / relative_most_common(reference)

	c, abs_probability = statistics.most_common(1)[0]

	K = abs(ord("e") - ord(c))

	if(quality > 1):
		quality = relative_most_common(reference) / relative_most_common(statistics)
	
	return K, quality