/*

NAME: Bogdan POPESCU

SCHOOL: GRIGORE MOISIL NCSC

GRADE: 12

DIVISION: SR3

*/

 

#include <iostream>

 

using namespace std;

 

int a[5][20], b[5][20],c[5][20];

int nr_set, nr_run;

int sets[2],runs[2];

int nr_seti, nr_runi;

int setsi[2],runsi[2];

int poz;

int ntot,ntoti;

 

 

int pune(char n,char s){

    int x;

    switch(n){

        case 'A':switch(s){

                    case 'S':a[1][1]=1;x=11; break;

                    case 'H':a[2][1]=1;x=12; break;

                    case 'C':a[3][1]=1;x=13; break;

                    case 'D':a[4][1]=1;x=14; break;

                }

                break;

        case '2':switch(s){

                    case 'S':a[1][2]=1;x=21; break;

                    case 'H':a[2][2]=1;x=22; break;

                    case 'C':a[3][2]=1;x=23; break;

                    case 'D':a[4][2]=1;x=24; break;

                }

                break;

        case '3':switch(s){

                    case 'S':a[1][3]=1;x=31;break;

                    case 'H':a[2][3]=1;x=32;break;

                    case 'C':a[3][3]=1;x=33;break;

                    case 'D':a[4][3]=1;x=34;break;

                }

                break;

        case '4':switch(s){

                    case 'S':a[1][4]=1;x=41;break;

                    case 'H':a[2][4]=1;x=42;break;

                    case 'C':a[3][4]=1;x=43;break;

                    case 'D':a[4][4]=1;x=44;break;

                }

                break;

        case '5':switch(s){

                    case 'S':a[1][5]=1;x=51;break;

                    case 'H':a[2][5]=1;x=52;break;

                    case 'C':a[3][5]=1;x=53;break;

                    case 'D':a[4][5]=1;x=54;break;

                }

                break;

        case '6':switch(s){

                    case 'S':a[1][6]=1;x=61;break;

                    case 'H':a[2][6]=1;x=62;break;

                    case 'C':a[3][6]=1;x=63;break;

                    case 'D':a[4][6]=1;x=64;break;

                }

                break;

        case '7':switch(s){

                    case 'S':a[1][7]=1;x=71;break;

                    case 'H':a[2][7]=1;x=72;break;

                    case 'C':a[3][7]=1;x=73;break;

                    case 'D':a[4][7]=1;x=74;break;

                }

                break;

        case '8':switch(s){

                    case 'S':a[1][8]=1;x=81;break;

                    case 'H':a[2][8]=1;x=82;break;

                    case 'C':a[3][8]=1;x=83;break;

                    case 'D':a[4][8]=1;x=84;break;

                }

                break;

        case '9':switch(s){

                    case 'S':a[1][9]=1;x=91;break;

                    case 'H':a[2][9]=1;x=92;break;

                    case 'C':a[3][9]=1;x=93;break;

                    case 'D':a[4][9]=1;x=94;break;

                }

                break;

        case 'T':switch(s){

                    case 'S':a[1][10]=1;x=101;break;

                    case 'H':a[2][10]=1;x=102;break;

                    case 'C':a[3][10]=1;x=103;break;

                    case 'D':a[4][10]=1;x=104;break;

                }

                break;

        case 'J':switch(s){

                    case 'S':a[1][11]=1;x=111;break;

                    case 'H':a[2][11]=1;x=112;break;

                    case 'C':a[3][11]=1;x=113;break;

                    case 'D':a[4][11]=1;x=114;break;

                }

                break;

        case 'Q':switch(s){

                    case 'S':a[1][12]=1;x=121;break;

                    case 'H':a[2][12]=1;x=122;break;

                    case 'C':a[3][12]=1;x=123;break;

                    case 'D':a[4][12]=1;x=124;break;

                }

                break;

        case 'K':switch(s){

                    case 'S':a[1][13]=1;x=131;break;

                    case 'H':a[2][13]=1;x=132;break;

                    case 'C':a[3][13]=1;x=133;break;

                    case 'D':a[4][13]=1;x=134;break;

                }

                break;

        }

 

    return x;

}

 

 

void _copy(int b[5][20],int a[5][20]){

    for(int i=1;i<5;i++)

        for(int j=1;j<14;j++)

            b[i][j]=a[i][j];

}

 

