Приём решения алгоритмических задач: Break the question down into smaller independent parts. В чём суть и когда применять?