# 判断ip合法性
def hefaip(list):
for i in list:
if int(i) < 0 or int(i) > 255:
return False
return True
#判断掩码合法性
def hefamask(mask):
a = change2(mask)
if a[0] != '11111111' or a[3] != '00000000':
return False
else:
return hefaip(mask)
#转二进制
def change2(list):
new_list = []
for i in list:
a = bin(int(i,10))[2:]
a = '0'*(8-len(a)) + a if len(a)<8 else a
new_list.append(a)
return new_list #元素为str
#AND运算
def newip2(mask,ip):
newip2_list = []
for i in range(4):
list = []
for j in range(8):
a = '1' if mask[i][j] == '1' and ip[i][j] == '1' else '0'
list.append(a)
b = ''.join(list)
newip2_list.append(b)
return newip2_list
while True:
try:
mask = input().split('.')
ip1 = input().split('.')
ip2 = input().split('.')
except:
break
else:
# 二进制转换32位
mask_2 = change2(mask)
ip1_2 = change2(ip1)
ip2_2 = change2(ip2)
#判断合法ip
if hefaip(ip1) and hefaip(ip2) and hefamask(mask):
# ADN运算
ip1_new = newip2(mask_2, ip1_2)
ip2_new = newip2(mask_2, ip2_2)
# 判断ip是否相同
if ip1_new == ip2_new:
print('0')
else:
print('2')
else:
print('1')