Процедура длинновата. В основном из-за процедур деления умножения. Есть и короче.