Python with Explanation (Dynamic Programming)
Explanation:\nn =      1 -> 2 -> 3-> 4 ...\n____\na =\t     1 -> 5 -> 15 -> 35 ...\ne =\t     1 -> 4 -> 10 -> 20 ...\ni =\t      1 -> 3 ->  6 -> 10 ...\no =\t  
Explanation:\nn =      1 -> 2 -> 3-> 4 ...\n____________________________\na =\t     1 -> 5 -> 15 -> 35 ...\ne =\t     1 -> 4 -> 10 -> 20 ...\ni =\t      1 -> 3 ->  6 -> 10 ...\no =\t     1 -> 2 ->  3 ->  4 ...\nu =\t     1 -> 1 ->  1 ->  1 ...\n____________________________\nsum = 5 -> 15 -> 35 -> 70 ... (that\'s the answer)\n\nCode:\n\n```\nclass Solution:\n    def countVowelStrings(self, n: int) -> int:\n        ## if n == 1: return 5 ##Edited: Actually don\'t need it!\n        arr = [1, 1, 1, 1, 1]  ## initial \n        for i in range(2, n+1):   ## for different values of n\n            for j in range(5):   ## for 5 vowels\n                arr[j] = sum(arr[j:])\n        return sum(arr)    ## return sum of the array\n```\n\nPlease upvote if you like the answer! Happy coding!!\n
['Dynamic Programming', 'Python']