import sys


def is_valid_ip(ip_parts):
    """检查IP地址是否合法"""
    if len(ip_parts) != 4:
        return False
    for part in ip_parts:
        if not part.isdigit():
            return False
        num = int(part)
        if num < 0 or num > 255:
            return False
    return True


def is_valid_mask(mask_parts):
    """检查子网掩码是否合法"""
    if not is_valid_ip(mask_parts):
        return False

    # 转换为32位二进制字符串
    binary_str = ""
    for part in mask_parts:
        binary_str += bin(int(part))[2:].zfill(8)

    # 检查是否由连续的1后跟连续的0组成
    # 找到第一个0出现的位置
    first_zero = binary_str.find("0")
    # 找到最后一个1出现的位置
    last_one = binary_str.rfind("1")

    # 如果没有0或者没有1,都不合法
    if first_zero == -1 or last_one == -1:
        return False

    # 检查1和0的连续性:最后一个1应该在第一个0之前
    # 并且从第一个0开始后面应该全是0
    if last_one > first_zero:
        return False

    # 检查第一个0后面是否全是0
    if "1" in binary_str[first_zero:]:
        return False

    return True


def main():
    a = b = c = d = e = error = private = 0

    for line in sys.stdin:
        line = line.strip()
        if not line:
            continue

        if "~" not in line:
            error += 1
            continue

        ip_str, mask_str = line.split("~", 1)
        ip_parts = ip_str.split(".")
        mask_parts = mask_str.split(".")

        # 先检查IP格式
        if not is_valid_ip(ip_parts):
            error += 1
            continue

        first_octet = int(ip_parts[0])

        # 跳过0.*.*.*和127.*.*.*
        if first_octet == 0 or first_octet == 127:
            continue

        # 再检查掩码格式
        if not is_valid_mask(mask_parts):
            error += 1
            continue

        # 分类统计
        if 1 <= first_octet <= 126:
            a += 1
        elif 128 <= first_octet <= 191:
            b += 1
        elif 192 <= first_octet <= 223:
            c += 1
        elif 224 <= first_octet <= 239:
            d += 1
        elif 240 <= first_octet <= 255:
            e += 1

        # 私有IP统计
        if first_octet == 10:
            private += 1
        elif first_octet == 172:
            second_octet = int(ip_parts[1])
            if 16 <= second_octet <= 31:
                private += 1
        elif first_octet == 192:
            second_octet = int(ip_parts[1])
            if second_octet == 168:
                private += 1

    print(f"{a} {b} {c} {d} {e} {error} {private}")


if __name__ == "__main__":
    main()