#本题考察字符串,数组等各种格式转换
#分隔输入的ip地址
s= list(map(int, input().split('.')))
n=int(input())#转换为整型
line=[]
l2=[]
#将ip地址的每一位转换为二进制
for i in range(len(s)):
    b=bin(s[i])[2:]
    b0='0'*(8-len(b))+b#转换后不满8位就补0
    line.append(b0)
s0=''.join(line)
print(int(s0,2))
n0=bin(n)[2:]#注意bin处理完带0b是个字符串数据
n1='0'*(32-len(str(n0)))+n0#0补位
for j in range(4):
    n5=int(n1[j*8:(j+1)*8],2)#注意int处理字符串时不能带数字以外的数据
    l2.append(str(n5))#join只能处理字符串
print('.'.join(l2))

本题考察字符串,数组等各种格式转换,按部就班的解法