Понравилось решение. Всё гениальное просто.

www.diary.ru/~sirein/p20320087.htm