process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.resume();
process.stdin.setEncoding('utf8');
class Kamus {
constructor() {
this.data = new Map();
}
tambah(kata, sinonim) {
if (!this.data.has(kata)) {
this.data.set(kata, []);
}
const daftar = this.data.get(kata);
for (const s of sinonim) {
if (!daftar.includes(s)) {
daftar.push(s);
}
}
}
ambilSinonim(kata) {
const hasil = [];
for (const [kunci, daftar] of this.data) {
if (kunci !== kata && daftar.includes(kata)) {
hasil.push(kunci);
}
}
if (this.data.has(kata)) {
for (const s of this.data.get(kata)) {
if (!hasil.includes(s)) {
hasil.push(s);
}
}
}
return hasil.length === 0 ? null : hasil;
}
}
const kamus = new Kamus();
kamus.tambah('big', ['large', 'great']);
kamus.tambah('big', ['huge', 'fat']);
kamus.tambah('huge', ['enormous', 'gigantic']);
console.log(kamus.ambilSinonim('big'));
console.log(kamus.ambilSinonim('huge'));
console.log(kamus.ambilSinonim('gigantic'));
console.log(kamus.ambilSinonim('colossal'));
cHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTsKcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZygndXRmOCcpOwoKcHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTsKcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZygndXRmOCcpOwoKY2xhc3MgS2FtdXMgewogIGNvbnN0cnVjdG9yKCkgewogICAgdGhpcy5kYXRhID0gbmV3IE1hcCgpOwogIH0KCiAgdGFtYmFoKGthdGEsIHNpbm9uaW0pIHsKICAgIGlmICghdGhpcy5kYXRhLmhhcyhrYXRhKSkgewogICAgICB0aGlzLmRhdGEuc2V0KGthdGEsIFtdKTsKICAgIH0KICAgIGNvbnN0IGRhZnRhciA9IHRoaXMuZGF0YS5nZXQoa2F0YSk7CiAgICBmb3IgKGNvbnN0IHMgb2Ygc2lub25pbSkgewogICAgICBpZiAoIWRhZnRhci5pbmNsdWRlcyhzKSkgewogICAgICAgIGRhZnRhci5wdXNoKHMpOwogICAgICB9CiAgICB9CiAgfQoKICBhbWJpbFNpbm9uaW0oa2F0YSkgewogICAgY29uc3QgaGFzaWwgPSBbXTsKCiAgICBmb3IgKGNvbnN0IFtrdW5jaSwgZGFmdGFyXSBvZiB0aGlzLmRhdGEpIHsKICAgICAgaWYgKGt1bmNpICE9PSBrYXRhICYmIGRhZnRhci5pbmNsdWRlcyhrYXRhKSkgewogICAgICAgIGhhc2lsLnB1c2goa3VuY2kpOwogICAgICB9CiAgICB9CgogICAgaWYgKHRoaXMuZGF0YS5oYXMoa2F0YSkpIHsKICAgICAgZm9yIChjb25zdCBzIG9mIHRoaXMuZGF0YS5nZXQoa2F0YSkpIHsKICAgICAgICBpZiAoIWhhc2lsLmluY2x1ZGVzKHMpKSB7CiAgICAgICAgICBoYXNpbC5wdXNoKHMpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHJldHVybiBoYXNpbC5sZW5ndGggPT09IDAgPyBudWxsIDogaGFzaWw7CiAgfQp9Cgpjb25zdCBrYW11cyA9IG5ldyBLYW11cygpOwprYW11cy50YW1iYWgoJ2JpZycsIFsnbGFyZ2UnLCAnZ3JlYXQnXSk7CmthbXVzLnRhbWJhaCgnYmlnJywgWydodWdlJywgJ2ZhdCddKTsKa2FtdXMudGFtYmFoKCdodWdlJywgWydlbm9ybW91cycsICdnaWdhbnRpYyddKTsKCmNvbnNvbGUubG9nKGthbXVzLmFtYmlsU2lub25pbSgnYmlnJykpOwpjb25zb2xlLmxvZyhrYW11cy5hbWJpbFNpbm9uaW0oJ2h1Z2UnKSk7CmNvbnNvbGUubG9nKGthbXVzLmFtYmlsU2lub25pbSgnZ2lnYW50aWMnKSk7IApjb25zb2xlLmxvZyhrYW11cy5hbWJpbFNpbm9uaW0oJ2NvbG9zc2FsJykpOwo=