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}`)
})
}