수열 $X = (x_1, x_2, \dots, x_n)$에 대하여, 비주기적 자기상관 함수 $N_X(s)$는 다음과 같이 정의됩니다.
$$N_X(s) = \sum_{i=-\infty}^{\infty} x_i x_{i+s}$$
여기서 $s$는 정수입니다. $i < 1$ 또는 $i > n$일 때 $x_i = 0$이라고 가정합니다.
길이가 각각 $n, n, n, n-1$인 네 수열 $(A, B, C, D)$를 고려해 봅시다. 모든 원소는 $\{-1, +1\}$ 집합에 속합니다. 이 네 수열은 모든 정수 $s > 0$에 대하여 다음 조건을 만족할 때 TT-수열(Turyn-Type sequence)이라고 합니다.
$$N_A(s) + N_B(s) + 2N_C(s) + 2N_D(s) = 0$$
TT-수열은 신호 처리 및 부호 이론과 같은 분야에서 응용되는 아다마르 행렬(Hadamard matrices)을 구성할 수 있게 해주기 때문에 매우 흥미롭습니다. 예를 들어, $n = 36$인 TT-수열(2005년에 발견됨)은 처음으로 428차 아다마르 행렬을 구성할 수 있게 했습니다.
일부 원소가 누락된 TT-수열이 주어졌을 때, 원래의 TT-수열을 복원하십시오.
입력
네 줄에 걸쳐 각각 길이가 $n, n, n, n-1$인 네 개의 문자열($2 \le n \le 36$, $n$은 짝수)이 주어지며, 이는 수열 $A, B, C, D$를 나타냅니다. $i$번째 문자는 해당 수열의 $i$번째 원소를 나타냅니다. "-"는 $-1$, "+"는 $+1$, "?"는 누락된 원소를 의미합니다. 누락된 원소의 총 개수는 30개를 넘지 않습니다. 주어진 데이터에 대해 유일한 해가 존재함이 보장됩니다.
출력
복원된 TT-수열을 나타내는 길이가 $n, n, n, n-1$인 네 개의 문자열을 출력하십시오. 출력 형식은 예제를 참고하십시오.
예제
입력 1
++-+-?-+ +----?-+ +--++?+- +++-+?-
출력 1
++-+-+-+ +------+ +--++++- +++-++-
입력 2
+++----++-+-+?-?--++++-++-++++----+- +-+++++?-+-+--+--++--?+++-++++---++- +-+++++-+--?+++-+?+-++--+++-+--+-?-+ +++-+?----++--+-+++?-+-+-+++-+?++-+
출력 2
+++----++-+-+-----++++-++-++++----+- +-+++++--+-+--+--++--++++-++++---++- +-+++++-+--++++-+++-++--+++-+--+---+ +++-+-----++--+-+++--+-+-+++-++++-+