int cauta(){

 

    int mod_run=0,mod_set=0;

    int sets1[2]={0,0},runs1[2]={0,0};

    int dump=-1;

    for(int i=1;i<5;i++)

        for(int j=1;j<14;j++)

            if(a[i][j]){

                dump=1;

                int k;

                for(k=j+1;k<14;k++)

                    if(a[i][k])

                        dump++;

                    else

                        break;

                    if(dump==5)

                        return 0;

                    if(dump==3 || dump==4){

                        runs1[mod_run]=dump;

                        mod_run++;

                    }

                j=k;

            }

    int s;

    for(int j=1;j<14;j++){

        s=0;

        for(int i=1;i<5;i++)

            if(a[i][j])

                s++;

        if(s==3 || s==4){

            sets1[mod_set]=s;

            mod_set++;

        }

 

    }

    int numtot=mod_set+mod_run;

        if(numtot>2)

            return 0;

        else

            if(ntot!=numtot);

                ntot=numtot;

    if(mod_set==nr_set)

        if(sets[0]!=sets1[0] || sets[1]!=sets1[1]){

            sets[0]=sets1[0];

            sets[1]=sets1[1];

            nr_set=mod_set;

            return 1;

        }

    if(mod_run==nr_run)

        if(runs[0]!=runs1[0] || runs[1]!=runs1[1]){

            runs[0]=runs1[0];

            runs[1]=runs1[1];

            nr_run=mod_run;

            return 1;

        }

    if(mod_run!=nr_run){

        nr_run=mod_run;

        runs[0]=runs1[0];

        runs[1]=runs1[1];

        return 1;

    }

    if(mod_set!=nr_set){

        nr_set=mod_set;

        sets[0]=sets1[0];

        sets[1]=sets1[1];

        return 1;

    }

    return 0;

}

 

void afisare(){

    int nrafis=7;

  /*  for(int i=1;i<5;i++){

        for(int j=1; j<14;j++)

            printf("%d  ",a[i][j]);

        printf("\n\n");

    }

    */

    int dump;

    for(int i=1;i<5;i++)

        for(int j=1;j<14;j++)

            if(a[i][j]){

                dump=1;

                int k;

                for(k=j+1;k<14;k++)

                    if(a[i][k])

                        dump++;

                    else

                        break;

                    if(dump==4){

                        for(int l=j;l<k;l++){

                            if(l==1)

                                printf("%c",'A');

                            else

                                if(l==10)

                                printf("%c",'T');

                            else

                                if(l==11)

                                printf("%c",'J');

                            else

                                if(l==12)

                                printf("%c",'Q');

                            else

                                if(l==13)

                                printf("%c",'K');

                            else

                                printf("%d",l);

                            if(i==1)

                                printf("%c",'S');

                            else

                                if(i==2)

                                printf("%c",'H');

                            else

                                if(i==3)

                                printf("%c",'C');

                            else

                                if(i==4)

                                printf("%c",'D');

                                printf(" ");

                            a[i][l]=0;

                            nrafis--;

                        }

                        ntot--;

                    }

 

            }

            int s;

    for(int j=1;j<14;j++){

        s=0;

        for(int i=1;i<5;i++)

            if(a[i][j])

                s++;

        if(s==4){

            for(int i=1;i<5;i++)

                if(a[i][j]){

                    if(j==1)

                            printf("%c",'A');

                        else

                            if(j==10)

                            printf("%c",'T');

                        else

                            if(j==11)

                            printf("%c",'J');

                        else

                            if(j==12)

                            printf("%c",'Q');

                        else

                            if(j==13)

                            printf("%c",'K');

                        else

                            printf("%d",j);

                        if(i==1)

                            printf("%c",'S');

                        else

                            if(i==2)

                            printf("%c",'H');

                        else

                            if(i==3)

                            printf("%c",'C');

                        else

                            if(i==4)

                            printf("%c",'D');

                        printf(" ");

                    a[i][j]=0;

                    nrafis--;

                }

            ntot--;

        }

 

    }

    while(ntot){

        for(int i=1;i<5;i++)

        for(int j=1;j<14;j++)

            if(a[i][j]){

                dump=1;

                int k;

                for(k=j+1;k<14;k++)

                    if(a[i][k])

                        dump++;

                    else

                        break;

                    if(dump==3){

                        for(int l=j;l<k;l++){

                            if(l==1)

                                printf("%c",'A');

                            else

                                if(l==10)

                                printf("%c",'T');

                            else

                                if(l==11)

                                printf("%c",'J');

                            else

                                if(l==12)

                                printf("%c",'Q');

                            else

                                if(l==13)

                                printf("%c",'K');

                            else

                                printf("%d",l);

                            if(i==1)

                                printf("%c",'S');

                            else

                                if(i==2)

                                printf("%c",'H');

                            else

                                if(i==3)

                                printf("%c",'C');

                            else

                                if(i==4)

                                printf("%c",'D');

                                printf(" ");

                            a[i][l]=0;

                            nrafis--;

                        }

                        ntot--;

                    }

 

            }

            int s;

    for(int j=1;j<14;j++){

        s=0;

        for(int i=1;i<5;i++)

            if(a[i][j])

                s++;

        if(s==3){

            for(int i=1;i<5;i++)

                if(a[i][j]){

                    if(j==1)

                        printf("%c",'A');

                    else

                        if(j==10)

                        printf("%c",'T');

                    else

                        if(j==11)

                        printf("%c",'J');

                    else

                        if(j==12)

                        printf("%c",'Q');

                    else

                        if(j==13)

                        printf("%c",'K');

                    else

                        printf("%d",j);

                    if(i==1)

                        printf("%c",'S');

                    else

                        if(i==2)

                        printf("%c",'H');

                    else

                        if(i==3)

                        printf("%c",'C');

                    else

                        if(i==4)

                        printf("%c",'D');

                        printf(" ");

                    a[i][j]=0;

                    nrafis--;

                }

            ntot--;

        }

 

    }

 

 

    }

    while(nrafis){

        for(int j=13;j>0;j--)

            for(int i=1;i<5;i++)

                if(a[i][j]){

                     if(j==1)

                        printf("%c",'A');

                    else

                        if(j==10)

                        printf("%c",'T');

                    else

                        if(j==11)

                        printf("%c",'J');

                    else

                        if(j==12)

                        printf("%c",'Q');

                    else

                        if(j==13)

                        printf("%c",'K');

                    else

                        printf("%d",j);

                    if(i==1)

                        printf("%c",'S');

                    else

                        if(i==2)

                        printf("%c",'H');

                    else

                        if(i==3)

                        printf("%c",'C');

                    else

                        if(i==4)

                        printf("%c",'D');

                        printf(" ");

                     a[i][j]=0;

                     nrafis--;

                }

    }

 

 

 

    printf("\n\n");

 

 

 

}

 

