#include <bits/stdc++.h>

using namespace std;

string txt , put;
int lps[1000100];
int kmp(){
    int len = 0;
    for(int i=0;i<txt.size();i++){
        while(len > 0 && txt[i]!=put[len])
            len=lps[len-1];
        if(txt[i]==put[len])
            ++len;
        if(i==(txt.size()-1)) return len;
    }
}
void buildLps(){
    int len = 0;
    lps[0]=0;
    for(int i=1;i<put.size();i++){
        while(len > 0 && put[i]!=put[len])
            len=lps[len-1];
        if(put[i]==put[len])
            ++len;
        lps[i]=len;
    }
}
int main(){
    while(cin>>txt){
        put=txt;
        reverse(put.begin(),put.end());
        buildLps();
        int need = kmp();
        cout<<txt;
        for(int i=need;i<put.size();i++) cout<<put[i];
        cout<<endl;
    }
    return 0;
}