upd

упростил условия, код.