console.log("Hello world! - js.jsrun.net ");
function dfs(nums, visited, path, res) {
if (path.length === nums.length) {
res.add(path.join(''));
return;
}
for (let i = 0; i < nums.length; i++) {
if (visited[i]) continue;
if (i > 0 && nums[i] === nums[i - 1] &&!visited[i - 1]) continue;
visited[i] = true;
path.push(nums[i]);
dfs(nums, visited, path, res);
path.pop();
visited[i] = false;
}
}
let visited = new Array(3).fill(false);
let res = new Set();
dfs(["a", "b", "c"], [false, false, false], [], res);
console.log([...res].join('\n'));