>>3
http://codepad.org/Em9MngvT