#include <iostream>
#include <string>
using namespace std;
string s;
int len,nxt[1000001],ans,t;
inline int max(int a,int b){
return a>b?a:b;
}
void getnext(){
int j=0;
for(int i=1;i<len;){
if(s[i]==s[j]){
nxt[i++]=++j;
}else{
if(j==0){
nxt[i++]=0;
}else{
j=nxt[j-1];
}
}
}
}
int main(void){
cin>>s;
len=s.length();
getnext();
for(int i=1;i<len-1;i++){
ans=max(ans,nxt[i]);
}
t=nxt[len-1];
while(t>ans){
t=nxt[t];
}
if(t){
for(int i=0;i<t;i++){
printf("%c",s[i]);
}
return 0;
}
printf("Just a legend");
}