Substring with Concatenation of All Words

Given a string and a list of equal-length words, return all starting indices where a concatenation of all words (in any order) appears without gaps.

Examples
Input: ["barfoothefoobarman",["foo","bar"]]
Output: [0,9]
Hints

Substring with Concatenation of All Words

Given a string and a list of equal-length words, return all starting indices where a concatenation of all words (in any order) appears without gaps.