//
// Created by gs on 2026/3/4.
//
// HJ33 整数与IP地址间的转换
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char buf[30];
unsigned char aa = 0;
unsigned int result = 0;
char cell[10] = {0};
char ip_str[30] = {0};
while (scanf("%s", buf) != EOF) {
char* p = strchr(buf, '.');
if (p == NULL) {
// 数字
unsigned int num = atoi(buf);
sprintf(ip_str, "%d.%d.%d.%d", (num & 0xff000000) >> 24, (num & 0xff0000) >> 16,
(num & 0xff00) >> 8,
num & 0xff);
printf("%s\n", ip_str);
} else {
// ip
int a1,a2,a3,a4;
sscanf(buf, "%d.%d.%d.%d", &a1,&a2,&a3,&a4);
result = (a1 << 24) + (a2<<16) + (a3<<8) + a4;
printf("%u\n", result);
}
}
return 0;
}