# http://c...content-available-to-author-only...e.com/a/78544/34718
import math
def f(s):C=s.count;return-sum(C(x)*math.log2(C(x)/len(s))for x in set(s))
print(f("This is a test.")) # 45.094
print(f("00001111")) # 8.000
print(f("cwmfjordbankglyphsvextquiz")) # 122.211
print(f(" ")) # 0.0
IyBodHRwOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vYS83ODU0NC8zNDcxOAoKaW1wb3J0IG1hdGgKZGVmIGYocyk6Qz1zLmNvdW50O3JldHVybi1zdW0oQyh4KSptYXRoLmxvZzIoQyh4KS9sZW4ocykpZm9yIHggaW4gc2V0KHMpKQoKcHJpbnQoZigiVGhpcyBpcyBhIHRlc3QuIikpICAJCQkjIDQ1LjA5NApwcmludChmKCIwMDAwMTExMSIpKSAJCQkJCSMgOC4wMDAKcHJpbnQoZigiY3dtZmpvcmRiYW5rZ2x5cGhzdmV4dHF1aXoiKSkgCSMgMTIyLjIxMQpwcmludChmKCIgICAgICAgICAgICAgIikpIAkJCQkjIDAuMA==