function getLoveTrianglesCount(preferences = []) {
// your implementation
let length = preferences.length;
let count = 0;
for (let i = 0; i<length; i++) {
let next = preferences[i] - 1;
if (next == i) continue;
let nextnext = preferences[next] - 1;
if (next == nextnext) continue;
let nextnextnext = preferences[nextnext] - 1;
if (nextnextnext == nextnext) continue;
if (nextnextnext == i) {
count++;
}
}
return count / 3;
}
print(getLoveTrianglesCount([5,5,2,3,3]));
print(getLoveTrianglesCount([4,3,3,6,6,1]));
print(getLoveTrianglesCount([4,3,3,6,8,1,5,7]));
ZnVuY3Rpb24gZ2V0TG92ZVRyaWFuZ2xlc0NvdW50KHByZWZlcmVuY2VzID0gW10pIHsKICAvLyB5b3VyIGltcGxlbWVudGF0aW9uCiAgbGV0IGxlbmd0aCA9IHByZWZlcmVuY2VzLmxlbmd0aDsgCiAgbGV0IGNvdW50ID0gMDsgIAogIGZvciAobGV0IGkgPSAwOyBpPGxlbmd0aDsgaSsrKSB7IAogICAgICBsZXQgbmV4dCA9IHByZWZlcmVuY2VzW2ldIC0gMTsKICAgICAgaWYgKG5leHQgPT0gaSkgY29udGludWU7CiAgICAgIGxldCBuZXh0bmV4dCA9IHByZWZlcmVuY2VzW25leHRdIC0gMTsKICAgICAgaWYgKG5leHQgPT0gbmV4dG5leHQpIGNvbnRpbnVlOwogICAgICBsZXQgbmV4dG5leHRuZXh0ID0gcHJlZmVyZW5jZXNbbmV4dG5leHRdIC0gMTsKICAgICAgaWYgKG5leHRuZXh0bmV4dCA9PSBuZXh0bmV4dCkgY29udGludWU7CiAgICAgIGlmIChuZXh0bmV4dG5leHQgPT0gaSkgewogICAgICAgICAgY291bnQrKzsKICAgICAgfQogICB9CiAgIHJldHVybiBjb3VudCAvIDM7Cn0KCnByaW50KGdldExvdmVUcmlhbmdsZXNDb3VudChbNSw1LDIsMywzXSkpOwpwcmludChnZXRMb3ZlVHJpYW5nbGVzQ291bnQoWzQsMywzLDYsNiwxXSkpOwpwcmludChnZXRMb3ZlVHJpYW5nbGVzQ291bnQoWzQsMywzLDYsOCwxLDUsN10pKTsKCg==