console.log('Start');

setTimeout(() => {
    console.log('Timeout1');
}, 1000);

let a = 1;

const intervalId = setInterval(() => {
    console.log('Interval:', a++);
    
    if (a > 3) {
        clearInterval(intervalId);
        console.log('Interval cleared');
    }
}, 1000);

setTimeout(() => {
    console.log('Timeout2');
}, 1000);

setImmediate(() => {
    console.log('Immediate');
});

console.log('End');