def IP_to_10(ip):
    ip = ip.split('.')#列表
    longint = []
    for i in ip:
        er = bin(int(i))[2:].rjust(8,'0')#字符串
        longint.append(er)#列表元素为字符串
    print(int(''.join(longint),2))
    
def to_IP(ip1):
    IP = []
    er = bin(ip1)[2:].rjust(32,'0')
    IP.append(str(int(er[0:8],2)))
    IP.append('.')
    IP.append(str(int(er[8:16],2)))
    IP.append('.')
    IP.append(str(int(er[16:24],2)))
    IP.append('.')
    IP.append(str(int(er[24:],2)))
    print(''.join(IP))

while 1:
    try:
        IP_to_10(input())
        to_IP(int(input()))
    except:
        break