function messageManager(input){ let capacity=Number(input.shift()); input.pop(); let users=[]; input.forEach(element => { let elArr=element.split("="); let command=elArr[0]; if (command=="Add"){ let username=elArr[1]; let messagesSent=Number(elArr[2]); let messagesReceived=Number(elArr[3]); let newUser={user:username, sent:messagesSent, received:messagesReceived}; let userExists=false; users.forEach(u=>{ if (u["user"]==username){ userExists=true; } }); if (!userExists){ users.push(newUser); } } else if (command=="Empty"){ let userToRemove=elArr[1]; if (userToRemove=="All"){ users=[]; } let userToRemoveExists=false; let ind=-1; for (let i=0; i=capacity){ console.log(`${users[indexOfSender]["user"]} reached the capacity!`); users.splice(indexOfSender,1); } for (let i=0; i=capacity){ console.log(`${users[indexOfReceiver]["user"]} reached the capacity!`); users.splice(indexOfReceiver,1); } } } }); users=users.sort((a,b)=>{ if (a["received"]!==b["received"]){ return b["received"]- a["received"]; } else { return a["user"].localeCompare(b["user"]); } }); console.log(`Users count: ${users.length}` ); users.forEach(u=>{ let totalMessages=u["received"]+u["sent"]; console.log(`${u["user"]} - ${totalMessages}`) }) }