function euclidean(on, off) {
let pattern = new Array(on).fill("1").concat(new Array(off).fill("0"));
let indexOfDiff;
while (indexOfDiff != -1) {
let remainder = pattern.splice(indexOfDiff);
pattern = pattern
.map((sequence, i) => sequence + (remainder[i] || ""))
.concat(remainder.slice(indexOfDiff));
indexOfDiff = pattern.findIndex((sequence) => sequence != pattern[0]);
}
return pattern.join("");
}