правильно ли решено, или есть ошибки?