Мне конечно надо немного поработать над неймингом...
Но в целом, оно работает, и это главное
Да и код получился мягко говоря математический
Да и код получился мягко говоря математический