hawe kyu 4 but i feel like kyu 10 watching at this solution ...
So because of the | then the regex engine will think it either begins ^ with a number from 0 to 9 or from 10 to 59 (namely [1-5]?\d) - or, it ends $ with a number from 60 to 63 (namely 6[0-3]) that's why we wrap everything with () to say it must begin and end with either or in those ranges. The numbers within the  just indicate the range of the digit.
Nice. What are the meaning of the parenthesis in this case?
I didn't remember that Math.pow () function. Thanks!
And... I was laughing at your "reverse", like, turn around, do some things and turn over there again. Amazing!
Nice! Learned a new neat trick.
really best solution, m - is matching string but I didnt understand a? can you explain please? we are getting 'm' beacause of regex but how we are getting a?
Addicted to this solution.
Very clever I always thought that func replace replace all occurance :D
This comment is hidden because it contains spoiler information about the solution
it is unacceptable to spend so much time to return the result, whereas the task requires reassigning the type, and not returning the result
muhahaha ! ! !
I haven't come across that Math method before. Will definitely come in handy!