You're given a non-negative integer num. Convert it to its English words representation and return the result as a string. Amazon asks this to test your ability to break down large problems into structured chunks.
For example, num = 123 returns "One Hundred Twenty Three". The input num = 12345 returns "Twelve Thousand Three Hundred Forty Five". The input num = 0 returns "Zero".
Constraints: num ranges from to (about billion). Consider how you break a large number into manageable chunks. What pattern repeats every digits?