// your code goes here
function processData(input) {
const ipAddresses = input.split('\n').slice(1);
const regex = {
ipv4: /^((1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])$/,
ipv6: /^([\da-f]{1,4}:){7}[\da-f]{1,4}$/
}
const answer = ipAddresses.map(ipaddr =>
regex.ipv4.test(ipaddr) ? 'IPv4' :
regex.ipv6.test(ipaddr) ? 'IPv6' : 'Neither'
);
console.log(answer.join('\n'));
}
process.stdin.resume();
process.stdin.setEncoding("ascii");
_input = "";
process.stdin.on("data", function (input) {
_input += input;
});
process.stdin.on("end", function () {
processData(_input);
});
CgovLyB5b3VyIGNvZGUgZ29lcyBoZXJlCmZ1bmN0aW9uIHByb2Nlc3NEYXRhKGlucHV0KSB7CiAgICBjb25zdCBpcEFkZHJlc3NlcyA9IGlucHV0LnNwbGl0KCdcbicpLnNsaWNlKDEpOwogICAgY29uc3QgcmVnZXggPSB7CiAgICAgICAgaXB2NDogL14oKDE/WzAtOV17MSwyfXwyWzAtNF1bMC05XXwyNVswLTVdKVwuKXszfSgxP1swLTldezEsMn18MlswLTRdWzAtOV18MjVbMC01XSkkLywKICAgICAgICBpcHY2OiAvXihbXGRhLWZdezEsNH06KXs3fVtcZGEtZl17MSw0fSQvCiAgICB9CiAgICBjb25zdCBhbnN3ZXIgPSBpcEFkZHJlc3Nlcy5tYXAoaXBhZGRyID0+CiAgICAgICAgcmVnZXguaXB2NC50ZXN0KGlwYWRkcikgPyAnSVB2NCcgOgogICAgICAgICAgICByZWdleC5pcHY2LnRlc3QoaXBhZGRyKSA/ICdJUHY2JyA6ICdOZWl0aGVyJwogICAgKTsKICAgIGNvbnNvbGUubG9nKGFuc3dlci5qb2luKCdcbicpKTsKfQoKcHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTsKcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZygiYXNjaWkiKTsKX2lucHV0ID0gIiI7CnByb2Nlc3Muc3RkaW4ub24oImRhdGEiLCBmdW5jdGlvbiAoaW5wdXQpIHsKICAgIF9pbnB1dCArPSBpbnB1dDsKfSk7Cgpwcm9jZXNzLnN0ZGluLm9uKCJlbmQiLCBmdW5jdGlvbiAoKSB7CiAgIHByb2Nlc3NEYXRhKF9pbnB1dCk7Cn0pOwo=