Solutions by Andrew Shitov