#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(x) (x).begin(),(x).end() #define rep(i,m,n) for(int i = m;i < n;++i) #define pb push_back #define fore(i,a) for(auto &i:a) #define rrep(i,m,n) for(int i = m;i >= n;--i) #define INF INT_MAX/2 using namespace std; using ll = long long; using R = double; using Data = pair>; const ll MOD = 1e9 + 7; const ll inf = 1LL << 50; struct edge { ll from; ll to; ll cost; }; int prt(string x) { cout << x << endl; exit(0); } int main() { string a, b; cin >> a >> b; if (a.size() > b.size()) { cout << a << endl; } else if(a.size() < b.size()){ cout << b << endl; } else { rep(i,0,a.size()){ int dgt1 = a[i] - '0'; int dgt2 = b[i] - '0'; if (dgt1 == 7 && dgt2 == 4) { prt(b); } else if (dgt1 == 4 && dgt2 == 7) { prt(a); } else { if (dgt1 > dgt2)prt(a); else if (dgt1 < dgt2)prt(b); } } } return 0; }