В сети нашел ответ уже после того, как посчитал сам. Ответ тупой (мой метод ровно в 3 раза проще), но правильный.