#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
string a,b,c,mixi;
int x = 0;
cin >> a >> b >> c;
string virus;
if (a.length() <= b.length() && a.length() <= c.length()){
mixi = a;
}
else if (b.length() <= a.length() && b.length() <= c.length()){
mixi = b;
}
else{
mixi = c;
}
for (int i = 1;i <= mixi.length();i++){
x = 0;
for (int l = 0;l < mixi.length() - i + 1;l++){
string s;
for (int j = 0;j < i;j++){
s = s + mixi[l + j];
}
if (a.find(s) != std::string::npos && b.find(s) != std::string::npos && c.find(s) != std::string::npos){
virus = s;
x = 1;
break;
}
}
if (x == 0){
break;
}
}
cout << virus;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpIHsKICAgc3RyaW5nIGEsYixjLG1peGk7CiAgIGludCB4ID0gMDsKICAgY2luID4+IGEgPj4gYiA+PiBjOwogICBzdHJpbmcgdmlydXM7CiAgIGlmIChhLmxlbmd0aCgpIDw9IGIubGVuZ3RoKCkgJiYgYS5sZW5ndGgoKSA8PSBjLmxlbmd0aCgpKXsKICAgICAgIG1peGkgPSBhOwogICB9CiAgIGVsc2UgaWYgKGIubGVuZ3RoKCkgPD0gYS5sZW5ndGgoKSAmJiBiLmxlbmd0aCgpIDw9IGMubGVuZ3RoKCkpewogICAgICAgbWl4aSA9IGI7CiAgIH0KICAgZWxzZXsKICAgICAgIG1peGkgPSBjOwogICB9CiAgIGZvciAoaW50IGkgPSAxO2kgPD0gbWl4aS5sZW5ndGgoKTtpKyspewogICAgICAgeCA9IDA7CiAgICAgICBmb3IgKGludCBsID0gMDtsIDwgbWl4aS5sZW5ndGgoKSAtIGkgKyAxO2wrKyl7CiAgICAgICAgICAgc3RyaW5nIHM7CiAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7aiA8IGk7aisrKXsKICAgICAgICAgICAgICAgcyA9IHMgKyBtaXhpW2wgKyBqXTsKICAgICAgICAgICB9CiAgICAgICAgICAgaWYgKGEuZmluZChzKSAhPSBzdGQ6OnN0cmluZzo6bnBvcyAmJiBiLmZpbmQocykgIT0gc3RkOjpzdHJpbmc6Om5wb3MgJiYgYy5maW5kKHMpICE9IHN0ZDo6c3RyaW5nOjpucG9zKXsKICAgICAgICAgICAgICAgdmlydXMgPSBzOwogICAgICAgICAgICAgICB4ID0gMTsKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQogICAgICAgfQogICAgICAgaWYgKHggPT0gMCl7CiAgICAgICAgICAgYnJlYWs7CiAgICAgICB9CiAgIH0KICAgY291dCA8PCB2aXJ1czsKICAgcmV0dXJuIDA7Cn0=