/**
* @param {number[]} x
* @return {boolean}
*/
var isSelfCrossing = function(x) {
var n = x.length;
for (var i = 0; i < n; i++) {
if (i + 3 < n && x[i] >= x[i + 2] && x[i + 1] <= x[i + 3]) {
return true;
}
if (i + 4 < n && x[i + 1] == x[i + 3] && x[i] + x[i + 4] >= x[i + 2]) {
return true;
}
if (i + 5 < n && x[i] < x[i + 2] && x[i + 4] < x[i + 2] && x[i + 2] <= x[i] + x[i + 4] && x[i + 1] < x[i + 3] && x[i + 3] <= x[i + 1] + x[i + 5]) {
return true;
}
}
return false;
};