#include "stdint.h"
#include <stdint.h>
#include <stdio.h>
#include <string.h>

// 定义 IP 联合体
typedef union __IP_tu {
    uint32_t all;        // 总的10进制值
    uint8_t segments[4]; // 每段的值
} IP_tu;

int main() {
    char s[16] = {};
    IP_tu result[2] = {};
    uint32_t length = 0;
    uint32_t i,j,start,end,k=0;
    uint8_t temp = 0;

    scanf("%s\n%d", s, &(result[1].all));
    length = strlen(s);
    
    for (i=0,start=0,end=0; i<length; ++i) {
        // 通过 '.' 分割出段
        if (s[i]=='.' || i==length-1) {
            if (i==length-1) {
                end = i;
            } else {
                end = i-1;
            }

            // 计算每段的值(10进制)
            temp = 0;
            for (j=start; j<=end; ++j) {
                temp *= 10;
                temp += s[j]-'0';
            }

            // 将值存入结构联合体数组的对于段位置  
            result[0].segments[3-k] = temp;
            ++k;
            start = i+1;
        } else {}
    }

    printf("%u\n%d.%d.%d.%d", result[0].all, result[1].segments[3], result[1].segments[2]
        , result[1].segments[1], result[1].segments[0]);

    return 0;
}