/**
* Check if a string contains any character appearing exactly `count` times
* @param {string} line - The input string to be checked
* @param {number} [charCount=2] - The required number of occurrences for a character to be considered
* @returns {boolean} - True if any character appears exactly `charCount` times, false otherwise
*/
function hasExactChars(line = '', charCount = 2) {
// Check if any character has the required count of occurrences
return Object.values([...line].reduce(
(acc, char) => ({ ...acc, [char]: (acc[char] || 0) + 1 }),
{}
)).some((count) => count === charCount);
};
// Read input line by line using `readline` function
// Check if each line has any character appearing exactly twice, and print it if so
while (line = readline()) {
if (hasExactChars(line, 2)) {
print(line);
}
}
LyoqCiAqIENoZWNrIGlmIGEgc3RyaW5nIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgYXBwZWFyaW5nIGV4YWN0bHkgYGNvdW50YCB0aW1lcwogKiBAcGFyYW0ge3N0cmluZ30gbGluZSAtIFRoZSBpbnB1dCBzdHJpbmcgdG8gYmUgY2hlY2tlZAogKiBAcGFyYW0ge251bWJlcn0gW2NoYXJDb3VudD0yXSAtIFRoZSByZXF1aXJlZCBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgZm9yIGEgY2hhcmFjdGVyIHRvIGJlIGNvbnNpZGVyZWQKICogQHJldHVybnMge2Jvb2xlYW59IC0gVHJ1ZSBpZiBhbnkgY2hhcmFjdGVyIGFwcGVhcnMgZXhhY3RseSBgY2hhckNvdW50YCB0aW1lcywgZmFsc2Ugb3RoZXJ3aXNlCiAqLwpmdW5jdGlvbiBoYXNFeGFjdENoYXJzKGxpbmUgPSAnJywgY2hhckNvdW50ID0gMikgewogICAgLy8gQ2hlY2sgaWYgYW55IGNoYXJhY3RlciBoYXMgdGhlIHJlcXVpcmVkIGNvdW50IG9mIG9jY3VycmVuY2VzCiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhbLi4ubGluZV0ucmVkdWNlKAogICAgICAgIChhY2MsIGNoYXIpID0+ICh7IC4uLmFjYywgW2NoYXJdOiAoYWNjW2NoYXJdIHx8IDApICsgMSB9KSwKICAgICAgICB7fQogICAgKSkuc29tZSgoY291bnQpID0+IGNvdW50ID09PSBjaGFyQ291bnQpOwp9OwoKLy8gUmVhZCBpbnB1dCBsaW5lIGJ5IGxpbmUgdXNpbmcgYHJlYWRsaW5lYCBmdW5jdGlvbgovLyBDaGVjayBpZiBlYWNoIGxpbmUgaGFzIGFueSBjaGFyYWN0ZXIgYXBwZWFyaW5nIGV4YWN0bHkgdHdpY2UsIGFuZCBwcmludCBpdCBpZiBzbwp3aGlsZSAobGluZSA9IHJlYWRsaW5lKCkpIHsKICAgIGlmIChoYXNFeGFjdENoYXJzKGxpbmUsIDIpKSB7CiAgICAgICAgcHJpbnQobGluZSk7CiAgICB9Cn0K