полный вариант

читать дальше