Sort:  

Congrats @thepe! Finally you are the one who found the solution of part 4! Congrats also to @bluejay188 and @mcw who solved parts 1 to 3 and worked hard to find the solution of part 4 (and nearly solved it as well). :)