Я что-то вообще не вижу ошибок в подсчете, и даже сложно представить мне где бы там какая ошибка в подсчетах была. Там логики-то особо и нет нигде. Но в любом случае, посмотреть смогу только позже.