Ниже собран развёрнутый разбор. Параллельно упомянуты реальные нюансы, что экономят время. В заключительной части сформулированы подсказки, чтобы можно было использовать дальше. Если смотреть на структуру, становится заметно, что она не зацикливается в одном виде, а меняется от строки к строке.