# data[].attributes.attachment_link.readable_text
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char x[101];
    cin>>x;
    //lungimea maxima a unui cuvant
    int n=strlen(x), L, Max=0;
    char *p=strtok(x,"#");
    while (p) {
        L=strlen(p);
        if (L>Max) Max=L;
        p=strtok(NULL, "#");
    }
    //refac textul
    int i;
    for(i=0; i<n;i++)
        if (x[i]==0) x[i]='#';
    //oglindesc cuvintele maxime
    p=strtok(x,"#");
    while (p) {
        L=strlen(p);
        if (L==Max) strrev(p);
        p=strtok(NULL, "#");
    }
    //refac textul
    for(i=0; i<n;i++)
        if (x[i]==0) x[i]='#';
    //final
    cout<<x;
    return 0;
}

# data[].attributes.attachment_link.readable_text
#include <iostream>
#include <cstring>
using namespace std;
int x[26]; //frecventa litere mici
int y[26]; //frecventa litere mari
int main()
{
    char s[101];
    cin.getline(s,101);
    //parcurgere ==> frecveta litere
    int n=strlen(s), i;
    for(i=0;i<n;i++)
        if (s[i]!=' ')
            if (islower(s[i]))
                x[s[i]-'a']++;
            else
                y[s[i]-'A']++;
    //maximul pe cei doi vectori
    int Max=0;
    for(i=0; i<27; i++) {
        if (x[i]>Max) Max=x[i];
        if (y[i]>Max) Max=y[i];
    }
    //literele mici de frecventa maxima
    for(i=0; i<26; i++)
        if (x[i]==Max)
            cout<<char(i+'a')<<' ';
    //literele mari de frecventa maxima
    for(i=0; i<26; i++)
        if (y[i]==Max)
            cout<<char(i+'A')<<' ';
    cout<<Max;
    return 0;
}
