Для реализации этой задачи существует несколько способов, каждый из которых имеет свои достоинства и недостатки.