(FLIRT libraries thanks to Nick Pisanov)
Note : this result is totally automatic, including the comments.