Блин, эта задача решается за 20 мин, а ты ее мусолишь уже 2 неделю. Пиши решение по балансу.