Solution for #29.
Solution for #30.