笨方法
num_A,num_B,num_C,num_D,num_E,num_wrong,num_private = 0,0,0,0,0,0,0
ip_A = range(1,127)
ip_B = range(128,192)
ip_C = range(192,224)
ip_D = range(224,240)
ip_E = range(240,256)
valid = range(0,256)
while True:
try:
two = input().split('~')
ip = two[0].split('.')
mask = two[1].split('.')
mask_num=''
mask_status = False
if ip[0] !='127' and ip[0] != '0':
for i in mask:
i = int(i)
if i in range(0,256):
i = str(bin(i))
i = i[2:]
i = '0'*(8-len(i))+i
mask_num += i
if mask_num.find('01') == -1 and '0' in mask_num and '1' in mask_num:
mask_status = True
else:
num_wrong += 1
if mask_status:
if '' not in ip:
ip[0] = int(ip[0])
ip[1] = int(ip[1])
ip[2] = int(ip[2])
ip[3] = int(ip[3])
if ip[1] in valid and ip[2] in valid and ip[3] in valid:
if ip[0] in ip_A:
num_A += 1
if ip[0] == 10:
num_private += 1
elif ip[0] in ip_B:
num_B += 1
if ip[0] == 172:
if ip[1] in range(16,32):
num_private += 1
elif ip[0] in ip_C:
num_C += 1
if ip[0] == 192 and ip[1] == 168:
num_private += 1
elif ip[0] in ip_D:
num_D += 1
elif ip[0] in ip_E:
num_E += 1
else:
num_wrong += 1
else:
num_wrong += 1
else:
num_wrong += 1
except:
break
print(str(num_A)+' '+str(num_B)+' '+str(num_C)+' '+str(num_D)+' '+str(num_E)+' '+str(num_wrong)+' '+str(num_private))