procedure main(a) s := !a | "1223334444" write(H(s)) end procedure H(s) P := table(0.0) every P[!s] +:= 1.0/*s every (h := 0.0) -:= P[c := key(P)] * log(P[c],2) return h end