void sterg(){

    int s;

    int ok;

    for(int j=1;j<14;j++){

        s=a[1][j]+a[2][j]+a[3][j]+a[4][j];

        if(s && s<3)

            for(int i=4;i>0;i--){

                if(a[i][j]){

                    ok=0;

                    if(a[i][j-1]==1 && a[i][j+1]==1||

                       a[i][j-2]==1 && a[i][j-1]==1||

                       a[i][j+2]==1 && a[i][j+1]==1

                        )

                        ok=1;

                    if(ok==0){

                        a[i][j]=0;

                        return;

                    }

                }

            }

    }

 

 

}

 

 

void citire(){

    char n=0,s=0;

    for(int i=0;i<7;i++){

        scanf("%c%c, ",&n,&s);

        pune(n,s);

    }

    scanf("\n");

    _copy(c,a);

    _copy(b,a);

    cauta();

    ntoti=ntot;

    nr_runi=nr_run;

    nr_seti=nr_set;

    runsi[0]=runs[0];

    runsi[1]=runs[1];

    setsi[0]=sets[0];

    setsi[1]=sets[1];

    for(int i=0;i<5;i++){

        for(int j=0;j<5;j++){

            scanf("%c%c, ",&n,&s);

            poz=pune(n,s);

            if(cauta()){

                sterg();

                _copy(b,a);

            }

            _copy(a,b);

        }

        scanf("\n");

        afisare();

        _copy(a,c);

        _copy(b,a);

        nr_run=nr_runi;

        nr_set=nr_seti;

        runs[0]=runsi[0];

        runs[1]=runsi[1];

        sets[0]=setsi[0];

        sets[1]=setsi[1];

        ntot=ntoti;

    }

 

}

 

 

int main()

{   freopen("rummy.in","r",stdin);

    citire();

    return 0;

 

}