Расчет значений оценок в стандартном рейтинге

Приветствую.
Делаю тут для паблика один модуль...

И есть один небольшой ньюанс, который мне хотелось бы элегантно решить.

Как известно, стандартный рейтинг DLE хранит 2 параметра: общая сумма оценок и количество голосов.
Т.е. если рейтинг 4.5 и при этом 12 голосов, то хранимое значение рейтинга будет 54.
54/12 = 4.5

Суть вопроса в следующем. Нужно написать скрипт/алгоритм, который должен посчитать сколько было оценок 5 баллов, сколько 4, 3, 2 и 1.
Естественно ни о какой 100% точности не может быть и речи. Ведь например если есть 4 голоса и рейтинг 14, то это вполне может быть:
5+5+2+2
5+5+3+1
5+4+3+2
и т.п.


Так что вот такая интересная задачка :) Если есть желающие - приглашаю присоединиться к мозговому штурму :)

 Источник:dle-faq.pro, DLE