алгоритм такой же как написано постом выше