#include <bits/stdc++.h>
using namespace std;
long long p = 31;
vector<long long> inv_p_powers;
long long power(long long a, long long b) {
  if (b == 0) return 1;
  long long temp = power(a, b / 2);
  temp = temp * temp % 1000000007;
  if (b % 2 == 1) {
    temp = temp * a % 1000000007;
  }
  return temp;
}
long long find_hash(vector<long long> &prefix_hash, int i, int j) {
  if (i == 0) return prefix_hash[j];
  long long sub_s_hash =
      (prefix_hash[j] - prefix_hash[i - 1] + 1000000007) % 1000000007;
  sub_s_hash = sub_s_hash * inv_p_powers[i] % 1000000007;
  return sub_s_hash;
}
bool check(string t, int l, vector<long long> &prefix_hash) {
  int start = 1;
  int end = start + l - 1;
  int maxi = prefix_hash.size() - 1;
  while (1) {
    if (end >= maxi) break;
    long long sub_s_hash = find_hash(prefix_hash, start, end);
    if (sub_s_hash == prefix_hash[l - 1]) return true;
    start++;
    end = start + l - 1;
  }
  return false;
}
int main() {
  int i;
  long long p_pow = 1;
  for (i = 1; i <= 1000010; i++) {
    inv_p_powers.push_back(power(p_pow, 1000000007 - 2));
    ;
    p_pow = p_pow * p % 1000000007;
  }
  string t;
  cin >> t;
  int len = t.length();
  vector<long long> prefix_hash;
  vector<long long> suffix_hash;
  long long hash = 0;
  p_pow = 1;
  for (i = 0; i <= len - 1; i++) {
    hash = (hash + p_pow * ((long long)(t[i] - 'a' + 1))) % 1000000007;
    prefix_hash.push_back(hash);
    ;
    p_pow = p_pow * p % 1000000007;
  }
  for (i = 0; i <= len - 1; i++) {
    suffix_hash.push_back(find_hash(prefix_hash, len - 1 - i, len - 1));
    ;
  }
  vector<int> ans_len;
  for (i = 0; i <= len - 1; i++) {
    if (prefix_hash[i] == suffix_hash[i]) {
      ans_len.push_back(i + 1);
      ;
    }
  }
  int high = ans_len.size() - 1;
  int low = 0;
  while (low < high) {
    int mid = (low + high + 1) / 2;
    if (check(t, ans_len[mid], prefix_hash)) {
      low = mid;
    } else {
      high = mid - 1;
    }
  }
  if (check(t, ans_len[low], prefix_hash)) {
    cout << t.substr(0, ans_len[low]);
  } else
    cout << "Just a legend";
  return 0;
}
