Friends for Never


Submit solution

Points: 1
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Python

Well, you've certainly surprised us. Your problemsetting work is quite good, and the CEO of AUCPL.inc has promoted you to problemsetting manager. Yes, this means you'll never code again. Instead, you'll be managing people! You like managing people... right?

The team we've assigned you is highly productive, except for two employees named s and t. The team sits in a line in alphabetical order, but these two are always chatting with each other instead of getting any work done.

We do not want to fire them over this beautiful friendship, as the press would have an absolute field day. Instead, upper management has proposed creating a fake employee to seat between them.

Employees are seated in alphabetical (lexicographical) order by name. Conveniently, all employees on this team have names of length n. Therefore, this fake employee must have a name that fits between s and t in lexicographical order.

More specifically, you must find a name f such that:

  • |f| = |s| = |t| = n, and
  • s < f < t in lexicographical order.

This ensures f can be seated strictly between them.

Note: Lexicographical order compares strings like words in a dictionary. At the first position where they differ, the string with the smaller character is considered smaller. For example, \text{abc} < \text{abd}.

Break up this beautiful friendship by finding any valid name f that can be placed strictly between s and t.

Input

The first line consists of a single integer n (1 \leq n \leq 10^5), the length of the names of s and t.

The next line consists of two strings s and t, the names of the troublesome employees.

It is guaranteed that:

  • |s| = |t| = n
  • s < t in lexicographical order
  • s and t contain only lowercase English letters
  • There exists at least one string f of length n such that s < f < t

Output

Output any string f of length n consisting of lowercase English letters such that s < f < t in lexicographical order.

f must only contain lowercase, English characters. If there are multiple answers, output any of them.

Example

Input 1
3
ray tom
Output 1
sam

sam is the same length as ray and tom, and goes between them in alphabetical order, so this is an acceptable fake name.

Input 2
7
abcdefg abcexyz
Output 2
abcdxyz
Input 3
5
aaaaa aaaac
Output 3
aaaab

aaaab is the only valid solution for this case.


Comments

There are no comments at the moment.