#include <iostream>
#include <ctime>
#include <string>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>

using namespace std;

int amount = 0;

struct obj{
    int p, v;
};

string l;

int la(vector<obj> &particle, int pos)
{
    bool la = false;
    int ans = 0;
    for (int i = 0; i < particle.size(); i++){
        if (particle[i].p == pos){
            ans+=particle[i].v;
            la = true;
        }
    }
    if(la)
        return ans;
    else
        return -1;
}

void eval(vector<obj> &particle)
{
    if (amount++ >= 4)
        return;
    for(int i = 0; i < particle.size(); i++){
        particle[i].p += particle[i].v;
    }
    for (int i = 0; i < l.size(); i++){
        if (la(particle, i) > -1)
            cout << la(particle, i);
        else
            cout << '.';
    }
    cout << endl;
    eval(particle);
}

int main()
{
    freopen("DATA3.txt", "r", stdin);
    freopen("OUT3.txt", "w", stdout);

    for (int z = 0; z < 5; z++){
        amount =0 ;
        getline(cin, l);
        cout << l << endl;
        vector<obj> particle;
        particle.clear();
        obj k;
        for (int i = 0; i < l.size(); i++){
            if(l[i] != '.'){
                k.p = i, k.v = l[i]-'0';
                particle.push_back(k);
            }
        }
        eval(particle);
    }
    return 0;
}

