import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
// int a = in.nextInt();
// int b = in.nextInt();
// System.out.println(a + b);
String s1 = in.nextLine();
String s2 = in.nextLine();
System.out.println(ip2IpTen(s1));
System.out.println(ipTen2Ip(s2));
}
}
private static String ip2IpTen(String ip) {
StringBuilder sb = new StringBuilder();
String[] ips = ip.split("\\.");
for (String ipp : ips) {
String ippb = Long.toBinaryString(Long.parseLong(ipp));
while(ippb.length()<8){
ippb = "0" + ippb;
}
sb.append(ippb);
}
long ipTen = Long.parseLong(sb.toString(), 2);
return String.valueOf(ipTen);
}
private static String ipTen2Ip(String ipTen) {
StringBuilder sb = new StringBuilder();
String ipTenB = Long.toBinaryString(Long.parseLong(ipTen));
while(ipTenB.length()<32){
ipTenB = "0" + ipTenB;
}
for (int i=0;i<4;i++) {
String ippb = ipTenB.substring(i*8, i*8+8);
long ipp = Long.parseLong(ippb, 2);
sb.append(ipp);
if (i<3) {
sb.append(".");
}
}
return sb.toString();
}
}