fn main() {
	let mut s = String::new();
	std::io::stdin().read_line(&mut s).ok();
	let mut itr = s.trim().split_whitespace();
	let a: Vec<char> = itr.next().unwrap().chars().collect();
	let b: Vec<char> = itr.next().unwrap().chars().collect();
	
	if a.len() > b.len() { println!("{}", a.iter().collect::<String>()); }
	else if a.len() < b.len() { println!("{}", b.iter().collect::<String>()); }
	else {
		for i in 0..a.len() {
			match (a[i], b[i]) {
				('4', '7') => println!("{}", a.iter().collect::<String>()),
				('7', '4') => println!("{}", b.iter().collect::<String>()),
				(_, _) if a[i] > b[i] => println!("{}", a.iter().collect::<String>()),
				(_, _) if a[i] < b[i] => println!("{}", b.iter().collect::<String>()),
				_ => continue,
			}
			return;
		}
	}
}