Да и код получился мягко говоря математический