Construct a new string where each number between colons is a valid number from the array given

Given a string nums, which contains only digits, and an array of numbers predefinedNumbers,
add colons in nums to construct a new string, where each number between colons is a valid number from predefinedNumbers.
Return all possible strings.

EX:
nums = “143163421154143”
predefinedNumbers = [“21154”, “143”, “21154143”, “1634”, “163421154”]

makeNumSentences(nums, predefinedNumbers)

Output:
[
“:143:1634:21154:143:”,
“:143:163421154:143:”,
“:143:1634:21154143:”
]