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();
    }
}