Конечный результат

Криво, косо, неоптимально, лапшеобразно, но работает!