Вот это задачка на 11 страниц)) может просто забить на это?