//
// 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;
}