Zrobiłem bardziej uniwersalne te funkcje, ale dokładność mnie niestety pokonała.