Added Matt Huapeng's solutions