В конце собраны выводы, чтобы было проще применять последовательно. Если нужно можно применить эту подачу под свой сценарий. Если по делу: кракен. Дальше приведён понятный разбор. Отдельно разобраны рабочие подходы, что помогают в реальных условиях. Если смотреть на структуру, становится заметно, что эта логика не повторяется в одной конструкции, и чередуется от строки к строке.