import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("\n");
while (scanner.hasNext()) {
String ip = scanner.next();
long no = scanner.nextLong();
StringBuilder builder = new StringBuilder();
for (String s : ip.split("\\.")) {
builder.append(dTob(s));
}
long num = 0;
for (int i = 31,j=0; i >= 0; i--,j++) {
if (builder.charAt(i) == '1') {
num += Math.pow(2, j);
}
}
System.out.println(num);
builder.delete(0, builder.length());
while (no > 0) {
long yu = no%2;
builder.append(yu==0?"0":"1");
no /=2;
}
int length = builder.length();
if (length < 32) {
for (int i = 0; i < 32-length; i++) {
builder.append("0");
}
}
builder = builder.reverse();
StringBuilder builder1 = new StringBuilder();
for (int i = 0; i < 4; i++) {
int res= 0;
for (int j = i*8+7,k=0; j >= i*8; j--,k++) {
res += builder.charAt(j) == '0' ? 0 : Math.pow(2, k);
}
builder1.append(res);
if (i<3) {
builder1.append(".");
}
}
System.out.println(builder1);
}
}
public static String dTob(String original) {
int n = Integer.parseInt(original);
StringBuilder builder = new StringBuilder();
if (n<=1) return "0000000" + n;
while (n>0) {
int yu = n%2;
builder.append(yu==0?"0":"1");
n /= 2;
}
int length = builder.length();
if (length < 8) {
for (int i = 0; i < 8-length; i++) {
builder.append(0);
}
}
return builder.reverse().toString();
}
}