/**
* Counts the occurrences of each character in a given string
* @param {string} line - The input string to count characters from
* @returns {object} - An object containing the counts of each character
*/
function getCharCounts(line = '') {
return line
.split('')
.reduce((acc, char) => ({ ...acc, [char]: (acc[char] || 0) + 1 }), {});
}
// Read input line by line using the readline function
// Check if any character in each line appears exactly twice, and print the line if so
while ((line = readline())) {
if (Object.values(getCharCounts(line)).some((count) => count === 2)) {
print(line);
}
}
LyoqCiAqIENvdW50cyB0aGUgb2NjdXJyZW5jZXMgb2YgZWFjaCBjaGFyYWN0ZXIgaW4gYSBnaXZlbiBzdHJpbmcKICogQHBhcmFtIHtzdHJpbmd9IGxpbmUgLSBUaGUgaW5wdXQgc3RyaW5nIHRvIGNvdW50IGNoYXJhY3RlcnMgZnJvbQogKiBAcmV0dXJucyB7b2JqZWN0fSAtIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjb3VudHMgb2YgZWFjaCBjaGFyYWN0ZXIKICovCmZ1bmN0aW9uIGdldENoYXJDb3VudHMobGluZSA9ICcnKSB7CiAgICByZXR1cm4gbGluZQogICAgICAgIC5zcGxpdCgnJykKICAgICAgICAucmVkdWNlKChhY2MsIGNoYXIpID0+ICh7IC4uLmFjYywgW2NoYXJdOiAoYWNjW2NoYXJdIHx8IDApICsgMSB9KSwge30pOwp9CgovLyBSZWFkIGlucHV0IGxpbmUgYnkgbGluZSB1c2luZyB0aGUgcmVhZGxpbmUgZnVuY3Rpb24KLy8gQ2hlY2sgaWYgYW55IGNoYXJhY3RlciBpbiBlYWNoIGxpbmUgYXBwZWFycyBleGFjdGx5IHR3aWNlLCBhbmQgcHJpbnQgdGhlIGxpbmUgaWYgc28Kd2hpbGUgKChsaW5lID0gcmVhZGxpbmUoKSkpIHsKICAgIGlmIChPYmplY3QudmFsdWVzKGdldENoYXJDb3VudHMobGluZSkpLnNvbWUoKGNvdW50KSA9PiBjb3VudCA9PT0gMikpIHsKICAgICAgICBwcmludChsaW5lKTsKICAgIH0KfQo=