let s ="bbaaaaaaaabgabgbagbabgababgbagbabgabababababggbabaggbaaaaaaggag", t ="bag"const resData =newSet();const tresData =newSet();const sl = s.length;const tl = t.length;functionname(z, m, res =""){if(m === tl){
resData.add(res);return;}for(let i = z; i < sl; i++){if(s[i]=== t[m]){
res += i;if(tresData.has(res)){
res = res.substring(0, res.length -String(i).length);continue;}name(i +1, m +1, res);
tresData.add(res);
res = res.substring(0, res.length -String(i).length);}}return;}name(0,0)
console.log(resData);