Solution 171 from aceeca1