Этот пример программы мне прислал СуперМодератор в первом ответе можете оригинал посмотреть.
Я не супер программист, но я тоже немного засомневался и попросил словами объяснить, может у меня лучше бы получилось. Просто нужно понять, что нужно сделать. Я из этого текста кода просто даже понять не могу ни чего и тем более внятно объяснить.