import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String normalIp = sc.nextLine();
        long decimalIp = Long.parseLong(sc.nextLine());
        
        // 正常IP地址转换成10进制的IP地址
        String[] normalIps = normalIp.split("\\.");
        StringBuilder sb1 = new StringBuilder();
        for (int i = 0; i < normalIps.length; i++) {
            sb1.append(to8Binary(Integer.parseInt(normalIps[i])));
        }
        double result1 = 0;
        int index = 0;
        for (int i = sb1.length() - 1; i >= 0; i--) {
            result1 = result1 + Math.pow(2, index++) * (sb1.charAt(i) - '0');
        }
        System.out.println((long) result1);
        
        
        // 10进制的IP地址转换成正常IP地址
        String str32 = to32Binary(decimalIp);
        StringBuilder sb2 = new StringBuilder();
        for (int i = 0; i < str32.length(); i += 8) {
            sb2.append(Integer.parseInt(str32.substring(i, i + 8), 2)).append(".");
        }
        sb2.deleteCharAt(sb2.length() - 1);
        System.out.println(sb2.toString());
        
    }
    
    /**
    * int转为8位二进制
    */
    public static String to8Binary(int i) {
        String s = Integer.toBinaryString(i);
        if (s.length() < 8) {
            s = String.format("%8s", s).replace(' ','0');
        }
        return s;
    }
    
    
    /**
    * long转为32位二进制
    */
    public static String to32Binary(long l) {
        String s = Long.toBinaryString(l);
        if (s.length() < 32) {
            s = String.format("%32s", s).replace(' ','0');
        }
        return s;
    }
    
    
}