엔트로피

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

1948년 클로드 섀넌(Claude E. Shannon)은 논문 통신의 수학적 이론(The Mathematical Theory of Communication)에서 이산 확률 분포 p1,,pnp_1, \ldots, p_n의 엔트로피를 정의하는 유명한 공식을 제시했다.

H=ipilog2pi.H = -\sum_{i} p_i \log_2 p_i.

이 공식을 문자열에 적용하기 위해, pip_i를 문자열에서 각 문자가 등장하는 상대 빈도로 둔다. 예를 들어 길이가 38인 문자열 Northeastern European Regional Contest(공백 3개 포함)의 엔트로피는 소수점 아래 셋째 자리까지 반올림하면 3.8833.883이다. 아래 표는 이 문자열의 각 문자에 대한 상대 빈도 pip_i와 엔트로피의 각 항 pilog2pi-p_i \log_2 p_i를 보여 준다.

문자등장 횟수pip_ipilog2pi-p_i \log_2 p_i문자등장 횟수pip_ipilog2pi-p_i \log_2 p_i
공백30.0790.0790.2890.289i10.0260.0260.1380.138
C10.0260.0260.1380.138l10.0260.0260.1380.138
E10.0260.0260.1380.138n40.1050.1050.3420.342
N10.0260.0260.1380.138o40.1050.1050.3420.342
R10.0260.0260.1380.138p10.0260.0260.1380.138
a30.0790.0790.2890.289r30.0790.0790.2890.289
e50.1320.1320.3850.385s20.0530.0530.2240.224
g10.0260.0260.1380.138t40.1050.1050.3420.342
h10.0260.0260.1380.138u10.0260.0260.1380.138

주어진 문자열의 엔트로피를 계산하라.

입력

입력은 한 줄로 이루어지며, 길이가 1 이상 1000 이하인 문자열이 주어진다. 문자열의 각 문자는 09, az, AZ, .(마침표), 공백 중 하나이다. 앞, 중간, 뒤에 오는 공백도 모두 문자열의 일부이다.

출력

입력 문자열의 엔트로피 H=ipilog2piH = -\sum_{i} p_i \log_2 p_i를 한 줄에 출력한다. 여기서 pip_i는 각 문자의 상대 빈도이다. 답은 소수점 아래 셋째 자리까지 반올림하여 출력한다.