JavaScript (no .split .slice or regex)
\nlet trim = (email) => {\n  let trimmed = "";\n  let ignore = false;\n  let domain = false;\n\n  for (let i = 0; i < email.length; i++) {\n    if (email[i] ===
```\nlet trim = (email) => {\n  let trimmed = "";\n  let ignore = false;\n  let domain = false;\n\n  for (let i = 0; i < email.length; i++) {\n    if (email[i] === \'@\') domain = true;\n    if (email[i] === \'+\') ignore = true;\n    if (!ignore && email[i] !== \'.\' || domain) trimmed += email[i];\n  }\n  return trimmed;\n}\n\nlet numUniqueEmails = (emails) => {\n  return new Set(emails.map(email => trim(email))).size;\n}\n```
[]