atcoder#ARC157F. [ARC157F] XY Ladder LCS

[ARC157F] XY Ladder LCS

Score : 900900 points

Problem Statement

You are given strings SS and TT of length NN consisting of X and Y. For each i=1,2,,Ni = 1, 2, \dots, N, you can swap the ii-th character of SS and the ii-th character of TT or choose not to do it. There are 2N2^N pairs of strings that can result from this process, including duplicates. Find the longest string that is a common subsequence (not necessarily contiguous) of one of such pairs. If there are multiple such strings, find the lexicographically smallest of them.

What is a common subsequence? A subsequence of string S is a string obtained by deleting zero or more characters from S and concatenating the remaining characters without changing the order. A common subsequence of strings S and T is a string that is a subsequence of both S and T. (See also Sample Output 1.)

Constraints

  • 1N501 \leq N \leq 50
  • Each of SS and TT is a string of length NN consisting of X and Y.

Input

The input is given from Standard Input in the following format:

NN

SS

TT

Output

Print the lexicographically smallest of the longest strings that can be a common subsequence of the resulting pair of strings.

3
XXX
YYY
XY
  • If you swap nothing, the only common subsequence of XXX and YYY is the empty string.
  • If you swap the 11-st characters, the common subsequences of YXX and XYY are the empty string, X, and Y.
  • If you swap the 22-nd characters, the common subsequences of XYX and YXY are the empty string, X, Y, XY, and YX.
  • If you swap the 33-rd characters, the common subsequences of XXY and YYX are the empty string, X and Y.

Doing two or more swaps is equivalent to one of the above after swapping SS and TT themselves. Thus, the longest strings that can be a common subsequence are XY and YX. The lexicographically smaller of them, XY, is the answer.

1
X
Y

The answer may be the empty string.

4
XXYX
YYYY
XYY

XYY will be a common subsequence after, for instance, swapping just the 22-nd characters. Any string that is longer or has the same length and is lexicographically smaller will not be a common subsequence after any combination of swaps, so this is the answer.