import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String str = in.nextLine();
if (str.indexOf(".") > 0) {
System.out.println(toNo(str.split("\\.")));
} else {
System.out.println(toIP(Long.parseLong(str)));
}
}
}
static String toIP(long no) {
StringBuilder sb = new StringBuilder();
// IP地址有四段 每段二进制长度是八位 与Integer.SIZE和Byte.SIZE匹配
// 从高位开始 每八位 掩一次 再右移得到 IP段值
for (int i = Integer.SIZE - Byte.SIZE; i >= 0; i -= Byte.SIZE) {
sb.append((no & (0xff << i)) >> i).append(".");
}
return sb.substring(0, sb.length() - 1);
}
static long toNo(String[] ip) {
long result = 0;
for (int i = 0; i < Integer.SIZE; i += Byte.SIZE) {
result <<= 8;
result |= Integer.parseInt(ip[i >> 3]);
}
return result;
}
}