Solution 3
Solution 1
+more test